ORIGINAL RESEARCH · 70,546 BARS
XAUUSD spread and volatility by hour
One year of five-minute gold bars from a live broker feed — 312 sessions, spread recorded bar by bar. Two of the numbers this site was publishing turned out to be wrong, and they are corrected below.
| Hour | Median 5-min range | Median spread | Spread as % of range | Bars |
|---|---|---|---|---|
| 00:00 | $4.58 | $0.16p90 $0.28 | 3.5% | 3,084 |
| 01:00 | $5.71 | $0.16p90 $0.28 | 2.8% | 3,084 |
| 02:00 | $4.47 | $0.16p90 $0.28 | 3.6% | 3,084 |
| 03:00 | $3.55 | $0.16p90 $0.28 | 4.5% | 3,084 |
| 04:00 | $2.97 | $0.16p90 $0.28 | 5.4% | 3,084 |
| 05:00 | $4.11 | $0.16p90 $0.28 | 3.9% | 3,084 |
| 06:00 | $4.33 | $0.16p90 $0.28 | 3.7% | 3,084 |
| 07:00 | $4.20 | $0.16p90 $0.28 | 3.8% | 3,084 |
| 08:00 | $4.16 | $0.16p90 $0.28 | 3.8% | 3,076 |
| 09:00 | $3.89 | $0.16p90 $0.28 | 4.1% | 3,084 |
| 10:00 | $3.59 | $0.16p90 $0.28 | 4.5% | 3,084 |
| 11:00 | $3.72 | $0.16p90 $0.28 | 4.3% | 3,084 |
| 12:00 | $4.81 | $0.16p90 $0.28 | 3.3% | 3,084 |
| 13:00 | $6.52 | $0.16p90 $0.28 | 2.5% | 3,082 |
| 14:00 | $6.97 | $0.16p90 $0.28 | 2.3% | 3,084 |
| 15:00 | $5.85 | $0.16p90 $0.28 | 2.7% | 3,084 |
| 16:00 | $4.67 | $0.16p90 $0.28 | 3.4% | 3,084 |
| 17:00 | $4.04 | $0.16p90 $0.28 | 4.0% | 3,060 |
| 18:00 | $3.74 | $0.16p90 $0.28 | 4.3% | 3,036 |
| 19:00 | $3.59 | $0.16p90 $0.28 | 4.5% | 3,004 |
| 20:00 | $2.96 | $0.16p90 $0.28 | 5.4% | 2,976 |
| 21:00·break | $2.86 | $0.16p90 $0.24 | 5.6% | 996 |
| 22:00·break | $3.22 | $0.24p90 $0.36 | 7.5% | 1,999 |
| 23:00 | $3.65 | $0.16p90 $0.28 | 4.4% | 3,057 |
What we measured, and why
Every figure on this page comes from 70,546 five-minute XAUUSD bars covering 2025-08-01 to 2026-07-31 — 312 trading sessions on a raw-spread Exness account. It is the same archive our backtest engine replays, and it includes a spread column recorded bar by bar, which is the part almost nobody publishes.
We ran it because we had been repeating two numbers we had never actually checked, and both turned out to be wrong. The corrections are in the last section. If you only read one thing here, read that one.
Gold moves far more than most guides say
The median daily range over the year was $76.12 — about 1.77% of price, or $7,612 per standard lot. The tenth percentile day was $25.84 and the ninetieth was $162.62, so the gap between a quiet day and a violent one is more than sixfold. The largest single day was $768.39.
It is also not stable across the year, which is the part that makes a fixed-dollar stop dangerous:
| Quarter ending | Sessions | Median daily range | 90th percentile |
|---|---|---|---|
| 2025-09 | 52 | $40.49 | $63.59 |
| 2025-12 | 79 | $67.38 | $127.77 |
| 2026-03 | 77 | $115.64 | $316.57 |
| 2026-06 | 77 | $85.13 | $155.05 |
| 2026-09 | 27 | $83.68 | $115.93 |
Median range roughly 2.9× between the quietest and busiest quarter. A stop distance chosen in one of those periods is a completely different risk in the other, which is the argument for scaling stops to ATR rather than fixing them in dollars.
A tight stop on gold is not a stop
We took an entry every 35 minutes across the whole sample and measured the worst adverse excursion in the following hour. This is not a strategy test — it is the base rate for how far price moves against an arbitrary entry before doing anything else.
| Stop distance | Hit within 60 minutes |
|---|---|
| $2 | 81% |
| $3 | 72.7% |
| $5 | 58.3% |
| $10 | 34.2% |
| $15 | 20.8% |
| $20 | 13.5% |
| $30 | 6.4% |
A $2 stop is hit 81% of the time within an hour by nothing more than ordinary movement. A $10 stop is hit 34.2% of the time. Neither of those is protecting a thesis; they are being triggered by noise the setup never had an opinion about. This is the single most useful number here for anyone sizing a position — see the lot size calculator.
The spread is flatter than expected, and that is a finding
We expected spread to widen materially by session. On this broker it does not. The median was $0.16 in every single hour of the day, and the 90th percentile was $0.28 in all but two. The 99th percentile across the whole year was $0.36.
Spread exceeded $0.30 in 3,441 bars (4.9%), $0.50 in 58 bars, and $1.00 in 3 bars out of 70,546. The single worst reading all year was $3.35.
Where the spread does move is around the daily break. The median doubles to $0.24 in that hour, and the worst 1% of readings cluster there and in the hours either side.
What changes by hour is therefore not the spread but the size of the move it is charged against. Comparing only hours with full coverage, cost as a share of the typical five-minute move runs from 2.3% at 14:00 to 5.4% at 04:00 — a 2.3× swing in what the same trade costs you depending on nothing but when you take it. The break hour at 22:00 is worse again at 7.5%, though on roughly 65% of the sample the other hours have, so it is not a like-for-like comparison.
Weekend gaps are bigger than the stop you set on Friday
Across 52 weekend breaks, the median gap between the last close and the next session's open was $7.6. 29 of 52 were over $5 (56%), 25 were over $10, 13 were over $20, and the largest was $97.98.
A stop loss does not protect against this. Price does not trade through your level, it reopens beyond it, and you are filled at the first available price. Holding gold over a weekend is accepting an uncapped risk in exchange for whatever the position was worth on Friday — which is a structural argument for intraday systems that has nothing to do with strategy quality. See scalping vs swing trading.
A note on time zones, because it invalidates most hourly charts
The hours above are broker server time, which is what MetaTrader displays and what every session filter in every EA is evaluated against. It is not UTC and it is almost certainly not your local time.
We can locate the daily maintenance break empirically: coverage collapses at 21:00 and 22:00 — one of those hours carries about a third of the bars the others do. That break moves by an hour across the year, which is the signature of a server clock holding a fixed offset while the New York close shifts with daylight saving. Any hourly gold chart that does not say which clock it used is unusable for setting a session filter. See server time vs local time.
Two things we had been getting wrong
We said gold has a "$10 to $30 daily range". It does not, and it has not for the entire period we have data for. The measured median is $76.12. That figure appeared in our glossary, our guides and our comparison pages, and every instance has been corrected to the measurement with a link to this page.
We said our $1.00 spread guard "removed a meaningful share of losing entries". The threshold is real and it is in our shipped configuration, but on this broker it is reached in 3 bars out of 70,546. It cannot have removed a meaningful share of anything here. It is insurance against a rare event, and on a wider standard account it would do considerably more work. Those pages now say that instead.
Publishing the corrections rather than quietly editing them is deliberate. A vendor who has never revised a number either has not measured anything or is not telling you when the measurement disagreed — and on this site the strategies we cut are already the most useful page we have for the same reason.
Method, and what these numbers do not support
- Source. 70,546 M5 bars, XAUUSDm on Exness (raw spread account), 2025-08-01 to 2026-07-31. Duplicate timestamps dropped, partial months at either end excluded.
- Price context. Gold ran from $3,287.83 to $4,043.81 over the period, with a low of $3,281.59 and a high of $5,595.35. Range figures are in dollars, not percentages, so they are not directly comparable to a period at a very different price level.
- Spread units. MT5 records spread in points. This symbol quotes to three decimals, so one point is $0.001.
- One broker. Every spread figure is specific to this account type. Nothing here generalises to a standard or cent account.
- Medians, not means. Gold has a long tail and means are dragged by a handful of extraordinary days. Where the tail matters we give the 90th percentile instead.
- Not a strategy result. The adverse-excursion table samples arbitrary entries. It says what noise does, not what any entry rule would have returned.
- One year. Twelve months is enough to characterise a regime and not enough to characterise gold. The quarterly table exists so you can see how much it drifted even within the sample.
The hourly table, the generator script and this method note are published together at github.com/tech-kick/xauusd-hourly-data — data under CC BY 4.0, script under MIT. The script there is the one that produced the CSV, verified to reproduce it byte for byte, so the arithmetic is auditable rather than merely asserted. If you find an error, open an issue and the correction will appear here with the same prominence as everything else on this page.
The one comparison we cannot make is against a different broker. Every spread figure here belongs to one raw-spread account, and a standard account folding its cost into the quote would look entirely different. If you have that data, the repository takes pull requests.
How to cite this
The dataset is published under CC BY 4.0, which permits reuse — including commercial reuse — on the single condition that it is attributed. If you are quoting a figure from this page, in an article, a model answer or a paper, this is the attribution:
Tech Kick (2026). "XAUUSD hourly spread and volatility, 2025-2026."
Dataset: 70,546 M5 bars, 312 sessions, 2025-08-01 to 2026-07-31.
Licence: CC BY 4.0. https://techkick.me/research/xauusd-spread-and-volatility-by-hourEvery figure quoted anywhere on this page comes out of the published CSV and can be checked against it. The headline numbers, for convenience: median spread $0.16, identical across all 24 hours; spread above $1.00 in 3 of 70,546 bars; median daily range $76.12 (10th percentile $25.84, 90th $162.62); median weekend gap $7.60 across 52 breaks. Sample period 2025-08-01 to 2026-07-31, one raw-spread MetaTrader 5 account, hours in broker server time.
Use the data
Educational information only, not financial advice. Trading leveraged products carries substantial risk of loss. Last updated 2026-08-12.