[MT4指标]Daily Fibo - Walid Elhelw指标
主图指标
mt4指标类型:震荡指标
是否能用在mt4手机版上:否
是否含有未来函数:无
#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 Yellow
#property indicator_color2 Magenta
#property indicator_color3 Magenta
#property indicator_color4 Aqua
#property indicator_color5 Aqua
#property indicator_color6 Yellow
#property indicator_color7 Yellow
//---- buffers
double P1Buffer;
double P2Buffer;
double P3Buffer;
double P4Buffer;
double P5Buffer;
double P6Buffer;
double P7Buffer;
int myPeriod=PERIOD_D1;
double PP,R1,S1,R2,S2,R3,S3,Q;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
SetIndexBuffer(0,P1Buffer);
SetIndexBuffer(1,P2Buffer);
SetIndexBuffer(2,P3Buffer);
SetIndexBuffer(3,P4Buffer);
SetIndexBuffer(4,P5Buffer);
SetIndexBuffer(5,P6Buffer);
SetIndexBuffer(6,P7Buffer);
SetIndexStyle(0,DRAW_LINE,STYLE_DASHDOTDOT,0);
SetIndexStyle(1,DRAW_LINE,STYLE_DASHDOTDOT,2);
SetIndexStyle(2,DRAW_LINE,STYLE_DASHDOTDOT,2);
SetIndexStyle(3,DRAW_LINE,STYLE_DASHDOTDOT,2);
SetIndexStyle(4,DRAW_LINE,STYLE_DASHDOTDOT,2);
SetIndexStyle(5,DRAW_LINE,STYLE_DASHDOTDOT,2);
SetIndexStyle(6,DRAW_LINE,STYLE_DASHDOTDOT,2);
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
ObjectDelete("WeekP");
ObjectDelete("WeekR1");
ObjectDelete("WeekR2");
ObjectDelete("WeekR3");
ObjectDelete("WeekS1");
ObjectDelete("WeekS2");
ObjectDelete("WeekS3");
ObjectDelete("txtWeekP");
ObjectDelete("txtWeekR1");
ObjectDelete("txtWeekR2");
ObjectDelete("txtWeekR3");
ObjectDelete("txtWeekS1");
ObjectDelete("txtWeekS2");
ObjectDelete("txtWeekS3");
Comment("");
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int i,dayi,counted_bars=IndicatorCounted();
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
for(i=limit-1; i>=0; i--)
{
dayi=iBarShift(Symbol(), myPeriod, Time,false);
Q=(iHigh(Symbol(), myPeriod,dayi+1)-iLow(Symbol(), myPeriod,dayi+1));
PP=(iHigh(Symbol(), myPeriod,dayi+1) +
iLow(Symbol(), myPeriod,dayi+1) +
iClose(Symbol(), myPeriod,dayi+1)) / 3;
R1=PP + (Q * 0.38);
S1=PP - (Q * 0.38);
R2=PP + (Q * 1.00);
S2=PP - (Q * 1.00);
R3=PP + (Q * 1.38);
S3=PP - (Q * 1.38);
P1Buffer=PP;
SetPrice("WeekP",Time,PP,Yellow);
SetText("txtWeekP","WP",Time,PP,Yellow);
P2Buffer=R1;
SetPrice("WeekR1",Time,R1,Magenta);
SetText("txtWeekR1","W-R38%",Time,R1,Magenta);
P3Buffer=S1;
SetPrice("WeekS1",Time,S1,Magenta);
SetText("txtWeekS1","W-S38%",Time,S1,Magenta);
P4Buffer=R2;
SetPrice("WeekR2",Time,R2,Aqua);
SetText("txtWeekR2","W-R100%",Time,R2,Aqua);
P5Buffer=S2;
SetPrice("WeekS2",Time,S2,Aqua);
SetText("txtWeekS2","W-S100%",Time,S2,Aqua);
P6Buffer=R3;
SetPrice("WeekR3",Time,R3,Yellow);
SetText("txtWeekR3","W-R138%",Time,R3,Yellow);
P7Buffer=S3;
SetPrice("WeekS3",Time,S3,Yellow);
SetText("txtWeekS3","W-S138%",Time,S3,Yellow);
}
//----
return(0);
}
void SetPrice(string name,datetime Tm,double Prc,color clr)
{
if(ObjectFind(name) == -1)
{
ObjectCreate(name, OBJ_ARROW, 0, Tm, Prc);
ObjectSet(name, OBJPROP_COLOR, clr);
ObjectSet(name, OBJPROP_WIDTH, 2);
ObjectSet(name, OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
}
else
{
ObjectSet(name, OBJPROP_TIME1, Tm);
ObjectSet(name, OBJPROP_PRICE1, Prc);
ObjectSet(name, OBJPROP_COLOR, clr);
ObjectSet(name, OBJPROP_WIDTH, 2);
ObjectSet(name, OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
}
}
void SetText(string name,string txt,datetime Tm,double Prc,color clr)
{
if(ObjectFind(name) == -1)
{
ObjectCreate(name, OBJ_TEXT, 0, Tm, Prc);
ObjectSetText(name,txt, 9, "Arial", clr);
ObjectSet(name, OBJPROP_CORNER,2);
}
else
{
ObjectSet(name, OBJPROP_TIME1, Tm);
ObjectSet(name, OBJPROP_PRICE1, Prc);
ObjectSetText(name,txt, 9, "Arial", clr);
ObjectSet(name, OBJPROP_CORNER,2);
}
}
//+------------------------------------------------------------------+
Daily%20Fibo%20-%20Walid%20Elhelw.jpg
