Concept

Ultimate Smoother

Ultimate Smoother is a Trend concept. The Library holds 1 implementation — a working definition you can pull into Quant.

Ehlers

Top Ultimate Smoother indicator

The top custom implementation, built on the original standard Ultimate Smoother formula.

1 total

What is the Ultimate Smoother?

The Ultimate Smoother is a low-pass price filter introduced by John Ehlers in 2024, designed around a blunt objective: zero lag in the passband. Instead of building a smoother directly, Ehlers built a high-pass filter that isolates the short-wavelength noise, then subtracted that response from the original input. What remains follows price with essentially no delay for slow, tradeable swings while still attenuating wavelengths shorter than the chosen critical period.

That construction is what separates it from earlier designs. Conventional smoothers such as the EMA or the Ehlers SuperSmoother delay everything they pass, with lag growing as smoothing deepens. The Ultimate Smoother's subtraction trick pins the response at the lowest frequencies to the input itself, so the smoothed line sits on top of the trend rather than trailing behind it. The approach is conceptually related to lag-reduction ideas like ZLEMA, but achieved through filter algebra rather than by extrapolating price.

The honest fine print: nothing about the design anticipates turns. Zero lag in the passband means the line tracks slow swings almost coincidentally with price, but at and around the critical period the response is imperfect, and a genuine reversal still takes bars to express itself in any causal filter. In many implementations the line can also wiggle slightly around price during transitions, since the subtracted high-pass response is not a perfect separation of noise from signal.

How it's calculated

The filter is computed as the input minus a two-pole high-pass response, which collapses to one recursion:

a1 = exp(-1.414 * pi / P)
b1 = 2 * a1 * cos(1.414 * pi / P)
c2 = b1
c3 = -a1 * a1
c1 = (1 + c2 - c3) / 4
US_t = (1 - c1)*x_t + (2*c1 - c2)*x_(t-1) - (c1 + c3)*x_(t-2) + c2*US_(t-1) + c3*US_(t-2)
P: critical period in bars; wavelengths shorter than P are attenuated (a common default is 20)
a1: decay term derived from the critical period
b1: cosine term derived from the critical period
c1, c2, c3: filter coefficients
x_t: input series at bar t (usually close)
US_t: Ultimate Smoother value at bar t

Seed the first bars by setting the output equal to price until the recursion has two prior values.

This follows Ehlers' published formulation; small constant differences (1.414 versus sqrt(2) precision) exist across implementations.

How traders use it

  • As a trend baseline with near-coincident tracking: price above a rising Ultimate Smoother reads as an uptrend with far less of the late-entry penalty that longer conventional averages impose.
  • As a replacement input elsewhere: running momentum tools or bands off the smoothed series removes short-wavelength noise without shifting every signal later, though it changes indicator statistics and needs re-tuning.
  • In moving-average crossover roles paired with a slower conventional smoother, where its low passband lag makes the fast line more timely; whipsaw in ranges remains, since chop lives exactly in the wavelengths near the cutoff.
  • Its main limitations are regime sensitivity of the period choice and the fact that low lag amplifies the temptation to over-trade minor wiggles; it smooths noise, it does not classify trend versus range.

Ultimate Smoother vs other lag-conscious tools

Ehlers SuperSmoother: The SuperSmoother is Ehlers' earlier workhorse: excellent attenuation but ordinary low-pass lag. The Ultimate Smoother trades a little of that attenuation cleanliness for near-zero delay on the slow components.

ZLEMA: ZLEMA fights lag by feeding a de-lagged (extrapolated) price into an EMA, which can overshoot when momentum flips. The Ultimate Smoother removes lag structurally in the filter response rather than by extrapolating the input.

EMA: An EMA delays every component it passes, more so for smoother settings. The Ultimate Smoother holds its passband essentially undelayed at comparable noise suppression, at the cost of a more complex response near the cutoff.

Concept family

Trend

100 concepts mapped · 100 in the Library

Ultimate Smoother FAQ

Who created the Ultimate Smoother?

John Ehlers, who published it in 2024 as a low-pass filter with zero lag in the passband, built by subtracting a high-pass response from the input.

Does zero lag mean it predicts reversals?

No. It tracks slow swings with essentially no delay, but a reversal is a new development that any causal filter can only reflect after it happens. Turns still appear a few bars late relative to the actual extreme.

What period should I use?

P sets the boundary between noise and signal; around 20 bars is a common starting point. Shorter values track more aggressively and pass more chop, longer values smooth more but push useful swings toward the imperfect region near the cutoff.

Can it replace my moving average everywhere?

Mechanically yes, but rules calibrated to a lagging average (pullback-to-MA entries, crossover spacing) behave differently against a near-coincident line, so backtest the substitution rather than assuming improvement.

Build Ultimate Smoother your way.

Quant writes, tests, and refines it with you — then it runs on LuxAlgo charting or ports to TradingView.