Zero Lag Moving Average: Complete Trading Guide
Zero Lag MA eliminates the inherent lag of traditional moving averages by adding a momentum component to the EMA calculation.

Settings — ZLMA
| trend | |
| Default Period | 20 |
| Best Timeframes | M15, H1, H4 |
Most moving averages lag price by 5 to 10 bars at a period-20 setting — enough to turn a winning entry into a breakeven trade. The Zero Lag Moving Average (ZLMA) cuts that delay to near-zero by injecting a momentum correction directly into the EMA formula, giving you a line that tracks price action with roughly 50% less lag than a standard 20-period EMA.
- A standard EMA applies exponentially decreasing weights to past prices, which creates lag. The ZLMA fixes this by calcul...
- Three signal types generate the highest-probability setups with ZLMA. Crossover signals remain the most common entry tr...
- Counterintuitively, using the default period-20 setting across all timeframes is not optimal — the momentum correction t...
1How Zero Lag Moving Average Works: The Math, Simplified
A standard EMA applies exponentially decreasing weights to past prices, which creates lag. The ZLMA fixes this by calculating the difference between the current EMA and a lagged version of itself — typically offset by half the period length — then adding that difference back into the EMA. At period 20, the lag offset is 10 bars.
The formula in plain terms:
- Calculate EMA(price, 20)
- Calculate EMA(EMA, 10) — the 'error correction' term
- ZLMA = 2 × EMA(price, 20) − EMA(EMA, 10)
That subtraction step eliminates the accumulated lag. The result is a smooth line that hugs price far more tightly than a conventional EMA without the noise spikes you get from a raw price derivative. Think of it as an EMA that constantly corrects its own positioning error. The tradeoff: ZLMA reacts faster to false moves too, which is why timeframe selection matters more here than with standard MAs.
2ZLMA Signal Interpretation: Buy, Sell, and Divergence Setups
Three signal types generate the highest-probability setups with ZLMA.
Crossover signals remain the most common entry trigger. Price crossing above ZLMA from below signals a long entry; price crossing below signals short. Because lag is reduced, these crossovers appear 2 to 4 candles earlier than an equivalent EMA signal — meaningful on M15 where 3 candles equals 45 minutes of missed move.
Slope angle is underused but highly reliable. A ZLMA slope above approximately 30 degrees (visually steep on a standard chart) confirms strong trend momentum. Flat or wavering slope — even when price sits above the line — indicates consolidation, not trend. Avoid directional trades during flat-slope periods.
Price-to-ZLMA divergence works as a reversal filter. When price makes a new high but ZLMA fails to extend its slope upward, trend momentum is fading. This isn't a standalone entry signal; use it to avoid adding to positions or to tighten stops.
Case study: On EUR/USD H1 in March 2024, the ZLMA(20) turned upward and crossed price at 1.0845 — three full candles before the equivalent EMA(20) crossover at 1.0861. The subsequent move reached 1.0920, meaning the earlier ZLMA entry captured an additional 16 pips of the 75-pip move.
“Counterintuitively, using the default period-20 setting across all timeframes is not optimal — the momentum correction term scales with the period, so a 20-period ZLMA on M15 behaves very differently than on H4.”
3Optimal ZLMA Settings by Timeframe: What the Numbers Show
Counterintuitively, using the default period-20 setting across all timeframes is not optimal — the momentum correction term scales with the period, so a 20-period ZLMA on M15 behaves very differently than on H4.
| Timeframe | Recommended Period | Lag Offset | Best Use Case |
|---|---|---|---|
| M15 | 14–20 | 7–10 bars | Scalp entries, intraday trend |
| H1 | 20–26 | 10–13 bars | Swing entries, session trends |
| H4 | 26–34 | 13–17 bars | Position entries, multi-day trends |
On M15, period 14 reduces noise while still reacting within 2–3 candles of a genuine breakout. On H4, pushing the period to 30 smooths out daily volatility spikes that would otherwise generate false crossovers.
For multi-timeframe confirmation, a practical setup is ZLMA(20) on H1 for trend direction and ZLMA(14) on M15 for entry timing. When both slopes point the same direction, entry quality improves significantly. Add a fixed ATR-based stop of 1.5× the H1 ATR to size risk correctly regardless of which timeframe generates the entry signal.
Top Brokers

O autorze
Daniel Harrington
Starszy Analityk Tradingowy
Daniel Harrington jest starszym analitykiem tradingowym z tytułem MScF (Master of Science in Finance) specjalizującym się w ilościowym zarządzaniu aktywami i ryzykiem. Z ponad 12-letnim doświadczeniem na rynkach forex i instrumentów pochodnych, zajmuje się optymalizacją platformy MT5, algorytmicznymi strategiami tradingowymi oraz praktycznymi wskazówkami dla traderów detalicznych.
