Which trading session actually works for your strategy
9 min read
You have a suspicion. One session is bleeding you — probably the one you trade half-asleep or half-distracted — and the rest of your record is carrying it. Most of what you find when you search this question is a market-hours explainer: when London opens, where the overlap sits, which pairs move. None of that is about you. Your broker's liquidity profile is not your edge, and the only record that can answer this question is the one sitting in your own journal.
Here is how to split it, what arithmetic to run, and — the part almost nobody writes — how to tell whether the difference you found is a finding or a coin flip.
Define your sessions before you look at the data
Decide the windows first, in writing, before you see a single result. If you set the boundaries after skimming your P&L, you will unconsciously draw them around your losers and manufacture a pattern that does not exist.
Use one clock. UTC is the sane default, because your broker's server time drifts with daylight saving and your local time drifts with travel. The conventional windows most platforms use are roughly Sydney 22:00–07:00, Tokyo 00:00–09:00, London 08:00–17:00 and New York 13:00–22:00 UTC — the Babypips market hours tool is a reasonable reference for the current mapping.
Then make a decision about overlaps and stick to it. A 14:00 UTC trade sits inside both London and New York. You have three honest options:
- Entry timestamp wins. Simple, reproducible, slightly arbitrary. Fine.
- Treat the overlap as its own bucket. More accurate, but it splits your sample four ways instead of three, and sample size is the thing that will kill this analysis.
- Assign by the session you were actually trading. Only works if you recorded your intent at entry.
Pick one. Write it down. Do not change it mid-analysis.
If you journal in Tradexy, session is a field on the trade itself, so this is already recorded at entry rather than reconstructed from timestamps six months later — which matters, because reconstruction is exactly where the boundary-fudging creeps in. The same applies to the forex workflow generally: the tags you set before the outcome is known are the only ones you can trust.
The minimum data you need per trade
You need four fields and nothing else:
- Session tag
- Outcome in R (profit or loss divided by the amount you risked on that trade)
- Whether it won or lost
- Entry timestamp, so you can audit the tagging later
R is doing the heavy lifting here. If you compare sessions in currency, you are comparing position sizes as much as decisions — a session where you happened to size up will look better than one where you sized down, even if the decisions were identical. R strips that out. If you are not sure your sizing was consistent across the period, the position sizing calculator will show you what each of those trades should have been at a fixed risk percentage, which is usually a sobering exercise on its own.
Worked example: 180 trades, split three ways
Here is a realistic record. One trader, FX, nine months, 180 closed trades, nominal risk of 1% per trade.
London — 96 trades
41 wins averaging +1.9R, 55 losses averaging −1.0R.
- Won: 41 × 1.9 = +77.9R
- Lost: 55 × 1.0 = −55.0R
- Net: +22.9R
- Expectancy: 22.9 ÷ 96 = +0.24R per trade
New York — 54 trades
24 wins averaging +1.8R, 30 losses averaging −1.0R.
- Won: 24 × 1.8 = +43.2R
- Lost: 30 × 1.0 = −30.0R
- Net: +13.2R
- Expectancy: 13.2 ÷ 54 = +0.24R per trade
Asia — 30 trades
9 wins averaging +1.6R, 21 losses averaging −1.0R.
- Won: 9 × 1.6 = +14.4R
- Lost: 21 × 1.0 = −21.0R
- Net: −6.6R
- Expectancy: −6.6 ÷ 30 = −0.22R per trade
| Session | Trades | Win rate | Avg win | Avg loss | Net R | Expectancy |
|---|---|---|---|---|---|---|
| London | 96 | 42.7% | +1.9R | −1.0R | +22.9R | +0.24R |
| New York | 54 | 44.4% | +1.8R | −1.0R | +13.2R | +0.24R |
| Asia | 30 | 30.0% | +1.6R | −1.0R | −6.6R | −0.22R |
| Total | 180 | 41.1% | — | — | +29.5R | +0.16R |
The story writes itself: Asia is costing this trader 6.6R and dragging overall expectancy from 0.24R down to 0.16R. Cut Asia, keep everything else, book the difference.
That story is probably wrong. Or at least, the data does not yet support it.
I pulled my own FX trades for this. 211 closed, from 1 July 2025 to 2 October 2026. One loss has no R filled in, so the number is on 210 trades: expectancy +0.15R, 75 wins averaging +2.18R, 132 losses averaging −0.99R, 3 break-evens, net +32.2R. My last 100, from 8 August 2025, are +0.25R. I never logged the entry time, and I never tagged London, New York, or Asia. The smallest bucket has 0 trades.
Why that Asia result is not yet a finding
Thirty trades is a small sample, and the spread of outcomes inside it is wide. Run the standard error.
The Asia bucket has a mean of −0.22R. Each winner sits 1.82R above that mean (1.6 − −0.22); each loser sits 0.78R below it (−1.0 − −0.22). Squaring and averaging:
- 9 × 1.82² = 9 × 3.3124 = 29.81
- 21 × 0.78² = 21 × 0.6084 = 12.78
- Variance = (29.81 + 12.78) ÷ 30 = 1.42
- Standard deviation = √1.42 = 1.19R
- Standard error = 1.19 ÷ √30 = 1.19 ÷ 5.48 = 0.22R
So the Asia expectancy is −0.22R, give or take 0.22R for one standard error. A rough 95% interval — two standard errors either side, using the normal approximation, which is imperfect for a skewed R distribution — runs from about −0.66R to +0.22R.
That interval contains zero. It also overlaps London's interval. In plain terms: this data cannot distinguish "Asia is a losing session for me" from "I had a bad run of thirty trades."
London is not bulletproof either. Its standard error works out to roughly 0.15R on an expectancy of +0.24R, so the interval scrapes zero at the bottom. Ninety-six trades is not a lot of evidence for a claim you are about to build a rule on.
If you want to see how wide a normal run of outcomes actually is at your win rate and reward-to-risk, put your own numbers into the Monte Carlo simulator and look at the spread of thirty-trade sequences. Runs that look like a broken session show up constantly in a distribution with no broken session in it at all.
I never cut a session on a sample like that. The only time I wrote the session down was 16 to 29 October 2025, in the post-note, and then I stopped writing it. 17 New York trades came out at +0.65R, 15 London trades at +0.07R. Standard error is about 0.44R on each, so I can't separate them. All 32 were indices, crypto, or gold. I kept trading — the next weeks were still around 20 to 30 trades. The next 50, from 30 October to 10 November, made +1.3R total, +0.03R each.
What session analysis does not tell you
Even with a sample large enough to trust, the split answers a narrower question than it appears to.
It does not separate the session from you. If your Asia trades are taken at 2am local time on four hours of sleep, the variable is not the session. It is fatigue. Same number, completely different fix — and cutting the session hides the fact that the same fatigue shows up in your Friday afternoon London trades too.
It does not separate the session from the setup. Traders rarely run identical strategies across sessions. If your Asia trades are mean-reversion and your London trades are breakouts, you have measured two strategies, not two sessions. Split by strategy first, then by session inside each — and accept that you have just quartered your sample.
It does not separate the session from the pair. If the Asia bucket is mostly AUD and JPY crosses and London is mostly EUR and GBP, you may have found an instrument result wearing a session costume.
It does not survive a regime change. Nine months of data describes nine months of conditions. A session that suited your strategy in a trending stretch may not in a chopping one, and the split will not warn you when that turns.
It tells you nothing about the market. This is a measurement of your past execution inside those hours. It is not a claim about when the market is tradeable, and it is not a reason to hold a view about what any session will do next.
The sample size you actually need
There is no single threshold, but the mechanics are simple: the standard error shrinks with the square root of the number of trades. To halve your uncertainty, you need four times the trades.
At the 1.19R standard deviation from the example above, the standard error looks like this:
| Trades in the bucket | Standard error | Rough 95% band around a +0.24R expectancy |
|---|---|---|
| 30 | 0.22R | −0.20R to +0.68R |
| 60 | 0.15R | −0.06R to +0.54R |
| 120 | 0.11R | +0.02R to +0.46R |
| 250 | 0.08R | +0.08R to +0.40R |
Roughly 120 trades in the smallest bucket is where a moderate difference between sessions starts to be legible, and that is per bucket, not in total. If your thinnest session has thirty trades, the correct conclusion is "keep recording," not "stop trading it." The same arithmetic governs how many trades you need before you can judge a strategy at all.
What to do with a result you do not yet trust
The trap is treating this as binary — either you cut the session or you pretend you never saw the number. There is a middle option, and it is the one that keeps the data coming.
Keep trading the suspect session, but keep trading it identically. Same setup criteria, same sizing, same checklist. A session you half-trade with reduced conviction produces data that tells you nothing, because you have changed two variables at once and can no longer attribute the result.
Meanwhile, tighten the tagging. Record the session, the strategy, the pair, and your own state at entry, so that when the bucket does reach a usable size you can ask the second question — is it the session, or is it the sleep? — without re-running the whole analysis from scratch.
And set the review point in advance. "I will look at this again at fifty more Asia trades" is a commitment. "I'll keep an eye on it" is not, and it reliably decays into cutting the session the next time it stings.
Neither. I don't hard-block a session, and I don't size down for one. I have no pre-trade checklist item for it, because I never tagged the session in the first place. The only labels I have are those 15 London trades and 17 New York trades, and I couldn't separate them. I'm not going to write a rule off a sample that small.
The takeaway
Splitting your record by session is worth doing, and it is ten minutes of arithmetic if your trades are tagged. But the split is not the analysis. The analysis is the standard error underneath it, and the discipline to say "not enough data yet" about a result you were hoping to find.
Most traders who cut a session are not acting on evidence. They are acting on a thirty-trade drawdown that happened to land in the same window twice. The difference between those two things is the entire value of keeping a journal — and it only shows up if you tag the session at entry and count the trades in the smallest bucket before you read the expectancy.
Weekly Insights
One email a week on measuring trading performance. No account required.