Order block + fair value gap self-test, 2026-10-23T10:35:43.053Z 1. Hand-made bars (from Monday 8 January 2024, prices in pips above 1.1000) A. the base buy: order block 12-17, gap 17-23 touching it -> entry 23, stop 16, target 37; aggressive: filled at 23 in bar 16, target in bar 17; conservative: shift = bar 17 closing above 25 -> entry at the open of bar 18 (37) [ok] setup at bar 14, origin 12, entry 1.1023, stop 1.1016, target 1.1037 [ok] aggressive: 1.1023 -> 1.1037 (target), 1.8571 R [ok] conservative: entry 1.1037 at the open of bar 18, target 1.1079; reference identical B. no gap touching the order block -> the order block is the zone: entry 17, stop 11, target 29 [ok] order-block entry 1.1017, 1.8333 R; reference identical C. a sweep closing back on its third bar (sweep low 12 on bar 12), a touching gap 15-16 and a higher one (17-23) not used; D. a breakdown (no close back above 15 within 3 bars): no buy [ok] setup at bar 15, entry 1.1016, 1.5000 R; reference identical [ok] breakdown: no buy setup; reference identical E. a new low (11.5) before the break of structure voids it; F. the break of structure after 36 bars: no buy; G. equal lows (bars 3 and 4): no swing low, no buy [ok] new low: no buy setup; reference identical [ok] break of structure 38 bars after the origin: no buy setup; reference identical [ok] equal lows: no buy setup; reference identical H. stop and target in the same minute: the stop is taken; I. a minute opening below the entry fills at its open (22.5), target unchanged [ok] stop first: -1.1429 R; reference identical [ok] fill at 1.10225, 2.0769 R; reference identical J. the weekend: a trade still open at the last minute before it closes there; K. no entry in the last hour before it (the fill comes after the weekend) [ok] exit at the weekend close 1.1024; reference identical [ok] bar 16 is inside the last hour: filled after the weekend at 1.1023; reference identical L. conservative: the stop (16) reached before the shift -> no trade; M. no close above 25 within 12 bars -> no trade; N. expiry: the zone reached 290 bars after the break -> no trade [ok] stop before the shift: no conservative trade (the aggressive one is stopped); reference identical [ok] no shift within 12 bars: no conservative trade; reference identical [ok] expired: no trade; reference identical O. a newer setup replaces an unfilled one: the first buy (entry 23) is never reached; a second sweep (low 26 under the swing low 27 of bar 18) and a break above 35 form a new buy (entry 33), which is filled [ok] setups at bars 14, 24; the one trade at 1.1033; reference identical 2. Real data: engine against the independent reference 8326700 minutes 2004-01-01 00:03 .. 2026-09-28 15:46 New York; 1688488 five-minute bars; 21868 setups [ok] OB-FVG-A: setups 21868 / reference 21868 identical; trades 13544, reference 13544, identical [ok] OB-FVG-C: setups 21868 / reference 21868 identical; trades 4945, reference 4945, identical 3. Control machinery at offset 0 (with the real fill prices; the control itself enters at the minute open) [ok] OB-FVG-A: 13544 control trades identical to the real ones [ok] OB-FVG-C: 4945 control trades identical to the real ones PASSED