# Decycler

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

Decycler plots John Ehlers' simple decycler (price minus its high-pass-filtered cycle content) as a trend-colored baseline directly on the price chart, alongside a decycler oscillator built from 30- and 60-bar cutoffs in its own pane. Zero-line and signal-band crossings act as trend-change triggers, with six alerts covering baseline and oscillator events.

- Indicator in the LuxAlgo Library, by LuxAlgo, published Mar 19, 2026.
- Access: free.
- Concepts: [Decycler](https://www.luxalgo.com/library/concept/decycler/) (primary)
- Open on Vela: https://vela.luxalgo.com/chart?pineScriptCodeId=xhy0pb2uxyxlfwu8pzbzdonv
- Page: https://www.luxalgo.com/library/indicator/decycler/

**Decycler** is the first faithful Library rendition of the Ehlers [decycler](https://www.luxalgo.com/library/concept/decycler/): cycle components shorter than the cutoff are removed from price by subtraction, leaving trend and longer swings with very little delay. The baseline draws directly on the price chart, colored by trend state: bullish while price holds above a rising line, bearish below a falling one, neutral otherwise. The pane holds the Decycler Oscillator (the fast decycler minus the slow one, expressed by default as a percentage of price) with a gradient fill around zero and a symmetric signal band.

## How to Trade the Decycler?

- **Price above a rising decycler**: uptrend conditions established, and the baseline doubles as moving support; the mirrored read defines downtrends.
- **Oscillator zero cross**: the fast decycler overtaking or losing the slow one is the basic trend-change trigger.
- **Signal band cross**: clearing the ±0.5 band demands more displacement than the zero cross and filters marginal flips.

Because the filter discards cycle-period swings by design, it shines in trends and is deliberately unhelpful for timing rotations inside a range. Hand that job to a range tool when the baseline flattens.

## Decycler Settings

- **Source** (default close): series the filter runs on.
- **Cutoff Period** (default 60): high-pass cutoff in bars for the baseline.
- **Show Decycler On Price Chart** (default on): the trend baseline overlay.
- **Fast Cutoff** (default 30) and **Slow Cutoff** (default 60): the oscillator's two decyclers; keep the slow one larger.
- **As Percentage Of Price** (default on): scale-free oscillator units, comparable across symbols.
- **Signal Band Level** (default 0.5): half-width of the symmetric band; 0 disables the band alerts.
- **Show Trend Change Markers** (default off): circles at zero crossings; alerts work either way.
- Bullish, bearish, neutral, and band colors.

## Frequently Asked Questions

### How does it compare with the Ehlers Instantaneous Trendline?

Both chase trend without lag through different filter designs. The [Ehlers Instantaneous Trendline](https://www.luxalgo.com/library/indicator/ehlers-instantaneous-trendline/) arrives at its line by another construction, while the decycler removes the high-pass output from price directly. Run both and compare turn timing on your market.

### What cutoff should I pick?

Ehlers' own examples commonly use 60 bars or more. A shorter cutoff keeps more mid-length swings in the baseline and turns earlier but noisier; longer smooths deeper at the cost of response.

### Why show the oscillator as a percentage of price?

So its values (and the 0.5 signal band) mean the same thing on any symbol or timeframe. Switch it off for absolute price units, then re-tune the Signal Band Level.

## Related indicators

- [Adaptive Momentum Oscillator](https://www.luxalgo.com/library/indicator/adaptive-momentum-oscillator/) (Adaptive-parameter Technique): markdown at https://www.luxalgo.com/library/indicator/adaptive-momentum-oscillator.md
- [Adaptive Harmonic Forecast](https://www.luxalgo.com/library/indicator/adaptive-harmonic-forecast/) (Dominant Cycle Measurement): markdown at https://www.luxalgo.com/library/indicator/adaptive-harmonic-forecast.md
- [Correlated Sine Oscillator](https://www.luxalgo.com/library/indicator/correlated-sine-oscillator/) (Sinewave Indicator): markdown at https://www.luxalgo.com/library/indicator/correlated-sine-oscillator.md
- [Swiss Army Knife Filter](https://www.luxalgo.com/library/indicator/swiss-army-knife-filter/) (Ehlers Bandpass Filter): markdown at https://www.luxalgo.com/library/indicator/swiss-army-knife-filter.md
- [Variable Sine Wave Fit](https://www.luxalgo.com/library/indicator/variable-sine-wave-fit/) (Dominant Cycle Measurement): markdown at https://www.luxalgo.com/library/indicator/variable-sine-wave-fit.md
- [Normalized Resonator](https://www.luxalgo.com/library/indicator/normalized-resonator/) (Dominant Cycle Measurement): markdown at https://www.luxalgo.com/library/indicator/normalized-resonator.md
- [Roofing Filter](https://www.luxalgo.com/library/indicator/roofing-filter/) (Statistics): markdown at https://www.luxalgo.com/library/indicator/roofing-filter.md
- [Even-better Sinewave](https://www.luxalgo.com/library/indicator/even-better-sinewave/) (Statistics): markdown at https://www.luxalgo.com/library/indicator/even-better-sinewave.md

---

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