Zero Lag EMA: removing lag by subtracting it

How ZLEMA estimates and removes the lag of an exponential average, why it overshoots at turns, and when that trade is worth making.

Zero Lag EMA is free on Basis — the button opens a live crypto chart with it already applied. No account, no trial and no limit on how many indicators you add.

Open the chart

What it measures

ZLEMA removes most of the lag of an exponential average by feeding it a de-lagged input: the current price plus the difference between the current price and the price half a period ago.

The reasoning is that an exponential average lags by roughly half its period, so adding that much of the recent change back in cancels it.

It works, and the cost is overshoot. Extrapolating recent change forward means the average runs past price at a sharp turn.

Whether that trade is worth making depends entirely on what the average is for. As a trend filter the reduced lag is worth an occasional overshoot; as a support level it is not, because the overshoot puts the line where price never traded.

How it is calculated

These are the steps Basis performs, verified against the published definition.

  1. 1

    Compute the lag as half of the period, rounded.

  2. 2

    Build a de-lagged series: the current price plus the difference between the current price and the price `lag` bars ago.

  3. 3

    Apply an ordinary exponential average to that series.

Settings

SettingDefaultRange
Length211 – 500
Sourcecloseprice source

Any period an EMA would use. The lag subtraction scales with the period automatically, so there is no second parameter and no way to trade off the overshoot independently — if the overshoot is unacceptable, the answer is a different construction rather than a different setting.

How to read it

  • It tracks a trend far more closely than an EMA of the same period, which makes crossings earlier and stops tighter.
  • At a sharp reversal it will overshoot and then correct, producing a brief false extension in the old direction.
  • It is a better trend-follower and a worse turn-detector than the EMA it is built from.
  • The de-lagged input can exceed the price range that produced it, so the average can briefly sit above every high in its window during a fast advance.

Where it misleads

The overshoot is not a bug to be tuned away — it is the direct consequence of the construction, and any setting that removes it also removes the lag reduction. Pairing ZLEMA with an ordinary EMA and watching the gap between them is a more honest use than trying to make ZLEMA behave.

Plot Zero Lag EMA on a live chart

Basis is free. Every indicator, every chart type, order flow, derivatives, screening and backtesting — no paid tier and no account needed to open a chart.

Open a chart with ZLEMA

Updated 2026-08-22 · Educational reference, not financial advice.