4 period 7 ma fibo relational s.r indicator
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «4 period 7 ma fibo relational s.r indicator.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор отображает семь скользящих средних с длинами, основанными на числах Фибоначчи (13, 21, 34, 55, 89, 144, 233), на графике ценового окна MetaTrader. Каждая линия рассчитывается методом iMA для выбранного таймфрейма и может быть скрыта или показана отдельной настройкой. Индикатор также строит динамические уровни поддержки и сопротивления на основе пространства между крайними значениями скользящих, отображая их в виде стрелок и трендовых линий.
Поддерживается работа на разных таймфреймах: при выборе периода, отличного от текущего графика, линии рассчитываются для указанного таймфрейма и отображаются как горизонтальные уровни. Значения каждой скользящей средней выводятся текстовыми метками рядом с линиями, а цвет метки меняется в зависимости от соотношения цены Bid/Ask и значения MA.
Визуализация включает цветные прямоугольники, обозначающие ценовые зоны Bid и Ask, а также набор трендовых линий с подписями для каждого уровня поддержки/сопротивления. При смене таймфрейма или отключении отображения MA старые графические объекты удаляются для предотвращения наложения.
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 Yellow
#property indicator_color2 Gold
#property indicator_color3 Orange
#property indicator_color4 DarkOrange
#property indicator_color5 Goldenrod
#property indicator_color6 DarkGoldenrod
#property indicator_color7 Sienna
extern int Time.Frame=1;
extern bool Show.Ma?=false;
extern int ma.applied.price=1;
extern int L1.Length=13;
extern int L1.Method=0;
extern int L2.Length=21;
extern int L2.Method=0;
extern int L3.Length=34;
extern int L3.Method=0;
extern int L4.Length=55;
extern int L4.Method=0;
extern int L5.Length=89;
extern int L5.Method=0;
extern int L6.Length=144;
extern int L6.Method=0;
extern int L7.Length=233;
extern int L7.Method=0;
double L1.Buffer[];
double L2.Buffer[];
double L3.Buffer[];
double L4.Buffer[];
double L5.Buffer[];
double L6.Buffer[];
double L7.Buffer[];
string L1,L2,L3,L4,L5,L6,L7;
int init() {
// код доступен только после оплаты
}//end init
int deinit() {
ObjectsDeleteAll(0,OBJ_TEXT);ObjectsDeleteAll(0,OBJ_RECTANGLE);
ObjectsDeleteAll(0,OBJ_ARROW);ObjectsDeleteAll(0,OBJ_TREND); }//end deinit
int start() {
// код доступен только после оплаты
}
if(Time.Frame==Period()) {ObjectsDeleteAll();}
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
if(Time.Frame==Period() && Show.Ma?==true) {
for(int i=0; i<limit; i++) {
L1.Buffer[i]=iMA(Symbol(),Time.Frame,L1.Length,0,L1.Method,ma.applied.price,i);
L2.Buffer[i]=iMA(Symbol(),Time.Frame,L2.Length,0,L2.Method,ma.applied.price,i);
L3.Buffer[i]=iMA(Symbol(),Time.Frame,L3.Length,0,L3.Method,ma.applied.price,i);
L4.Buffer[i]=iMA(Symbol(),Time.Frame,L4.Length,0,L4.Method,ma.applied.price,i);
L5.Buffer[i]=iMA(Symbol(),Time.Frame,L5.Length,0,L5.Method,ma.applied.price,i);
L6.Buffer[i]=iMA(Symbol(),Time.Frame,L6.Length,0,L6.Method,ma.applied.price,i);
L7.Buffer[i]=iMA(Symbol(),Time.Frame,L7.Length,0,L7.Method,ma.applied.price,i); }}
if(Time.Frame!=Period() || Show.Ma?==false) {
L1.Buffer[0]=iMA(Symbol(),Time.Frame,L1.Length,0,L1.Method,ma.applied.price,0);
L2.Buffer[0]=iMA(Symbol(),Time.Frame,L2.Length,0,L2.Method,ma.applied.price,0);
L3.Buffer[0]=iMA(Symbol(),Time.Frame,L3.Length,0,L3.Method,ma.applied.price,0);
L4.Buffer[0]=iMA(Symbol(),Time.Frame,L4.Length,0,L4.Method,ma.applied.price,0);
L5.Buffer[0]=iMA(Symbol(),Time.Frame,L5.Length,0,L5.Method,ma.applied.price,0);
L6.Buffer[0]=iMA(Symbol(),Time.Frame,L6.Length,0,L6.Method,ma.applied.price,0);
L7.Buffer[0]=iMA(Symbol(),Time.Frame,L7.Length,0,L7.Method,ma.applied.price,0);}
L1="L1"+" "+Time.Frame+"m";
L2="L2"+" "+Time.Frame+"m";
L3="L3"+" "+Time.Frame+"m";
L4="L4"+" "+Time.Frame+"m";
L5="L5"+" "+Time.Frame+"m";
L6="L6"+" "+Time.Frame+"m";
L7="L7"+" "+Time.Frame+"m";
double zoom.multiplier;int bpw=BarsPerWindow();
if(bpw<25) {zoom.multiplier=0.05;}
if(bpw>25 && bpw<50) {zoom.multiplier=0.07;}
if(bpw>50 && bpw<175) {zoom.multiplier=0.12;}
if(bpw>175 && bpw<375) {zoom.multiplier=0.25;}
if(bpw>375 && bpw<750) {zoom.multiplier=0.5;}
if(bpw>750) {zoom.multiplier=1;}
double time.frame.multiplier;
if(Period()==1) {time.frame.multiplier=0.65;}
if(Period()==5) {time.frame.multiplier=3.25;}
if(Period()==15) {time.frame.multiplier=9.75;}
if(Period()==60) {time.frame.multiplier=39;}
if(Time.Frame==1) {
datetime m1.1=Time[0]+(1000*time.frame.multiplier*zoom.multiplier);
datetime m1.2=Time[0]+(3000*time.frame.multiplier*zoom.multiplier);}
if(Time.Frame==5) {
m1.1=Time[0]+(5000*time.frame.multiplier*zoom.multiplier);
m1.2=Time[0]+(7000*time.frame.multiplier*zoom.multiplier);}
if(Time.Frame==15) {
m1.1=Time[0]+(9000*time.frame.multiplier*zoom.multiplier);
m1.2=Time[0]+(11000*time.frame.multiplier*zoom.multiplier);}
if(Time.Frame==60) {
m1.1=Time[0]+(13000*time.frame.multiplier*zoom.multiplier);
m1.2=Time[0]+(16000*time.frame.multiplier*zoom.multiplier);}
double lo.ma,hi.ma; i=0;
lo.ma=L1.Buffer[i];
if(L2.Buffer[i]<lo.ma) {lo.ma=L2.Buffer[i];}
if(L3.Buffer[i]<lo.ma) {lo.ma=L3.Buffer[i];}
if(L4.Buffer[i]<lo.ma) {lo.ma=L4.Buffer[i];}
if(L5.Buffer[i]<lo.ma) {lo.ma=L5.Buffer[i];}
if(L6.Buffer[i]<lo.ma) {lo.ma=L6.Buffer[i];}
if(L7.Buffer[i]<lo.ma) {lo.ma=L7.Buffer[i];}
lo.ma=NormalizeDouble(lo.ma+(8*Point),Digits);//AliceBlue
hi.ma=L7.Buffer[i];
if(L6.Buffer[i]>hi.ma) {hi.ma=L6.Buffer[i];}
if(L5.Buffer[i]>hi.ma) {hi.ma=L5.Buffer[i];}
if(L4.Buffer[i]>hi.ma) {hi.ma=L4.Buffer[i];}
if(L3.Buffer[i]>hi.ma) {hi.ma=L3.Buffer[i];}
if(L2.Buffer[i]>hi.ma) {hi.ma=L2.Buffer[i];}
if(L1.Buffer[i]>hi.ma) {hi.ma=L1.Buffer[i];}
hi.ma=NormalizeDouble(hi.ma-(8*Point),Digits);//AliceBlue
double lo.ma.1,lo.ma.2,lo.ma.3,lo.ma.4,lo.ma.5,lo.ma.6;
lo.ma.1=lo.ma+(8*Point);
lo.ma.2=lo.ma.1+(11*Point);
lo.ma.3=lo.ma.2+(16*Point);
lo.ma.4=lo.ma.3+(27*Point);
lo.ma.5=lo.ma.4+(43*Point);
lo.ma.6=lo.ma.5+(90*Point);
double hi.ma.1,hi.ma.2,hi.ma.3,hi.ma.4,hi.ma.5,hi.ma.6;
hi.ma.1=hi.ma-(8*Point);//LightBlue
hi.ma.2=hi.ma.1-(11*Point);//DodgerBlue
hi.ma.3=hi.ma.2-(16*Point);//RoyalBlue
hi.ma.4=hi.ma.3-(27*Point);//MediumBlue
hi.ma.5=hi.ma.4-(43*Point);//Blue
hi.ma.6=hi.ma.5-(90*Point);//DarkBlue
if(Time.Frame==Period()) {
if(lo.ma-hi.ma>Ask-Bid) {
ObjectCreate("lo.ma",OBJ_ARROW,0,Time[i],lo.ma);
ObjectSet("lo.ma",14,4);
ObjectSet("lo.ma",OBJPROP_COLOR,AliceBlue);
ObjectCreate("hi.ma",OBJ_ARROW,0,Time[i],hi.ma);
ObjectSet("hi.ma",14,4);
ObjectSet("hi.ma",OBJPROP_COLOR,AliceBlue);}
if(lo.ma.1-hi.ma.1>Ask-Bid) {
ObjectCreate("lo.1",OBJ_ARROW,0,Time[i],lo.ma.1);
ObjectSet("lo.1",14,4);
ObjectSet("lo.1",OBJPROP_COLOR,LightBlue);
ObjectCreate("hi.1",OBJ_ARROW,0,Time[i],hi.ma.1);
ObjectSet("hi.1",14,4);
ObjectSet("hi.1",OBJPROP_COLOR,LightBlue);}
if(lo.ma.2-hi.ma.2>Ask-Bid) {
ObjectCreate("lo.2",OBJ_ARROW,0,Time[i],lo.ma.2);
ObjectSet("lo.2",14,4);
ObjectSet("lo.2",OBJPROP_COLOR,DodgerBlue);
ObjectCreate("hi.2",OBJ_ARROW,0,Time[i],hi.ma.2);
ObjectSet("hi.2",14,4);
ObjectSet("hi.2",OBJPROP_COLOR,DodgerBlue);}
if(lo.ma.3-hi.ma.3>Ask-Bid) {
ObjectCreate("lo.3",OBJ_ARROW,0,Time[i],lo.ma.3);
ObjectSet("lo.3",14,4);
ObjectSet("lo.3",OBJPROP_COLOR,RoyalBlue);
ObjectCreate("hi.3",OBJ_ARROW,0,Time[i],hi.ma.3);
ObjectSet("hi.3",14,4);
ObjectSet("hi.3",OBJPROP_COLOR,RoyalBlue);}
if(lo.ma.4-hi.ma.4>1*Point) {
ObjectCreate("lo.4",OBJ_ARROW,0,Time[i],lo.ma.4);
ObjectSet("lo.4",14,4);
ObjectSet("lo.4",OBJPROP_COLOR,MediumBlue);
ObjectCreate("hi.4",OBJ_ARROW,0,Time[i],hi.ma.4);
ObjectSet("hi.4",14,4);
ObjectSet("hi.4",OBJPROP_COLOR,MediumBlue);}
if(lo.ma.5-hi.ma.5>Ask-Bid) {
ObjectCreate("lo.5",OBJ_ARROW,0,Time[i],lo.ma.5);
ObjectSet("lo.5",14,4);
ObjectSet("lo.5",OBJPROP_COLOR,Blue);
ObjectCreate("hi.5",OBJ_ARROW,0,Time[i],hi.ma.5);
ObjectSet("hi.5",14,4);
ObjectSet("hi.5",OBJPROP_COLOR,Blue);}
if(lo.ma.6-hi.ma.6>Ask-Bid) {
ObjectCreate("lo.6",OBJ_ARROW,0,Time[i],lo.ma.6);
ObjectSet("lo.6",14,4);
ObjectSet("lo.6",OBJPROP_COLOR,DarkBlue);
ObjectCreate("hi.6",OBJ_ARROW,0,Time[i],hi.ma.6);
ObjectSet("hi.6",14,4);
ObjectSet("hi.6",OBJPROP_COLOR,DarkBlue);} }
if(lo.ma-hi.ma>Ask-Bid) {
ObjectCreate(Time.Frame+"lo.ma",OBJ_TREND,0,m1.1, lo.ma, m1.2, lo.ma);
ObjectSet(Time.Frame+"lo.ma",OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(Time.Frame+"lo.ma",OBJPROP_WIDTH,2);
ObjectSet(Time.Frame+"lo.ma",OBJPROP_RAY,false);
ObjectSet(Time.Frame+"lo.ma",OBJPROP_COLOR,AliceBlue);
ObjectSetText(Time.Frame+"lo.ma",DoubleToStr(lo.ma,Digits),7,"Arial",AliceBlue);
ObjectCreate(Time.Frame+"hi.ma",OBJ_TREND,0,m1.1, hi.ma, m1.2, hi.ma);
ObjectSet(Time.FrПоказано первые 50% кода (символов: 16161)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.