Trading Education

Zero Lag EMA indicator: how it strips delay from a classic EMA

The Zero Lag EMA indicator strips delay from a normal exponential moving average. Learn how the trick works, when it helps, and when it whipsaws you out.

By 10 min read

You watch the trend turn. The candles roll over three bars ago, but your EMA is still climbing. By the time it finally bends, price is already twenty pips into the new direction and the entry you wanted is gone. That gap between what price is doing now and what an average says price is doing is the exact problem the Zero Lag EMA was built to fix.

By the end of this guide you will know how the Zero Lag EMA trims that delay, where the trick still costs you, and how it stacks up against the other fast smoothers already on your chart.

Key Findings

  • Zero Lag EMA is a lag-correction trick: it pushes the input price forward before smoothing, so the line hugs the current bar instead of trailing several candles behind.
  • The speed cuts both ways: in clean trends the earlier read is a real edge, but in ranges the same correction reacts to noise the classic EMA would have absorbed.
  • Closed bars stay put; the live bar squirms: the printed history is fixed, but every tick moves the last value, which many traders feel as repainting.
  • It is a smoother, not a signal: ZLEMA gives direction and slope, and works best paired with a locked confirmation and a fixed risk rule.

What is the Zero Lag EMA indicator?

The Zero Lag EMA, often shortened to ZLEMA or ZLMA, is a version of the exponential moving average that reacts much closer to the current bar than a plain EMA does. Instead of smoothing the raw closes, it smooths a price series that has been nudged forward, so the resulting line clings to price during a trend rather than dragging behind it. The output is still a moving average. It still smooths, it still trends. What changes is where the line lives relative to the last candle.

The lag-cancelling maths comes from a June 2010 article in Technical Analysis of Stocks & Commodities magazine by John Ehlers and Ric Way titled “Zero Lag (Well, Almost).” Community builds on TradingView, MT4, and MT5 rework the wrapper, but most keep the same core correction. The right way to think about it is as a faster EMA, not a brand-new indicator with a brand-new job.

How does the Zero Lag EMA cut delay from a normal EMA?

A normal EMA lags because every value is a weighted blend of the current close and a long tail of older closes. The past keeps pulling on the present, and the line settles a few bars behind price by design. The Zero Lag version cancels that pull with a simple trick: it estimates how much the average is being dragged backward, then leans the input forward by the same amount before smoothing it.

Rough intuition. If today’s close is 100 and a normal EMA of the same period reads 96, roughly four points of drag are baked in from old data. ZLEMA rebuilds the input as twice the current close minus a lag-shifted close so the smoother sees 104 going in, and the output lands close to 100 instead of 96. When price is trending, the correction lines up and the line sits almost on top of the last few candles. When price is bouncing sideways, the same correction fires on noise, and the line whips as fast as the range does.

Zero Lag EMA versus classic EMA lagpriceEMA (lags)Zero Lag EMAEMA is still climbing here

Read the diagram left to right. Price peaks and starts down. The classic EMA is still nosing up at the top and reads the reversal a few bars late. The ZLEMA line tracks price more closely through the same turn, which is the whole point of the correction.

Where does Zero Lag EMA help, and where does it hurt?

The tool earns its name during committed trends. On a swing higher with a clear slope, ZLEMA sits close to price and its own slope reads the momentum shift several bars sooner than an EMA of the same length. Trailing a stop under it feels tighter, and a slope check picks up a stall while the classic average is still rolling over.

The same behavior turns against you in a range. When true range is compressed and price is oscillating around a level, the correction pushes the input past every mini-high and mini-low, and the line changes slope every second or third candle. If the last time you tried a fast moving average you got sawed apart in a sideways market, ZLEMA will do that more, not less.

How does Zero Lag EMA compare to EMA, HMA, and KAMA?

The three fast-smoother cousins all fight the same weakness in the plain EMA, but they get there through different tricks. The temperament that comes out the other side is what matters at the chart, not the maths behind it.

Entry 1
Tool Classic EMA
How it fights lag Weighted recency, no correction
Feel on the chart Smooth, slow, obvious drag
Watch out for Late entries, late exits
Entry 2
Tool Zero Lag EMA
How it fights lag Cancels drag by pushing input forward
Feel on the chart Hugs price in trends, jumpy in chop
Watch out for Whipsaws when true range is tight
Entry 3
Tool Hull MA
How it fights lag Weighted difference of two WMAs plus a square-root smooth
Feel on the chart Very fast, cleanly curved
Watch out for Overshoots at sharp turns
Entry 4
Tool Kaufman AMA
How it fights lag Adapts smoothing to trend efficiency
Feel on the chart Slow through noise, faster in trend
Watch out for Late to leave a stalled trend

If you like the idea of a fast smoother but want cleaner turns, the Hull Moving Average approach gets you there with less range-bound whipping. If you would rather the line slow itself down when the market goes quiet, the Kaufman Adaptive Moving Average walkthrough picks up where ZLEMA’s constant correction leaves off.

RelicusRoad Pro

Have you been trading for a while but have never made consistent profits or are you new to FOREX trading and want to get a head start? Try RelicusRoad and you'll never look back.

Get RelicusRoad Pro

Does the Zero Lag EMA indicator repaint?

On a printed history, ZLEMA behaves. Scroll back a week and the line stands where it stood at the close of each bar; nothing has been rewritten. The tension is on the candle still ticking. Because the last value depends on the current close and a lag-shifted close, every incoming tick moves the tip of the line, and can nudge the shape of the last few bars until the candle settles.

Bar-replay checkLoad ZLEMA on a chart, then step forward one candle at a time on the bar-replay tool. If the printed line on already-closed bars stays exactly where it was, the build is honest. If old values redraw with each new bar, the copy is broken and worth replacing.

That flicker is honest recalculation on data that is not final yet, not the same problem as a genuinely broken build that shifts old signals. If you have never nailed down which is which on your own charts, the walkthrough on what non-repaint really means for a forex indicator sets out the exact test.

How do you trade Zero Lag EMA without getting whipsawed?

The cleanest use is as a slope filter. While the ZLEMA slope is up, you look for long setups only; while it is down, you look for shorts. You are not buying the line, you are using its slope to keep your bias honest. The reduced lag means you catch the shift a few bars sooner than an EMA would, which is where the tool actually earns its keep.

The trap is treating a fresh tilt in the line as a signal on its own. The correction fires on every candle, and in a range that means one tilt after another, none of them going anywhere. The fix is to demand the market is actually trending before you respect any slope change. A quick check with an average true range read tells you whether the market has enough travel to be worth the slope, and if it does not, you stand aside.

A smoother sharpens timing. It never sizes the position or picks the stop for you, and no setting change ever will. Fixed risk per trade, a defined exit, and the patience to sit out compressed ranges are what protect the account.

Where RelicusRoad Pro fits

Every question above circles the same worry: has this read settled, or is it still moving under my cursor? A ZLEMA that flickered in the last thirty seconds, a build you are not sure is a clean copy, a slope change that looked real on replay and then gave back half its move. RelicusRoad Pro locks its confirmations at the candle close, so the read you acted on is the read you find an hour later, and the same read on MT4, MT5, and TradingView. It is not a replacement for a smoother. It settles the question of whether the read next to it is done.

Frequently asked questions

What is the Zero Lag EMA indicator?

The Zero Lag EMA, often shortened to ZLEMA, is a version of the exponential moving average built to react much closer to the current candle than a standard EMA. It works by estimating how far the ordinary EMA is being held back by old data, then pushing the price series it smooths forward by roughly that amount. The output is still a moving average and it still trends, but the visible gap between price and line shrinks toward zero during a clean run. Community versions exist for MT4, MT5, and as open-source scripts on TradingView, with small differences in the correction formula and the wrapper around it.

How does the Zero Lag EMA remove lag from a normal EMA?

A regular EMA lags because every value blends the current close with a long tail of older closes, so the past keeps pulling on the present. The Zero Lag version cancels that pull by measuring the drag and doubling down on the current bar to compensate. In practice the formula smooths a synthetic price of roughly two times the current close minus the close from a lag-period ago, which shifts the input forward before the average ever sees it. When price is trending, the correction lands and the line sits close to price. When price is chopping, the correction still fires and the line whips around with the noise.

Does the Zero Lag EMA indicator repaint?

On closed candles a standard ZLEMA does not rewrite what it drew: yesterday’s value is yesterday’s value, and scrolling back the next day shows the same line. The wrinkle lives on the live, still-forming bar. Because the correction depends on the current close and a lag-shifted close, every tick moves the last value and can nudge the tail up to a few bars back before the candle settles. That flicker is honest recalculation on incomplete data, not a history rewrite, but a trader watching in real time will feel the line squirm. The safe habit is to read direction and slope only after the bar closes.

What are good Zero Lag EMA settings?

Two dials matter: the smoothing length, which is the same period you would give a normal EMA, and the lag setting that controls how far forward the input is pushed. A longer smoothing length gives a slower, steadier line that still leads a plain EMA of the same period. A shorter one hugs price harder and cracks under noise. The lag setting is often tied to half the smoothing length, but some builds expose it as a separate input. Change one at a time, compare against the EMA you already trust on the same chart, and count how often ZLEMA fires while the EMA is still flat.

Is the Zero Lag EMA better than a Hull Moving Average?

Both are fast smoothers built to fight the same weakness in the ordinary EMA, but they get there differently. The Hull MA uses a weighted combination of two shorter moving averages and a square-root final smooth, which is why it curves cleanly around turns. Zero Lag EMA cancels the drag by adjusting the input price, which lets it sit almost on top of a trending market. In sharp reversals HMA can overshoot the pivot; in chop, ZLEMA can whip harder than HMA. Neither is objectively better. Test both on the pair and timeframe you actually trade before you pick one.


Tired of second-guessing whether the slope on your smoother has actually settled? RelicusRoad Pro locks its signals at the candle close and keeps them fixed across MT4, MT5, and TradingView.

Share:

Trading Indicators

Keep going on this topic

Start with the main guide

The Best Trading Indicators for MT4, MT5 and TradingView in 2026

An honest breakdown of trading indicators for MT4, MT5 and TradingView: which categories add real edge, which are noise, and how many you actually need.