All indicators

Ehlers Decycler (DECYCLER)

Removes the cycles shorter than a cutoff period from price, leaving a trend line with very little lag.

BTCUSD1h
Fixed data to Oct 6, 2026, UTC
Loading the chart

The Decycler subtracts a high-pass filter from price. A two-pole high-pass filter keeps only the swings shorter than the cutoff Period and blocks the slower movement. Taking that output away from price leaves the slower part: the trend, with the short cycles removed.

The filter works on the second difference of price, the change in the bar-to-bar change, and feeds back its own previous two values. Its coefficients come from the cutoff period through a cosine and a sine of 0.707 * 2 * pi / Period. The filter is held at zero for the first two bars, and a price before the first bar is read as zero.

How to read Ehlers Decycler (DECYCLER)

Read the Decycler as a trend line that lags far less than a moving average of a similar length. Price above a rising Decycler describes an uptrend and price below a falling one a downtrend, and a change in its slope marks a change in the trend.

The cutoff period sets what counts as noise: a cycle shorter than it is removed, a longer one passes through into the line. A short period leaves a line close to price; a long one gives a smoother line that turns later. Over the first stretch of bars the filter is still settling.

Settings

Period
The cutoff period of the high-pass filter. Swings shorter than this are removed; longer values give a smoother trend line.
Source
The price series that is filtered, the close by default.

Frequently asked questions

Why does it lag less than a moving average?

Instead of averaging a window of bars, it subtracts a high-pass filter from price. Only the swings shorter than the cutoff are removed, so the slower movement of price passes through almost unchanged.

What does the period mean here?

It is the cycle length in bars at which the filter starts to remove movement. Shorter cycles are taken out, longer ones remain in the line.

Write your own in OpenScript

Every study here is plain OpenScript. Change a setting, combine two, or turn one into a strategy, then backtest it in /trading and run it in sandbox trading (analyzer mode in OpenAlgo) before going further.