Boa_ZigZag_Arrows_Duplex Indicator For MT5

Boa_ZigZag_Arrows_Duplex Indicator For MT5

El Boa_ZigZag_Arrows_Duplex Indicator For MT5 trabajo Boa_ZigZag_Arrows_Duplex Indicator For MT5 basado en el indicador en zigzag y puntos críticos de pivote. Después de instalar este indicador en el gráfico de precios, notará puntos de colores encima y debajo de las velas japonesas. La formación de los puntos rojos o el círculo sobre el candelero significa que los osos bajarán el precio en el futuro cercano. Por el contrario, la formación de los puntos azules debajo del candelabro significa que los compradores subirán el precio. También puede encontrar el menor retroceso del precio con la ayuda de pequeños puntos de color marrón y azul. Los puntos de color marrón que se forman sobre el candelabro significan que tendrá lugar el retroceso bajista. Por el contrario, cuando detecta puntos azules, puede ver un retroceso alcista en el precio. Aprenda a usar esta herramienta en la cuenta de demostración para que pueda obtener un beneficio decente sin perder demasiado dinero.

FREE Boa_ZigZag_Arrows_Duplex Indicator

Download the FREE Boa_ZigZag_Arrows_Duplex Indicator for MT5.

To receive my email 100% sure: 
Put my email on your whitelist!

 

Partially Automated Trading Besides Your Day Job

Alerts In Real-Time When Divergences Occur

 

Instalar la Boa_ZigZag_Arrows_Duplex Indicator For MT5

Después de descargar el indicador a través del formulario anterior, debe descomprimir el archivo zip. Luego, debe copiar el archivo Boa_ZigZag_Arrows_Duplex.mq5 en la carpeta MQL5Indicators de su instalación MT5 . Después de eso, reinicie MT5 y luego podrá ver el indicador en la lista de indicadores.

Parámetros de la Boa_ZigZag_Arrows_Duplex Indicator For MT5

Boa_ZigZag_Arrows_Duplex Indicator For MT5 tiene parámetros 2 para configurar.

input uint SlowLength=42; // ?5@8>4 <54;5==>3> 7837030
input uint FastLength=6; // ?5@8>4 1KAB@>3> 7837030

Buffers of the Boa_ZigZag_Arrows_Duplex Indicator For MT5

Boa_ZigZag_Arrows_Duplex Indicator For MT5 proporciona buffers 4 .

SetIndexBuffer(0,ZigzagLawnBuffer1,INDICATOR_DATA);
SetIndexBuffer(1,ZigzagPeakBuffer1,INDICATOR_DATA);
SetIndexBuffer(2,ZigzagLawnBuffer2,INDICATOR_DATA);
SetIndexBuffer(3,ZigzagPeakBuffer2,INDICATOR_DATA);

Partes principales del 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[],     // F5= gt 2 gt 9  lt 0AA82  lt 0:A8 lt C lt  gt 2 F5=K 4;O @0AG5B0 8=48:0B gt @0
                const double& low[],      // F5= gt 2 gt 9  lt 0AA82  lt 8=8 lt C lt  gt 2 F5=K 4;O @0AG5B0 8=48:0B gt @0
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---- ?@ gt 25@:0 : gt ;8G5AB20 10@ gt 2 =0 4 gt AB0B gt G= gt ABL 4;O @0AG5B0
   if(rates_total lt min_rates_total) return(0);

//----  gt 1JO2;5=8O ; gt :0;L=KE ?5@5 lt 5==KE 
   int limit,climit,bar;
   double HH,LL,BH,BL;
   int zu,zd,Swing,Swing_n;
//----

   limit=rates_total-min_rates_total; // AB0@B gt 2K9 = gt  lt 5@ 4;O @0AGQB0 2A5E 10@ gt 2
   climit=limit; // AB0@B gt 2K9 = gt  lt 5@ 4;O @0A:@0A:8 8=48:0B gt @0

//---- 8=45:A0F8O M;5 lt 5=B gt 2 2  lt 0AA820E :0: 2 B09 lt A5@8OE  
   ArraySetAsSeries(high,true);
   ArraySetAsSeries(low,true);
//----   
   Swing=0;
   Swing_n=0;
   zu=limit;
   zd=limit;
   BH=high[limit];
   BL=low[limit];
//---- &8:; @0AGQB0  lt 54;5== gt 3 gt  7837030
   for(bar=limit; bar gt =0 && !IsStopped(); bar--)
     {
      ZigzagLawnBuffer1[bar]=NULL;
      ZigzagPeakBuffer1[bar]=NULL;

      HH=high[ArrayMaximum(high,bar+1,SlowLength)];
      LL=low[ArrayMinimum(low,bar+1,SlowLength)];
      if(low[bar] lt LL && high[bar] gt HH)
        {
         Swing=2;
         if(Swing_n== 1) zu=bar+1;
         if(Swing_n==-1) zd=bar+1;
        }
      else
        {
         if(low [bar] lt LL) Swing=-1;
         if(high[bar] gt HH) Swing= 1;
        }
      if(Swing!=Swing_n && Swing_n!=0)
        {
         if(Swing==2) {Swing=-Swing_n; BH=high[bar]; BL=low[bar];}
         if(Swing== 1)
           {            
            if(BL==low[zd]) ZigzagLawnBuffer1[zd]=BL;
            else ZigzagLawnBuffer1[zd-1]=BL;
           }
         if(Swing==-1)
           {
            if(BH==high[zu]) ZigzagPeakBuffer1[zu]=BH;
            else ZigzagPeakBuffer1[zu-1]=BH;
           }
         BH=high[bar];
         BL=low [bar];
        }
      if(Swing== 1) {if(high[bar] gt =BH) {BH=high[bar]; zu=bar;}}
      if(Swing==-1) {if(low [bar] lt =BL) {BL=low [bar]; zd=bar;}}
      Swing_n=Swing;
     }
//----   
   Swing=0;
   Swing_n=0;
   zu=limit;
   zd=limit;
   BH=high[limit];
   BL=low[limit];
//---- &8:; @0AGQB0 1KAB@ gt 3 gt  7837030
   for(bar=limit; bar gt =0 && !IsStopped(); bar--)
     {
      ZigzagLawnBuffer2[bar]=NULL;
      ZigzagPeakBuffer2[bar]=NULL;

      HH=high[ArrayMaximum(high,bar+1,FastLength)];
      LL=low[ArrayMinimum(low,bar+1,FastLength)];
      if(low[bar] lt LL && high[bar] gt HH)
        {
         Swing=2;
         if(Swing_n== 1) zu=bar+1;
         if(Swing_n==-1) zd=bar+1;
        }
      else
        {
         if(low [bar] lt LL) Swing=-1;
         if(high[bar] gt HH) Swing= 1;
        }
      if(Swing!=Swing_n && Swing_n!=0)
        {
         if(Swing==2) {Swing=-Swing_n; BH=high[bar]; BL=low[bar];}
         if(Swing== 1)
           {            
            if(BL==low[zd]) ZigzagLawnBuffer2[zd]=BL;
            else ZigzagLawnBuffer2[zd-1]=BL;
           }
         if(Swing==-1)
           {
            if(BH==high[zu]) ZigzagPeakBuffer2[zu]=BH;
            else ZigzagPeakBuffer2[zu-1]=BH;
           }
         BH=high[bar];
         BL=low [bar];
        }
      if(Swing== 1) {if(high[bar] gt =BH) {BH=high[bar]; zu=bar;}}
      if(Swing==-1) {if(low [bar] lt =BL) {BL=low [bar]; zd=bar;}}
      Swing_n=Swing;
     }
//----     
   return(rates_total);
  }
//+------------------------------------------------------------------+

 

About Me

I'm Mike Semlitsch the owner of PerfectTrendSystem.com. My trading career started in 2007. Since 2013 I have helped thousands of traders to take their trading to the next level. Many of them are now constantly profitable traders. 

The following performance was achieved by me while trading live in front of hundreds of my clients:

Connect With Me:  

Results From 5 Months!
This service starts soon! Be the first who get's notified when it begins!

This FREE Indicator Can Transform
Your Trading!

FREE Indicator + Telegram Group


Request the Ultimate Double Top/Bottom Indicator which is used by 10,000+ traders.