Concept

Elegant Oscillator

Elegant Oscillator is a Momentum & Oscillators concept. The Library holds 1 implementation — a working definition you can pull into Quant.

Top Elegant Oscillator indicator

The top custom implementation, built on the original standard Elegant Oscillator formula.

1 total

What is the Elegant Oscillator?

The Elegant Oscillator is a momentum indicator by John Ehlers that combines three of his signature techniques into one bounded line: a simple price derivative, root-mean-square normalization, and the inverse Fisher transform, finished with his SuperSmoother filter. The result oscillates between -1 and +1, spends most of its time near the extremes or crossing between them, and is largely free of the jitter that plagues raw momentum lines.

The design addresses two chronic oscillator problems at once. First, raw momentum has no natural scale, so thresholds must be re-tuned per market; dividing the derivative by its own RMS puts every market on a comparable footing. Second, normalized momentum spends too much time in an ambiguous middle zone; the inverse Fisher transform's S-shaped compression pushes readings toward the rails, converting mush into something closer to a binary state signal.

Traders reach for it when they want a smoothed, self-scaling momentum state indicator rather than a precise magnitude reading. Like most Ehlers designs, it prioritizes noise rejection and statistical normalization over raw speed.

How it's calculated

A two-bar price derivative is RMS-normalized, compressed with the inverse Fisher transform, and smoothed.

D_t = close_t - close_(t-2)
RMS_t = sqrt(average of D^2 over the last n bars)
ND_t = D_t / RMS_t
IF_t = (exp(2 * ND_t) - 1) / (exp(2 * ND_t) + 1)
EO_t = SuperSmoother(IF, p)
t: current bar index
close_t: close at bar t; close_(t-2): close two bars earlier
D_t: two-bar momentum (the derivative term)
n: RMS normalization window (commonly around 50 bars)
RMS_t: root mean square of the derivative over the window
ND_t: normalized derivative, roughly unit-scaled
IF_t: inverse Fisher transform of ND_t, bounded between -1 and +1
SuperSmoother(x, p): Ehlers' two-pole low-lag smoothing filter with critical period p
EO_t: Elegant Oscillator value at bar t

Implementations differ in the derivative span, the RMS window, and the SuperSmoother period; the derivative-normalize-compress-smooth pipeline is the defining structure.

The output is bounded by the transform, not by a stochastic-style lookback, so it does not pin at the rails merely because price made a new n-bar extreme.

How traders use it

  • As a momentum state gauge: readings near +1 mark established upside momentum and readings near -1 the downside, with the steep transitions through zero serving as the actionable events rather than the extreme values themselves.
  • For zero-line crossing signals: because the transform compresses hesitation and the SuperSmoother removes most one-bar noise, zero crossings are less frequent and cleaner than on raw momentum, at the cost of some lag on each turn.
  • As a divergence and exhaustion aid: a price push to new extremes with the oscillator failing to return to its rail suggests the underlying normalized momentum is fading.
  • Its limitations follow from its strengths: the smoothing and compression that produce clean signals also delay them, and the flattening near the rails hides magnitude information, so it indicates the sign and persistence of momentum better than its strength.

Elegant Oscillator vs related transforms and filters

Inverse Fisher Transform: The inverse Fisher transform is a general compression function applied to many oscillators. The Elegant Oscillator is a specific recipe that feeds it an RMS-normalized price derivative and smooths the output, so it is one packaged application of the transform.

Fisher Transform: The Fisher transform expands normalized prices toward a Gaussian shape to sharpen turning points, the opposite operation to the inverse transform's compression. Fisher output is unbounded and spiky at extremes; the Elegant Oscillator is bounded and saturates at them.

Ehlers SuperSmoother: The SuperSmoother is a general-purpose low-lag filter, one component inside this indicator. On its own it smooths any series; here it is the final stage that removes residual noise from the transformed momentum line.

Concept family

Momentum & Oscillators

91 concepts mapped · 91 in the Library

Elegant Oscillator FAQ

What do the +1 and -1 bounds mean?

They are asymptotes of the inverse Fisher transform, not lookback-based extremes. Readings near a rail mean normalized momentum is strongly one-sided, and the flattening there deliberately discards how far beyond strong it is.

Is the Elegant Oscillator an overbought/oversold indicator?

Not in the mean-reversion sense. Time spent at a rail reflects persistent momentum and often accompanies trends, so most users trade the transitions between rails rather than fading the extremes.

How much lag does it have?

The two-bar derivative is fast, but the RMS normalization and SuperSmoother each add delay, so turns register a few bars after raw momentum flips. That trade of lag for noise rejection is the point of the design.

Does it work on all markets and timeframes?

The RMS normalization makes readings comparable across instruments, which is one of its advantages. Very short intraday charts push more noise through the fixed windows, so parameters often need lengthening there.

Build Elegant Oscillator your way.

Quant writes, tests, and refines it with you — then it runs on LuxAlgo charting or ports to TradingView.