Trend & direction

Zero-Lag Exponential Moving Average · ZLEMA

An EMA that tries to cancel its own lag by adding a momentum correction before smoothing.

Works best in trending marketsEngine-computed on a fixed sample series
14512096Price above EMA 12 = strengthPrice below EMA 12 = weaknessEMA 12 acts as support / resistance
EMA 12EMA 26How to read ZLEMA on the chart — the callouts mark what to look for.

The formula

Before smoothing, ZLEMA adds the recent momentum back into price: today's price plus the change over the last l bars, extrapolating the move forward. Running an EMA on that de-lagged series produces a line that hugs price far more closely than a plain EMA.

ZLEMA = EMA( Priceₜ + (Priceₜ − Priceₜ₋ₗ) ), lag l = (N − 1) ÷ 2
Worked example
InputValue
Length N9
Lag = (9 − 1) ÷ 24
Price today52
Price 4 bars ago46
De-lagged = 52 + (52 − 46)58

The EMA smooths 58, not 52 — pulling the line toward the fresh move

What it is

The Zero-Lag Exponential Moving Average, or ZLEMA, is a trend-following average engineered to cancel most of the lag that every ordinary moving average suffers. It was introduced by John Ehlers and Ric Way, who reasoned that lag comes from averaging old data, so if you first correct the input to compensate for that delay, the resulting average can sit almost on top of price. The tool answers the same question as any moving average, namely what is the underlying smoothed direction, but it aims to answer with far less delay, so its turns and crossovers fire sooner. The name is aspirational rather than literal, since no causal filter can truly have zero lag, but ZLEMA gets much closer than a standard exponential average. For a beginner, imagine an average that peeks at how fast price has been moving and leans forward to keep up, instead of always trailing a step behind.

How it is calculated

ZLEMA works by feeding a de-lagged input into an ordinary exponential moving average. First it defines a lag equal to the length minus one, divided by two, which is roughly the delay a standard average of that length introduces. Then, instead of smoothing the raw price, it smooths an adjusted series equal to the current price plus the difference between the current price and the price that many bars ago. That adjustment, which can be written as twice the current price minus the lagged price, extrapolates the recent move forward, effectively adding back the momentum the averaging would otherwise remove. This corrected series is then run through a normal exponential moving average using the usual smoothing factor of two divided by length plus one. The net effect is a line that responds to a change in price almost immediately, because the de-lagging term injects the recent price change before any smoothing dampens it.

Reading it, step by step

You read ZLEMA like any moving average, by its slope and its position relative to price, but with the understanding that it hugs price extremely closely. Its slope changes are early trend cues, so an upturn in the line signals momentum shifting up sooner than a standard average would, and a downturn signals the reverse. Because it tracks price so tightly, crossovers of price through ZLEMA, or of a fast ZLEMA through a slow one, arrive noticeably earlier than the same crosses on ordinary exponential averages. The flip side of that responsiveness is that the line can overshoot on a sharp spike and then snap back, so a single dramatic bar can produce a false wiggle. The right mindset is to treat ZLEMA as an early-warning line whose speed is genuine but whose signals need confirmation, rather than as an infallible read of the trend.

Reading the signals on the chart

14512096
EMA 12EMA 26The ▲/▼ marks flag where price most recently crossed the line — the cues a trend-follower would act on.

Best timeframes

  • Scalping1m – 5m
  • Day trading5m – 1h
  • Swing4h – daily
  • Positiondaily – weekly

Because it overshoots on spikes, pair ZLEMA with a slower average for confirmation rather than trading it alone.

ZLEMA vs other averages

ZLEMAEMAHMA
Lag reductionMomentum addNoneWMA blend
SmoothnessMediumHighHigh
Overshoot riskHighLowMedium
Best useEarly trend readSteady trendSmooth fast turns

Common price-action setups

How the signal typically plays out on the chart.

Early price/ZLEMA cross

Price crosses above a turning-up ZLEMA sooner than it would a standard EMA; enter long on the cross with a stop below the recent low, confirmed by a slower average.

Buy the cross
Early uptrend
Fast/slow ZLEMA cross down

A fast ZLEMA crossing below a slower one flags momentum rolling over earlier than an EMA pair; short the cross with a stop above the swing high.

Sell the cross
Trend turns down
Slope ride

While ZLEMA's slope points up and price holds above it, stay long; exit when the slope flattens or price closes decisively through the line.

Ride the slope
Trend continuation

Best timeframes and settings

ZLEMA uses the same length parameter as any exponential average, and common choices span short lengths near ten for fast signals up to fifty or more for a smoother trend line. It works on all timeframes, and its low-lag design makes it attractive to scalpers and day traders who need the earliest possible read, though its noise sensitivity also grows on fast charts. Shortening the length makes it even more responsive and even jumpier, while lengthening it smooths the line and reduces the overshoot but gives back some of the lag advantage. Because the de-lagging term amplifies recent price changes, ZLEMA is inherently more reactive to spikes than a plain exponential average of the same length, so on noisy instruments a slightly longer setting is prudent. The trade-off is sharper than usual here: you are buying earlier signals at the direct cost of more false starts, so the confirmation you pair it with matters.

When and where to use it

ZLEMA is a trend tool best deployed in trending markets, where its early turns get you aligned with a move well before a lagging average would. It suits traders who prize responsiveness and are willing to manage the extra noise, and it works across liquid asset classes from equities to futures to foreign exchange. It is particularly useful as a fast trend filter or as the quick line in a crossover pair, where its speed is an asset. It is a poor fit for choppy, sideways markets, where its eagerness to follow every move produces frequent whipsaws, and it should be avoided as a standalone signal in such conditions. Because it can overshoot at sharp reversals, it is also risky to trust blindly at major turning points, so it is best used where a real trend is underway and confirmation is available.

Strategies that use it

The first strategy is the fast-slow ZLEMA crossover: pair a short ZLEMA with a longer one and go long when the fast crosses above the slow, exiting or reversing on the opposite cross, taking advantage of the earlier signal the low-lag design provides while accepting that a confirmation filter is needed to weed out false starts. The second is the price-cross trend filter: use a single ZLEMA and act when price crosses it, but only in the direction of a slower, standard average's slope, so the ZLEMA supplies timing while the slow average supplies the trend context. The third is a momentum-confirmed turn: watch for a ZLEMA slope change and take the signal only when a momentum oscillator such as MACD or the Relative Strength Index agrees, which screens out the overshoot wiggles. In every case the theme is the same, that ZLEMA gives you the early read but its speed demands a second opinion before you commit.

Combining it with other indicators

ZLEMA pairs best with a slower confirmation, whether a standard exponential moving average or a smoothed average like the Wilder line, because the slow partner filters out the false starts the fast ZLEMA inevitably produces. A momentum oscillator such as MACD, which is itself built from moving averages, or the Relative Strength Index confirms that an early ZLEMA turn has genuine force behind it. The Average Directional Index helps by flagging whether the market is trending strongly enough for ZLEMA's crossover signals to be reliable, keeping you out during flat chop where the low-lag line whipsaws worst. Volume tools add conviction to a ZLEMA-based breakout. It is redundant to pair ZLEMA with another aggressive low-lag average such as the Hull Moving Average expecting independent confirmation, since both chase price hard and will overshoot together rather than checking each other.

Where it fails

The core failure of ZLEMA follows directly from its design: by extrapolating recent momentum, it overshoots and reverses sharply on spikes, making it noisier than the exponential average it improves upon, so a single erratic bar can throw a false turn. The zero-lag label is an aspiration, not a guarantee, and at abrupt, unexpected reversals it still misjudges the turn, sometimes lurching the wrong way before correcting. In choppy, directionless markets its eagerness produces a stream of whipsaw crossovers that punish mechanical trading. The classic mistake is trusting its speed without confirmation and taking every early cross at face value. The defenses are to always pair it with a slower or momentum-based confirmation, to filter its signals with a trend-strength gauge so you skip range conditions, to lengthen it on noisy instruments, and to remember that its responsiveness is a genuine edge only when a real trend is present.

A worked example

Take a ten-period ZLEMA, for which the lag is ten minus one divided by two, about four bars. Suppose the current price is 50 and the price four bars ago was 46, so price has been rising. The de-lagged input is the current price plus the difference between it and the lagged price, that is 50 plus 50 minus 46, which equals 54. ZLEMA then smooths 54, not 50, into its exponential average, so it is fed a value four points above the actual price, pushing the line upward to keep pace with the rising trend. A standard ten-period exponential average, by contrast, would smooth the raw 50 and therefore continue to trail below price. If the uptrend continues, ZLEMA stays glued to price and turns up early at the next inflection, whereas the ordinary average lags behind; but if that 50 print were a one-bar spike that immediately reversed, the same de-lagging term would cause ZLEMA to overshoot and then snap back, illustrating exactly the noise that is the price of its speed.

Common mistakes

  • Trusting every early cross — the momentum boost makes ZLEMA overshoot and reverse on spikes.
  • Using it alone without a slower confirmation to filter the false starts.
  • Forgetting that 'zero lag' is an aspiration; it still misreads abrupt reversals.
  • Running too short a length, which amplifies the whipsaw.
  • Treating its speed as accuracy — faster signals are not automatically better ones.
  • Applying it in a choppy range, where the extrapolation just chases noise.