Trend & directionZero-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
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.
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.