Download MetaTrader 5

Watch how to download trading robots for free

Interesting script?
So post a link to it -
let others appraise it

You liked the script? Try it in the MetaTrader 5 terminal


Simple ZigZag - indicator for MetaTrader 5

| English Русский 中文 Español Deutsch 日本語 Português

votes: 14
2016.10.10 15:09

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 Software Corp.
Original code:

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.