The Supersmooth Filter is a two-pole recursive lowpass filter. Each new value is a weighted blend of this bar's price and the filter's own two previous values. The weights come from the length setting: with arg = sqrt(2) * pi / length, the filter uses c2 = 2 * exp(-arg) * cos(arg), c3 = -exp(-2 * arg) and c1 = 1 - c2 - c3, and computes SSF = c1 * price + c2 * SSF[1] + c3 * SSF[2].
Because the three weights add up to one, a flat price passes through unchanged. Before the filter has two values of its own it reads the price in their place, so the first bar equals the price exactly and the line answers from the first bar.
The length sets the cutoff: cycles shorter than roughly the length are suppressed, and slower movements pass through. The two-pole design cuts short cycles much harder than a single exponential average, which is why the line looks so much smoother for the lag it carries.
How to read Supersmooth Filter (SSF)
Use the SSF as a smooth trend line on the price chart. When it turns up, the slower part of the move has turned up; when it turns down, it has turned down. Price crossing the line, or two SSF lines of different lengths crossing each other, are common ways to time a change in direction.
The filter can overshoot slightly after a sharp move, and like every smoother it still lags. It removes noise; it does not predict the next bar.
Settings
- Source
- The price series the filter smooths, the close by default.
- Length
- The cutoff period in bars. A longer length removes slower swings and makes the line smoother but later to turn.
Frequently asked questions
How is this different from an exponential moving average?
An exponential average has one pole and lets a fair amount of short-term chop through. This filter has two poles, so it suppresses short cycles much more strongly for a similar amount of lag.
Why does the line start on the first bar?
Until the filter has two earlier values of its own, it uses the price in their place. The weights sum to one, so the first value equals the price.
Why does it sometimes run past price after a jump?
A two-pole filter carries a little momentum. After a sudden move it can overshoot by a small amount before it settles.
