Watch how to download trading robots for free
Find us on Twitter!
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
Indicators

Simple ZigZag - indicator for MetaTrader 5

Views:
8732
Rating:
(25)
Published:
2016.10.10 15:09
Need a robot or indicator based on this code? Order it on Freelance Go to Freelance

Simplified version of the popular ZigZag indicator. The algorithm runs significantly faster, does not use intermediate calculation buffers, does not contain nested cycles and, therefore, does not redraw itself. The indicator only has one parameter to be configured, which is very important during optimization of expert advisors that use it as basis.

Automation of many graphical constructions, including simple ones like channels, trends (higher highs / lower lows) or Fibo grids, requires defining a "refined movement", i.e. price passing from local minimum to local maximum and from local maximum to local minimum.

This task is efficiently solved by ZigZag indicator included in the standard MetaTrader delivery set.

However, conventional ZigZag has a number of drawbacks.

In particular:

  • ZigZag always repaints which is inconvenient when applying it in trading algorithms,
  • the indicator algorithm includes several nested loops which can significantly slow down a ZigZag-based EA optimization,
  • fine tuning of the indicator is performed using three parameters, which significantly lengthens the optimization process, and given the fact that changing one parameter changes the effect of others, the optimization process may not find a stable extremum at all.

Having all this in mind, I have developed a much simpler algorithm of defining refined movements.

The proposed algorithm

  • does not contain embedded loops. All calculations are performed as soon as new price data becomes available,
  • does not repaint itself (e.g., a detected reversal will not turn into something else over time),
  • contains a single parameter — standard pass length (set to be different on different timeframes for more convenience).

The only input parameter - Typical retracement size - is different for different time frame for convinience

The indicator solves the task visually by highlighting local maximums and minimums and plotting refined passes between them.

As simple as it is Simple Zig Zag solve its function searching for recent highs and lows and showing movements between them.

This tool allows you to develop a simple EA based on Fibo corrections. One of the provided screenshots displays clearly recognizable trend and correction movements which is critical for developing an EA using Fibo corrections.

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

i-CAi i-CAi

The indicator displays the breakthrough line.

dTrend dTrend

Indicator of trend change.

AutoFibAutoTrend AutoFibAutoTrend

The indicator plots price channel and Fibonacci levels based on the latest ZigZag peaks.

dTrend_HTF dTrend_HTF

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