EMA 9/21 crossover on 1-hour bars (spec em_spec.md, 2026-10-08). Run 2026-10-08T15:23:00.040Z; 500 control runs per variant ########## ES futures: 2378027 minute bars -> 39787 hourly bars 2020-01-01 19:00 .. 2026-09-25 17:00; 1674 crosses (837 golden, 837 death); averages exist from 2020-01-02 median R = 1.5 x ATR(14): 17.24 points; cost per trade in R (median): 0.04 controls: 500 runs x 4 variants in 11 s === ES-EM-L-N: long only, no stop, no target === DEV n= 494 net 40.01 R PF 1.11 t 0.75 VAL n= 159 net -10.43 R PF 0.92 t -0.33 HOLDOUT n= 184 net 5.38 R PF 1.04 t 0.18 ALL n=837 net 34.96 R (gross 65.62 R, cost 0.04 R per trade) PF 1.05 t 0.51 avg 0.04 R/trade; win 275/837 = 33% (95% Wilson 30-36%) avg winner 2.51 R avg loser -1.17 R total 33,742 $ per contract; exits {"signal":836,"open":1}; avg hours held 39.19; time in market 56%; closed-trade drawdown -40.88 R; drawdown incl. open losses -41.66 R; worst open loss in one trade -8.76 R total vs buy and hold: 33,742 $ per contract (buy and hold 187,438); worst peak-to-trough of the marked equity 53,642 (buy and hold 68,488) longs: n=837 net 34.96 R; shorts: n=0 net 0.00 R; trades per year 124.37; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 836.97, median avg 0.06 R, 5th -0.04, 95th 0.18; real avg 0.04 R -> percentile 39.60 [FAIL] 1 PF >= 1.2 in validation: VAL PF 0.92 [PASS] 2 >= 50 trades in each period: 494 / 159 / 184 [FAIL] 3 t >= 2.5 on development: DEV t 0.75 [FAIL] 4 above 95th pct of random runs: percentile 39.60 [FAIL] 5 positive without top-10 trades: -70.54 R [PASS] 6 holdout net positive (flagged used): HOLDOUT net 5.38 R PF 1.04 -> VERDICT Buried === ES-EM-L-T2: long only, stop 1 R, target 2 R === DEV n= 494 net 15.08 R PF 1.05 t 0.51 VAL n= 159 net -2.32 R PF 0.98 t -0.14 HOLDOUT n= 184 net 18.04 R PF 1.17 t 0.98 ALL n=837 net 30.79 R (gross 61.17 R, cost 0.04 R per trade) PF 1.06 t 0.80 avg 0.04 R/trade; win 287/837 = 34% (95% Wilson 31-38%) avg winner 1.81 R avg loser -0.89 R total 23,267 $ per contract; exits {"stop":394,"signal":184,"target":259}; avg hours held 15.13; time in market 21%; closed-trade drawdown -29.07 R; drawdown incl. open losses -29.79 R; worst open loss in one trade -4.89 R total vs buy and hold: 23,267 $ per contract (buy and hold 187,438); worst peak-to-trough of the marked equity 51,071 (buy and hold 68,488) longs: n=837 net 30.79 R; shorts: n=0 net 0.00 R; trades per year 124.37; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 836.97, median avg -0.01 R, 5th -0.08, 95th 0.04; real avg 0.04 R -> percentile 92.60 [FAIL] 1 PF >= 1.2 in validation: VAL PF 0.98 [PASS] 2 >= 50 trades in each period: 494 / 159 / 184 [FAIL] 3 t >= 2.5 on development: DEV t 0.51 [FAIL] 4 above 95th pct of random runs: percentile 92.60 [PASS] 5 positive without top-10 trades: 10.34 R [PASS] 6 holdout net positive (flagged used): HOLDOUT net 18.04 R PF 1.17 -> VERDICT Buried === ES-EM-LS-N: long and short, no stop, no target === DEV n= 989 net 23.25 R PF 1.03 t 0.27 VAL n= 317 net -45.10 R PF 0.84 t -1.03 HOLDOUT n= 368 net -43.39 R PF 0.86 t -1.10 ALL n=1674 net -65.25 R (gross -1.93 R, cost 0.04 R per trade) PF 0.95 t -0.62 avg -0.04 R/trade; win 484/1674 = 29% (95% Wilson 27-31%) avg winner 2.70 R avg loser -1.15 R total -120,548 $ per contract; exits {"signal":1673,"open":1}; avg hours held 35.24; time in market 100%; closed-trade drawdown -118.43 R; drawdown incl. open losses -120.12 R; worst open loss in one trade -8.76 R total vs buy and hold: -120,548 $ per contract (buy and hold 187,438); worst peak-to-trough of the marked equity 174,771 (buy and hold 68,488) longs: n=837 net 34.96 R; shorts: n=837 net -100.21 R; trades per year 248.74; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 1673.92, median avg -0.03 R, 5th -0.13, 95th 0.09; real avg -0.04 R -> percentile 45.80 [FAIL] 1 PF >= 1.2 in validation: VAL PF 0.84 [PASS] 2 >= 50 trades in each period: 989 / 317 / 368 [FAIL] 3 t >= 2.5 on development: DEV t 0.27 [FAIL] 4 above 95th pct of random runs: percentile 45.80 [FAIL] 5 positive without top-10 trades: -223.63 R [FAIL] 6 holdout net positive (flagged used): HOLDOUT net -43.39 R PF 0.86 -> VERDICT Buried === ES-EM-LS-T2: long and short, stop 1 R, target 2 R === DEV n= 989 net -9.96 R PF 0.98 t -0.24 VAL n= 317 net -13.72 R PF 0.93 t -0.59 HOLDOUT n= 368 net -4.33 R PF 0.98 t -0.17 ALL n=1674 net -28.02 R (gross 34.72 R, cost 0.04 R per trade) PF 0.97 t -0.52 avg -0.02 R/trade; win 532/1674 = 32% (95% Wilson 30-34%) avg winner 1.86 R avg loser -0.89 R total -63,294 $ per contract; exits {"target":494,"stop":800,"signal":380}; avg hours held 13.32; time in market 38%; closed-trade drawdown -63.01 R; drawdown incl. open losses -63.19 R; worst open loss in one trade -4.89 R total vs buy and hold: -63,294 $ per contract (buy and hold 187,438); worst peak-to-trough of the marked equity 101,014 (buy and hold 68,488) longs: n=837 net 30.79 R; shorts: n=837 net -58.81 R; trades per year 248.74; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 1673.92, median avg -0.04 R, 5th -0.09, 95th 0.01; real avg -0.02 R -> percentile 77.40 [FAIL] 1 PF >= 1.2 in validation: VAL PF 0.93 [PASS] 2 >= 50 trades in each period: 989 / 317 / 368 [FAIL] 3 t >= 2.5 on development: DEV t -0.24 [FAIL] 4 above 95th pct of random runs: percentile 77.40 [FAIL] 5 positive without top-10 trades: -50.30 R [FAIL] 6 holdout net positive (flagged used): HOLDOUT net -4.33 R PF 0.98 -> VERDICT Buried ########## NQ futures: 2373779 minute bars -> 39741 hourly bars 2020-01-01 19:00 .. 2026-09-25 17:00; 1630 crosses (815 golden, 815 death); averages exist from 2020-01-02 median R = 1.5 x ATR(14): 78.26 points; cost per trade in R (median): 0.01 controls: 500 runs x 4 variants in 11 s === NQ-EM-L-N: long only, no stop, no target === DEV n= 475 net 112.42 R PF 1.31 t 1.98 VAL n= 158 net 29.78 R PF 1.25 t 0.89 HOLDOUT n= 182 net 32.47 R PF 1.25 t 1.02 ALL n=815 net 174.68 R (gross 182.97 R, cost 0.01 R per trade) PF 1.29 t 2.39 avg 0.21 R/trade; win 286/815 = 35% (95% Wilson 32-38%) avg winner 2.74 R avg loser -1.15 R total 286,041 $ per contract; exits {"signal":814,"open":1}; avg hours held 40.18; time in market 56%; closed-trade drawdown -28.88 R; drawdown incl. open losses -30.26 R; worst open loss in one trade -6.55 R total vs buy and hold: 286,041 $ per contract (buy and hold 369,260); worst peak-to-trough of the marked equity 62,487 (buy and hold 125,730) longs: n=815 net 174.68 R; shorts: n=0 net 0.00 R; trades per year 121.10; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 814.95, median avg 0.13 R, 5th 0.02, 95th 0.25; real avg 0.21 R -> percentile 88.80 [PASS] 1 PF >= 1.2 in validation: VAL PF 1.25 [PASS] 2 >= 50 trades in each period: 475 / 158 / 182 [FAIL] 3 t >= 2.5 on development: DEV t 1.98 [FAIL] 4 above 95th pct of random runs: percentile 88.80 [PASS] 5 positive without top-10 trades: 55.82 R [PASS] 6 holdout net positive (flagged used): HOLDOUT net 32.47 R PF 1.25 -> VERDICT Buried === NQ-EM-L-T2: long only, stop 1 R, target 2 R === DEV n= 475 net 28.05 R PF 1.10 t 0.96 VAL n= 158 net -8.69 R PF 0.91 t -0.53 HOLDOUT n= 182 net 39.39 R PF 1.41 t 2.10 ALL n=815 net 58.75 R (gross 66.96 R, cost 0.01 R per trade) PF 1.13 t 1.53 avg 0.07 R/trade; win 280/815 = 34% (95% Wilson 31-38%) avg winner 1.88 R avg loser -0.87 R total 113,797 $ per contract; exits {"stop":399,"target":260,"signal":155,"open":1}; avg hours held 14.70; time in market 20%; closed-trade drawdown -34.57 R; drawdown incl. open losses -34.77 R; worst open loss in one trade -3.89 R total vs buy and hold: 113,797 $ per contract (buy and hold 369,260); worst peak-to-trough of the marked equity 50,547 (buy and hold 125,730) longs: n=815 net 58.75 R; shorts: n=0 net 0.00 R; trades per year 121.10; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 814.95, median avg 0.02 R, 5th -0.04, 95th 0.09; real avg 0.07 R -> percentile 90.00 [FAIL] 1 PF >= 1.2 in validation: VAL PF 0.91 [PASS] 2 >= 50 trades in each period: 475 / 158 / 182 [FAIL] 3 t >= 2.5 on development: DEV t 0.96 [FAIL] 4 above 95th pct of random runs: percentile 90.00 [PASS] 5 positive without top-10 trades: 38.52 R [PASS] 6 holdout net positive (flagged used): HOLDOUT net 39.39 R PF 1.41 -> VERDICT Buried === NQ-EM-LS-N: long and short, no stop, no target === DEV n= 951 net 109.33 R PF 1.15 t 1.38 VAL n= 315 net 37.59 R PF 1.15 t 0.80 HOLDOUT n= 364 net -13.54 R PF 0.95 t -0.33 ALL n=1630 net 133.38 R (gross 150.47 R, cost 0.01 R per trade) PF 1.11 t 1.32 avg 0.08 R/trade; win 505/1630 = 31% (95% Wilson 29-33%) avg winner 2.76 R avg loser -1.12 R total 201,381 $ per contract; exits {"signal":1629,"open":1}; avg hours held 36.19; time in market 100%; closed-trade drawdown -60.52 R; drawdown incl. open losses -60.92 R; worst open loss in one trade -6.55 R total vs buy and hold: 201,381 $ per contract (buy and hold 369,260); worst peak-to-trough of the marked equity 135,408 (buy and hold 125,730) longs: n=815 net 174.68 R; shorts: n=815 net -41.30 R; trades per year 242.20; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 1629.89, median avg 0.00 R, 5th -0.09, 95th 0.12; real avg 0.08 R -> percentile 86.40 [FAIL] 1 PF >= 1.2 in validation: VAL PF 1.15 [PASS] 2 >= 50 trades in each period: 951 / 315 / 364 [FAIL] 3 t >= 2.5 on development: DEV t 1.38 [FAIL] 4 above 95th pct of random runs: percentile 86.40 [FAIL] 5 positive without top-10 trades: -12.32 R [FAIL] 6 holdout net positive (flagged used): HOLDOUT net -13.54 R PF 0.95 -> VERDICT Buried === NQ-EM-LS-T2: long and short, stop 1 R, target 2 R === DEV n= 951 net 11.13 R PF 1.02 t 0.27 VAL n= 315 net -10.19 R PF 0.95 t -0.44 HOLDOUT n= 364 net 37.23 R PF 1.18 t 1.43 ALL n=1630 net 38.17 R (gross 55.07 R, cost 0.01 R per trade) PF 1.04 t 0.71 avg 0.02 R/trade; win 524/1630 = 32% (95% Wilson 30-34%) avg winner 1.91 R avg loser -0.87 R total 85,861 $ per contract; exits {"stop":784,"target":497,"signal":348,"open":1}; avg hours held 13.15; time in market 36%; closed-trade drawdown -38.68 R; drawdown incl. open losses -39.22 R; worst open loss in one trade -3.89 R total vs buy and hold: 85,861 $ per contract (buy and hold 369,260); worst peak-to-trough of the marked equity 100,236 (buy and hold 125,730) longs: n=815 net 58.75 R; shorts: n=815 net -20.58 R; trades per year 242.20; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 1629.89, median avg -0.01 R, 5th -0.06, 95th 0.04; real avg 0.02 R -> percentile 86.80 [FAIL] 1 PF >= 1.2 in validation: VAL PF 0.95 [PASS] 2 >= 50 trades in each period: 951 / 315 / 364 [FAIL] 3 t >= 2.5 on development: DEV t 0.27 [FAIL] 4 above 95th pct of random runs: percentile 86.80 [PASS] 5 positive without top-10 trades: 15.55 R [PASS] 6 holdout net positive (flagged used): HOLDOUT net 37.23 R PF 1.18 -> VERDICT Buried ########## GC futures: 2373188 minute bars -> 39656 hourly bars 2020-01-01 19:00 .. 2026-09-25 17:00; 1720 crosses (860 golden, 860 death); averages exist from 2020-01-02 median R = 1.5 x ATR(14): 8.57 points; cost per trade in R (median): 0.03 controls: 500 runs x 4 variants in 11 s === GC-EM-L-N: long only, no stop, no target === DEV n= 516 net 66.51 R PF 1.17 t 1.08 VAL n= 152 net 80.20 R PF 1.79 t 2.11 HOLDOUT n= 192 net 62.38 R PF 1.47 t 1.74 ALL n=860 net 209.08 R (gross 235.68 R, cost 0.03 R per trade) PF 1.34 t 2.59 avg 0.24 R/trade; win 252/860 = 29% (95% Wilson 26-32%) avg winner 3.28 R avg loser -1.01 R total 242,668 $ per contract; exits {"signal":859,"open":1}; avg hours held 36.94; time in market 54%; closed-trade drawdown -48.26 R; drawdown incl. open losses -48.77 R; worst open loss in one trade -5.57 R total vs buy and hold: 242,668 $ per contract (buy and hold 208,580); worst peak-to-trough of the marked equity 83,941 (buy and hold 168,640) longs: n=860 net 209.08 R; shorts: n=0 net 0.00 R; trades per year 127.79; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 859.96, median avg 0.12 R, 5th 0.01, 95th 0.23; real avg 0.24 R -> percentile 95.60 [PASS] 1 PF >= 1.2 in validation: VAL PF 1.79 [PASS] 2 >= 50 trades in each period: 516 / 152 / 192 [FAIL] 3 t >= 2.5 on development: DEV t 1.08 [PASS] 4 above 95th pct of random runs: percentile 95.60 [PASS] 5 positive without top-10 trades: 60.56 R [PASS] 6 holdout net positive (flagged used): HOLDOUT net 62.38 R PF 1.47 -> VERDICT Buried === GC-EM-L-T2: long only, stop 1 R, target 2 R === DEV n= 516 net -9.71 R PF 0.97 t -0.33 VAL n= 152 net 13.05 R PF 1.15 t 0.78 HOLDOUT n= 192 net -10.41 R PF 0.91 t -0.58 ALL n=860 net -7.07 R (gross 19.26 R, cost 0.03 R per trade) PF 0.99 t -0.18 avg -0.01 R/trade; win 267/860 = 31% (95% Wilson 28-34%) avg winner 1.87 R avg loser -0.85 R total -90 $ per contract; exits {"target":250,"stop":390,"signal":220}; avg hours held 14.31; time in market 21%; closed-trade drawdown -40.50 R; drawdown incl. open losses -40.76 R; worst open loss in one trade -4.15 R total vs buy and hold: -90 $ per contract (buy and hold 208,580); worst peak-to-trough of the marked equity 69,617 (buy and hold 168,640) longs: n=860 net -7.07 R; shorts: n=0 net 0.00 R; trades per year 127.79; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 859.96, median avg -0.00 R, 5th -0.06, 95th 0.06; real avg -0.01 R -> percentile 44.40 [FAIL] 1 PF >= 1.2 in validation: VAL PF 1.15 [PASS] 2 >= 50 trades in each period: 516 / 152 / 192 [FAIL] 3 t >= 2.5 on development: DEV t -0.33 [FAIL] 4 above 95th pct of random runs: percentile 44.40 [FAIL] 5 positive without top-10 trades: -27.17 R [FAIL] 6 holdout net positive (flagged used): HOLDOUT net -10.41 R PF 0.91 -> VERDICT Buried === GC-EM-LS-N: long and short, no stop, no target === DEV n=1033 net 56.85 R PF 1.07 t 0.71 VAL n= 303 net 51.98 R PF 1.23 t 1.15 HOLDOUT n= 384 net 50.85 R PF 1.19 t 1.09 ALL n=1720 net 159.69 R (gross 212.86 R, cost 0.03 R per trade) PF 1.13 t 1.55 avg 0.09 R/trade; win 494/1720 = 29% (95% Wilson 27-31%) avg winner 2.88 R avg loser -1.03 R total 280,407 $ per contract; exits {"signal":1719,"open":1}; avg hours held 34.24; time in market 100%; closed-trade drawdown -66.74 R; drawdown incl. open losses -67.32 R; worst open loss in one trade -6.38 R total vs buy and hold: 280,407 $ per contract (buy and hold 208,580); worst peak-to-trough of the marked equity 113,651 (buy and hold 168,640) longs: n=860 net 209.08 R; shorts: n=860 net -49.39 R; trades per year 255.58; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 1719.92, median avg -0.02 R, 5th -0.13, 95th 0.09; real avg 0.09 R -> percentile 95.20 [PASS] 1 PF >= 1.2 in validation: VAL PF 1.23 [PASS] 2 >= 50 trades in each period: 1033 / 303 / 384 [FAIL] 3 t >= 2.5 on development: DEV t 0.71 [PASS] 4 above 95th pct of random runs: percentile 95.20 [PASS] 5 positive without top-10 trades: 0.44 R [PASS] 6 holdout net positive (flagged used): HOLDOUT net 50.85 R PF 1.19 -> VERDICT Buried === GC-EM-LS-T2: long and short, stop 1 R, target 2 R === DEV n=1033 net 1.50 R PF 1.00 t 0.04 VAL n= 303 net -19.64 R PF 0.90 t -0.86 HOLDOUT n= 384 net 9.87 R PF 1.04 t 0.38 ALL n=1720 net -8.27 R (gross 44.32 R, cost 0.03 R per trade) PF 0.99 t -0.15 avg -0.00 R/trade; win 534/1720 = 31% (95% Wilson 29-33%) avg winner 1.89 R avg loser -0.86 R total 20,592 $ per contract; exits {"stop":780,"target":507,"signal":433}; avg hours held 13.27; time in market 39%; closed-trade drawdown -66.57 R; drawdown incl. open losses -66.78 R; worst open loss in one trade -4.15 R total vs buy and hold: 20,592 $ per contract (buy and hold 208,580); worst peak-to-trough of the marked equity 69,608 (buy and hold 168,640) longs: n=860 net -7.07 R; shorts: n=860 net -1.20 R; trades per year 255.58; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 1719.92, median avg -0.03 R, 5th -0.07, 95th 0.02; real avg -0.00 R -> percentile 77.60 [FAIL] 1 PF >= 1.2 in validation: VAL PF 0.90 [PASS] 2 >= 50 trades in each period: 1033 / 303 / 384 [FAIL] 3 t >= 2.5 on development: DEV t 0.04 [FAIL] 4 above 95th pct of random runs: percentile 77.60 [FAIL] 5 positive without top-10 trades: -28.38 R [PASS] 6 holdout net positive (flagged used): HOLDOUT net 9.87 R PF 1.04 -> VERDICT Buried OVERALL: 12 variant-market results: 0 Inconclusive, 12 Buried, 0 Survivor.