← All posts
Published · Updated · NoxarQuant

Does My Strategy Only Work in One Trading Session?

Most trade journals report a setup as a single line: number of trades, win rate, average result. That line is an average across every condition the setup was traded in, and one of the conditions that most often matters is simply the time of day. A setup traded through Asia, London, the New York morning and the New York afternoon is, in practice, four related experiments pooled into one number. Sometimes the four agree. Often they do not, and the pooled figure describes none of them particularly well.

Why sessions behave differently

The market during the Asia session is not the same market as the one an hour after the New York cash open. Liquidity, volatility and the mix of participants all shift through the day. Scheduled data releases land at particular times. The New York morning tends to carry the open and much of the day's volume, the early afternoon is often quieter, and the run into the close has its own flows.

None of this says a given setup works better in one session than another. It says there is a plausible mechanism for a difference, which is reason enough to check rather than assume. A breakout that depends on follow-through, for example, may meet very different conditions in a thin overnight market than in the first hour of New York. Whether it actually does is a question for the data, and the answer will differ from one trader's history to the next.

How an aggregate hides a split

Here is a hypothetical example. The numbers are invented to show the arithmetic, not taken from any real account.

A trader has 100 trades of one setup with an average result of +0.12R per trade, +12R in total. Modestly positive, nothing remarkable. Split by the session each trade was opened in, the same 100 trades look like this:

Session Trades Average (R) Total (R)
Asia 10 -0.10 -1.0
London 30 +0.10 +3.0
New York AM 40 +0.40 +16.0
New York PM 20 -0.30 -6.0
All 100 +0.12 +12.0

Read the table and the single line stops looking like one thing. The New York morning produced +16R, more than the setup made in total. The New York afternoon gave back 6R, half of the overall result. The other 80 trades average +0.225R between them, nearly double the headline figure.

The aggregate is not wrong. It is an accurate average of four different things, and an accurate average of different things can describe none of them. Someone looking only at +0.12R might conclude the setup is marginal everywhere. The split suggests it may be strong in one window, roughly flat in another and negative in a third. What, if anything, to do about that is a judgement for the trader. The table describes where the results came from; it does not say what should happen next.

The same effect shows up in risk-adjusted measures. Suppose, purely for illustration, that the spread of results within every session is the same, a standard deviation of 1.0R. SQN, the average divided by the standard deviation and multiplied by the square root of the trade count, then comes out at about 2.53 for the New York morning alone (0.40 × √40). For all 100 trades pooled it is about 1.16. Pooling adds trades, which raises the square root term, but it also dilutes the average, and because the session averages differ from one another it widens the overall spread slightly, to about 1.035R. In this example the dilution wins comfortably.

The caution: slicing makes samples small

Splitting results is how a hidden pattern gets found. It is also how a pattern that does not exist gets invented. Every slice has fewer trades than the whole, and small samples are noisy. How many trades it takes to say anything is a question that gets harder, not easier, each time the data is divided.

Look at the same table with that in mind. The standard error of an average, roughly how much it would wobble by chance alone, is the standard deviation divided by the square root of the trade count. With the same 1.0R standard deviation:

  • Asia, 10 trades: a standard error of about 0.32R. An average of -0.10R sits well inside that, indistinguishable from zero.
  • New York PM, 20 trades: a standard error of about 0.22R. An average of -0.30R is about 1.34 standard errors below zero. Weak evidence on its own: chance alone would put an average that far from zero nearly one time in five.
  • New York AM, 40 trades: a standard error of about 0.16R. An average of +0.40R is about 2.5 standard errors above zero. The strongest evidence in the table, and still only 40 trades.

There is a second trap. Four slices give four chances for one of them to look unusual by luck. If each slice independently had a 5% chance of producing a misleadingly extreme result, the chance that at least one of the four does is 1 - 0.95⁴, roughly 19%. And the slice that looks best was picked after the results were in, so its number is probably flattered. Even if the true edge were identical in every session, the best-looking session would typically overstate it, because it is the one that happened to get lucky.

A split is best treated as a question to keep testing rather than a conclusion. A pattern that keeps holding as new trades arrive is worth far more than one that appeared once in a table built from old data. Out-of-sample testing is the formal version of that idea.

How NoxarQuant handles sessions

NoxarQuant tags every trade with the session it was opened in: Asia, London, New York AM or New York PM, with trades outside those windows marked as after hours. The windows follow each market's local clock. New York AM is 9:00 to 11:59 New York time and New York PM is 12:00 to 15:59. London covers 8:00 to 16:59 London time outside the New York windows, and Asia covers 9:00 to 14:59 Tokyo time. Daylight saving is handled per market, so a trade does not drift between buckets when the clocks change.

Session is one of five tags on every trade, alongside setup, volatility bucket, RSI bucket and trend. Trades that share all five form a cluster, so the same setup traded in the New York morning and in the New York afternoon never shares a cluster. The split in the table above is not something a trader has to remember to look for; it is built into how trades are grouped.

The edge view has a session filter that combines with a setup filter, so one setup's clusters can be viewed a session at a time or across several sessions together. On Pro and Elite plans, the Monte Carlo reshuffling can also be restricted to trades from chosen sessions, which shows the range of outcomes one window's trades produce on their own rather than blended with everything else.

The classifier is deliberately conservative about thin slices. A cluster with fewer than 12 trades gets no verdict at all, and strong requires at least 20 trades and an SQN of at least 2.5. Because clusters are finer than a session, split by volatility, RSI and trend as well, many will sit below those thresholds for a long time. That is the honest state of the evidence rather than a flaw. Each cluster is shown with its trade count and the numbers behind the verdict, so a striking session split on 15 trades is presented as exactly that.

The point

A single average for a setup is a summary of every condition it was traded in. Time of day is one of the most common places that summary hides structure, and also one of the easiest places to imagine structure that is not there. Splitting by session finds the first; reading the split with the sample size in view guards against the second. Looking at your own trades session by session, with the trade count next to every number, is the kind of measurement our case study is built around.

Run this on your own trades →

For informational purposes only. Past performance is not indicative of future results. Not financial advice. How we write and correct