Forex Average Daily Range Table: 28 Pairs in Pips
Most volatility comparisons between currency pairs are copied from a table someone published years ago, with no window and no date attached. This page is the opposite: the figures below are recomputed from raw price data on a monthly schedule, the measurement window is stated in every column heading, and the as-of date sits directly under the table. Nothing here is a forecast, and most retail traders lose money trading forex regardless of how well they measure a range — this is a planning input for stop distance and spacing, not an edge.
Quick Answer: Across the 28 pairs in the table, the 250-session average daily range runs from about 30.5 pips on EUR/GBP up to about 132.5 pips on GBP/NZD, computed from Dukascopy hourly bid candles, as of August 31, 2026. Among the majors over the same 250 sessions, EUR/USD averaged 62.5 pips, GBP/USD 82.5 pips and USD/JPY 100.7 pips a day. Over the most recent 20 sessions those three read 42.3, 49.9 and 83.2 pips, and the gap between the two windows is the part worth acting on. A pip is 0.01 on JPY-quoted pairs and 0.0001 everywhere else.
| Pair | ADR 20d | ADR 60d | ADR 250d | Median 250d | Aug 2026 ADR |
|---|---|---|---|---|---|
| GBP/NZD | 107.8 | 116.1 | 132.5 | 125.3 | 108.5 |
| GBP/JPY | 92.9 | 120.7 | 130.3 | 110.9 | 104.4 |
| CHF/JPY | 96.1 | 113.6 | 123.3 | 110.5 | 105.4 |
| GBP/AUD | 82.6 | 93.7 | 116.6 | 107.3 | 84.2 |
| EUR/NZD | 84.6 | 94.9 | 114.3 | 104.7 | 85.9 |
| EUR/AUD | 60.5 | 74.5 | 101.2 | 90.1 | 63.6 |
| EUR/JPY | 72.3 | 93.7 | 101.0 | 87.1 | 82.1 |
| USD/JPY | 83.2 | 87.5 | 100.7 | 84.9 | 91.9 |
| GBP/CAD | 66.9 | 82.2 | 96.0 | 89.2 | 67.9 |
| AUD/JPY | 61.8 | 73.3 | 89.3 | 78.2 | 68.1 |
| GBP/USD | 49.9 | 70.2 | 82.5 | 75.0 | 51.6 |
| NZD/JPY | 56.5 | 67.8 | 75.2 | 66.9 | 60.7 |
| CAD/JPY | 59.3 | 64.9 | 73.3 | 64.1 | 65.1 |
| EUR/CAD | 51.1 | 59.4 | 70.9 | 63.8 | 50.8 |
| EUR/USD | 42.3 | 53.5 | 62.5 | 55.0 | 42.9 |
| AUD/CAD | 45.6 | 51.2 | 59.1 | 51.4 | 46.5 |
| USD/CAD | 55.8 | 56.0 | 57.4 | 51.1 | 55.5 |
| AUD/NZD | 53.4 | 55.9 | 55.1 | 51.1 | 53.3 |
| AUD/USD | 37.6 | 43.3 | 54.2 | 47.8 | 39.0 |
| NZD/CAD | 43.8 | 50.0 | 54.1 | 49.9 | 44.6 |
| USD/CHF | 49.8 | 51.9 | 53.8 | 47.8 | 50.3 |
| GBP/CHF | 50.9 | 48.6 | 53.6 | 48.7 | 50.3 |
| NZD/USD | 38.7 | 43.7 | 48.7 | 45.0 | 39.3 |
| AUD/CHF | 32.7 | 34.9 | 40.9 | 36.9 | 33.0 |
| NZD/CHF | 29.6 | 31.1 | 35.3 | 33.0 | 30.2 |
| CAD/CHF | 29.6 | 31.1 | 34.5 | 31.0 | 29.8 |
| EUR/CHF | 33.7 | 31.9 | 33.4 | 30.2 | 33.6 |
| EUR/GBP | 19.1 | 24.6 | 30.5 | 25.9 | 19.2 |
As of August 31, 2026. Source: Dukascopy hourly bid candles. All figures in pips. Daily sessions are UTC calendar days built from Dukascopy hourly bid candles (Dukascopy timestamps are GMT/UTC, so no timezone shift is applied). A day counts as a session only if it is a weekday carrying at least 12 hourly bars with tick volume and a non-zero high-low range, which excludes weekends, the Sunday-evening opening hours and near-closed holidays. The daily range is (high - low) divided by the pip size: 0.01 for JPY-quoted pairs, 0.0001 for the rest. ADR20, ADR60 and ADR250 are the means of the last 20, 60 and 250 such sessions; the median column is the median of the same 250 sessions. Past ranges describe what has already happened and are not a forecast of tomorrow's range.
How This Table Is Computed
Every figure comes from Dukascopy’s hourly bid candles, downloaded per pair per month and aggregated locally. There is no vendor ADR feed involved and no indicator smoothing.
- Day boundary. Dukascopy timestamps are GMT/UTC, so a session here is a UTC calendar day, 00:00 to 23:59. No timezone shift is applied. If your platform’s server time is UTC+2 or UTC+3, its daily bars will cut the day at a different point and its ADR will differ slightly from these numbers — by a pip or two on a quiet pair, more on a pair that moves in the Asian session.
- Which days count. A day is only counted if it is a weekday carrying at least 12 hourly bars with tick volume and a non-zero high-low range. That drops Saturdays, the two or three Sunday-evening hours that open the week, and near-closed holidays such as Christmas Day. Counting the Sunday opening stub as a whole session would drag every average down by several pips, which is the most common way a published ADR table quietly understates itself.
- The range itself. For each session,
(high − low) ÷ pip size, where pip size is 0.01 for JPY-quoted pairs and 0.0001 for all the rest. No true-range adjustment: overnight gaps are not added in, so these figures read slightly lower than an ATR(14) on the same data. - The windows. ADR20, ADR60 and ADR250 are plain means of the last 20, 60 and 250 qualifying sessions. The median column is the median of the same 250 sessions.
- Missing pairs. If a pair’s data fails to download, it is left out of the table and named underneath it. Nothing is estimated and nothing is carried over from the previous month’s run.
Bid candles rather than mid prices means the numbers reflect the side of the book a sell order actually meets. The difference on a major is well under a pip of range; on a wide cross it is larger, and it is one reason to treat a pair’s own figure as approximate at the single-pip level while the ranking between pairs stays reliable.
ADR20 vs ADR250: Reading the Divergence
The single most useful thing in the table is not any one column — it is the ratio between two of them. Divide ADR20 by ADR250 and you get a compression reading for the pair:
- Ratio near 1.0. The pair is moving about as much as it has over the past year. Rules calibrated on the annual figure are currently well scaled.
- Ratio well below 1.0 — say under 0.7. The pair has compressed. Targets derived from the 250-day number will sit further away than the market is currently travelling, so a strategy that looked patient in backtest starts looking stalled. Range-bound methods do relatively better here; breakout methods produce more false starts.
- Ratio well above 1.0 — say over 1.4. The pair has expanded. Stops sized off the annual figure are now inside ordinary session noise and will be swept by moves that mean nothing. This is the state in which a previously stable system suddenly reports a run of stop-outs with no change to its logic.
The median column is the sanity check on both. A mean pulled well above its own median tells you a handful of outsized sessions are doing the work, and that the pair’s “average” day is calmer than the average suggests. When the mean and median sit close together, the pair’s range is distributed evenly and the average is a fair description of a typical day.
Turning the Range Into a Stop Distance
A range figure is not a trade signal, and none of the arithmetic below tells you which direction to take. What it does is stop a stop-loss from being a habit.
The convention used across our guides is to express stop distance as a multiple of measured ADR rather than as a fixed pip number. A stop at 0.5 × ADR beyond a level sits inside ordinary session noise for most pairs. A stop at 1 × ADR sits at the edge of a normal day’s travel. Beyond 1.5 × ADR you are paying for protection against a session the pair rarely produces.
Two consequences fall straight out of the table. First, a fixed pip stop that works on one pair does not transfer: if a rule uses 40 pips on a pair with a 70-pip ADR250, the equivalent on a pair reading 140 is 80 pips, not 40. Second, the same 1% account risk funds a much smaller position on a wide pair than on a narrow one, because the stop has to be wider to represent the same fraction of a day. That is the whole reason to derive size from range, and the forex risk management guide works through the sizing arithmetic that follows from it.
Use the ADR20 column for this, not ADR250. The stop has to survive the market you are in now.
Grid Spacing From the Same Number
Grid systems consume this table more directly than any other strategy family, because their spacing parameter is a volatility number whether or not the person setting it realises that. The rule-based grid blueprint derives spacing as ADR(20) ÷ N, floored at a multiple of the pair’s typical spread, and why grid EAs blow up treats spacing copied from another pair as one of the seven failure patterns — a step that is sane on a narrow pair fills every level in a single session on a wide one.
Take the ADR20 reading for your pair from the table above and put it into the calculator, along with the spread floor your broker actually charges:
Grid-spacing calculator
Enter an ATR value and multiplier above to calculate spacing.
Educational tool, not investment advice. Spacing and level counts here follow the rule-based grid blueprint; verify against your own broker's spread, margin requirements, and lot step before running a live grid.
Wide-range pairs also carry wider spreads, so the floor matters more there than the ADR division does. Best forex pairs for grid trading covers which of these pairs suit a grid at all, which is a separate question from how far apart the levels go.
What the Table Says About Pair Groups
These are observations about the measured window, not predictions about the next one. Sort the table by ADR250 and three groups separate cleanly.
The calm end. EUR/GBP (30.5), EUR/CHF (33.4), CAD/CHF (34.5), NZD/CHF (35.3) and AUD/CHF (40.9) pips a day over 250 sessions, as of August 31, 2026: the five narrowest pairs in the table, all of them CHF crosses apart from EUR/GBP, and none of them a USD major. These are the pairs where a tight spacing or a modest stop is defensible, and where the spread is a larger share of a typical day’s travel — which is exactly why a narrow range is not automatically a cheap one.
The wide end. GBP/NZD (132.5), GBP/JPY (130.3), CHF/JPY (123.3), GBP/AUD (116.6) and EUR/NZD (114.3) pips a day over the same 250 sessions: every one a cross, and each at least 1.8x the EUR/USD figure. A rule ported from a major to one of these without rescaling will be stopped out routinely.
The majors in between. The USD majors span NZD/USD (48.7), USD/CHF (53.8), AUD/USD (54.2), USD/CAD (57.4), EUR/USD (62.5), GBP/USD (82.5) and USD/JPY (100.7) pips over 250 sessions. USD/JPY is the outlier at the top of that group; the rest sit between 48.7 and 82.5 pips.
One structural pattern shows through all three groups: pairs that include neither the US dollar nor a currency pegged in its orbit tend to travel further in pips, partly because they inherit the volatility of both legs and partly because a JPY quote makes each pip a hundredth rather than a ten-thousandth of a unit. That second effect is arithmetic, not volatility — it is why the pip column is only comparable across pairs as a distance, and why the EUR/USD ADR guide works the conversion through in detail for a single pair.
Refresh Schedule and What Can Go Stale
The data file behind the table is rebuilt in the first days of each month, once the month that just closed has been published, which is when its column appears. Between refreshes the ADR20 column ages fastest: twenty sessions is about four weeks. The 250-session columns barely move, which is what makes them the stable reference the short window is measured against. A pair that is absent failed to download on the last run and will return at the next one rather than be filled in with an estimate.
Related Guides
- EUR/USD Average Daily Range in Pips — the same question worked through for one pair, with the ATR comparison
- Forex Risk Management Guide — turning a range-derived stop into a position size
- Grid Trading Strategy — the spacing formula this table feeds
- Why Grid EAs Blow Up — what happens when spacing ignores the pair’s range
- Best Forex Pairs for Grid Trading — which of these pairs suit a grid at all
This guide is for educational purposes only and is not investment advice. The figures above describe sessions that have already happened; they do not indicate what any pair will do next. Forex trading carries substantial risk and most retail traders lose money. Stops, targets and position sizes should reflect your own risk tolerance and account size.