Concept
Ehlers SuperSmoother
Ehlers SuperSmoother, also known as 2-pole/3-pole smoothers, is a Trend concept. The Library holds 8 implementations, each one a working definition you can pull into Quant.
Top Ehlers SuperSmoother indicators
8 total
What is the Ehlers SuperSmoother?
The SuperSmoother is a two-pole low-pass filter John Ehlers adapted from Butterworth filter design for market data. Like any smoother it keeps the slow components of price and rejects the fast ones, but it is specified in frequency terms: you choose a cutoff period (10 bars is a common default in Ehlers' work), and fluctuations with shorter wavelengths are strongly attenuated rather than merely dampened. Each output blends the average of the current and prior price with feedback from the previous two outputs, using three coefficients derived from exponential and cosine functions of the cutoff period.
Ehlers' case for it over a conventional EMA or SMA is attenuation per unit of lag: one recursive pole rolls off noise gently, two poles cut it much more sharply for similar delay, and averaging the two most recent prices at the input suppresses the shortest, alias-prone wavelengths sampled data can carry. A three-pole variant smooths harder for a little more lag. It appears standalone as a low-lag trend line and, at least as often, as the smoothing stage inside other studies.
How to calculate the Ehlers SuperSmoother
The published two-pole recipe, stated in words:
- 1Pick a cutoff period P in bars; cycles shorter than P are what the filter is designed to reject.
- 2Compute the coefficients from P: a decay term a1 = e^(-√2·π/P), a second term b1 = 2 × a1 × cos(√2·π/P), then c2 = b1, c3 = -a1², and c1 = 1 - c2 - c3 so the coefficients sum to one.
- 3Filter recursively: output = c1 × (price + previous price)/2 + c2 × previous output + c3 × output two bars back, seeding the first values with price.
- 4Read it like a smooth moving average; it is causal, so plotted values do not change after they print.
How traders use it
- As a drop-in replacement for the smoothing inside oscillators: running an RSI or stochastic input (or output) through a SuperSmoother trims jitter with less added lag than lengthening a simple average.
- As the low-pass half of Ehlers' roofing filter, where a high-pass stage removes long-period drift and the SuperSmoother removes short-period noise, leaving a band of tradable cycle content.
- As a low-lag trend line in its own right: slope and price crossings read exactly like a moving average, which is how it shows up in smoothed-trend overlays.
- As preprocessing before measurement: smoothing a series before dominant cycle measurement or other estimators reduces the aliasing noise Ehlers argues contaminates raw bar data.
SuperSmoother vs other smoothing filters
EMA: A single-pole recursion with a gentle roll-off, so short-wavelength noise leaks through. The SuperSmoother's two poles cut that noise far more sharply for comparable lag.
Gaussian Filter: Another Ehlers-documented multi-pole low-pass, built by cascading poles toward a bell-shaped response. Comparable intent; the pole placement differs, and the Gaussian is usually offered at selectable pole counts.
Laguerre Filter: Achieves heavy smoothing from very few terms by warping time with a damping factor instead of adding poles. A different architecture aimed at the same lag-versus-smoothness problem.
More Ehlers SuperSmoother implementations
Related concepts · Digital filters & smoothers
Concept family
Trend
100 concepts mapped · 88 in the Library
Ehlers SuperSmoother FAQ
What does the SuperSmoother's cutoff period mean?
It is the wavelength boundary, in bars, between what the filter passes and what it rejects. Price swings that take longer than the cutoff to complete come through largely intact; faster wiggles are heavily attenuated. Ehlers frequently uses 10 bars, but the setting simply declares which fluctuations count as noise, so it should match the shortest swing you care about.
Does the Ehlers SuperSmoother repaint?
No. It is a causal recursive filter: each value is computed from current and past prices plus the two prior filter outputs, with no future data and no refitting of history. Once a bar's value prints it is final. The trade-off for that honesty is ordinary filter lag, which the two-pole design keeps small but cannot remove.
What is the difference between the 2-pole and 3-pole SuperSmoother?
The pole count sets how steeply frequencies above the cutoff are attenuated. The three-pole version rejects noise more aggressively and produces a visibly smoother line, at the price of additional lag; the two-pole version is the common default because its lag-to-smoothness balance suits most chart work. Same design, one notch apart on the same trade-off.
Build Ehlers SuperSmoother your way.
Quant writes, tests, and refines it with you — then it runs on LuxAlgo charting or ports to TradingView.


