London Session Breakout Pine Strategy (MA or Bollinger — Not Donchian)

Gate signals with a London session filter and break out with Bollinger, an MA or Donchian.

📖 4 min read

📝 686 words

🏷️ Pine Script and TradingView

Share this article:

Which timezone is your session in?

A 24-hour axis with one highlighted window in which the rules are allowed to act.rules activeidle0004081216202408:00 – 17:00
A session filter is a window on the clock: outside it, the rules stay idle.

A session breakout has one implementation detail that decides whether it works, and it is not the breakout logic.

A Pine session string is interpreted in the exchange's timezone — not your chart's, and not yours.

So a session written as "0800-1000" means eight in the morning where the instrument trades, which for a symbol on one feed may be a completely different hour of the day than you intended. The strategy still runs, still produces trades, and still shows an equity curve. It is simply trading a different part of the day.

Three things make this worse than a one-off mistake:

  • daylight saving moves it twice a year, in different weeks in Europe and the United States
  • spot FX has no single exchange, so what "the exchange's timezone" resolves to is a property of the data feed rather than of the market
  • the chart's own timezone setting is a display preference and does not change what the session string means

What our generator does instead, and why

An export from our own builder does not use a session string. It emits an explicit hour comparison in UTC:

pine
inSession = hour(time, "UTC") >= 8 and hour(time, "UTC") < 10

That is deliberately more verbose and it removes the ambiguity entirely: UTC is UTC everywhere, so the strategy trades the same absolute hours regardless of instrument, feed or chart setting. It also makes the intent readable — anyone can see which hours the strategy is restricted to without knowing anything about the exchange.

The trade-off is that UTC does not follow daylight saving, so an hour window pinned to UTC drifts relative to local market opens across the year. That is a choice rather than a bug: you get either a fixed absolute window or a fixed local-time window, and you should know which one you picked.

Building it

FieldValueNote
Sessionthe hours you actually mean, in UTCwrite down which convention you used
Rangehigh and low of the pre-session windowthe level to break
Entryclose beyond the range, inside the session
Regime filterATR above its own averagea breakout without volatility is noise
ExitATR stop and target, or session end
Costsset — spreads vary a lot by hour

The "London open" is not a single instant across instruments either, so if you trade more than one symbol with this strategy, verify the window separately for each rather than assuming it transfers.

The check that catches it

Add the strategy to a chart, open the List of Trades, and look at the entry times. Are they in the window you intended? This takes ten seconds and it is the only reliable way to confirm the session filter is doing what you think — part of the broader trade-list audit in reading the Strategy Tester.

If the times are wrong, nothing downstream is worth analysing: a session strategy trading the wrong hours is not a mistuned strategy, it is a different one.

Frequently Asked Questions

Yes. Use marketSession (London window) plus a breakout engine — a Bollinger band break, an MA price cross or a Donchian channel break. Demo → Editor → Tester.

Yes. Donchian channel is one of the 47 indicator types. This playbook uses Bollinger or MA to keep the rule set small. See Bollinger playbook · MA playbook.

H1 EURUSD; Step 4 London session active; Step 3 Bollinger 20/2 breakout or price cross of EMA 20; Steps 5 and 6: ATR stop and % of equity risk. Market session filter · Pine risk.

No. Filters are Step 4, separate from the Step 3 indicators. This playbook often uses one indicator (BB or MA).

The sessions in Step 4, “Market sessions”, are London, New York, Tokyo and Sydney, each in its own city’s time zone (summer time is handled for you). For other hours, add a time window.

London session breakout EA — logic may differ on MT5; Pine path stays MA/BB + session.