All indicators

Ehlers Sine Wave (SINE)

The phase of the detrended price cycle as a wave between -1 and +1, from the in-phase value over its length with a quadrature partner.

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

The Sine Wave reports where price sits inside its current cycle. First a high-pass filter removes cycles longer than the High-Pass Filter Length. A two-pole super smoother, set by the Super-Smoother Filter Length, then cleans the two-bar average of that output, leaving the cycle.

A four-tap Hilbert transform of the smoothed cycle, built from its values one, three, five and seven bars back, gives a quadrature component that runs a quarter cycle apart from it. The study divides the smoothed cycle by the length of the pair, the square root of the sum of both squared, and holds the result to the range -1 to +1. That ratio is the sine of the cycle's phase, so the line traces a wave whatever the size of the move.

How to read Ehlers Sine Wave (SINE)

Near +1 the cycle is at its crest and near -1 it is at its trough, with zero crossings marking the midpoints. In a market that is cycling the line swings smoothly between the extremes, and turns away from them come close to swing highs and lows.

When the market trends, the phase stalls and the line can sit near one extreme or flip abruptly. Treat a line that stops swinging as a sign that there is no clean cycle to trade, rather than as an overbought or oversold reading.

Settings

Source
The price series the wave is computed from. The default is the close.
High-Pass Filter Length
Detrending period: cycles longer than this many bars are removed. A larger value keeps slower swings.
Super-Smoother Filter Length
The smoothing applied after detrending. A larger value gives a smoother wave that turns later.

Frequently asked questions

Why does the line jump from one extreme to the other?

The value is a phase, not a price. When the quadrature component crosses zero while the in-phase value is small, the phase moves quickly and the line can swing across the pane in a bar or two.

How is this different from the Even Better Sinewave?

This study normalises against a Hilbert quadrature partner, so it measures phase. The Even Better Sinewave normalises against the wave's own recent power, so it measures amplitude relative to its recent size.

What happens at a high-pass length of 4?

At that length the filter coefficient is zero over zero. The study uses the limit, which is 0, so the filter still works.

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.