EUR/USD typically moves somewhere between 60 and 100 pips in an average day, though that range compresses in quiet conditions and can roughly double or more around a genuinely volatile session. There's no fixed number - what actually matters is that the range isn't flat across the day, and treating it as one constant figure is where a lot of stop and target sizing goes wrong.
Why the average hides more than it tells you
A daily average is a sum of very unequal parts. The Tokyo session typically contributes a smaller slice of the day's total range than the London/New York overlap does - liquidity is thinner at Tokyo's open, and the overlap window is where the day's real range usually gets made. Two forecasts published for the same pair at different session opens can reasonably expect very different amounts of room to work with, which is exactly why the desk doesn't publish one call and stretch it across the whole day.
What the number is actually useful for
Not for picking a target - a target should come from a measured Fibonacci extension on the last completed swing, not from "the average day moves 80 pips so I'll aim for 80." It's genuinely useful for sanity-checking a stop: a stop placed 5 pips from entry on a pair that routinely moves 60-100 pips a day is going to get clipped by ordinary noise long before the actual thesis is ever tested. A stop needs enough room to be wrong about noise while still being right about the idea - which is the whole reason a real stop is measured from the chart, not picked as a round number.
What moves the number itself
- Session overlap. London/New York overlap (roughly 12:00–16:00 GMT) is consistently where range expands most.
- Scheduled data. A high-impact release can compress the entire rest of the day's range into a single hour, or blow the daily average out entirely.
- Day of week. Monday opens are frequently tighter than mid-week sessions; Friday afternoons often compress into the weekend close.
None of this changes the underlying method - it's a reason the read gets reset before every session instead of published once and left to apply to conditions that have already changed.