A wick beyond a familiar boundary is only the beginning of this reversal hypothesis. This original baseline separates a completed H1 sweep from a later M15 break of a level fixed before the sweep, then requires the first subsequent retest. Every stage has its own deadline and rejection rules. One fictional morning and its dependent bearish mirror explain the mechanics; they supply no historical performance or evidence of a profitable edge.
1. Define a reversal hypothesis without inferring hidden orders
Here a sweep means a measured boundary excursion followed by a completed close back inside. Bid candles cannot reveal whose stops traded, institutional inventory or the cause of the move. The later structure break and retest are additional selection rules, not independent evidence that a reversal must succeed. Persistent trends and renewed sweeps can defeat the whole sequence.
Use ordinary EURUSD Bid bars from one feed, aligned to the stated UTC intervals. The assumed units are pip=0.0001; point=tick=0.00001; contract=EUR100,000/lot; account=USD. Verify actual specifications. This is a distinct research baseline: no D1 midpoint, FVG, Order Block, indicator, news or discretionary session filter selects an entry. Its fixed UTC schedule is a test choice, not a claim about the best trading hour.
2. Freeze six H1 bars and one pre-sweep internal level
On each Monday–Friday UTC date, freeze the six complete intervals 00:00–06:00 UTC at their scheduled end. Let L=min(Low); U=max(High); W=U−L over those six bars; require 60≤W/pip≤160. Keep all bounds unchanged for that date. Missing intervals or an unreliable UTC mapping disable the day; do not substitute a nearby bar or an abbreviated session.
For BUY, set K=High(05:00–06:00 H1) and require 0.25≤(K−L)/W≤0.50. SELL instead uses that same bar’s low with 0.50≤(K−L)/W≤0.75. These are frozen internal range levels, not retrospectively confirmed swing pivots. In the original example, L=1.30000; U=1.31000; W=100 pip; K_BUY=1.30260. Broker labels must map exactly to UTC; rebuild aligned bars from adequate data or disable the model.
3. Evaluate only the scheduled H1 sweep
The sole sweep candidate S is 06:00–07:00 UTC. The day’s opportunity is consumed when S is evaluated, including a rejection or missing data. BUY requires 2≤(L−Low(S))/pip≤10; L<Close(S)<K; High(S)≤K. Thus the swept low is reclaimed, while S has not already passed the internal high. S need not have a bullish body. No other H1 candle replaces it that day.
Freeze X=Low(S); SL_Bid=X−1 pip; TP_Bid=U−1 pip for BUY. The fixture gives Low(S)=1.29960; High(S)=1.30250; Close(S)=1.30080, a four-pip sweep. Hence X=1.29960; SL_Bid=1.29950; TP_Bid=1.30990. Only after S closes at 07:00 UTC can this setup be recognised. Before recognition, verify no EURUSD position or pending EURUSD order exists anywhere in the account; otherwise consume the day.
4. Wait for a separately completed M15 break
The only confirmation closes are 07:15,07:30,07:45 UTC. BUY selects the first completed close satisfying Close(B)>K+1 pip. That first break must also be bullish, Close(B)>Open(B), with Close(B)−K≤8 pip. Equality at the one-pip break threshold does not qualify; equality at the eight-pip extension cap does. If a first break fails a further condition, reject it permanently rather than choose a later close.
Apply the pre-entry vetoes to every post-S observation through B before its close tests. If no break occurs at the three scheduled closes, expire. In the fictional case B closes at 07:15 UTC with Open=1.30080; High=1.30330; Low=1.30060; Close=1.30300. It closes four pips above K. B’s own crossing creates the break; it is not a later retest and creates no immediate entry permission.
5. Use only the first subsequent retest
After B, inspect exactly the next three consecutive M15 bars. For BUY the fixed retest band is [K−1 pip,K+1 pip]=[1.30250,1.30270]. The first bar whose Open≤K+1 pip or Low≤K+1 pip is the first encounter, including a gap opening below the band. Require Open(R)>K+1 pip; K−1 pip≤Low(R)≤K+1 pip; Close(R)>K+1 pip, a bullish body and Close(R)−K≤8 pip. A deep penetration or improper-side opening consumes the opportunity even if the close looks attractive.
The fixture’s N closes at 07:30 UTC with Low(N)=1.30290, so it is not a return. R closes at 07:45 UTC with Open=1.30320; High=1.30360; Low=1.30260; Close=1.30330. It is the first proper-side encounter and meets the close tests. If B were at the last confirmation close, the latest retest close would be 08:30 UTC. The third permitted retest close is included; absence of a valid first encounter expires the setup.
6. Give invalidation priority over either signal
From S’s close until submission, BUY cancels if any later observed Bid reaches Bid≤X or Bid≥TP_Bid. Apply the same bounds to completed post-S M15 extrema, including B, every waiting bar and R, and to already observed forming-bar quotes at submission. Equality cancels. A bar touching X and closing above the confirmation level is rejected without guessing which intrabar event came first.
Cancellation, an invalid first break, an invalid first retest, a bad first quote, expiry or required missing data are absorbing states for this UTC date. Later recovery cannot restore the original setup. Do not redraw X, K, the band or target. A new date needs its own complete six-bar reference and scheduled S; never carry an old candidate into it. Before a new day can trade, all old or uncertain exposure must also be reconciled.
7. Specify SELL and keep Ask-side exits explicit
SELL requires 2≤(High(S)−U)/pip≤10; K<Close(S)<U; Low(S)≥K, with K from the pre-S H1 low. Set X=High(S); SL_Ask=X+1 pip; TP_Ask=L+1 pip. Select the first later close Close(B)<K−1 pip, require a bearish body and K−Close(B)≤8 pip. Subsequent first encounter means Open≥K−1 pip or High≥K−1 pip; require a proper-side opening below the band, a high inside it, bearish close below it and the same eight-pip cap.
Before entry, SELL cancels on Bid≥X or Bid≤L+1 pip. The band remains [K−1 pip,K+1 pip]. SELL opens at Bid and exits on Ask; its frozen numeric protection levels are not a reconstruction of historical Ask extremes. The dependent transformation p′=2.61000−p exchanges Bid high/low and gives K_SELL=1.30740; X=1.31040; SL_Ask=1.31050; TP_Ask=1.30010. Its paired quote is separately mirrored by exchanging Bid and Ask; the chart mirror is not another independent market sample.
8. Inspect one first quote after the retest becomes known
Use the first own-symbol paired quote received after complete R data become available, strictly after R’s scheduled close. At submission require R_close<t_quote≤t_submit<R_close+15 seconds and 0≤t_submit−t_quote≤2 seconds on verified clocks. A missed first quote, unverified ordering or late readiness cancels; do not shop for a better quote. Require tradable positive Bid below Ask, spread≤1.5 pip; abs(Bid−Close(R))≤1 pip, and all pre-entry vetoes still clear.
BUY uses the quoted Ask and SELL the quoted Bid. The original first quote is 07:45:01 UTC; Bid=1.30330; Ask=1.30340. Check symbol permissions, tick alignment, minimum stop distances, volume limits, margin and available account risk. A zero reported minimum stop level does not guarantee acceptance. The baseline permits only a market request with both fixed protections attached and supported at opening; if the venue requires an unprotected opening followed by modification, skip.
9. Include both execution allowances before calculating the ratio
For this USD example assume pip_value=$10/pip/lot; commission=$7/lot round trip; entry_allowance=0.5 pip; exit_allowance=0.5 pip; financing_reserve=$0. Verify the actual tariff and holding charges; replace these declared inputs before testing. Let dSL and dTP be positive executable-side distances from the current entry quote to the fixed stop and target, in pips. Set Loss1=(dSL+1.0)×10+7; Reward1=(dTP−1.0)×10−7 and require positive estimates with Reward1/Loss1≥1.50, using full precision.
The accepted BUY quote gives dSL=39 pip; dTP=65 pip; Loss1=$407; Reward1=$633; R_net=633/407≈1.55528. Entry Ask to exit Bid already includes the spread effect; never add it again. The allowances are planning assumptions, not a cap on adverse execution. A nice gross ratio, a narrow quoted spread or a confirmed retest cannot override a failed net ratio.
10. Round down account risk and reject a worse quote
Use Budget=min(0.005×equity,max(0,0.01×equity−existingPlannedLoss)). Unknown existing account risk blocks entry; no EURUSD position or pending EURUSD order may exist. With equity=$10,000; existingPlannedLoss=$0; Budget=$50; min=step=0.01 lot, round down V=floor_step(Budget/Loss1,0.01)=0.12 lot. Planned loss is 0.12×407=$48.84 and planned target reward 0.12×633=$75.96. The next step 0.13×407=$52.91 exceeds budget. Below-minimum volume means skip.
As an alternative first quote, Bid=1.30340; Ask=1.30355 passes spread and Bid-drift caps but gives Loss1=$422; Reward1=$618; 618/422≈1.46445<1.50. Reject the day without moving the stop or target. With the original prices and costs, Ask=1.30349 gives exactly 624/416=1.50; the next tick Ask=1.30350 fails. These are alternative arithmetic cases, not later quotes the model may select.
11. Send once and reconcile the actual result
Persist the UTC-date candidate identity, all frozen levels and the consumed request slot before sending one protected entry request. A definitive rejection still consumes the day. An uncertain response is neither proof of failure nor permission to resend: block new exposure, inspect broker orders, deals and account state, and resolve that same request first. A restart restores the state and deadlines; it cannot create another attempt.
After a confirmed fill, verify both protections and actual size. Recompute loss and reward from the actual fill using only the remaining exit_allowance=0.5 pip; commission=$7/lot; financing_reserve=$0; the actual fill replaces the entry allowance, so do not count it twice. If adverse entry movement exceeds 0.5 pip, recomputed risk exceeds the saved budget, the net ratio falls below 1.50, or protection is absent or invalid, request full closure at the first tradable quote. Retain accepted protection until closure is confirmed. Log the abort and all costs; an uncertain close also requires reconciliation.
12. Keep the fixed exits and the UTC deadline
Otherwise retain the original SL and TP, with no trailing, break-even move, partial exit, averaging or automatic reversal. A confirmed earlier protective fill has priority. If the position remains open, request full closure at the first tradable quote at or after 10:00 UTC on the setup date: Bid for BUY and Ask for SELL. There is no extra candle-close or structural exit after entry. The pre-entry X veto is not an additional post-fill exit.
The scheduled deadline does not move during an outage. When quotes return, reconcile first and close any remaining model position as soon as execution is possible. If required monitoring or clock mapping becomes unreliable earlier, retain protection and request closure when possible. Standard protection, time exits, allowances and a planned account budget cannot guarantee a maximum realised loss.
13. Walk the original morning and its dependent mirror
The table combines six invented reference H1 bars, S and the later B–N–R M15 sequence. The first CSV additionally supplies the four M15 components of the last reference hour and the sweep hour, plus a deterministic bearish transformation. The second CSV contains the accepted paired quote, an alternative rejected quote and the dependent mirrored quote. None is historical tick evidence or a broker execution report.
Assume the BUY is filled exactly at quoted Ask=1.30340; V=0.12 lot only to illustrate accounting. A stop filled exactly at Bid=1.29950 produces a price loss of $46.80, plus $0.84 commission: $47.64 before additional slippage or charges. An exact target at Bid=1.30990 instead gives $78.00−$0.84=$77.16. These are mutually exclusive hypothetical outcomes, not the allowance-adjusted planning estimates or actual results. No future exit path is supplied.
Download the fictional H1/M15 bars and dependent bearish mirror (CSV)
Download the three paired-quote arithmetic cases (CSV)
| Bar | Timeframe | Open UTC | Close UTC | Open | High | Low | Close |
|---|---|---|---|---|---|---|---|
| H0 | H1 | 00:00 | 01:00 | 1.30500 | 1.31000 | 1.30400 | 1.30600 |
| H1 | H1 | 01:00 | 02:00 | 1.30600 | 1.30700 | 1.30300 | 1.30400 |
| H2 | H1 | 02:00 | 03:00 | 1.30400 | 1.30500 | 1.30000 | 1.30100 |
| H3 | H1 | 03:00 | 04:00 | 1.30100 | 1.30350 | 1.30080 | 1.30200 |
| H4 | H1 | 04:00 | 05:00 | 1.30200 | 1.30300 | 1.30100 | 1.30220 |
| H5 | H1 | 05:00 | 06:00 | 1.30220 | 1.30260 | 1.30090 | 1.30180 |
| S | H1 | 06:00 | 07:00 | 1.30180 | 1.30250 | 1.29960 | 1.30080 |
| B | M15 | 07:00 | 07:15 | 1.30080 | 1.30330 | 1.30060 | 1.30300 |
| N | M15 | 07:15 | 07:30 | 1.30300 | 1.30350 | 1.30290 | 1.30320 |
| R | M15 | 07:30 | 07:45 | 1.30320 | 1.30360 | 1.30260 | 1.30330 |
14. Retain a rejected first return and distinguish price-side evidence
In a separate counterexample, replace N with a first encounter opening at 1.30300, reaching Low=1.30240 and closing bullish at 1.30320. Its low is below the fixed band’s lower edge 1.30250: reject, even though X survives. A later otherwise valid R is research only; it cannot become a new first retest. This alternative is not an additional event inserted into the original CSV sequence.
For the mirror, the separately supplied paired quote is Bid=1.30660; Ask=1.30670. SELL price risk is 39 pip to the fixed Ask stop and potential price reward 65 pip to the fixed Ask target. A Bid chart cannot establish which Ask protection triggered first. A gap entirely across a band is not evidence of a proper-side retest; ambiguous event order or missing price-side data must remain flagged.
15. Replay every clock and keep the full denominator
Store UTC date, reference bars, K identity, S availability, frozen X/SL/TP, confirmation window, first break, retest window, first encounter, veto reason, first quote and both receipt/submission times. Add request identity, actual fills, protections, fees and exit confirmations only when they exist. Record invalid, expired, missed, rejected and aborted cases alongside accepted trades; do not report only attractive retests.
A historical implementation must establish which bars were complete at each decision. MT4 shift 0 is forming and bar labels are opening times; a nearest-bar lookup across a gap is not a missing-data repair. Reconstruct verified UTC intervals and use relevant historical Bid/Ask quotes to order intrabar events. OHLC alone cannot resolve a stop and target appearing in one bar. Mark ambiguity and run a separately labelled conservative sensitivity rather than selecting the favourable path.
16. Test the declared baseline before adding filters
Freeze the clocks, six-hour range, width and K fractions, sweep depth, three-plus-three windows, retest band, cost assumptions and daily slot before examining outcomes. Use common dates for any later variant and reserve a later chronological evaluation period. Neighbouring widths, buffers, hours and costs should be tested without selecting only the best result. The mirror and overlapping price conditions are dependent, not extra observations or independent votes.
Verify an implementation in forward demo, including gaps, rejected protection, restart recovery and uncertain replies. Report net expectancy, drawdown, losing streaks, non-entry counts and execution failures before considering practical use. The charts and exact arithmetic make this baseline reproducible; no backtest, win rate, measured expectancy or live recommendation is supplied. An added FVG, trend or news filter is a new version requiring a new untouched evaluation.
Frequently asked questions
Does a sweep prove that banks collected stops?
No. The definition uses quoted prices and a completed reclaim. It does not identify participants, executed volume or the cause of the move.
Can the H1 sweep also count as the M15 confirmation?
No. The setup becomes known after 07:00 UTC; confirmation is a separately completed later M15 bar against the pre-sweep K level.
Can a better second retest rescue a failed first one?
No. The first encounter consumes the day even when its depth, opening side, close or execution checks fail. Later recovery does not reset it.
Why does SELL require Ask evidence for exits?
SELL opens on Bid and closes on Ask. Bid OHLC and a current spread cannot reconstruct historical Ask triggers or prove an execution.
Is the illustrated $48.84 planned loss a guaranteed limit?
No. It includes stated allowances and linear fees. Gaps, larger slippage, failed protection or delayed closure can exceed the planned budget.
What happens after an uncertain entry response?
The model blocks another entry and reconciles the original request with broker and account records. It does not resend because a response was missing.
Official references and research scope
All entry rules, UTC windows, thresholds, fictional bars and diagrams are original declared research choices. The official references verify quote-side and order mechanics; they do not endorse the strategy or establish profitability.
- MetaTrader 4: order types, Bid/Ask and protective triggers
- MetaQuotes MQL4: market requests and broker constraints
Educational strategy specification. Fictional bars, dependent mirror and hypothetical accounting; no ready-to-run EA, historical backtest or measured profitability.