- Strategy
- Builds the high-low range of the hours before London opens, then buys the first bar that closes above it or sells the first bar that closes below it during the early London session. It takes at most one trade per day.
- Risk model
- 1% of balance per trade (configurable), stop-loss at the range midpoint or opposite side on every order, one trade per day
What it does
London Breakout EA trades the first decisive move of the European morning. It marks the range formed in the quiet hours just before London opens and waits for a bar to close outside it. Unlike a pending-order bracket, it needs a closed candle beyond the range, which filters out brief spikes.
How it works
Session hours are entered in GMT and converted with the server offset input.
- Range: the high and low of the M1 bars from 04:00 to 07:00 GMT, built once per day. At least 60 M1 bars are required.
- Range filter: 80 to 600 points; days outside this are skipped and logged.
- Entry window: the signal bar must open between 07:00 and 10:00 GMT.
- Buy: a chart bar closes above range high + 10 points. Sell: a bar closes below range low − 10 points. Entry is at market on the next bar.
- Stop-loss: the range midpoint by default, or the opposite side of the range (plus the buffer).
- Take-profit: 1.5 × the stop distance.
- One trade per day: after a trade opens, no further signals are taken that GMT day, even if the first one is stopped out. Deal history is checked so restarts respect this rule.
- Exit: any open trade is closed at 16:00 GMT, or on the next day if it is still open.
The forex trading sessions lesson explains why liquidity rises at the London open, and liquidity covers why that matters for breakouts.
How to use it
Run it on M5 to M30 charts of pairs that are active in Europe, such as EURUSD, GBPUSD and EURGBP. A midpoint stop gives smaller losses and larger position sizes; the opposite-side stop gives more room. Update the server offset whenever your broker or the UK changes clocks; use the Forex Sessions tool to check timings.
Settings
| Input | Default | What it changes |
|---|---|---|
| Server GMT offset | 2 | Converts GMT hours to server time |
| Range start / end (GMT) | 4 / 7 | Pre-London window |
| Entry window end (GMT) | 10 | Last hour for new trades |
| Close at hour / Close hour (GMT) | true / 16 | Session exit |
| Min / Max range (points) | 80 / 600 | Range filter |
| Min M1 bars in range | 60 | Data quality check |
| Breakout buffer (points) | 10 | Confirmation distance |
| Stop-loss placement | Midpoint | Stop location |
| Reward:risk target | 1.5 | Take-profit, 0 disables it |
| Risk per trade / Fixed lots | 1.0% / 0 | Position sizing |
| Max spread (points) | 30 | Spread filter |
| Break-even / Trailing | on / off | Stop management |
Limitations
Waiting for a close means entering later, sometimes after much of the move. False breaks still happen, and with one trade per day a failed first breakout ends the day even if a real move follows. The point-based filters need adjusting for symbols other than major pairs. Daylight-saving shifts must be handled manually through the offset.
Before you run it live
Check your broker's GMT offset, test the EA in the Strategy Tester with real-tick data over both summer and winter periods, and run it on a demo account before using real money. Keep risk per trade modest. Past behavior does not guarantee future results.

