PASS synthetic 1: events golden@3, death@6, golden@10 PASS L-N: long 14.25 -> 7.75 (death cross, next open), then long 12.25 open at end PASS L-N: net R = net points / R (R = 2) PASS L-S: the stop (12.25) is gapped through at the next bar open 11: fills at 11 less one tick, -3.5 points PASS L-S: after the stop there is no re-entry until the next cross (second trade is the golden cross at bar 10) PASS L-T1: target 16.25 never touched, so the same as the stop-only version PASS LS-N: long -330.76, short 7.75 -> 12.25 (golden cross) -230.76, long open -30.76 PASS LS-S: long stopped -180.76; short opened by the death cross is stopped at bar 10 (gap to 10, 9.75 stop): -130.76; then long -30.76 PASS gross is the price move before slippage and costs, in R PASS T1: target 16.25 touched in bar 5 (minute 20): fills 16.25 less one tick = 16.0, +1.75 points PASS T2: target 18.25 touched too: fills 18.0, +3.75 points PASS T3: target 20.25 not touched, the stop is gapped through at bar 6: -3.5 points PASS T123 = the average of T1, T2 and T3 on the same entries (a third at each target, untouched thirds at the stop) PASS T123 worst open loss = the largest of the three lots PASS stop and target in the same minute: the stop wins (fills 12.25 less one tick, -2.25 points) PASS a target gapped through (open 17 above 16.25) fills at the open less one tick: 16.75, +2.5 points PASS the 18.25 target is not reached by that gap, so T2 still ends at the stop PASS synthetic 2: events death@6, golden@10 only (golden state from the first bar both averages exist: no trade) PASS synthetic 2 long-only: first trade is the golden cross at bar 10 (14.25, open at end, -30.76) PASS synthetic 2 long-short: first position is the short from the death cross (8.75 -> 14.25, -280.76), then long open -30.76 PASS synthetic 2 long-short with a stop: the short (stop 10.75) is stopped at bar 10 (open 12 gaps through: fills 12.25), -3.5 points PASS positions are held across a weekend (no Friday flat rule): the L-N result is unchanged when the series straddles a Friday close PASS roll cost: a trade open at 17:00 on 2021-03-11 pays one extra $30.76 (net -361.52); one entered later pays none PASS roll times: second Thursday of Mar, Jun, Sep, Dec 2021 PASS gold: $0.30 per round trip and no slippage: 14 -> 8 = -6.30, net R -3.15 PASS gold financing sensitivity: 3% a year of the entry price for the 3 hours held, in R PASS EUR/USD: long 1.1014 +0.15 pip -> exit 1.1008 -0.15 pip = -6.3 pips, less 0.7 pip commission = -7.0 pips = -3.5 R (R = 2 pips); gross -3.0 R PASS EUR/USD: the stop (1.1014 +0.15 pip -2 pips) is gapped through at 1.1011: -3.3 pips less 0.7 = -4.0 pips = -2.0 R PASS state series: shift 0 reproduces the real events PASS control smoke test on the synthetic series runs for all 12 variants PASS hourly bars: one bar per 60 minutes, close time labels on the hour 1-hour golden cross engine self-test. Run 2026-10-08T16:14:44.756Z Real data (no results printed): PASS ES: hourly bars strictly increasing in time (ES: 39787 hourly bars from 2020-01-01 19:00 to 2026-09-25 17:00; per full calendar year 5881 to 5922 bars; averages exist from bar 200) PASS ES: rolling SMA(50) and SMA(200) of the hourly closes match a naive recomputation to 1e-9 - max diff 0.0e+0 PASS ES GH-L-N: engine = independent reference, trade by trade PASS ES GH-L-S: engine = independent reference, trade by trade PASS ES GH-L-T1: engine = independent reference, trade by trade PASS ES GH-L-T2: engine = independent reference, trade by trade PASS ES GH-L-T3: engine = independent reference, trade by trade PASS ES GH-L-T123: engine = independent reference, trade by trade PASS ES GH-LS-N: engine = independent reference, trade by trade PASS ES GH-LS-S: engine = independent reference, trade by trade PASS ES GH-LS-T1: engine = independent reference, trade by trade PASS ES GH-LS-T2: engine = independent reference, trade by trade PASS ES GH-LS-T3: engine = independent reference, trade by trade PASS ES GH-LS-T123: engine = independent reference, trade by trade PASS ES: all six exit rules of a position mode share every entry (entries happen only on crosses) PASS ES: the shifted-state control with shift 0 reproduces the real events PASS ES: the control machinery runs on the real data for all 12 variants (3 smoke runs) (ES: days where the averages are exactly equal after the warm-up: 2) PASS XAUUSD: hourly bars strictly increasing in time (XAUUSD: 129871 hourly bars from 2004-06-11 01:00 to 2026-10-08 08:00; per full calendar year 5549 to 5938 bars; averages exist from bar 200) PASS XAUUSD: rolling SMA(50) and SMA(200) of the hourly closes match a naive recomputation to 1e-9 - max diff 1.1e-11 PASS XAUUSD GH-L-N: engine = independent reference, trade by trade PASS XAUUSD GH-L-S: engine = independent reference, trade by trade PASS XAUUSD GH-L-T1: engine = independent reference, trade by trade PASS XAUUSD GH-L-T2: engine = independent reference, trade by trade PASS XAUUSD GH-L-T3: engine = independent reference, trade by trade PASS XAUUSD GH-L-T123: engine = independent reference, trade by trade PASS XAUUSD GH-LS-N: engine = independent reference, trade by trade PASS XAUUSD GH-LS-S: engine = independent reference, trade by trade PASS XAUUSD GH-LS-T1: engine = independent reference, trade by trade PASS XAUUSD GH-LS-T2: engine = independent reference, trade by trade PASS XAUUSD GH-LS-T3: engine = independent reference, trade by trade PASS XAUUSD GH-LS-T123: engine = independent reference, trade by trade PASS XAUUSD: all six exit rules of a position mode share every entry (entries happen only on crosses) PASS XAUUSD: the shifted-state control with shift 0 reproduces the real events PASS XAUUSD: the control machinery runs on the real data for all 12 variants (3 smoke runs) (XAUUSD: days where the averages are exactly equal after the warm-up: 1) PASS EURUSD: hourly bars strictly increasing in time (EURUSD: 141042 hourly bars from 2004-01-01 01:00 to 2026-09-28 16:00; per full calendar year 6139 to 6240 bars; averages exist from bar 200) PASS EURUSD: rolling SMA(50) and SMA(200) of the hourly closes match a naive recomputation to 1e-9 - max diff 1.3e-14 PASS EURUSD GH-L-N: engine = independent reference, trade by trade PASS EURUSD GH-L-S: engine = independent reference, trade by trade PASS EURUSD GH-L-T1: engine = independent reference, trade by trade PASS EURUSD GH-L-T2: engine = independent reference, trade by trade PASS EURUSD GH-L-T3: engine = independent reference, trade by trade PASS EURUSD GH-L-T123: engine = independent reference, trade by trade PASS EURUSD GH-LS-N: engine = independent reference, trade by trade PASS EURUSD GH-LS-S: engine = independent reference, trade by trade PASS EURUSD GH-LS-T1: engine = independent reference, trade by trade PASS EURUSD GH-LS-T2: engine = independent reference, trade by trade PASS EURUSD GH-LS-T3: engine = independent reference, trade by trade PASS EURUSD GH-LS-T123: engine = independent reference, trade by trade PASS EURUSD: all six exit rules of a position mode share every entry (entries happen only on crosses) PASS EURUSD: the shifted-state control with shift 0 reproduces the real events PASS EURUSD: the control machinery runs on the real data for all 12 variants (3 smoke runs) (EURUSD: days where the averages are exactly equal after the warm-up: 2) SELF-TEST PASSED: every check passed (7 s). gh_run.js may now be pointed at the data. PASSED 2026-10-08T16:14:51.499Z