предлогаю всем желающим выкладывать сюда свои индикаторы и шаблоны...к каждому индикатору должно быть описание..что из себя представляет..что показывает..как вы им пользуетесь..иначе посты будут удалены..
//+------------------------------------------------------------------+
//| 4 Period MA.mq4 |
//| Copyright © 2006, tageiger aka [email protected] |
//| http://www.metatrader.org |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, tageiger aka [email protected]"
#property link "mailto:[email protected]"
#property indicator_chart_window
extern int p1.ma=1;//Period() in minutes
extern int p2.ma=5;//Period() in minutes
extern int p3.ma=15;//Period() in minutes
extern int p4.ma=60;//Period() in minutes
extern int STD.Rgres.period=0;
extern int STD.Rgres.length=56;
extern double STD.Rgres.width=1.618;
extern double STD.width=0.618;
extern int ma.applied.price=1;/*
Applied price constants. It can be any of the following values:
Constant Value Description
PRICE_CLOSE 0 Close price.
PRICE_OPEN 1 Open price.
PRICE_HIGH 2 High price.
PRICE_LOW 3 Low price.
PRICE_MEDIAN 4 Median price, (high+low)/2.
PRICE_TYPICAL 5 Typical price, (high+low+close)/3.
PRICE_WEIGHTED 6 Weighted close price, (high+low+close+close)/4.*/
extern int ma.Method=0;/*
Moving Average Method
Constant Value Description
MODE_SMA 0 Simple moving average,
MODE_EMA 1 Exponential moving average,
MODE_SMMA 2 Smoothed moving average,
MODE_LWMA 3 Linear weighted moving average. */
extern int ma1.Length=13;
extern int ma2.Length=21;
extern int ma3.Length=34;
extern int ma4.Length=55;
extern int ma5.Length=89;
extern int ma6.Length=144;
extern int ma7.Length=233;
extern int fib.SR.shadow.1=8;
extern int fib.SR.shadow.2=13;
extern int fib.SR.shadow.3=21;
extern int fib.SR.shadow.4=34;
extern int fib.SR.shadow.5=55;
extern int fib.SR.shadow.6=89;
extern int fib.SR.shadow.7=144;
extern color fib.SR.shadow.1.c=AliceBlue;
extern color fib.SR.shadow.2.c=LightBlue;
extern color fib.SR.shadow.3.c=DodgerBlue;
extern color fib.SR.shadow.4.c=RoyalBlue;
extern color fib.SR.shadow.5.c=Blue;
extern color fib.SR.shadow.6.c=MediumBlue;
extern color fib.SR.shadow.7.c=DarkBlue;
double ma1.p1, ma2.p1, ma3.p1, ma4.p1, ma5.p1, ma6.p1, ma7.p1;
double ma1.p2, ma2.p2, ma3.p2, ma4.p2, ma5.p2, ma6.p2, ma7.p2;
double ma1.p3, ma2.p3, ma3.p3, ma4.p3, ma5.p3, ma6.p3, ma7.p3;
double ma1.p4, ma2.p4, ma3.p4, ma4.p4, ma5.p4, ma6.p4, ma7.p4;
datetime t1.p1, t2.p1, t1.p2, t2.p2, t1.p3, t2.p3, t1.p4, t2.p4;
int init() { return(0); }
int deinit() { Refresh(); return(0); }
int start() {
Refresh();
//Time[STD.Rgres.length],Time[0]
ObjectCreate("regression channel",OBJ_STDDEVCHANNEL,0,iTime(Symbol(),STD.Rgres.period,STD.Rgres.length),Bid,Time[0],Ask);
ObjectSet("regression channel",OBJPROP_DEVIATION,STD.Rgres.width);
ObjectSet("std channel",OBJPROP_COLOR,Orange);
ObjectSet("regression channel",OBJPROP_RAY,true);
ObjectCreate("std channel",OBJ_STDDEVCHANNEL,0,iTime(Symbol(),STD.Rgres.period,STD.Rgres.length),Bid,Time[0],Ask);
ObjectSet("std channel",OBJPROP_DEVIATION,STD.width);
ObjectSet("std channel",OBJPROP_COLOR,Olive);
ObjectSet("std channel",OBJPROP_RAY,true);
//p1 ma settings
ma1.p1=iMA(Symbol(),p1.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
ma2.p1=iMA(Symbol(),p1.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
ma3.p1=iMA(Symbol(),p1.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
ma4.p1=iMA(Symbol(),p1.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
ma5.p1=iMA(Symbol(),p1.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
ma6.p1=iMA(Symbol(),p1.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
ma7.p1=iMA(Symbol(),p1.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
//p2 ma settings
ma1.p2=iMA(Symbol(),p2.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
ma2.p2=iMA(Symbol(),p2.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
ma3.p2=iMA(Symbol(),p2.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
ma4.p2=iMA(Symbol(),p2.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
ma5.p2=iMA(Symbol(),p2.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
ma6.p2=iMA(Symbol(),p2.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
ma7.p2=iMA(Symbol(),p2.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
//p3 ma settings
ma1.p3=iMA(Symbol(),p3.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
ma2.p3=iMA(Symbol(),p3.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
ma3.p3=iMA(Symbol(),p3.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
ma4.p3=iMA(Symbol(),p3.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
ma5.p3=iMA(Symbol(),p3.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
ma6.p3=iMA(Symbol(),p3.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
ma7.p3=iMA(Symbol(),p3.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
//p4 ma settings
ma1.p4=iMA(Symbol(),p4.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
ma2.p4=iMA(Symbol(),p4.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
ma3.p4=iMA(Symbol(),p4.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
ma4.p4=iMA(Symbol(),p4.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
ma5.p4=iMA(Symbol(),p4.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
ma6.p4=iMA(Symbol(),p4.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
ma7.p4=iMA(Symbol(),p4.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
Time.Coordinate.Set();
p1.Fib.Plot();
p2.Fib.Plot();
p3.Fib.Plot();
p4.Fib.Plot();
column();
//--------------
return(0);}
//+------------------------------------------------------------------+
void Time.Coordinate.Set() {
//....Variable Settings for Object Spatial Placement.....
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()==30) {time.frame.multiplier=19.5;}
if(Period()==60) {time.frame.multiplier=39;}
if(Period()==240) {time.frame.multiplier=156;}
if(Period()==1440) {time.frame.multiplier=936;}
if(Period()==10080) {time.frame.multiplier=6552;}
if(Period()==43200) {time.frame.multiplier=28043;}
t1.p1=Time[0]+(1000*time.frame.multiplier*zoom.multiplier);
t2.p1=Time[0]+(3000*time.frame.multiplier*zoom.multiplier);
t1.p2=Time[0]+(5000*time.frame.multiplier*zoom.multiplier);
t2.p2=Time[0]+(7000*time.frame.multiplier*zoom.multiplier);
t1.p3=Time[0]+(9000*time.frame.multiplier*zoom.multiplier);
t2.p3=Time[0]+(11000*time.frame.multiplier*zoom.multiplier);
t1.p4=Time[0]+(13000*time.frame.multiplier*zoom.multiplier);
t2.p4=Time[0]+(16000*time.frame.multiplier*zoom.multiplier);}//end Time.Coordinate.Set()
void p1.Fib.Plot()
{
}//end p1.Fib.Plot()
void p2.Fib.Plot()
{
}//end p2.Fib.Plot()
void p3.Fib.Plot()
{
}//end p3.Fib.Plot()
void p4.Fib.Plot()
{
}//end p4.Fib.Plot()
void column() {
}//end Columns
void Refresh() {
ObjectDelete("regression channel");ObjectDelete("std channel");
ObjectDelete("up.p1"); ObjectDelete("down.p1");
ObjectDelete("lcf.p1"); ObjectDelete("hcf.p1"); ObjectDelete("ma1.p1");
ObjectDelete("lo.1.p1"); ObjectDelete("hi.1.p1"); ObjectDelete("ma2.p1");
ObjectDelete("lo.2.p1"); ObjectDelete("hi.2.p1"); ObjectDelete("ma3.p1");
ObjectDelete("lo.3.p1"); ObjectDelete("hi.3.p1"); ObjectDelete("ma4.p1");
ObjectDelete("lo.4.p1"); ObjectDelete("hi.4.p1"); ObjectDelete("ma5.p1");
ObjectDelete("lo.5.p1"); ObjectDelete("hi.5.p1"); ObjectDelete("ma6.p1");
ObjectDelete("lo.6.p1"); ObjectDelete("hi.6.p1"); ObjectDelete("ma7.p1");
ObjectDelete("lo.7.p1"); ObjectDelete("hi.7.p1");
ObjectDelete("up.p2"); ObjectDelete("down.p2");
ObjectDelete("lcf.p2"); ObjectDelete("hcf.p2"); ObjectDelete("ma1.p2");
ObjectDelete("lo.1.p2"); ObjectDelete("hi.1.p2"); ObjectDelete("ma2.p2");
ObjectDelete("lo.2.p2"); ObjectDelete("hi.2.p2"); ObjectDelete("ma3.p2");
ObjectDelete("lo.3.p2"); ObjectDelete("hi.3.p2"); ObjectDelete("ma4.p2");
ObjectDelete("lo.4.p2"); ObjectDelete("hi.4.p2"); ObjectDelete("ma5.p2");
ObjectDelete("lo.5.p2"); ObjectDelete("hi.5.p2"); ObjectDelete("ma6.p2");
ObjectDelete("lo.6.p2"); ObjectDelete("hi.6.p2"); ObjectDelete("ma7.p2");
ObjectDelete("lo.7.p2"); ObjectDelete("hi.7.p2");
ObjectDelete("up.p3"); ObjectDelete("down.p3");
ObjectDelete("lcf.p3"); ObjectDelete("hcf.p3"); ObjectDelete("ma1.p3");
ObjectDelete("lo.1.p3"); ObjectDelete("hi.1.p3"); ObjectDelete("ma2.p3");
ObjectDelete("lo.2.p3"); ObjectDelete("hi.2.p3"); ObjectDelete("ma3.p3");
ObjectDelete("lo.3.p3"); ObjectDelete("hi.3.p3"); ObjectDelete("ma4.p3");
ObjectDelete("lo.4.p3"); ObjectDelete("hi.4.p3"); ObjectDelete("ma5.p3");
ObjectDelete("lo.5.p3"); ObjectDelete("hi.5.p3"); ObjectDelete("ma6.p3");
ObjectDelete("lo.6.p3"); ObjectDelete("hi.6.p3"); ObjectDelete("ma7.p3");
ObjectDelete("lo.7.p3"); ObjectDelete("hi.7.p3");
ObjectDelete("up.p4"); ObjectDelete("down.p4");
ObjectDelete("lcf.p4"); ObjectDelete("hcf.p4"); ObjectDelete("ma1.p4");
ObjectDelete("lo.1.p4"); ObjectDelete("hi.1.p4"); ObjectDelete("ma2.p4");
ObjectDelete("lo.2.p4"); ObjectDelete("hi.2.p4"); ObjectDelete("ma3.p4");
ObjectDelete("lo.3.p4"); ObjectDelete("hi.3.p4"); ObjectDelete("ma4.p4");
ObjectDelete("lo.4.p4"); ObjectDelete("hi.4.p4"); ObjectDelete("ma5.p4");
ObjectDelete("lo.5.p4"); ObjectDelete("hi.5.p4"); ObjectDelete("ma6.p4");
ObjectDelete("lo.6.p4"); ObjectDelete("hi.6.p4"); ObjectDelete("ma7.p4");
ObjectDelete("lo.7.p4"); ObjectDelete("hi.7.p4");}
//---- done
СКБ...думаю тут обьяснять не надо..
а как запустить советник читайте тут...
Я заметил, что ширина каналов синего и серого разная на разных тайм фреймах. Для каких временных интервалов лучше использовать? Какие параметры в настройках изменять для изменения ширины канала? И нужно ли это делать?
индикатор должен появится в пользовательских индикаторах..можно найти из окна навигатора...если нет попробуй перезагрузить терминал..если всё ещё нет попробуй снова всё сделать..пошагово..
а кстати..когда создаёш его..надо выбирать не "советник" а "индикатор"...возможно поэтому не работает..