Watch how to download trading robots for free
Find us on Telegram!
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:
9490
Rating:
(34)
Published:
2017.08.10 12:50
Updated:
2018.06.26 13:25
DoubleZigZag.mq5 (31.14 KB) view

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.