Boa_ZigZag_Arrows_Duplex Indicator For MT5

Boa_ZigZag_Arrows_Duplex Indicator For MT5

De Boa_ZigZag_Arrows_Duplex Indicator For MT5 werk op basis van de zigzag-indicator en kritieke draaipunten. Na het installeren van deze indicator in de prijsgrafiek, ziet u gekleurde stippen boven en onder de kandelaars. Vorming van de rode stippen of cirkel boven de kandelaar betekent dat de beren de prijs in de nabije toekomst naar beneden zullen drukken. Integendeel, de vorming van de blauwe stippen onder de kandelaar betekent dat de kopers de prijs hoger gaan drukken. U kunt ook de kleine retracement van de prijs vinden met behulp van kleine bruine en blauwe stippen. Bruine stippen die zich boven de kandelaar vormen, betekent dat de bearish retracement gaat plaatsvinden. Integendeel, wanneer u blauwe stippen ziet, ziet u mogelijk een bullish retracement in de prijs. Leer deze tool te gebruiken in de demo-account, zodat u een behoorlijke winst kunt maken zonder te veel geld te verliezen.

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

 

Boa_ZigZag_Arrows_Duplex Indicator For MT5 installeren

Nadat u de indicator via het bovenstaande formulier heeft gedownload, moet u het zip-bestand uitpakken. Vervolgens moet u het bestand Boa_ZigZag_Arrows_Duplex.mq5 naar de map MQL5Indicators van uw MT5 installatie kopiëren. Start daarna MT5 opnieuw op en dan kunt u de indicator zien in de lijst met indicatoren.

Parameters van het Boa_ZigZag_Arrows_Duplex Indicator For MT5

Het Boa_ZigZag_Arrows_Duplex Indicator For MT5 moet de parameters 2 configureren.

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

Buffers van het Boa_ZigZag_Arrows_Duplex Indicator For MT5

Het Boa_ZigZag_Arrows_Duplex Indicator For MT5 biedt 4 buffers.

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

Hoofddelen van de code

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.