- Strategy
- Records the high and low of the first N minutes after the New York open, then places a buy stop above and a sell stop below that range. The first fill cancels the other order and any open trade is closed at the exit time.
- Risk model
- 1% of balance per trade (configurable), stop-loss inside or beyond the opening range on every order, one position and one setup per day
What it does
The first minutes after the New York cash open are often among the most active of the day for US indices, the dollar and gold. NY Opening Range EA measures the high and low of that opening period and trades a breakout from it, then exits by a fixed time so no trade is held overnight.
How it works
Times are entered in GMT and converted with the server offset input. The default 13:30 GMT matches the 09:30 New York stock open during US daylight time; use 14:30 GMT in US winter.
- Range: the high and low of the M1 bars from the open to open + 30 minutes. At least half of those minutes must have M1 bars.
- Range filter: 50 to 600 points.
- Orders: at the first chart bar after the range ends, a buy stop at range high + 10 points and a sell stop at range low − 10 points.
- Stops: at the opposite order's entry by default, or at the range midpoint. Target: 1.5 × the stop distance.
- One trade: a fill deletes the other order; if a gap fills both, the newer position is closed.
- Entry window: orders still unfilled 90 minutes after the range ends are deleted.
- Time exit: an open trade is closed at 19:30 GMT, or on the next day if it is still open then.
One setup is made per GMT day and the deal history is checked, so a restart does not add a second trade. The forex trading sessions lesson covers how the New York session overlaps with London.
How to use it
Use an M1 to M15 chart, preferably one shorter than the range length. Index CFDs and gold usually need wider point filters than EURUSD; check the typical opening range on your symbol first. Remember to update both the open hour and the server offset when US or broker clocks change. The Forex Market Hours tool helps you check the session times.
Settings
| Input | Default | What it changes |
|---|---|---|
| Server GMT offset | 2 | Converts GMT times to server time |
| NY open hour / minute (GMT) | 13 / 30 | Start of the opening range |
| Opening range length (minutes) | 30 | Range duration |
| Entry window (minutes) | 90 | Pending-order lifetime |
| Time exit / Exit time (GMT) | true / 19:30 | Forced exit |
| Min / Max range (points) | 50 / 600 | Range filter |
| Entry buffer (points) | 10 | Order distance beyond the range |
| Stop-loss placement | Opposite side | 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
US data releases often land shortly before or near the open and can produce sharp two-way moves that trigger an order and then hit its stop. Spreads can widen around the open. Daylight-saving changes in the US, UK and at your broker must be handled manually. Results vary strongly between symbols, so point-based filters need tuning for each one.
Before you run it live
Confirm the server offset and open time, then test it in the Strategy Tester with real-tick data, since stop-order fills depend on intrabar prices. Run it on a demo account through at least one clock change and keep the risk per trade small. Past behavior does not guarantee future results.

