Poles
Instead of listing weights, place the poles of a recursion and let it run. One pole is the exponential average everybody already uses; two is the filter Ehlers spent a career recommending instead of it.
Build one
Lag, noise gain, peak gain and leak are defined on the comparison page — the tool sits above the article deliberately, so the numbers arrive before the prose that explains them.
How it works
A recursion feeds its own previous outputs back in, so each value carries a little of every bar that came before it. That is what makes it cheap: one pole costs one multiply and one add per bar however long its memory is, where the equivalent window would need hundreds of taps.
The order is how many previous outputs it uses. One pole rolls off gently. Two roll off twice as fast, three three times. The cutoff period says where the rolloff starts; it is not a lookback, and a two-pole filter with a cutoff of 24 bars is not looking at 24 bars in any sense.
What it costs
Steeper costs later. The extra poles that sharpen the transition also add phase delay, and the arithmetic is unforgiving: you get the rejection and you pay for it in bars.
The second cost is subtler and is why this family needs its own warning. A recursion never entirely forgets. Its impulse response decays but never reaches zero, so the value at any bar depends, faintly, on every bar before it — including the ones your chart has not loaded.
What our measurements say
One pole against two, at the same cutoff:
| Filter | Lag | Noise | Peak | Leak | vs an EMA of the same lag |
|---|---|---|---|---|---|
| EMA | 11.50 | 0.0417 | 1.000 | 0.05887 | leak 1.00× · noise 1.00× |
| Ehlers SuperSmoother | 4.93 | 0.0920 | 1.000 | 0.02421 | leak 0.187× · noise 1.00× |
Within this family Ehlers SuperSmoother takes both columns — the shortest lag here at 4.93 bars and the least leak at 0.02421. Within one construction that is common; across the table it is not, which is what the comparison is for. Leak is measured over periods of 4.0 bars and shorter, the same band as every other page in this section, so the rows can be read against the full table. The table happens to contain one pair that isolates this: EMA and SMA sit 11.50 and 11.50 bars behind price, near enough to the same place to compare directly, and at that shared delay SMA leaks 0.942 times what EMA does for 1.00 times the noise gain.
Two charts, two answers
Because the memory is infinite, the same recursion on the same instrument gives slightly different values depending on how much history was loaded before the visible window. The difference is small and decays, and it is not repainting: a closed bar's value never changes once drawn. But two people comparing screenshots of the same indicator can legitimately see two different lines.
The windowed and least-squares families do not have this property. Their output at a bar depends on exactly N bars and nothing else.
The other constructions
- Windows — Choose a shape, normalise it, and the shape is the filter.
- Cascades — Build something smooth and late, then subtract a deeper copy of it to cancel the lateness.
- Laguerre — One exponential average, then all-pass sections that only delay, recombined.
- Least squares — State the response you want, including the delay, and solve for it.
- Adaptive — Re-estimate the period every bar. The one construction with no fixed response, which is why it is absent from the table above.
- All of them on one ruler — the comparison this page is part of.