Average Daily Range Calculator
Paste ordered completed daily highs and lows to calculate a rolling simple-average daily range, rolling median and full row-level audit. Optionally compare one separate observed range with the latest historical ADR without adding it to the baseline.
Enter completed daily observations
Oldest row first. Keep the symbol, feed, price basis and broker day boundary consistent.
Rolling daily-range audit
Average Daily Range Analysis 2.0.0.
Separate observed-range comparison
No comparison high and low were supplied. The historical ADR remains fully calculated.
Daily range, rolling ADR and rolling median
All three paths use the entered pip or point size; ADR and median begin at the first complete window.
Daily range audit table
Up to the latest 100 rows are displayed, including warm-up rows.
On smaller screens, scroll this table horizontally; the page itself remains contained.
| Label | High | Low | High-low range | Rolling ADR | Rolling median |
|---|
How the Average Daily Range is calculated
Rolling ADR = Sum of the latest N completed daily ranges ÷ N
Observed-range percentage = Separate observed range ÷ Latest ADR × 100
Each complete rolling window uses the selected number of rows with equal weight. The median sorts those same range values and selects the middle value, or averages the two middle values for an even period.
This high-low ADR is deliberately different from Average True Range. It does not compare a day with the previous close, so previous-close gaps are outside the model.
Worked example from the audited fixture
Load the example to enter seven completed daily ranges of 100, 150, 80, 120, 200, 110 and 140 pips with period 5. The latest window is 80, 120, 200, 110 and 140 pips, so the latest ADR is 130 pips and the median is 120 pips.
The optional separate observation is 80 pips, equal to 61.54% of the 130-pip ADR and 50 pips below it. That difference describes two entered magnitudes only; it is not a forecast of another 50 pips.
Use and limitations
- Use completed daily bars from one symbol, broker feed, price basis and daily session boundary.
- CSV headers can identify label/date, high and low columns; other columns are ignored.
- Labels are descriptive. Dates are not parsed, sorted, deduplicated or checked for missing sessions.
- Including an incomplete current-day row in the historical sample can make it non-comparable and bias the ADR downward.
- The optional comparison stays outside the historical baseline and contains no price-level projection.
- Different pip or point conventions change the displayed converted distance but not the price-unit range.
Frequently asked questions
- Enter completed daily high and low rows, optional labels plus high and low, or delimited data with a header identifying one high column and one low column.
- For each complete rolling window, the calculator subtracts low from high for every entered day, sums the latest N ranges and divides by N.
- This ADR averages daily high minus low only. ATR uses true range, which can incorporate the distance from the previous close when a gap extends beyond the current high-low range.
- It is the middle range in the same rolling window, or the average of the two middle ranges for an even period. It is descriptive and does not replace the ADR mean.
- Yes. Enter a separate comparison high and low. The page reports its range, percentage of the latest ADR and arithmetic difference while keeping it outside the completed historical baseline.
- No. Rows remain in entered order. Labels are not parsed, sorted, deduplicated or used to infer missing days.
- No. It summarizes entered historical high-low ranges and does not project a target, likely high, likely low, direction or probability.
- Symbols and user conventions differ. The entered size converts price distance into pips or points without changing the underlying price-unit calculation.
Sources and methodology
- MQL5 Reference — MqlRates — documents the high and low fields in each price-period record.
- MetaQuotes Code Base — Average True Range — provides the true-range contrast, including previous-close comparisons that this ADR intentionally excludes.
Version 2.0.0 uses a disclosed site-defined simple high-low mean. It performs deterministic local arithmetic, uploads no entered values and does not claim to reproduce an undisclosed broker or indicator implementation.
Continue range analysis
Compare Top Forex Brokers
ADR arithmetic does not establish execution quality or suitability. Verify the current entity, account, symbol, spread, commission, financing and price-feed conventions available in your jurisdiction.
Risk and affiliate disclosure: Leveraged forex and CFD trading can result in substantial losses. Daily-range calculations do not predict price levels, direction, execution or returns. These are affiliate links, so ForexMT4Indicators.com may receive compensation if you register or trade through them, at no additional cost to you. Availability and terms vary by jurisdiction and entity.

