Two-Pole Super Smoother¶
Indicators · Moving Averages
Ehlers two-pole Butterworth super smoother — low-lag noise filter.
The Two-Pole Super Smoother is John Ehlers's answer to a frustrating trade-off: moving averages reject noise only by adding lag. This is a two-pole Butterworth low-pass filter borrowed from signal processing — it strips out the bar-to-bar chop far more cleanly than an EMA of the same responsiveness, with noticeably less delay. One smooth line on the price pane that looks like a much longer average but turns much sooner.
How it works¶
It's a proper IIR filter, not a weighted average. From the Period (default 20) it derives three coefficients from the Butterworth design equations and runs a second-order recursion over the Source (default close):
a1 = exp(−√2·π / Period)
b1 = 2·a1·cos(√2·π / Period)
Filt = c1·(src + src[1])/2 + c2·Filt[1] + c3·Filt[2]
where c2 = b1, c3 = −a1², c1 = 1 − c2 − c3. The two-pole roll-off attenuates cycles shorter than the period hard while passing the slower trend through almost untouched — that's why it reads so smooth yet lags so little. We use the exact √2 Butterworth constant; the first two bars seed to price, so there's no warm-up gap. The line plots on the price pane in your Line color.
When to use it¶
Use it as a low-lag trend or bias line — anywhere an EMA feels too noisy but a longer EMA lags too much. It's the smoothing stage Ehlers recommends before almost any other calculation: smooth first with a Super Smoother, then take your slope, crossover, or oscillator off the clean line instead of raw price. It pairs naturally with the rest of the regime/quant family here. Like any low-pass filter it isn't predictive — it follows price, just with a much better noise-to-lag balance than a simple average.
Example¶
Two ways to use it. As a bias line: wire bars in, go long while the smoother is rising and price is above it (Crosses Above → Tester → Tester). As a pre-filter: feed bars into the Super Smoother, then wire its output as the Source of another indicator (e.g. an oscillator) so that indicator works on de-noised input — Ehlers's signature move. Compare against an EMA tuned to the same smoothness to see the lag difference.
Tips & gotchas¶
- Smoother and faster than an EMA for equivalent noise rejection — that's the whole point of the two-pole design.
- Great as a pre-smoother. Chain it in front of slope/crossover/oscillator logic to kill the jitter at the source.
- Period sets the cutoff — larger Period passes only slower trends (smoother, a bit more lag); smaller Period lets faster wiggles through.
- Not predictive — it's a filter that follows price. The edge is the noise-vs-lag balance, not foresight.
- The Gaussian/roofing cousins trade a little smoothness for different phase behaviour; this two-pole Butterworth is the workhorse default.
Related blocks¶
Inputs¶
| Socket | Type | What to wire in |
|---|---|---|
| Source | bars / series |
Price bars or any indicator series |
Outputs¶
| Output | Type | Plots as | Description |
|---|---|---|---|
| Smoother | series |
Line | Two-pole super-smoothed price |
Parameters¶
| Parameter | Type | Default | What it does |
|---|---|---|---|
| Period | number · 2–500 | 20 |
Filter cutoff length (larger = smoother) |
| Source | choice (close, open, high, low, hl2, hlc3, ohlc4) |
close |
|
| Line color | colour | #66bb6a |
Reference auto-generated from the block catalog · category Indicators.