- Strategy
- Measures the high and low of the Asian session, then places a buy stop above the high and a sell stop below the low for the London morning. The first order to fill cancels the other; unfilled orders are deleted when the entry window closes.
- Risk model
- 1% of balance per trade (configurable), stop-loss at the opposite side of the range on every order, one position and one setup per day
What it does
Many currency pairs drift in a narrow band during the Asian session and then move more once Europe opens. Asian Range Breakout EA records that overnight band and puts stop orders on both sides of it, so whichever way London breaks the range, the EA is positioned once.
How it works
All session times are entered in GMT, and the server offset input converts them to your broker's clock.
- Range: the high and low of the M1 bars from 00:00 to 07:00 GMT. A setup needs at least 60 M1 bars, so thin or holiday sessions are skipped.
- Range filter: the range must be between 100 and 700 points (10–70 pips on a 5-digit EURUSD quote).
- Orders: at the first bar after 07:00 GMT, a buy stop at range high + 20 points and a sell stop at range low − 20 points.
- Stops: each order's stop-loss sits at the other order's entry, so the risk is the full range plus both buffers. Target: 1.0 × that distance.
- One trade: when one order fills, the other is deleted at once. If a gap fills both, the newer position is closed.
- Expiry: unfilled orders are deleted at 11:00 GMT. An open trade is closed at 20:00 GMT (or the next day if it is still open).
Only one setup is made per GMT day, and the EA checks its deal history so a restart does not create a second trade that day. Read about the forex trading sessions and check overlaps on the Forex Market Hours tool.
How to use it
EURUSD, GBPUSD and EURJPY are typical candidates because their activity rises sharply at the London open. Use an M5 to M30 chart; the range is always measured from M1 data. The key step is the server offset: many brokers run at GMT+2 in winter and GMT+3 in summer, so update it when clocks change.
Settings
| Input | Default | What it changes |
|---|---|---|
| Server GMT offset | 2 | Converts GMT hours to server time |
| Asian start / end (GMT) | 0 / 7 | Range window |
| Entry window end (GMT) | 11 | Pending orders deleted after this |
| Close at hour / Close hour (GMT) | true / 20 | End-of-day exit |
| Min / Max range (points) | 100 / 700 | Range filter |
| Min M1 bars in range | 60 | Data quality check |
| Entry buffer (points) | 20 | Order distance beyond the range |
| Reward:risk target | 1.0 | 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
London often makes a false break of the Asian range before moving the other way, and the stop at the opposite side makes those losses wide. Point-based range limits must be adjusted for other symbols, such as gold or JPY pairs. A wrong server offset shifts every window and changes the strategy entirely. Daylight-saving changes are not detected automatically.
Before you run it live
Confirm your broker's GMT offset, then test it in the Strategy Tester with real-tick data across summer and winter months, and run it on a demo account. Check spreads at 07:00 GMT, which can be wider than later in the morning. Keep the risk per trade small. Past behavior does not guarantee future results.

