Dolly_Graphics_v11 GMTShift Indicator For MT5
O Dolly_Graphics_v11 GMTShift Indicator For MT5 indica onde abrir uma posição longa ou uma posição curta no mercado Forex. É um sistema baseado em ponto de articulação e é carregado com um recurso de mudança de horário GMT. Os comerciantes devem preferencialmente aplicar esse sistema apenas em pares de dólares. O melhor prazo para negociação é de 15 minutos.
1. Regra de entrada longa - faça uma compra longa no Buy Stop-1 e coloque seu Stop Loss (SL) e obtenha lucro (TP).
2. Regra de entrada curta - entre em Sell Stop-1 e coloque seu Stop Loss (SL) e Take Profit Level (TP).
Instalando o Dolly_Graphics_v11 GMTShift Indicator For MT5
Depois de baixar o indicador através do formulário acima, você precisa descompactar o arquivo zip. Em seguida, você precisa copiar o arquivo Dolly_Graphics_v11-GMTShift.mq5 na pasta MQL5Indicators da sua instalação do MT5 . Depois disso, reinicie o MT5 e você poderá ver o indicador na lista de indicadores.
Parâmetros da Dolly_Graphics_v11 GMTShift Indicator For MT5
O Dolly_Graphics_v11 GMTShift Indicator For MT5 possui parâmetros 40 para configurar.
input int GMTshift=0;
input bool Using_OpenGraphics=true;
input bool Dolly_GRAPHICS=true;
input bool Alert_ON=false;
input bool Auto_Signals=true;
input bool Show_DollyCOMMENTS=true;
input color BUY_Color_2=C 0,0,150 ;
input color BUY_Color_1=C 0,0,100 ;
input color SELL_Color_1=C 120,0,0 ;
input color SELL_Color_2=C 180,0,0 ;
input int BUY_Target_2 =50;
input int BUY_Target_1 =40;
input int BUY_Area =20;
input int SELL_Area =20;
input int SELL_Target_1 =40;
input int SELL_Target_2 =50;
input int SHIFT_DailyText=0;
input bool Show_DailyAverageGRAPHICS=true;
input bool Daily_AverageGRAPHICS=true;
input color DAILY_Av_UP_Color_150=C 0,110,255 ;
input color DAILY_Av_UP_Color_125=C 0,70,255 ;
input color DAILY_Av_UP_Color_100=C 20,20,255 ;
input color DAILY_Av_UP_Color_75=C 0,0,210 ;
input color DAILY_Av_DN_Color_75=C 220,0,0 ;
input color DAILY_Av_DN_Color_100=C 255,0,10 ;
input color DAILY_Av_DN_Color_125=C 255,70,0 ;
input color DAILY_Av_DN_Color_150=C 255,110,0 ;
input int SHIFT_DailyAverageText=28;
input bool Show_PivotLines=false;
input bool Show_M_PivotLines=false;
input int SHIFT_Pivot_PointText=0;
input int Pivot_Point_ExtendLINE=0;
input bool Show_FibLines=false;
input bool Show_EXTRAFibLines=false;
input int SHIFT_FibText=65;
input int FIB_ExtendDISPLAY=1;
input bool Show_Daily_HI_LOW=false;
input int SHIFT_HI_LOW_TEXT=50;
input bool Show_Daily_OPEN=false;
input int SHIFT_Daily_OPEN_TEXT=0;
Buffers of the Dolly_Graphics_v11 GMTShift Indicator For MT5
O Dolly_Graphics_v11 GMTShift Indicator For MT5 fornece buffers 0 .
Principais partes do código
int OnCalculate(const int rates_total, // : gt ;8G5AB2 gt 8AB gt @88 2 10@0E =0 B5:CI5 lt B8:5
const int prev_calculated,// : gt ;8G5AB2 gt 8AB gt @88 2 10@0E =0 ?@54K4CI5 lt B8:5
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
Bid=close[rates_total-1];
Ask=Bid+_Point*spread[rates_total-1];
CreateP();
//----
ChartRedraw(0);
//----
return(rates_total);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CreateP()
{
ObjectsDeleteAll(0,-1,OBJ_TRENDBYANGLE);
DeleteCreatePivots1();
CreateDL();
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void DeleteCreatePivots1()
{
ObjectDelete(0,P1);
ObjectDelete(0,DHI);
ObjectDelete(0,DLO);
ObjectDelete(0,DO);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CreateDL()
{
ObjectsDeleteAll(0,-1,OBJ_RECTANGLE);
DeleteDollyGraphics();
CreateAL();
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void DeleteDollyGraphics()
{
ObjectDelete(0,DollyBUY3);
ObjectDelete(0,DollyBUY2);
ObjectDelete(0,DollyBUY1);
ObjectDelete(0,DollySELL1);
ObjectDelete(0,DollySELL2);
ObjectDelete(0,DollySELL3);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CreateAL()
{
ObjectsDeleteAll(0,-1,OBJ_RECTANGLE);
DeleteAvGraphics();
CreatePP();
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void DeleteAvGraphics()
{
ObjectDelete(0,AvBUY150); ObjectDelete(0,AvBUY125); ObjectDelete(0,AvBUY100); ObjectDelete(0,AvBUY75);
ObjectDelete(0,AvSELL75); ObjectDelete(0,AvSELL100); ObjectDelete(0,AvSELL125); ObjectDelete(0,AvSELL150);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CreatePP()
{
ObjectsDeleteAll(0,-1,OBJ_TRENDBYANGLE);
DeleteCreatePivots();
CreateFIB();
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void DeleteCreatePivots()
{
ObjectDelete(0,PP1); ObjectDelete(0,RR3); ObjectDelete(0,RR2); ObjectDelete(0,RR1);
ObjectDelete(0,SS1); ObjectDelete(0,SS2); ObjectDelete(0,SS3); ObjectDelete(0,P1);
ObjectDelete(0,MM1); ObjectDelete(0,MM2); ObjectDelete(0,MM3);
ObjectDelete(0,MM4); ObjectDelete(0,MM5); ObjectDelete(0,MM0);
ObjectDelete(0,DDHI); ObjectDelete(0,DDLO);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CreatePivots1(string Pivots1, double start, double end,int w, int s,color clr)
{
ObjectCreate(0,Pivots1, OBJ_TRENDBYANGLE, 0, iTime(NULL,PERIOD_D1,0)+GMTshift*3600, start, iTime(NULL,PERIOD_CURRENT,0),w,s, end);
ObjectSetInteger(0,Pivots1, OBJPROP_COLOR, clr);
ObjectSetInteger(0,Pivots1,OBJPROP_RAY,false);
ObjectSetInteger(0,Pivots1,OBJPROP_BACK,true);
ObjectSetInteger(0,Pivots1,OBJPROP_WIDTH,w);
ObjectSetInteger(0,Pivots1,OBJPROP_STYLE,s);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CreateDollyGraphics(string Dolly, double start, double end, color clr)
{
ObjectCreate(0,Dolly, OBJ_RECTANGLE, 0, iTime(NULL,PERIOD_D1,0)+GMTshift*3600, start, iTime(NULL,PERIOD_CURRENT,0), end);
ObjectSetInteger(0,Dolly, OBJPROP_COLOR, clr);
ObjectSetInteger(0,Dolly,OBJPROP_BACK,Dolly_GRAPHICS);
ObjectSetInteger(0,Dolly,OBJPROP_WIDTH,2);
ObjectSetInteger(0,Dolly,OBJPROP_STYLE,0);
ObjectSetInteger(0,Dolly,OBJPROP_FILL,true);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CreateAvGraphics(string DailyAv, double start, double end, color clr)
{
ObjectCreate(0,DailyAv, OBJ_RECTANGLE, 0, iTime(NULL,PERIOD_D1,0)+GMTshift*3600, start, iTime(NULL,PERIOD_CURRENT,0), end);
ObjectSetInteger(0,DailyAv, OBJPROP_COLOR, clr);
ObjectSetInteger(0,DailyAv,OBJPROP_BACK,Daily_AverageGRAPHICS);
ObjectSetInteger(0,DailyAv,OBJPROP_WIDTH,0);
ObjectSetInteger(0,DailyAv,OBJPROP_STYLE,0);
ObjectSetInteger(0,DailyAv,OBJPROP_FILL,true);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CreatePivots(string Pivots, double start, double end,int w, int s,color clr)
{
ObjectCreate(0,Pivots, OBJ_TRENDBYANGLE, 0, iTime(NULL,PERIOD_D1,Pivot_Point_ExtendLINE+0), start, iTime(NULL,PERIOD_CURRENT,0),w,s, end);
ObjectSetInteger(0,Pivots, OBJPROP_COLOR, clr);
ObjectSetInteger(0,Pivots,OBJPROP_RAY,false);
ObjectSetInteger(0,Pivots,OBJPROP_WIDTH,w);
ObjectSetInteger(0,Pivots,OBJPROP_STYLE,s);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CreateFibs(string FibLevels, double start, double end,int w, int s,color clr)
{
ObjectCreate(0,FibLevels, OBJ_TRENDBYANGLE, 0, iTime(NULL,PERIOD_D1,FIB_ExtendDISPLAY), start, iTime(NULL,PERIOD_CURRENT,0),w,s, end);
ObjectSetInteger(0,FibLevels, OBJPROP_COLOR, clr);
ObjectSetInteger(0,FibLevels,OBJPROP_RAY,false);
ObjectSetInteger(0,FibLevels,OBJPROP_WIDTH,w);
ObjectSetInteger(0,FibLevels,OBJPROP_STYLE,s);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void DeleteCreateFibs()
{
ObjectDelete(0,Fib100); ObjectDelete(0,Fib764); ObjectDelete(0,Fib618); ObjectDelete(0,Fib50);
ObjectDelete(0,Fib236); ObjectDelete(0,Fib0); ObjectDelete(0,Fib382);
ObjectDelete(0,FibP100); ObjectDelete(0,FibP618); ObjectDelete(0,FibP50); ObjectDelete(0,FibP382);
ObjectDelete(0,FibM100); ObjectDelete(0,FibM618); ObjectDelete(0,FibM50); ObjectDelete(0,FibM382);
ObjectDelete(0,FibP236); ObjectDelete(0,FibM236); ObjectDelete(0,FibP764); ObjectDelete(0,FibM764);
ObjectDelete(0,FibP150); ObjectDelete(0,FibM150); ObjectDelete(0,FibP200); ObjectDelete(0,FibM200);
ObjectDelete(0,FibP250); ObjectDelete(0,FibM250); ObjectDelete(0,FibP300); ObjectDelete(0,FibM300);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CreateFIB()
{
ObjectsDeleteAll(0,-1,OBJ_TRENDBYANGLE);
DeleteCreateFibs();
//---- Get new daily prices & calculate pivots
day_high=0;
day_low=0;
yesterday_open=0;
today_open=0;
cur_day=0;
prev_day=0;
//----
int cnt=720;
while(cnt!= 0)
{
MqlDateTime tm;
TimeToStruct(iTime(NULL,PERIOD_CURRENT,cnt),tm);
if (tm.day_of_week==0)
{
cur_day=prev_day;
}
else
{
MqlDateTime tm1;
TimeToStruct(iTime(NULL,PERIOD_CURRENT,cnt)-GMTshift*3600,tm1);
cur_day=tm1.day;
}
if (prev_day!=cur_day)
{
yesterday_close=iClose(NULL,PERIOD_CURRENT,cnt+1);
today_open=iOpen(NULL,PERIOD_CURRENT,cnt);
yesterday_high=day_high;
yesterday_low=day_low;
day_high=iHigh(NULL,PERIOD_CURRENT,cnt);
day_low =iLow(NULL,PERIOD_CURRENT,cnt);
prev_day=cur_day;
}
if (iHigh(NULL,PERIOD_CURRENT,cnt) gt day_high)
{
day_high=iHigh(NULL,PERIOD_CURRENT,cnt);
}
if (iLow(NULL,PERIOD_CURRENT,cnt) lt day_low)
{
day_low=iLow(NULL,PERIOD_CURRENT,cnt);
}
cnt--;
}
double P=(yesterday_high + yesterday_low + yesterday_close)/3;//Pivot
//Pivots & M Pivots
double r3 =(2 * P)+(yesterday_high -(2 * yesterday_low ));
double r2=P +(yesterday_high - yesterday_low );
double r1 =(2 * P)- yesterday_low;
double s1 =(2 * P)- yesterday_high;
double s2=P -(yesterday_high- yesterday_low);
double s3 =(2 * P)-(( 2 * yesterday_high)- yesterday_low );
//----
double m0=(s2 + s3)/2;
double m1=(s1 + s2)/2;
double m2=(P + s1)/2;
double m3=(P + r1)/2;
double m4=(r1 + r2)/2;
double m5=(r2 + r3)/2;
//----
double OPEN=today_open;
double HI2=iHigh(NULL,PERIOD_D1,0);
double LOW2=iLow(NULL,PERIOD_D1,0);
double HI3=yesterday_high;
double LOW3=yesterday_low;
double HI4=iHigh(NULL,PERIOD_D1,0);
double LOW4=iLow(NULL,PERIOD_D1,0);
double HI5=iHigh(NULL,PERIOD_D1,2);
double LOW5=iLow(NULL,PERIOD_D1,2);
double HI6=iHigh(NULL,PERIOD_D1,3);
double LOW6=iLow(NULL,PERIOD_D1,3);
double HI7=iHigh(NULL,PERIOD_D1,4);
double LOW7=iLow(NULL,PERIOD_D1,4);
double HI8=iHigh(NULL,PERIOD_D1,5);
double LOW8=iLow(NULL,PERIOD_D1,5);
double HI9=iHigh(NULL,PERIOD_D1,6);
double LOW9=iLow(NULL,PERIOD_D1,6);
double HI10=iHigh(NULL,PERIOD_D1,7);
double LOW10=iLow(NULL,PERIOD_D1,7);
double HI11=iHigh(NULL,PERIOD_D1,8);
double LOW11=iLow(NULL,PERIOD_D1,8);
double HI12=iHigh(NULL,PERIOD_D1,9);
double LOW12=iLow(NULL,PERIOD_D1,9);
double HI13=iHigh(NULL,PERIOD_D1,10);
double LOW13=iLow(NULL,PERIOD_D1,10);
double HI14=iHigh(NULL,PERIOD_D1,11);
double LOW14=iLow(NULL,PERIOD_D1,11);
double HI15=iHigh(NULL,PERIOD_D1,12);
double LOW15=iLow(NULL,PERIOD_D1,12);
double HI16=iHigh(NULL,PERIOD_D1,13);
double LOW16=iLow(NULL,PERIOD_D1,13);
double HI17=iHigh(NULL,PERIOD_D1,14);
double LOW17=iLow(NULL,PERIOD_D1,14);
double HI18=iHigh(NULL,PERIOD_D1,15);
double LOW18=iLow(NULL,PERIOD_D1,15);
double HI19=iHigh(NULL,PERIOD_D1,16);
double LOW19=iLow(NULL,PERIOD_D1,16);
double HI20=iHigh(NULL,PERIOD_D1,17);
double LOW20=iLow(NULL,PERIOD_D1,17);
double HI21=iHigh(NULL,PERIOD_D1,18);
double LOW21=iLow(NULL,PERIOD_D1,18);
double HI22=iHigh(NULL,PERIOD_D1,19);
double LOW22=iLow(NULL,PERIOD_D1,19);
double HI23=iHigh(NULL,PERIOD_D1,20);
double LOW23=iLow(NULL,PERIOD_D1,20);
//----
double ONE=(HI3-LOW3);
double FIVE=((HI3-LOW3)+(HI5-LOW5)+(HI6-LOW6)+(HI7-LOW7)+(HI8-LOW8))/5;
double TEN=((HI3-LOW3)+(HI5-LOW5)+(HI6-LOW6)+(HI7-LOW7)+(HI8-LOW8)+
(HI9-LOW9)+(HI10-LOW10)+(HI11-LOW11)+(HI12-LOW12)+(HI13-LOW13))/10;
double TWENTY=((HI3-LOW3)+(HI5-LOW5)+(HI6-LOW6)+(HI7-LOW7)+(HI8-LOW8)+
(HI9-LOW9)+(HI10-LOW10)+(HI11-LOW11)+(HI12-LOW12)+(HI13-LOW13)+
(HI14-LOW14)+(HI15-LOW15)+(HI16-LOW16)+(HI17-LOW17)+(HI18-LOW18)+
(HI19-LOW19)+(HI20-LOW20)+(HI21-LOW21)+(HI22-LOW22)+(HI23-LOW23))/20;
double AV=(ONE+FIVE+TEN+TWENTY)/4;// New Setting AV = (FIVE+TEN+TWENTY)/3;
//Add for Open Graphics - hymns
double DollyOpenGraphics;
if (Using_OpenGraphics==true) { DollyOpenGraphics=OPEN; }
else { DollyOpenGraphics=P; }
//Tweak for Open Graphics - hymns
double AvDN150=DollyOpenGraphics-AV/2*3;
double AvUP150=DollyOpenGraphics+AV/2*3;
double AvDN125=DollyOpenGraphics-AV/4*5;
double AvUP125=DollyOpenGraphics+AV/4*5;
double AvDN100=DollyOpenGraphics-AV;
double AvUP100=DollyOpenGraphics+AV;
double AvDN75=DollyOpenGraphics-AV/4*3;
double AvUP75=DollyOpenGraphics+AV/4*3;