# Average Daily Range

Also known as: ADR, average day range, daily range.
A Volatility concept (ATR family) in the LuxAlgo Library, with 1 indicator implementation.

## What is the Average Daily Range (ADR)?

The average daily range (ADR) is the mean distance between each day's high and low over a lookback of recent sessions, a direct answer to how far a market usually travels in a day. It is computed from completed daily bars, typically the last 5 to 20, and quoted in price units (points, pips, dollars) or as ADR%, the same average as a percentage of price, which puts a 20-dollar stock and a 2,000-dollar index on one scale.

The construction is deliberately plainer than [ATR](https://www.luxalgo.com/library/concept/atr/). Wilder's true range stretches each bar back to the prior close so overnight gaps count, and his smoothing weights the past exponentially; ADR keeps only the high-to-low span and usually a simple average. That makes ADR the purer measure of travel within the session: on a stock that gaps 3 percent and then trades a narrow day, ATR records the gap while ADR records the narrow day. On markets that trade around the clock, such as crypto and most of the forex week, gaps are rare and the two readings converge.

Its main use is projection. Because the average describes a typical day, traders lay it onto the current session as an expected-range map, either symmetrically (half the ADR above and below the open) or from whichever extreme has already printed (today's low plus the ADR as a provisional ceiling, today's high minus the ADR as a provisional floor). LuxAlgo's Average Daily Range indicator works the symmetric way, projecting half of a 14-day ADR above and below the daily open and reporting the day's range so far as a percentage of it.

The honest framing is statistical, not structural. ADR levels are not support or resistance in any order-flow sense; they mark where an average day would have ended, and real days are not average. Trend days can cover two or three times the norm, and volatility clusters, so an average built from quiet weeks understates the first violent day that follows them. ADR is best used as a sense of proportion: whether a target is ordinary or ambitious, and whether a stop sits inside normal daily noise.

## How to calculate and project ADR

The average uses completed daily bars; the projection is then drawn on whatever intraday timeframe you trade.

1. For each of the last n completed days, subtract the low from the high. Common lookbacks are 5, 10, 14 and 20 days: shorter windows track the current regime, longer ones give a steadier baseline.
2. Average the ranges. A simple mean is the usual choice; exponential or Wilder smoothing also works but prints a different number, so stay consistent.
3. For ADR%, divide the ADR by price (today's open or the prior close) and multiply by 100. A widely shared screening version instead averages each day's high-to-low ratio, 100 × (average of high ÷ low − 1); the two forms read close to, but not exactly, the same.
4. Project it onto today: the open plus and minus half the ADR gives a symmetric band; once the session has a low and a high, low plus ADR and high minus ADR give the dynamic version, which tightens as the day develops.
5. Track completion: today's high minus low, divided by the ADR. Readings past 100 percent mean the day is already wider than average, which describes the day rather than calling a reversal.

## How it's calculated

The average high-to-low span of completed daily bars, its percentage form, and the two common ways of projecting it onto the current session.

```
R_d = H_d - L_d
ADR_t = (1/n) × Σ R_(t-k), summed over k = 1 to n
ADR%_t = 100 × ADR_t / O_t
Symmetric levels: O_t + ADR_t / 2 and O_t - ADR_t / 2
Dynamic levels: L_t + ADR_t (ceiling) and H_t - ADR_t (floor)
Completion_t = 100 × (H_t - L_t) / ADR_t

  d: any daily bar
  H_d, L_d: high and low of day d (for the current day t, the high and low printed so far)
  R_d: range of day d, high minus low
  t: the current, still-forming day; t-k is the day k sessions earlier
  k: summation index over completed days
  n: lookback in days (commonly 5 to 20; LuxAlgo's build defaults to 14)
  O_t: today's open
  ADR_t: average daily range applied to day t, in price units
  ADR%_t: ADR as a percentage of today's open
  Completion_t: today's range so far as a percentage of the ADR
```

Only completed days enter the average, so today's projection is fixed at the open and does not drift during the session.

Unlike ATR, the ADR ignores the prior close: overnight gaps do not count toward the range.

The daily bar boundary matters on 24-hour markets (forex commonly rolls at 5 p.m. New York, crypto at midnight UTC on many venues), and a different cutoff produces different ranges.

## How traders use it

- As a target sanity check: a day-trade target that needs price to travel 150 percent of the ADR from the open is asking for an unusual session, while one inside the band asks for an ordinary day.
- As a stop-distance floor: a stop placed at a small fraction of the ADR sits inside routine daily travel and tends to be hit by noise, so intraday traders size stops against the ADR much as swing traders size them against [ATR](https://www.luxalgo.com/library/concept/atr/).
- As an exhaustion filter: once a session has covered its full ADR, some traders stop chasing and watch the projected extreme for rejection. Trend days run straight through such levels, so the fade is usually conditioned on structure rather than taken at the line.
- As a screen: ADR% ranks a watchlist by how much each name moves; momentum stock traders, with Kristjan Kullamägi (Qullamaggie) the name most associated with it, use it to keep only stocks volatile enough to reward a breakout trade.
- As a regime gauge: a 5-day ADR well below the 20-day reading flags [range contraction](https://www.luxalgo.com/library/concept/range-expansion-contraction/), the coiled condition that [NR4/NR7 bars](https://www.luxalgo.com/library/concept/nr4-nr7-narrow-range-bars/) mark at the single-day scale and that a [volatility breakout](https://www.luxalgo.com/library/concept/volatility-breakout/) rule is built to catch as it releases.

## Average Daily Range vs related measures

- **ATR** (https://www.luxalgo.com/library/concept/atr/): ATR averages true range, which reaches back to the prior close and so counts gaps, smoothed with Wilder's RMA. ADR averages the plain high-to-low span. ATR is the better stop unit for positions held overnight; ADR is the cleaner measure of travel within the session.
- **Range Expansion/contraction** (https://www.luxalgo.com/library/concept/range-expansion-contraction/): Range expansion and contraction is the regime phenomenon, the alternation between narrow and wide bars. ADR is one of its simplest yardsticks: today's range divided by the average is exactly the ratio expansion studies flag.
- **Pivot Points** (https://www.luxalgo.com/library/concept/pivot-points/): Pivot points derive the day's map from yesterday's high, low and close through fixed formulas. ADR projections lay an average of many days' ranges onto today's open or extremes, so they measure typical travel rather than yesterday's specific structure.
- **Opening Range & ORB** (https://www.luxalgo.com/library/concept/opening-range-and-orb/): The opening range is measured live from the session's first minutes. The ADR exists before the open and describes the whole day's typical span; traders often check how much of it the opening range has already used.

## FAQ

### What is the difference between ADR and ATR?

ADR averages each day's high minus low; ATR averages true range, which extends to the prior close when price gaps, and usually applies Wilder's smoothing. On gap-prone stocks ATR reads higher than ADR; on 24-hour markets the two are close.

### What lookback should I use for ADR?

There is no single correct setting. 14 days is a common default, 5 days tracks the current week, and 20 days approximates a trading month. Shorter lookbacks react faster after a volatility shock but swing more; whichever you choose, keep it fixed so readings stay comparable.

### What does it mean when price exceeds the ADR?

The session is already wider than an average day over your lookback. That describes the day, often a trend day or an event-driven one; it is not a reversal signal by itself, and strong days can run well beyond 100 percent.

### How is ADR% calculated?

The simplest form divides the ADR by the current price and multiplies by 100. A version popular in momentum stock screening averages each day's high-to-low ratio over 20 days, subtracts 1 and multiplies by 100. Both express typical daily travel as a percentage, which is what makes stocks at very different prices comparable.

### Does price reverse at the ADR high or low?

Not reliably. The levels show where an average day would end, and many days are not average: trend days push through, quiet days never reach them. Reactions are more likely where the levels coincide with structure such as a prior high or low, so most traders treat them as context rather than entries.

## Implementations in the Library

- Average Daily Range (LuxAlgo): https://www.luxalgo.com/library/indicator/average-daily-range/

## Related concepts

- ATR: https://www.luxalgo.com/library/concept/atr/
- ATR Bands: https://www.luxalgo.com/library/concept/atr-bands/
- ATR Expansion/contraction: https://www.luxalgo.com/library/concept/atr-expansion-contraction/
- ATR-based Stop Distance: https://www.luxalgo.com/library/concept/atr-based-stop-distance/

---

Source: https://www.luxalgo.com/library/concept/average-daily-range/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/