# True range

> True range is a single bar's real travel: the largest of the day's high-to-low span and the distances from either extreme back to the previous close, so overnight gaps count as movement.

Canonical: https://patternsradar.com/learn/true-range

`true_range` measures how far a stock actually travelled in one session, gaps included. It is the largest of three spans: today's high minus today's low, the distance from today's high back to yesterday's close, and the distance from today's low back to yesterday's close. The plain high-low range misses the overnight move — a stock that gaps down 4% and then trades a tight day did not have a quiet session, and true range says so.

On its own the number is in rupees, so it means little across stocks; the useful form compares it to the stock's own average. Below `0.5x atr(14)` is a narrow-range day — the coil the Narrow range day scan looks for, on the observation that abnormally quiet sessions tend to sit just before abnormally loud ones. Above `2x atr(14)` is a range expansion — the loud day itself, with the close's direction saying which side won it.

Being a single-bar measure is both its point and its limit: one session's true range is one observation, dominated by whatever happened that day, and it says nothing about direction — a huge true range can be a surge, a collapse, or a violent round trip that closed flat. Pair it with `change` or the close's position when direction matters, and with a turnover floor in thin names, where a wide range can mean a handful of trades.

Its sibling ATR is simply Wilder's 14-bar average of this field. True range is the event — today's travel; ATR is the norm — what travel has been typical lately. Nearly every use of one involves the other: the ratio of today's true range to ATR is how a ₹50 stock and a ₹5,000 stock get compared on the same scale.

## In Sift

Written as `true_range — a price amount, per bar; usually compared against atr(14)`. A working scan — A session twice the stock's normal size, resolved in the buyers' favour:

```sift
where true_range > 2x atr(14) and change > 0
```

1 of the 500 most-traded NSE stocks match today, as of 2026-08-21.

## Scans that use it

- [Narrow range day](https://patternsradar.com/screener/narrow-range-day.md): A day's range under half the stock's own ATR — the coil before the spring.
- [Range expansion up](https://patternsradar.com/screener/range-expansion-up.md): A day twice the stock's normal size, resolved in the buyers' favour.

## Common questions

### What is the difference between true range and ATR?

True range is one bar's measurement — the day's real travel including any gap from the previous close. ATR is Wilder's 14-bar smoothed average of that measurement, a stock's normal daily travel. Scans typically compare the two: true range below half of ATR is a compression day, above twice ATR an expansion day.

### Why not just use high minus low?

Because the plain range ignores gaps. A stock that closes at 100, opens at 96 and trades between 95 and 97 shows a high-low range of 2 — but it moved 5 from yesterday's close. True range takes the previous close into account, so overnight moves count as the volatility they are.

### What does a high true range day mean?

That the session travelled far more than usual — stops run, a level surrendered, news absorbed. It says nothing about direction by itself: the same reading fits a surge, a collapse, or a round trip. The close relative to the open, or the day's change, tells you which side absorbed the move.
