Kill Zones: The Session Windows That Are Supposed to Carry the Move, and How to Test Them

8 min readQuantParadox research

Of all the concepts in the price-action vocabulary, the kill zone is the easiest to test, because it is nothing more than a clock. That makes it a good place to learn what a fair filter test looks like, and a bad place to accept a claim without one.

The short answer

Kill zones are fixed clock windows around the London and New York opens in which a forex setup is expected to perform best, and because a clock window is a mechanical filter it can be graded by comparing the same setups inside and outside the window.

What are kill zones?

Kill zones are named windows of a few hours each, placed around the London open, the New York open, and in some vocabularies the London close and the Asian session, during which a given setup is claimed to have its best chance of following through.

The windows vary by source but the shape is consistent: roughly the first two to three hours after the European cash markets open, and roughly the first two to three hours after the North American markets open, stated in the local time of each centre. The underlying reasoning is that these are the hours when participation and volatility rise, so a move that begins then has the participation to carry it.

That reasoning is plausible and it is also a claim about the market rather than about the trader, which means it can be checked. The volatility part is easy to confirm from any hourly range chart. The part that matters, whether a specific setup performs better inside the window than outside it, is a separate claim, and it is the one a test addresses.

The windows are a filter. They do not say what to trade; they say when a trade, whatever triggers it, is worth taking.

Why are clock rules the easiest filters to test?

A clock rule is easy to test because it has no interpretive step: every bar either falls inside the window or does not, so the filter can be applied to a full history of setups mechanically and the two groups compared without any labelling.

Compare that with a structural filter such as an order block or a trend state, where the definition of the filter is itself several parameters and the comparison inherits all of them. A session window has one parameter pair, the start and end time, and a timezone. Once those are fixed, the enumeration is exact.

The comparison is also symmetric. The setups outside the window are a natural control group: same rule, same instrument, same history, different hours. If the in-window group has a materially better expectancy, and the difference holds on the out-of-sample segment, the window is doing something. If the groups are alike, the window is removing trades for no benefit.

This symmetry is what most session claims lack. Showing that a setup worked at the London open is not evidence for the window unless it is also shown how the same setup did at other times.

What must a fair test control for?

A fair test controls for the timezone and daylight-saving alignment of the data, for the difference in volatility between the windows, and for the sample size in each window, since each of these can manufacture a difference that has nothing to do with the setup.

Timezone alignment is the one that silently breaks tests. A data feed stamped in the broker's server time, which may or may not follow daylight saving, will have the London open drift by an hour twice a year relative to a fixed clock filter. Over a decade, a filter that ignores this is grading the wrong hours for a sizeable fraction of the history. The window has to be defined in the local time of the market centre and converted correctly for each date.

Volatility confounds the comparison in a subtler way. A stop and target set in fixed pips are different bets in a high-volatility window than in a quiet one, and a setup can look better inside the window merely because its target was reached more often relative to a stop that was proportionally tighter. Scaling the stop and target by current volatility removes most of this; comparing results in R rather than pips removes the rest.

Sample size is the usual constraint. A window of three hours on one pair produces a fraction of the trades the whole day does, and the in-window group may be too small to distinguish from the out-of-window group even when a real difference exists. Pooling across instruments helps, provided the per-instrument breakdown is also shown.

Do the windows carry the move?

Whether the windows carry the move is a per-setup, per-instrument question that has to be measured, and the existing session-timing article on this site reports what our own archive showed for the setups it examined rather than asserting an answer for all of them.

The general pattern in that kind of measurement is that the volatility claim is robust and the performance claim is conditional. Ranges are reliably larger in the hours after the two opens. Whether a particular setup's expectancy is higher in those hours depends on the setup: breakout-style rules tend to benefit from the participation, while reversal-style rules can suffer from it, because the same participation that carries a break also runs through a level.

That conditionality is the reason to test the window against the specific rule rather than to adopt it as a general truth. A window that helps a breakout rule and hurts a fade rule is not a good filter or a bad one; it is a filter whose effect depends on what it is filtering.

The honest report is the split: expectancy and trade count inside the window, the same outside it, on the same history, with the out-of-sample segment shown separately.

How does QuantParadox handle session windows?

QuantParadox defines its sessions in the local time of each market centre, so daylight-saving changes are handled per date, and a rule can test whether a bar falls inside the London, New York or Tokyo session or inside any clock window stated in hours and minutes.

The named sessions are the full exchange sessions rather than the narrower kill-zone windows, which is a limitation worth knowing. A rule that wants the first three hours after the London open expresses that as a clock window on top of the session, and the window has to be stated in the market centre's time so that the platform converts it correctly across the year.

Session highs and lows are available as of the bar, which is the input most session-based setups need, and the opening range primitives cover the common case of a range built from the first bars after an open.

The inside-versus-outside comparison is the natural use of the Reconciliation view, which splits a rule's results by the conditions present at entry. The window is one such condition, and the split shows both groups with their trade counts rather than only the flattering one.

Questions people actually ask

What times are the forex kill zones?

The windows vary by source, but the common ones are the first few hours after the London open, stated in London time, and the first few hours after the New York open, stated in New York time, with some vocabularies adding a window at the London close and one during the Asian session. Because each is defined in a different local time and the centres change their clocks on different dates, any test of the windows has to convert them per date rather than using a fixed offset from the data's timestamp.

Do kill zones work for every strategy?

No, and the effect can go either way. The windows reliably have larger ranges, which tends to help rules that need a move to follow through and can hurt rules that fade a level, since the same participation that carries a breakout also runs through support. The only way to know the effect for a specific rule is to grade the same setups inside and outside the window on the same history, in volatility-scaled units, with the trade count for each group shown.

Why does daylight saving matter for session filters?

Because the London and New York markets change their clocks on different dates, and a data feed stamped in a fixed or broker-defined time will see each open drift by an hour for several weeks each year. A filter that uses a fixed hour in the data's timezone grades the wrong hours during those weeks and, over a decade, for a meaningful fraction of the history. Defining the window in the market centre's local time and converting per date is the correction.

The only backtest that settles it is yours.

Build a strategy from a sentence, paste your own Python, or import your live trade history and have it graded. Five full backtests free, no card, and we'll tell you plainly when the result is indistinguishable from luck.

We publish research and tooling, not trading advice, and we make no claim about future returns. Everything above describes how to test an idea — not a reason to trade one.