3rd Generation Moving Average

The advanced version of the standard Moving Average indicator that uses quite an easy procedure on decreasing temporal lag which is based on the increase of the Moving Average period. This method was originally described by Manfred G. Dürschner in an article "Gleitende Durchschnitte 3.0" (in German). The introduced implementation is using λ = 2 that offers the best possible reduction of the lag. Higher λ increases similarity with the classic known moving average.


Input Parameters:

  • MA_Period (default = 50) - period of the resulting 3rd generation moving average.
  • MA_Method (default = 1) - moving average method (0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA).
  • MA_Applied_Price (default = 5) - price type for calculating the moving average (0 — PRICE_CLOSE, 1 — PRICE_OPEN, 2 — PRICE_HIGH, 3 — PRICE_LOW, 4 — PRICE_MEDIAN, 5 — PRICE_TYPICAL, 6 — PRICE_WEIGHTED).

As you can see the 3rd Generation Moving Average (red line) provides slightly less lag than the conventional EMA (blue line) and reacts faster to a price change. Unfortunately it still has some lag and can give false signals. This indicator can mainly be used like a standard moving average to specify the direction of a current trend.

You can download the indicator here: https://www.mql5.com/en/code/13139