Skip to content

Two-Pole Super Smoother

Indicators · Moving Averages

Two-Pole Super Smoother node on the canvas

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-Pole Super Smoother on the EURUSD H1 chart

Two-Pole Super Smoother on EURUSD · H1

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 AboveTesterTester). 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.

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.