# Elegant Oscillator

Elegant Oscillator is an indicator on [Vela](https://vela.luxalgo.com/chart), our next-generation charting platform, written in Pine Script®.

Plots John Ehlers' Elegant Oscillator: a 2-bar price derivative normalized by its 50-bar root mean square, compressed by the inverse Fisher transform and finished with a 20-period SuperSmoother, bounded between -1 and +1. Dashed rails at 0.9 mark one-sided momentum, and eight alerts cover zero crosses, rail reaches and fades, and exhaustion events.

- Indicator in the LuxAlgo Library, by LuxAlgo, published May 9, 2026.
- Access: free.
- Concepts: [Elegant Oscillator](https://www.luxalgo.com/library/concept/elegant-oscillator/) (primary)
- Open on Vela: https://vela.luxalgo.com/chart?pineScriptCodeId=vs80eijfdfkc00375kypiyda
- Page: https://www.luxalgo.com/library/indicator/elegant-oscillator/

**Elegant Oscillator** turns raw momentum into a smooth line that lives between -1 and +1, bringing the published [Elegant Oscillator](https://www.luxalgo.com/library/concept/elegant-oscillator/) recipe to the library in full. A short price derivative is divided by its own root mean square so every market lands on a comparable scale, the inverse Fisher transform squeezes the result toward the rails, and a final SuperSmoother pass removes what jitter remains. The line is colored by its side of zero, with an optional glow that flares near the bounds.

## How to Trade the Elegant Oscillator?

- **Zero cross**: the smoothed momentum changing sides, alerted in both directions, with optional circle markers.
- **Rail reach and fade**: a push beyond the 0.9 rail marks established one-sided momentum; the fade back through it marks that state ending. All four transitions carry alerts.
- **Exhaustion**: price prints a fresh extreme of the lookback while the oscillator, having reached the matching rail earlier, fails to return to it, with diamonds and alerts on both sides.

## Elegant Oscillator Settings

- **Source** (default close): series fed to the momentum derivative.
- **Derivative Span** (default 2): bars spanned by the price derivative.
- **RMS Window** (default 50): bars in the root-mean-square average that normalizes the derivative.
- **SuperSmoother Period** (default 20): critical period of the final smoothing. Longer is cleaner but laggier.
- **Rail Proximity Level** (default 0.9): absolute reading treated as being at a rail; anchors the rail and exhaustion events.
- **Exhaustion Price Lookback** (default 50): window used to flag fresh price extremes.
- Style: **Rail Glow** (on), **Zero Cross Markers** and **Exhaustion Markers** (off). The alerts fire either way.

## Frequently Asked Questions

### How does this relate to the Inverse Fisher Transform?

The [Inverse Fisher Transform](https://www.luxalgo.com/library/indicator/inverse-fisher-transform/) applies the same compression to an oscillator you choose. Here it is one stage of a fixed recipe (derivative, RMS normalization, transform, SuperSmoother), so the input is always unit-scaled momentum and the output arrives pre-smoothed.

### Why does the line spend so long near +1 or -1?

By design: the transform pushes normalized readings toward its asymptotes, so persistent momentum saturates at a rail instead of drifting off-scale. That is what makes the rail-fade events readable as momentum releasing.

### What does an exhaustion event mean?

A fresh price extreme with the oscillator stuck short of its rail: effort without matching momentum. It warns that one-sided pressure is thinning. The zero cross remains the side change.

## Related indicators

- [Internal Candle Strength](https://www.luxalgo.com/library/indicator/internal-candle-strength/) (Balance of Power): markdown at https://www.luxalgo.com/library/indicator/internal-candle-strength.md
- [Pretty Good Oscillator](https://www.luxalgo.com/library/indicator/pretty-good-oscillator/) (Momentum & Oscillators): markdown at https://www.luxalgo.com/library/indicator/pretty-good-oscillator.md
- [Gator Oscillator](https://www.luxalgo.com/library/indicator/gator-oscillator/) (Momentum & Oscillators): markdown at https://www.luxalgo.com/library/indicator/gator-oscillator.md
- [Wave Trend Oscillator](https://www.luxalgo.com/library/indicator/wave-trend-oscillator/) (Momentum & Oscillators): markdown at https://www.luxalgo.com/library/indicator/wave-trend-oscillator.md
- [Traders Dynamic Index](https://www.luxalgo.com/library/indicator/traders-dynamic-index/) (Momentum & Oscillators): markdown at https://www.luxalgo.com/library/indicator/traders-dynamic-index.md
- [Center of Gravity](https://www.luxalgo.com/library/indicator/center-of-gravity/) (Momentum & Oscillators): markdown at https://www.luxalgo.com/library/indicator/center-of-gravity.md
- [QQE Weighted Oscillator](https://www.luxalgo.com/library/indicator/qqe-weighted-oscillator/) (QQE): markdown at https://www.luxalgo.com/library/indicator/qqe-weighted-oscillator.md
- [5/35 Oscillator](https://www.luxalgo.com/library/indicator/5-35-oscillator/) (Momentum & Oscillators): markdown at https://www.luxalgo.com/library/indicator/5-35-oscillator.md

---

Source: https://www.luxalgo.com/library/indicator/elegant-oscillator/ (LuxAlgo Library). Free to use with attribution: https://www.luxalgo.com/library/license/
