Watch how to download trading robots for free
Find us on Facebook!
Join our fan page
Interesting script?
So post a link to it -
let others appraise it
You liked the script? Try it in the MetaTrader 5 terminal
Experts

DoubleZigZag - expert for MetaTrader 5

Published by:
Vladimir Karputov
Views:
9593
Rating:
(34)
Published:
2017.08.10 12:50
Updated:
2018.06.26 13:25
DoubleZigZag.mq5 (31.14 KB) view
Need a robot or indicator based on this code? Order it on Freelance Go to Freelance

The author of the idea is Maksim, and the author of the mq5 code is barabashkakvn.

The Expert Advisor uses two ZigZag indicators for analysis: a smaller zigzag with parameters (13.5,3) and a larger zigzag with parameters multiplied by eight: (13*8,5*8,3*8)

//--- create handle of the indicator iCustom
   handle_iCustom=iCustom(Symbol(),Period(),"Examples\\ZigZag",13,5,3);
//--- if the handle is not created 
   if(handle_iCustom==INVALID_HANDLE)
     {
      //--- tell about the failure and output the error code 
      PrintFormat("Failed to create handle of the iCustom indicator for the symbol %s/%s, error code %d",
                  Symbol(),
                  EnumToString(Period()),
                  GetLastError());
      //--- the indicator is stopped early 
      return(INIT_FAILED);
     }
//--- create handle of the indicator iCustom
   handle_iCustomX8=iCustom(Symbol(),Period(),"Examples\\ZigZag",13*8,5*8,3*8);
//--- if the handle is not created 
   if(handle_iCustomX8==INVALID_HANDLE)
     {
      //--- tell about the failure and output the error code 
      PrintFormat("Failed to create handle of the iCustomX8 indicator for the symbol %s/%s, error code %d",
                  Symbol(),
                  EnumToString(Period()),
                  GetLastError());
      //--- the indicator is stopped early 
      return(INIT_FAILED);
     }

To make a trading decision, the two legs of the last peak of a larger ZigZag (13*8,5*8,3*8) are analyzed, while the number of peaks of the smaller ZigZag (13,5,3) contained in these two legs is counted.

If a signal to open a BUY position is received, all SELL positions are closed. Vice versa: if a signal to open a SELL position is received, all BUY positions are closed.

Expert Advisor parameters:

  • k is the ratio of the number of peaks of the smaller zigzag in the legs of the larger zigzag
  • k2 is the ratio of the price difference in the peaks of the larger zigzag

Example: 

DoubleZigZag

The larger ZigZag (13*8,5*8,3*8) is shown in red, the smaller zigzag ZigZag (13,5,3) is yellow.

Respectively, ABC are the peaks of the larger ZigZag (13*8,5*8,3*8).

The legs AB and AC contain nine peaks of the smaller ZigZag (13,5,3).


Testing results on EURUSD,M1:

DoubleZigZag

Translated from Russian by MetaQuotes Ltd.
Original code: https://www.mql5.com/ru/code/18629

ColorBarRange_HTF ColorBarRange_HTF

The indicator draws a channel using the High and Low values of a candlestick of a higher timeframe specified in the indicator input parameters.

ColorBarOpen_HTF ColorBarOpen_HTF

The indicator draws the open level of a candlestick of a higher timeframe specified in the indicator input parameters.

AutoTradeLevels AutoTradeLevels

The indicator marks all performed trades with short horizontal lines.

Boa_ZigZag_Arrows_HTF Boa_ZigZag_Arrows_HTF

The Boa_ZigZag_Arrows indicator with the timeframe selection option available in the indicator input parameters.