The first move of a session can reverse before a trader has finished deciding how to enter. This opening-range model waits for a fixed observation period, freezes its high and low, then evaluates the first completed breakout. In plain language: draw the box first, consider a trade later, and stop looking when the deadline passes.
1. Separate the opening range from the overnight range
The existing London session strategy uses a pre-session range and a retest. Here the reference forms during the first 30 minutes after 08:00 Europe/London, and entry uses a later closed M5 breakout without waiting for a retest. This is a distinct test specification, not independent portfolio diversification. Forex has no single centralized opening auction that establishes these boundaries.
2. Write every deadline in London local time
On each eligible weekday, build during [08:00, 08:30). Consider only M5 closes from 08:35 through 09:25, inclusive. Order submission must occur before 09:30; at 11:00 request closure of any remaining position. These chosen times define this model, not universal Forex session hours. Verify that the broker is open and the required data exists.
Convert Europe/London to UTC and broker time separately for each date. London 08:00 corresponds to UTC 08:00 in winter and UTC 07:00 during British Summer Time. Do not reuse the current server offset for historical dates. MT4 bars carry opening timestamps; the table below deliberately labels closing times. The sessions and clock guide explains the mapping.
3. Freeze six completed Bid candles
Require valid, consecutive M5 Bid candles opening at 08:00, 08:05, 08:10, 08:15, 08:20 and 08:25. At 08:30 save U = max(High), L = min(Low) and W = U − L from those six candles only. Do not add a later breakout candle to the box. One EURUSD pip is 0.00010; the illustrative tick is 0.00001. Accept widths from 10 to 30 pips, inclusive; otherwise skip the day.
Before the session and again before entry, verify a current calendar with complete relevant EUR/USD event coverage. Skip the day if any selected high-impact event's exclusion [event − 15 minutes, event + 15 minutes) intersects [08:00, 11:00). Freeze provider, event families and impact definitions before testing; missing or unverified data blocks entry. The news-risk guide explains overlaps and surprises. This filter cannot remove unscheduled news.
4. Use the first outside close once
After the range closes, find the first eligible M5 close strictly above U or below L. That candle C consumes the day's single candidate across both directions, even if a later check fails. BUY requires a bullish C and 0 < C_close − U ≤ 0.25 × W. SELL requires a bearish C and 0 < L − C_close ≤ 0.25 × W. A close exactly on a boundary or an outside wick with an inside close is not a candidate.
If the first outside close is too extended, has the wrong candle direction, or cannot be processed from reliable uninterrupted history, skip the rest of the day. Do not search for a prettier second breakout or reverse after a loss. This deliberately restrictive rule makes rejected candidates visible in the test. It does not make the first signal more reliable.
5. Check the next executable quote
Inspect the first received tradable quote after C closes, within 15 seconds, with own-symbol receipt age at most 2 seconds on verified clocks. Require Bid < Ask, spread no greater than both 2 pips and 0.10 × W, and abs(Bid − C_close) ≤ 0.10 × W. Bid must remain above U for BUY or below L for SELL. Submission at or after 09:30 fails. One failed check ends the day; do not wait for a better quote.
BUY uses Ask and SELL uses Bid. A chart's Bid close is not a guaranteed fill. Require no open EURUSD position or pending EURUSD order in the account. Check aggregate exposure, permission, margin, contract values, tick grid and permitted volume. Initial protection must be valid with the order; otherwise do not open. A failed or uncertain response still uses the day's attempt: reconcile actual broker orders and positions before another action. The EA session/news filter guide separates entry permission from existing-position management.
6. Fix the stop, target and reward test before sending
For BUY, use Bid-side S = L − 0.00010 and T = U + 2 × W. Round both down to valid ticks. For SELL, use Ask-side S = U + 0.00010 + 0.00020 and T = L − 2 × W + 0.00020; round both up. The short-side 2-pip conversion is a declared allowance, not historical Ask reconstruction or a forecast of spread. It makes the two directions mechanically different.
From the executable quote, calculate positive price risk dSL and positive reward dTP in pips. Require dTP / dSL ≥ 1.25 after rounding and valid broker distances; otherwise skip. For BUY measure Ask to S and T; for SELL measure Bid to S and T. The spread is already inside these distances. Do not tighten the stop or move the target to rescue a failed ratio.
Choose volume from the estimated loss including additional adverse execution and fees. After a confirmed fill, recheck the same fixed S/T, the ratio and the budget against the actual entry. Missing protection or a failed constraint requests closure at the next executable quote and is recorded with its costs. Keep accepted protection during reconciliation; never assume a requested close has filled. A budget is not a guaranteed maximum loss.
7. Follow one simple invented BUY example
The table contains invented EURUSD M5 Bid candles. Every time is a London closing time; C opens at 08:30 and closes at 08:35. Assume all date conversions, news, permissions and broker constraints pass. The first six candles give U = 1.10100, L = 1.10000 and W = 10 pips. C closes 1 pip above U, within the 2.5-pip extension limit.
| London close | Bid open | Bid high | Bid low | Bid close |
|---|---|---|---|---|
| 08:05 | 1.10040 | 1.10080 | 1.10020 | 1.10060 |
| 08:10 | 1.10060 | 1.10100 | 1.10040 | 1.10090 |
| 08:15 | 1.10090 | 1.10095 | 1.10030 | 1.10050 |
| 08:20 | 1.10050 | 1.10070 | 1.10000 | 1.10020 |
| 08:25 | 1.10020 | 1.10065 | 1.10010 | 1.10050 |
| 08:30 | 1.10050 | 1.10090 | 1.10040 | 1.10080 |
| 08:35 C | 1.10080 | 1.10120 | 1.10070 | 1.10110 |
Assume the first fresh quote arrives at 08:35:01 with Bid 1.10110 / Ask 1.10120, and the BUY fills at that Ask. The 1-pip spread passes the tighter width-based cap. S = 1.09990 and T = 1.10300 give 13 pips of risk and 18 pips of reward: 18 / 13 ≈ 1.38, above 1.25. The later outcome is intentionally absent.
A visually attractive breakout can still be ineligible. With the same Bid but Ask 1.10130, spread is 2 pips: it passes the absolute cap but exceeds 0.10 × W = 1 pip. Skip instead of pretending the fill occurred at C's close. If price later returns into the box, that does not retroactively invalidate an entry that met the rules; its exit follows the fixed management policy below.
8. Keep the money example separate from the chart
Suppose the account has $10,000 equity and the illustrative planned budget is $50, or 0.5%. With the stated costs, 0.34 lots estimates $49.98 loss. The useful habit is to calculate the volume after the stop is known, then round down. A small-looking box does not justify rounding up or increasing correlated EUR/USD exposure.
Show the exact costs, lot rounding and gross/net comparison
Assume a USD account, 100,000 EUR per lot, pip value V = $10 per lot, total extra adverse execution s = 1 pip, round-turn commission c = $7 per lot and financing reserve f = $0. Fees scale linearly without a minimum. Use Loss1 = (dSL + s) × V + c + f. Here (13 + 1) × $10 + $7 = $147 per lot. Do not add spread a second time.
With minimum and step both 0.01 lot, floor(($50 / $147) / 0.01) × 0.01 = 0.34 lots. Thus 0.34 × $147 = $49.98; 0.35 lots would estimate $51.45 and fail the budget. If the minimum lot is too large, skip. Verify current account-currency pip value and the actual fee schedule; see trading costs and account risk.
Only if the target later filled exactly at 1.10300, hypothetical profit after the assumed commission would be 0.34 × (18 × $10 − $7) = $58.82, before other costs. Against estimated loss $49.98, that is about 1.18, below the gross 1.38. Neither number is expectancy or a promised outcome. Gaps, worse fills and changing charges can exceed the estimate.
9. Manage the fixed plan through failure
After entry, keep the accepted S and T fixed: no trailing, break-even move, partial exit or averaging. A later close back inside the box is a possible failed breakout, but is not an extra exit in this baseline. Exit on actual protection fills or request closure at the first tradable quote at or after 11:00 London. Reconcile any earlier fill first. Connection gaps do not extend the deadline; actual execution can still be delayed.
If required price, clock or calendar data becomes invalid while open, or a newly selected event exclusion intersects the remaining planned holding period, retain accepted protection and request closure when execution is available. Block further entries. Reconcile state after restarts; never infer that a drawn stop or a sent request is an executed exit. Broker protection and a terminal-dependent time exit are different mechanisms.
10. Test the sequence and include the rejected days
Replay information in time order: six completed candles, first outside close, next quote, request, broker response and exits. Use historical Bid/Ask ticks for quote-side triggers; a fixed short-side allowance is not Ask history. If OHLC cannot determine stop/target order, use finer data or mark the case unresolved under a declared conservative rule. MT4 modeled ticks are not automatically original tick records. See responsible EA backtesting.
Keep a later chronological evaluation period and forward demo checks. Include no-trade days, news blocks, stale quotes, wrong-direction first breaks, rejected orders and post-fill aborts. Stress costs, range widths, deadlines and seasonal clock changes without reporting only the best variant. Compare against the pre-session/retest model as a separate system; measure net outcomes, drawdown, losing sequences and shared currency exposure. No edge has been established here.
- The date's London/UTC/server mapping is verified.
- Six complete M5 candles fix the range before any signal.
- Width and the complete news policy pass.
- The first outside close satisfies direction and extension.
- The first quote passes age, spread and displacement limits.
- Fixed protection, gross ratio, costs, volume and margin pass.
- No existing exposure or used daily attempt blocks submission.
- Actual fills, faults and the time-exit deadline will be reconciled.
11. Opening-range breakout questions
Why wait until the first 30 minutes have ended?
The range must be known before its later breakout can be judged. Using its eventual high or low earlier would introduce future information. The chosen observation period still needs testing; waiting does not establish an edge.
Does a narrow opening range predict a large move?
No. It only measures the chosen completed window. Costs can dominate a narrow box, and a wide one can leave poor entry economics. The width limits are test choices, not a forecast.
Can I wait for a retest after rejecting the first quote?
That changes this baseline. Its single candidate ends after a failed entry check. Test a retest version separately, with its own expiry and price rules; do not choose the version after seeing the outcome.
Why can the net ratio be lower than the entry threshold?
The threshold uses price distances before commission and extra execution costs. The money example includes those costs. A passing gross ratio neither guarantees the same net ratio nor proves positive expectancy.
12. References and limits
GOV.UK verifies the UK clock convention; MetaQuotes OrderSend documents entry quotes and order constraints. Neither source endorses these opening-range rules or their profitability. The time windows, width caps, one-candidate policy and price levels are authored research choices.
Forex and leveraged trading involve substantial risk. This material is educational, not investment advice. Past or simulated results do not guarantee future performance.