# The Range Indicator

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

Plots Jack Weinberg's TRI: each bar's true range over its close-to-close gain on up-closing bars, stochastic-normalized across 10 bars, smoothed by a 3-period EMA and bounded 0 to 100. Dashed thresholds at 80 and 20 separate churn extremes from efficient travel, and four alerts fire as the reading crosses either threshold in either direction.

- Indicator in the LuxAlgo Library, by LuxAlgo, published Jul 27, 2026.
- Access: free.
- Concepts: [The Range Indicator](https://www.luxalgo.com/library/concept/the-range-indicator/) (primary)
- Open on Vela: https://vela.luxalgo.com/chart?pineScriptCodeId=gwp9mhzukxrh7yphxj2gtyub
- Page: https://www.luxalgo.com/library/indicator/the-range-indicator/

**The Range Indicator** measures whether bars are covering ground or just covering range. Each bar's true range is set against its close-to-close progress, the ratio at the heart of [The Range Indicator](https://www.luxalgo.com/library/concept/the-range-indicator/), then normalized stochastic-style over a lookback and smoothed into a 0–100 line with a gradient fill beneath it, a clean first rendering of Weinberg's study. High readings say in-bar churn is swamping the ground gained, the condition he read as a trend-ending warning; low readings say travel is efficient.

## How to Trade The Range Indicator?

- **Cross above the High Threshold**: churn extreme, effort rising while progress stalls; the Churn Extreme alert fires, and Churn Easing marks the cross back down.
- **Cross below the Low Threshold**: efficient travel, progress large relative to in-bar noise, the environment Weinberg's study associated with trending conditions; Efficient Travel and Efficiency Fading alerts bracket the stay.
- **Between the thresholds**: no regime claim. Context for other tools, not a trigger.

## The Range Indicator Settings

- **Normalization Length** (default 10): lookback of the stochastic-style normalization. Longer makes extreme readings rarer and steadier.
- **Smoothing Length** (default 3): EMA applied to the normalized series; shorter is jumpier, longer slower.
- **Degenerate Window Handling** (default Output Zero): value used when the window's highest and lowest raw ratios coincide; Hold Previous Value is the other published convention.
- **Show Thresholds** (default on) with **High Threshold** (default 80) and **Low Threshold** (default 20): the churn and efficiency levels (70 and 30 are also common).
- Style: **Gradient Fill** (default on).

## Frequently Asked Questions

### How is TRI different from the Choppiness Index?

The [Choppiness Index](https://www.luxalgo.com/library/indicator/choppiness-index/) sums true range across a whole window and compares it with the window's total span, a structural trendiness read with no reference to closes. TRI works bar by bar, dividing each bar's range by that bar's close-to-close gain, responding faster and carrying Weinberg's up-close construction.

### Why do up and down bars feed the ratio differently?

The ratio only forms on up-closing bars, where true range divides by the close-to-close gain; flat or down closes contribute the raw true range instead, which keeps the denominator positive; the normalization then puts both branches on one 0–100 scale.

### What is a degenerate window?

One where every raw ratio over the Normalization Length is identical, so the highest and lowest coincide and the formula would divide by zero. The handling input decides whether the build outputs zero or holds the prior reading, the two conventions in circulation.

## Related indicators

- [Hot Zone Radar](https://www.luxalgo.com/library/indicator/hot-zone-radar/) (Volatility Percentile/rank): markdown at https://www.luxalgo.com/library/indicator/hot-zone-radar.md
- [Volatility Signature Plot](https://www.luxalgo.com/library/indicator/volatility-signature-plot/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/volatility-signature-plot.md
- [Jump Detection](https://www.luxalgo.com/library/indicator/jump-detection/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/jump-detection.md
- [Volatility of Volatility](https://www.luxalgo.com/library/indicator/volatility-of-volatility/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/volatility-of-volatility.md
- [Garman-Klass–Yang-Zhang Hybrid](https://www.luxalgo.com/library/indicator/garman-klass-yang-zhang-hybrid/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/garman-klass-yang-zhang-hybrid.md
- [GARCH-family Clustering](https://www.luxalgo.com/library/indicator/garch-family-clustering/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/garch-family-clustering.md
- [Kase Studies](https://www.luxalgo.com/library/indicator/kase-studies/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/kase-studies.md
- [Yang-Zhang Estimator](https://www.luxalgo.com/library/indicator/yang-zhang-estimator/) (Volatility): markdown at https://www.luxalgo.com/library/indicator/yang-zhang-estimator.md

---

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