# Donchian Width

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

Plots the span between Donchian channel extremes (the 20-bar highest high minus lowest low, normalized to the channel midline by default) with an optional 55-bar slow width. Percentile ranking over the last 100 bars flags compression at the 20th percentile and stretched extremes at the 80th, giving breakout traders a screenable volatility regime read.

- Indicator in the LuxAlgo Library, by LuxAlgo, published May 31, 2026.
- Access: free.
- Concepts: [Donchian Width](https://www.luxalgo.com/library/concept/donchian-width/) (primary)
- Open on Vela: https://vela.luxalgo.com/chart?pineScriptCodeId=wulcwvbxq8t24iyrxx2y3tes
- Page: https://www.luxalgo.com/library/indicator/donchian-width/

**Donchian Width** plots the vertical span of a Donchian channel (the window's highest high minus its lowest low) as a volatility series, normalized to the channel midline by default so readings line up across markets and time. This implementation of [Donchian width](https://www.luxalgo.com/library/concept/donchian-width/) ranks the fast width against its own last 100 bars, shades the pane when that rank falls into compression or stretches into extreme territory, and overlays an optional slow width for a two-speed view.

## How to Trade the Donchian Width?

- **Compression highlight**: width at or below the 20th percentile of its recent history, a narrow tape worth screening for, even though it schedules nothing.
- **Confirmed Expansion Up / Down**: width turning higher while price takes out a channel extreme, expansion with direction attached.
- **Extreme width**: a rank at or above the 80th percentile marks late, stretched trend context with worse initial risk for fresh breakouts.
- **Fast against slow**: the 20-bar width reads tactically while the 55-bar campaign width says whether the larger structure is opening up, a pairing echoed across the [volatility family](https://www.luxalgo.com/library/family/volatility/).

Width moves in steps: it jumps when a fresh extreme prints and decays as an old one ages out, so plateaus are normal.

## Donchian Width Settings

- **Fast Length** (default 20): lookback of the fast channel.
- **Slow Width** (default enabled, 55-bar lookback): the optional campaign-window span.
- **Normalization** (default Channel Midline (%)): raw price units, percent of the midline, or percent of the close.
- **Percentile Lookback** (default 100): past bars the current width is ranked against.
- **Compression Percentile** (default 20) and **Extreme Width Percentile** (default 80): the rank thresholds defining the two regimes.
- **Compression Highlight** (default enabled) and **Extreme Width Highlight** (default disabled) shade the pane background.

## Frequently Asked Questions

### How does this differ from Bollinger Bandwidth?

[Bollinger Bandwidth](https://www.luxalgo.com/library/indicator/bandwidth/) measures dispersion around a moving mean, so it relaxes as soon as prices cluster; Donchian width can only contract when an old extreme leaves the window: traveled span rather than statistical spread.

### Why does the reading stay high long after the move ended?

One climactic bar holds the width up for exactly the window length, dropping only when that extreme ages out. Treat late plateaus as memory of the move, not evidence it is continuing.

### Which normalization should I pick?

Channel Midline (%), the default, expresses the span relative to the price level and travels across instruments; Close (%) behaves almost identically. Raw price units suit a single instrument.

## Related indicators

- [Nadaraya-Watson Envelope](https://www.luxalgo.com/library/indicator/nadaraya-watson-envelope/) (Envelope): markdown at https://www.luxalgo.com/library/indicator/nadaraya-watson-envelope.md
- [TTM Squeeze](https://www.luxalgo.com/library/indicator/ttm-squeeze/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/ttm-squeeze.md
- [Fibonacci Bollinger Bands](https://www.luxalgo.com/library/indicator/fibonacci-bollinger-bands/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/fibonacci-bollinger-bands.md
- [Double Bollinger Zones](https://www.luxalgo.com/library/indicator/double-bollinger-zones/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/double-bollinger-zones.md
- [Proximal Range Filter](https://www.luxalgo.com/library/indicator/proximal-range-filter/) (Envelope): markdown at https://www.luxalgo.com/library/indicator/proximal-range-filter.md
- [Bollinger Squeeze](https://www.luxalgo.com/library/indicator/bollinger-squeeze/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/bollinger-squeeze.md
- [Bollinger Bands Breakout Oscillator](https://www.luxalgo.com/library/indicator/bollinger-bands-breakout-oscillator/) (Bollinger Bands): markdown at https://www.luxalgo.com/library/indicator/bollinger-bands-breakout-oscillator.md
- [Donchian MA Bands](https://www.luxalgo.com/library/indicator/donchian-ma-bands/) (Donchian Channels): markdown at https://www.luxalgo.com/library/indicator/donchian-ma-bands.md

---

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