Ehlers Zero Lag Exponential Moving Average (ZLEMA)
The Zero Lag Exponential Moving Average (ZLEMA) is a technical analysis indicator used in financial markets to smooth price data while minimizing the inherent lag of standard exponential moving averages (EMAs), achieving this by applying an adjustment to the input price series that compensates for the estimated delay in trend response. The ZLEMA was developed by John F. Ehlers and Ric Way and introduced in their 2010 article "Zero Lag (Well, Almost)" published in Technical Analysis of Stocks & Commodities magazine. The ZLEMA is calculated by first estimating the lag factor as (period - 1) / 2, where period is the user-defined lookback length (typically 9 to 50 bars). The input data is then adjusted by subtracting the price from the lagged period and doubling the current price, yielding an adjusted series: adjusted = 2 × close - close[lag]. Finally, a standard EMA is applied to this adjusted series over the specified period, resulting in the ZLEMA value that tracks price changes more closely than a conventional EMA. This method effectively shifts the EMA forward in time, reducing delay without eliminating smoothing entirely, though the exact lag compensation assumes a linear trend approximation. In practice, the ZLEMA is employed for trend-following strategies, such as generating buy signals when price crosses above the indicator or using dual ZLEMA lines (short and long periods) for crossover confirmations. Its key advantages include enhanced responsiveness to recent price action and reduced whipsaws in volatile conditions, making it suitable for intraday and swing trading. However, in sideways or choppy markets, the ZLEMA can produce more false signals due to its sensitivity, and it requires computational resources for real-time implementation in trading platforms. Overall, it represents an evolution in moving average design, prioritizing timeliness while preserving noise reduction for informed decision-making in technical analysis.
more information found here: Zero lag exponential moving average — Grokipedia
Also:
It is using percent of various types of ATR (Average True Range) or STD (Standard deviation) as a filtering option. It is done in order to fix one of the weak points of using fixed (pips) step size: different time frames tend to have different results for fixed step size (ie: higher time frames become almost without steps and lower time frames still have those steps for same setting). Percent of ATR or STD usage fixes that and makes it a sort of adaptive. The rest is the same: if the average does not change for more than the required step, the value of the average remains the same. Otherwise, it is changed in order to reflect the nearest value based on the required steps.
PS) Adding Mladen Rakic's regular mt5 version.
The Zero Lag Exponential Moving Average (ZLEMA) is a technical analysis indicator used in financial markets to smooth price data while minimizing the inherent lag of standard exponential moving averages (EMAs), achieving this by applying an adjustment to the input price series that compensates for the estimated delay in trend response. The ZLEMA was developed by John F. Ehlers and Ric Way and introduced in their 2010 article "Zero Lag (Well, Almost)" published in Technical Analysis of Stocks & Commodities magazine. The ZLEMA is calculated by first estimating the lag factor as (period - 1) / 2, where period is the user-defined lookback length (typically 9 to 50 bars). The input data is then adjusted by subtracting the price from the lagged period and doubling the current price, yielding an adjusted series: adjusted = 2 × close - close[lag]. Finally, a standard EMA is applied to this adjusted series over the specified period, resulting in the ZLEMA value that tracks price changes more closely than a conventional EMA. This method effectively shifts the EMA forward in time, reducing delay without eliminating smoothing entirely, though the exact lag compensation assumes a linear trend approximation. In practice, the ZLEMA is employed for trend-following strategies, such as generating buy signals when price crosses above the indicator or using dual ZLEMA lines (short and long periods) for crossover confirmations. Its key advantages include enhanced responsiveness to recent price action and reduced whipsaws in volatile conditions, making it suitable for intraday and swing trading. However, in sideways or choppy markets, the ZLEMA can produce more false signals due to its sensitivity, and it requires computational resources for real-time implementation in trading platforms. Overall, it represents an evolution in moving average design, prioritizing timeliness while preserving noise reduction for informed decision-making in technical analysis.
more information found here: Zero lag exponential moving average — Grokipedia
Also:
It is using percent of various types of ATR (Average True Range) or STD (Standard deviation) as a filtering option. It is done in order to fix one of the weak points of using fixed (pips) step size: different time frames tend to have different results for fixed step size (ie: higher time frames become almost without steps and lower time frames still have those steps for same setting). Percent of ATR or STD usage fixes that and makes it a sort of adaptive. The rest is the same: if the average does not change for more than the required step, the value of the average remains the same. Otherwise, it is changed in order to reflect the nearest value based on the required steps.
PS) Adding Mladen Rakic's regular mt5 version.
Attached File(s)
1