ForexBestRobots.comCompare EAs →
EN

SMC price-zone strategies · Forex strategy

Break of Structure Forex Strategy: Confirmed H1 Swings and Next-Bar Acceptance

A Forex BOS continuation model using confirmed H1 swings, a fixed snapshot, the first closed break and next-bar acceptance, with explicit expiry and net costs.

Original BOS continuation baseline: confirmed H1 pivots, fixed UTC snapshot, first break and next-bar acceptance. Fictional geometry and accounting; no performance claim.
Original BOS continuation baseline: confirmed H1 pivots, fixed UTC snapshot, first break and next-bar acceptance. Fictional geometry and accounting; no performance claim.

A close through a swing high is not the same decision as a later candle holding above it. This original H1 continuation baseline freezes an already confirmed four-pivot structure at one UTC snapshot, selects the first subsequent buffered break, then gives exactly the next candle one chance to show acceptance. It does not wait for a retest. Fictional candles and a dependent SELL mirror make the timing, rejection and cost rules reproducible; no historical profitability is supplied.

1. Define continuation as a local price hypothesis

Here BOS means a completed close beyond a fixed confirmed swing in the direction of the defined higher-high/higher-low or lower-high/lower-low structure. This is a local continuation hypothesis, not proof that a larger trend will persist or that institutional orders caused the move. A coincident FVG is a dependent price observation, not another independent vote.

Use one EURUSD Bid feed and ordinary UTC-aligned H1 candles. Assume pip=0.0001; point=tick=0.00001; contract=EUR100,000/lot; account=USD and verify actual specifications. This model uses no D1 EMA, six-bar consolidation, sweep, Inside Bar or retest entry. Its distinguishing decision is whether the candle immediately after the first break holds entirely beyond the buffered level.

2. Confirm each pivot before using its centre

For centre k, a low must satisfy Low[k]<min(Low[k−2],Low[k−1],Low[k+1],Low[k+2]); a high requires High[k]>max(High[k−2],High[k−1],High[k+1],High[k+2]). Equality fails. Exclude a centre satisfying both types. The point is usable only after k+2 has closed and its required data are available, never at the centre timestamp.

Process points in chronological confirmation order. Append an opposite type; for consecutive points of one type keep the more extreme, retaining the earlier point on equal price. This compression is allowed only before the snapshot. The last four resulting points become P1,P2,P3,P4. Do not revise their identities once frozen. Two complete right-hand H1 bars mean a two-hour delay in this uninterrupted fictional feed.

The complete 24-bar fictional reference has four known alternating pivots. Their centres are not the times they become usable; the final two reference bars cannot yet be pivot centres.
The complete 24-bar fictional reference has four known alternating pivots. Their centres are not the times they become usable; the final two reference bars cannot yet be pivot centres. On small screens, scroll the chart horizontally to keep labels readable.

3. Take one fixed UTC snapshot and retain the first identity

On each Monday–Friday UTC date, inspect only the 08:00 UTC snapshot. Use the 24 consecutive completed H1 bars ending then; pivot centres need both left and both right bars inside that window. The first own-symbol observation and complete history must be available before 08:00:30 UTC, excluded. Missing data or unreliable UTC mapping disables the date without a later catch-up snapshot.

At the scheduled snapshot, use only the last four known alternating points, with 0≤(T_snapshot−T_confirm_P4)/hour≤5. Persist P4’s type and centre-time identity as consumed before further eligibility checks; an already consumed P4 cannot be reused on another date. Reject a protected-P3 touch after its centre, a projected-target reach after P4’s centre, or any post-P4 close already beyond the buffered break threshold through the snapshot. The snapshot candle cannot supply a later break. Require no EURUSD position or pending EURUSD order anywhere in the account.

P1, P2, P3 and P4 each need two later completed H1 candles. P4 closes at 02:00 UTC, becomes known at 04:00 UTC and is frozen at the later 08:00 UTC snapshot.
P1, P2, P3 and P4 each need two later completed H1 candles. P4 closes at 02:00 UTC, becomes known at 04:00 UTC and is frozen at the later 08:00 UTC snapshot. On small screens, scroll the chart horizontally to keep labels readable.

4. Freeze the trend geometry, stop and measured target

BUY needs types(P1..P4)=low,high,low,high, with P3−P1≥5 pip; P4−P2≥5 pip. Each adjacent centre spacing must be 3≤gap_bars≤8. Set K=P4; X=P3; H=K−X; 30≤H/pip≤80. SELL mirrors the types and price inequalities. These thresholds are declared research choices, not optimised or universal settings.

For BUY freeze SL_Bid=X−2 pip; TP_Bid=K+2×H−2 pip. The fixture gives P1=1.09600; P2=1.10200; P3=1.09800; P4=1.10400, so K=1.10400; X=1.09800; H=60 pip; SL_Bid=1.09780; TP_Bid=1.11580. The two-leg projection is chosen before the quote; it is neither a price magnet nor a target that may be moved to rescue a weak ratio.

5. Select the first later close through the buffer

The only break closes are 09:00,10:00,11:00 UTC. BUY selects the first completed close Close(B)>K+1 pip. Require that first break to be bullish and no more than six pips beyond K: Close(B)>Open(B); Close(B)−K≤6 pip. Equality at the break threshold waits; equality at the extension cap passes. A first strict break failing a further condition permanently consumes the date.

From the snapshot until submission, cancel BUY on observed Bid≤X or Bid≥TP_Bid, including completed-bar extrema and already observed forming-bar quotes. Missing required intervals cancel rather than extend the three-close window. The example B closes at 09:00 UTC; Open=1.10280; High=1.10460; Low=1.10240; Close=1.10430. Its formation low may be below the future acceptance floor; that floor starts only after B closes.

6. Give exactly the next candle one acceptance test

A is exactly the next consecutive H1 candle after B. For BUY require Low(A)>K+1 pip; Close(A)>Open(A); Close(A)>Close(B); Close(A)−K≤10 pip. From B’s close through submission, any observed Bid≤K+1 pip cancels, including A’s low and the forming-bar observations at the quote. Equality fails; vetoes are evaluated before attractive closing conditions. This is an entire-bar hold, not a required touch or return.

In the fixture A closes at 10:00 UTC; Open=1.10430; High=1.10490; Low=1.10420; Close=1.10460. Its low remains strictly above K+1 pip=1.10410, and its close is six pips beyond K. A wick to the floor followed by recovery would fail. If the immediately next candle fails or is missing, do not wait for a third candle. A break at the last permitted close would have its sole acceptance close at 12:00 UTC.

B creates the first buffered break at 09:00 UTC. Only the immediately next A can establish acceptance at 10:00 UTC. B’s formation low is not tested against a floor that starts after its close.
B creates the first buffered break at 09:00 UTC. Only the immediately next A can establish acceptance at 10:00 UTC. B’s formation low is not tested against a floor that starts after its close. On small screens, scroll the chart horizontally to keep labels readable.

7. Mirror SELL while keeping Ask protection explicit

SELL needs types(P1..P4)=high,low,high,low; P1−P3≥5 pip; P2−P4≥5 pip. Keep the same centre spacing and age bounds; set K=P4; X=P3; H=X−K; 30≤H/pip≤80. Freeze SL_Ask=X+2 pip; TP_Ask=K−2×H+2 pip. Before entry cancel on Bid≥X or Bid≤TP_Ask. These are Bid-side hypothesis vetoes, not proof that an Ask order executed.

The first later bearish break must have Close(B)<K−1 pip; K−Close(B)≤6 pip. Its next candle requires High(A)<K−1 pip; Close(A)<Open(A); Close(A)<Close(B); K−Close(A)≤10 pip; post-B Bid at or above that ceiling cancels. SELL opens at Bid and exits on Ask. The dependent transformation p′=2.20000−p swaps Bid high/low, yielding K=1.09600; X=1.10200; SL_Ask=1.10220; TP_Ask=1.08420. Swap Bid/Ask separately when mirroring paired quotes; neither mirror reconstructs real historical Ask extrema.

The dependent SELL transformation reverses the swing structure and candle prices. The paired quote swaps Bid and Ask separately; protective exits use Ask, not mirrored Bid extrema.
The dependent SELL transformation reverses the swing structure and candle prices. The paired quote swaps Bid and Ask separately; protective exits use Ask, not mirrored Bid extrema. On small screens, scroll the chart horizontally to keep labels readable.

8. Inspect the first quote after acceptance becomes available

Use the first own-symbol paired quote after complete A data become available, strictly after A’s scheduled close. Require A_close<t_quote≤t_submit<A_close+30 seconds and 0≤t_submit−t_quote≤2 seconds on verified clocks. A missed first quote or unverified ordering rejects the date. Require tradable positive Bid below Ask, spread≤1.5 pip; abs(Bid−Close(A))≤1 pip, and all post-break and target vetoes still clear. No later quote may repair a rejection.

BUY uses the quoted Ask and SELL the quoted Bid. The original first quote is 10:00:01 UTC; Bid=1.10460; Ask=1.10470. 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=69 pip; dTP=111 pip; Loss1=$707; Reward1=$1093; R_net=1093/707≈1.5460. 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 confirmed acceptance cannot override a failed net ratio.

The original quote passes the net ratio. A different first quote meets spread and drift limits but fails net costs. Equality at the exact executable-price boundary is accepted.
The original quote passes the net ratio. A different first quote meets spread and drift limits but fails net costs. Equality at the exact executable-price boundary is accepted. On small screens, scroll the chart horizontally to keep labels readable.

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.07 lot. Planned loss is 0.07×707=$49.49 and planned target reward 0.07×1093=$76.51. The next step 0.08×707=$56.56 exceeds budget. Below-minimum volume means skip.

As an alternative first quote, Bid=1.10470; Ask=1.10485 passes spread and Bid-drift caps but gives Loss1=$722; Reward1=$1078; 1078/722≈1.49307<1.50. Reject the day without moving the stop or target. With the original prices and costs, Bid=1.10470; Ask=1.10483 gives exactly 1080/720=1.50; the next tick Ask=1.10484 fails. These are alternative arithmetic cases, not later quotes the model may select.

The fixed account budget rounds down to 0.07 lot. The next volume step exceeds it. Actual-fill review replaces the entry reserve while retaining exit reserve and commission.
The fixed account budget rounds down to 0.07 lot. The next volume step exceeds it. Actual-fill review replaces the entry reserve while retaining exit reserve and commission. On small screens, scroll the chart horizontally to keep labels readable.

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 fixed protection and the original exit clock

Retain the original SL/TP with no trailing, break-even move, partial exit, averaging or automatic reversal. A confirmed earlier protective fill takes priority. Otherwise request full closure on the first tradable quote at or after deadline=min(A_close+4 hours,16:00 UTC) on the setup date: Bid for BUY, Ask for SELL. The example A closes at ten, so its deadline is 14:00 UTC; an acceptance close at twelve gives 16:00 UTC. Neither the quote time nor an outage moves these clocks. The pre-entry hold 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.

One snapshot, one first break and exactly one acceptance candle. The exit clock is anchored to A’s scheduled close, not to the fill or a later recovery.
One snapshot, one first break and exactly one acceptance candle. The exit clock is anchored to A’s scheduled close, not to the fill or a later recovery. On small screens, scroll the chart horizontally to keep labels readable.

13. Reproduce the complete fictional H1 sequence

The table and first CSV supply 24 reference H1 bars from the preceding UTC morning to the snapshot, plus B and A. The CSV also provides their 26-bar deterministic SELL mirror: 52 rows, not 52 independent observations. The second CSV contains the accepted quote, a rejected alternative and the dependent mirrored quote. No future exit path, historical sample or broker fill report is supplied.

Assume the BUY is filled exactly at quoted Ask=1.10470; V=0.07 lot only to illustrate accounting. A stop filled exactly at Bid=1.09780 produces a price loss of $48.30, plus $0.49 commission: $48.79 before additional slippage or charges. An exact target at Bid=1.11580 instead gives $77.70−$0.49=$77.21. These are mutually exclusive hypothetical outcomes, not the allowance-adjusted planning estimates or actual results. No future exit path is supplied.

Download the 26 fictional H1 bars and dependent SELL mirror (CSV)

Download the three paired-quote arithmetic cases (CSV)

BarTimeframeOpen UTCClose UTCOpenHighLowClose
b0H12026-10-20 08:002026-10-20 09:001.099001.099401.098201.09850
b1H12026-10-20 09:002026-10-20 10:001.098501.098801.097201.09750
b2H12026-10-20 10:002026-10-20 11:001.097501.097801.096501.09690
b3H12026-10-20 11:002026-10-20 12:001.096901.097201.096001.09650
b4H12026-10-20 12:002026-10-20 13:001.096501.098001.096301.09770
b5H12026-10-20 13:002026-10-20 14:001.097701.099001.097401.09870
b6H12026-10-20 14:002026-10-20 15:001.098701.100801.098401.10050
b7H12026-10-20 15:002026-10-20 16:001.100501.102001.100201.10160
b8H12026-10-20 16:002026-10-20 17:001.101601.101801.100601.10100
b9H12026-10-20 17:002026-10-20 18:001.101001.101201.099801.10020
b10H12026-10-20 18:002026-10-20 19:001.100201.100501.099001.09940
b11H12026-10-20 19:002026-10-20 20:001.099401.099701.098401.09880
b12H12026-10-20 20:002026-10-20 21:001.098801.099201.098001.09850
b13H12026-10-20 21:002026-10-20 22:001.098501.100001.098301.09960
b14H12026-10-20 22:002026-10-20 23:001.099601.101201.099201.10080
b15H12026-10-20 23:002026-10-21 00:001.100801.102601.100401.10220
b16H12026-10-21 00:002026-10-21 01:001.102201.103401.101801.10300
b17H12026-10-21 01:002026-10-21 02:001.103001.104001.102601.10360
b18H12026-10-21 02:002026-10-21 03:001.103601.103801.103001.10330
b19H12026-10-21 03:002026-10-21 04:001.103301.103501.102801.10310
b20H12026-10-21 04:002026-10-21 05:001.103101.103301.102601.10290
b21H12026-10-21 05:002026-10-21 06:001.102901.103101.102401.10270
b22H12026-10-21 06:002026-10-21 07:001.102701.102901.102201.10250
b23H12026-10-21 07:002026-10-21 08:001.102501.103001.102301.10280
BH12026-10-21 08:002026-10-21 09:001.102801.104601.102401.10430
AH12026-10-21 09:002026-10-21 10:001.104301.104901.104201.10460

14. Retain failed acceptance and refuse a newer protective pivot

In a separate counterexample, let the next candle have Low(A)=1.10410 and an otherwise attractive bullish close. Equality at the fixed floor rejects the date. A better-looking close at 11:00 UTC cannot become a replacement acceptance candle. An earlier break in the snapshot candle is also rejected rather than relabelled as the first later signal.

The supplied b22 low of 1.10220 becomes a confirmed new pivot only after B closes at 09:00 UTC. It was unavailable at the snapshot and cannot replace the frozen P3. The original stop stays 1.09780; moving it to 1.10200 would create a different, tighter-risk model. Keep the consumed P4 identity across restarts and dates, even if a later chart looks like a continuation again.

An alternative A low exactly at 1.10410 fails the strict hold despite a bullish close. A later attractive candle cannot replace it or restore the consumed candidate.
An alternative A low exactly at 1.10410 fails the strict hold despite a bullish close. A later attractive candle cannot replace it or restore the consumed candidate. On small screens, scroll the chart horizontally to keep labels readable.

15. Replay availability and keep all rejected observations

Record the UTC window, every detected point’s centre and confirmation time, compression decisions, the last-four identities, P4 consumption, snapshot readiness and all prior-break checks. Then record B, the immediately next A, each veto, first quote, receipt/submission times, frozen exits, volume and actual request outcome. Do not count four pivots or several timeframes as independent market evidence.

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. Evaluate this frozen continuation model before adding filters

Fix pivot strictness, 24-bar history, snapshot timing, six-close recency, trend increments, centre spacing, leg width, three break closes, one acceptance bar, buffers, target projection and costs before studying outcomes. Compare variants on common dates and reserve later chronological data. Count missing, rejected, expired, missed and aborted cases alongside fills. A shorter stop chosen after seeing the new pivot changes both selection and risk.

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

When is a marked H1 pivot actually usable?

Only after both right-hand candles close and their data are available. A centre timestamp is not a confirmation timestamp.

Can the snapshot candle be the first later break?

No. The 08:00 UTC snapshot only freezes known structure; an already observed buffered break rejects that candidate.

Must acceptance retest the broken level?

No. The entire next candle must stay beyond the buffer. An exact touch fails even when the close recovers.

Can a new pivot tighten the original stop?

No. Later confirmation cannot replace the frozen protected P3 in this baseline. Such a change needs its own model and evaluation.

Is the planned $49.49 loss guaranteed?

No. It includes stated reserves and linear fees. Gaps, protection failure, slippage or delayed closure may exceed the budget.

Does the bearish mirror prove SELL fills?

No. It is a dependent transformation. Actual SELL protection and exits require the relevant Ask evidence and broker records.

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.

Educational strategy specification. Fictional bars, dependent mirror and hypothetical accounting; no ready-to-run EA, historical backtest or measured profitability.