3_Level_ZZ_Semafor Indicator For MT5

3_Level_ZZ_Semafor Indicator For MT5

The 3_Level_ZZ_Semafor Indicator For MT5 is an improved version of the zigzag indicator that draws the values of 3 zigzags on the chart. The 3 zigzag have different period for the calcualtion. Therefore one small, one middle and one big zigzag is calcualted. Instead of drawing the zigzag lines on the chart (which would clutter the chart) this indicator draws dots at the zigzag points. The dots have different sizes so you can distinguish the different zigzags.

FREE 3_Level_ZZ_Semafor Indicator

Download the FREE 3_Level_ZZ_Semafor 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

My Recommended MT4/MT5 Broker

 

Installing the 3_Level_ZZ_Semafor Indicator For MT5

After you downloaded the indicator via the form above you need to unzip the zip-file. Then you need to copy the file 3_level_zz_semafor.mq5 into the folder MQL5\Indicators of your MT5 installation. After that please restart MT5 and then you will be able to see the indicator in the list of indicators.

Parameters of the 3_Level_ZZ_Semafor Indicator For MT5

The 3_Level_ZZ_Semafor Indicator For MT5 has 15 parameters to configure.

input int Period1=5;
input int Deviation1=1;
input int Backstep1=3;
input int HighSymbol1=159;
input int LowSymbol1=159;
input int Period2=13;
input int Deviation2=8;
input int Backstep2=5;
input int HighSymbol2=108;
input int LowSymbol2=108;
input int Period3=34;
input int Deviation3=21;
input int Backstep3=12;
input int HighSymbol3=163;
input int LowSymbol3=163;

Buffers of the 3_Level_ZZ_Semafor Indicator For MT5

The 3_Level_ZZ_Semafor Indicator For MT5 provides 6 buffers.

SetIndexBuffer(0,LowBuffer1,INDICATOR_DATA);
SetIndexBuffer(1,HighBuffer1,INDICATOR_DATA);
SetIndexBuffer(2,LowBuffer2,INDICATOR_DATA);
SetIndexBuffer(3,HighBuffer2,INDICATOR_DATA);
SetIndexBuffer(4,LowBuffer3,INDICATOR_DATA);
SetIndexBuffer(5,HighBuffer3,INDICATOR_DATA);

Main Parts Of The Code

int OnCalculate(const int rates_total,    // number of bars in history at the current tick
                const int prev_calculated,// number of bars calculated at previous call
                const datetime &time[],
                const double &open[],
                const double& high[],     // price array of maximums of price for the indicator calculation
                const double& low[],      // price array of minimums of price for the indicator calculation
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---- checking the number of bars to be enough for the calculation
   if(rates_total lt StartBar) return(0);

//---- declarations of local variables 
   int limit,to_copy1,to_copy2,to_copy3;

//---- calculation of the  first  starting index for the bars recalculation loop
   if(prev_calculated gt rates_total || prev_calculated lt =0) // checking for the first start of calculation of an indicator
     {
      limit=rates_total-StartBar;  // starting index for calculation of all bars
      to_copy1=rates_total;
      to_copy2=rates_total;
      to_copy3=rates_total;
     }
   else
     {
      limit=rates_total-prev_calculated;
      to_copy1=limit+StartBar1;
      to_copy2=limit+StartBar2;
      to_copy3=limit+StartBar3;
     }

//---- copy the newly appeared data in the indicator buffers
   if(CopyBuffer(Handle1,1,0,to_copy1,HighBuffer1) lt =0) return(0);
   if(CopyBuffer(Handle1,2,0,to_copy1,LowBuffer1) lt =0) return(0);
   if(CopyBuffer(Handle2,1,0,to_copy2,HighBuffer2) lt =0) return(0);
   if(CopyBuffer(Handle2,2,0,to_copy2,LowBuffer2) lt =0) return(0);
   if(CopyBuffer(Handle3,1,0,to_copy3,HighBuffer3) lt =0) return(0);
   if(CopyBuffer(Handle3,2,0,to_copy3,LowBuffer3) lt =0) return(0);
//----     
   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.