Coppock Curve on 1-hour ES bars (spec cc_spec.md, 2026-10-08). Run 2026-10-08T07:53:19.790Z; 500 control runs per variant ########## ES futures: 2378027 minute bars -> 39787 hourly bars 2020-01-01 19:00 .. 2026-09-25 17:00; 5963 signals (2981 bull, 2982 bear); first signal after 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 12 variants in 86 s === ES-CC-L-N: long only, no stop, no target === DEV n=1768 net -72.39 R PF 0.91 t -1.38 VAL n= 530 net 7.07 R PF 1.03 t 0.23 HOLDOUT n= 683 net -15.88 R PF 0.95 t -0.49 ALL n=2981 net -81.20 R (gross 32.24 R, cost 0.04 R per trade) PF 0.94 t -1.18 avg -0.03 R/trade; win 1099/2981 = 37% (95% Wilson 35-39%) avg winner 1.14 R avg loser -0.71 R total -86,370 $ per contract; exits {"signal":2981}; avg hours held 10.16; time in market 51%; closed-trade drawdown -113.62 R; drawdown incl. open losses -114.41 R; worst open loss in one trade -7.78 R total vs buy and hold: -86,370 $ per contract (buy and hold 186,788); worst peak-to-trough of the marked equity 143,856 (buy and hold 68,488) longs: n=2981 net -81.20 R; shorts: n=0 net 0.00 R; trades per year 442.99; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 2981.81, median avg -0.01 R, 5th -0.04, 95th 0.02; real avg -0.03 R -> percentile 24.20 [FAIL] 1 PF >= 1.2 in validation: VAL PF 1.03 [PASS] 2 >= 50 trades in each period: 1768 / 530 / 683 [FAIL] 3 t >= 2.5 on development: DEV t -1.38 [FAIL] 4 above 95th pct of random runs: percentile 24.20 [FAIL] 5 positive without top-10 trades: -143.56 R [FAIL] 6 holdout net positive (flagged used): HOLDOUT net -15.88 R PF 0.95 -> VERDICT Buried === ES-CC-L-S: long only, stop 1 R only === DEV n=1768 net -60.92 R PF 0.92 t -1.31 VAL n= 530 net -4.96 R PF 0.98 t -0.17 HOLDOUT n= 683 net 1.00 R PF 1.00 t 0.03 ALL n=2981 net -64.88 R (gross 48.44 R, cost 0.04 R per trade) PF 0.95 t -1.04 avg -0.02 R/trade; win 1026/2981 = 34% (95% Wilson 33-36%) avg winner 1.14 R avg loser -0.63 R total -72,874 $ per contract; exits {"signal":2196,"stop":785}; avg hours held 9.11; time in market 46%; closed-trade drawdown -100.08 R; drawdown incl. open losses -100.56 R; worst open loss in one trade -5.76 R total vs buy and hold: -72,874 $ per contract (buy and hold 186,788); worst peak-to-trough of the marked equity 145,321 (buy and hold 68,488) longs: n=2981 net -64.88 R; shorts: n=0 net 0.00 R; trades per year 442.99; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 2981.81, median avg -0.01 R, 5th -0.04, 95th 0.01; real avg -0.02 R -> percentile 33.40 [FAIL] 1 PF >= 1.2 in validation: VAL PF 0.98 [PASS] 2 >= 50 trades in each period: 1768 / 530 / 683 [FAIL] 3 t >= 2.5 on development: DEV t -1.31 [FAIL] 4 above 95th pct of random runs: percentile 33.40 [FAIL] 5 positive without top-10 trades: -127.24 R [PASS] 6 holdout net positive (flagged used): HOLDOUT net 1.00 R PF 1.00 -> VERDICT Buried === ES-CC-L-T1: long only, stop 1 R, target 1 R === DEV n=1768 net -81.62 R PF 0.87 t -2.48 VAL n= 530 net -39.34 R PF 0.81 t -2.16 HOLDOUT n= 683 net -17.98 R PF 0.93 t -0.88 ALL n=2981 net -138.94 R (gross -25.81 R, cost 0.04 R per trade) PF 0.87 t -3.24 avg -0.05 R/trade; win 1235/2981 = 41% (95% Wilson 40-43%) avg winner 0.78 R avg loser -0.63 R total -126,542 $ per contract; exits {"target":908,"signal":1379,"stop":694}; avg hours held 5.11; time in market 26%; closed-trade drawdown -146.67 R; drawdown incl. open losses -146.80 R; worst open loss in one trade -5.76 R total vs buy and hold: -126,542 $ per contract (buy and hold 186,788); worst peak-to-trough of the marked equity 134,756 (buy and hold 68,488) longs: n=2981 net -138.94 R; shorts: n=0 net 0.00 R; trades per year 442.99; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 2981.81, median avg -0.03 R, 5th -0.05, 95th -0.01; real avg -0.05 R -> percentile 7.00 [FAIL] 1 PF >= 1.2 in validation: VAL PF 0.81 [PASS] 2 >= 50 trades in each period: 1768 / 530 / 683 [FAIL] 3 t >= 2.5 on development: DEV t -2.48 [FAIL] 4 above 95th pct of random runs: percentile 7.00 [FAIL] 5 positive without top-10 trades: -151.13 R [FAIL] 6 holdout net positive (flagged used): HOLDOUT net -17.98 R PF 0.93 -> VERDICT Buried === ES-CC-L-T2: long only, stop 1 R, target 2 R === DEV n=1768 net -82.82 R PF 0.88 t -2.04 VAL n= 530 net -26.24 R PF 0.89 t -1.11 HOLDOUT n= 683 net 16.81 R PF 1.06 t 0.62 ALL n=2981 net -92.25 R (gross 20.89 R, cost 0.04 R per trade) PF 0.92 t -1.70 avg -0.03 R/trade; win 1053/2981 = 35% (95% Wilson 34-37%) avg winner 1.07 R avg loser -0.63 R total -103,558 $ per contract; exits {"signal":1803,"target":409,"stop":769}; avg hours held 7.03; time in market 36%; closed-trade drawdown -123.72 R; drawdown incl. open losses -124.12 R; worst open loss in one trade -5.76 R total vs buy and hold: -103,558 $ per contract (buy and hold 186,788); worst peak-to-trough of the marked equity 158,927 (buy and hold 68,488) longs: n=2981 net -92.25 R; shorts: n=0 net 0.00 R; trades per year 442.99; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 2981.81, median avg -0.02 R, 5th -0.04, 95th 0.00; real avg -0.03 R -> percentile 21.20 [FAIL] 1 PF >= 1.2 in validation: VAL PF 0.89 [PASS] 2 >= 50 trades in each period: 1768 / 530 / 683 [FAIL] 3 t >= 2.5 on development: DEV t -2.04 [FAIL] 4 above 95th pct of random runs: percentile 21.20 [FAIL] 5 positive without top-10 trades: -115.17 R [PASS] 6 holdout net positive (flagged used): HOLDOUT net 16.81 R PF 1.06 -> VERDICT Buried === ES-CC-L-T3: long only, stop 1 R, target 3 R === DEV n=1768 net -68.27 R PF 0.91 t -1.55 VAL n= 530 net -7.88 R PF 0.97 t -0.30 HOLDOUT n= 683 net 3.78 R PF 1.01 t 0.13 ALL n=2981 net -72.37 R (gross 40.85 R, cost 0.04 R per trade) PF 0.94 t -1.23 avg -0.02 R/trade; win 1030/2981 = 35% (95% Wilson 33-36%) avg winner 1.13 R avg loser -0.63 R total -86,474 $ per contract; exits {"signal":2026,"target":173,"stop":782}; avg hours held 8.17; time in market 41%; closed-trade drawdown -107.12 R; drawdown incl. open losses -107.36 R; worst open loss in one trade -5.76 R total vs buy and hold: -86,474 $ per contract (buy and hold 186,788); worst peak-to-trough of the marked equity 148,726 (buy and hold 68,488) longs: n=2981 net -72.37 R; shorts: n=0 net 0.00 R; trades per year 442.99; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 2981.81, median avg -0.02 R, 5th -0.04, 95th 0.01; real avg -0.02 R -> percentile 36.80 [FAIL] 1 PF >= 1.2 in validation: VAL PF 0.97 [PASS] 2 >= 50 trades in each period: 1768 / 530 / 683 [FAIL] 3 t >= 2.5 on development: DEV t -1.55 [FAIL] 4 above 95th pct of random runs: percentile 36.80 [FAIL] 5 positive without top-10 trades: -103.28 R [PASS] 6 holdout net positive (flagged used): HOLDOUT net 3.78 R PF 1.01 -> VERDICT Buried === ES-CC-L-T123: long only, stop 1 R, a third at 1 R, 2 R and 3 R === DEV n=1768 net -77.57 R PF 0.88 t -2.09 VAL n= 530 net -24.49 R PF 0.88 t -1.13 HOLDOUT n= 683 net 0.87 R PF 1.00 t 0.04 ALL n=2981 net -101.18 R (gross 11.97 R, cost 0.04 R per trade) PF 0.91 t -2.06 avg -0.03 R/trade; win 1127/2981 = 38% (95% Wilson 36-40%) avg winner 0.91 R avg loser -0.61 R total -105,525 $ per contract; exits {"target":1490,"signal":5208,"stop":2245}; avg hours held 8.17; time in market 41%; closed-trade drawdown -120.29 R; drawdown incl. open losses -121.08 R; worst open loss in one trade -5.76 R total vs buy and hold: -105,525 $ per contract (buy and hold 186,788); worst peak-to-trough of the marked equity n/a for the thirds (buy and hold 68,488) longs: n=2981 net -101.18 R; shorts: n=0 net 0.00 R; trades per year 442.99; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 2981.81, median avg -0.02 R, 5th -0.04, 95th -0.00; real avg -0.03 R -> percentile 19.00 [FAIL] 1 PF >= 1.2 in validation: VAL PF 0.88 [PASS] 2 >= 50 trades in each period: 1768 / 530 / 683 [FAIL] 3 t >= 2.5 on development: DEV t -2.09 [FAIL] 4 above 95th pct of random runs: percentile 19.00 [FAIL] 5 positive without top-10 trades: -122.42 R [PASS] 6 holdout net positive (flagged used): HOLDOUT net 0.87 R PF 1.00 -> VERDICT Buried === ES-CC-LS-N: long and short, no stop, no target === DEV n=3537 net -222.96 R PF 0.87 t -2.81 VAL n=1059 net 1.50 R PF 1.00 t 0.03 HOLDOUT n=1367 net -63.21 R PF 0.90 t -1.36 ALL n=5963 net -284.66 R (gross -55.74 R, cost 0.04 R per trade) PF 0.90 t -2.73 avg -0.05 R/trade; win 2018/5963 = 34% (95% Wilson 33-35%) avg winner 1.24 R avg loser -0.71 R total -359,990 $ per contract; exits {"signal":5962,"open":1}; avg hours held 9.89; time in market 100%; closed-trade drawdown -328.16 R; drawdown incl. open losses -328.95 R; worst open loss in one trade -7.78 R total vs buy and hold: -359,990 $ per contract (buy and hold 186,788); worst peak-to-trough of the marked equity 402,142 (buy and hold 68,488) longs: n=2981 net -81.20 R; shorts: n=2982 net -203.46 R; trades per year 886.13; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 5963.65, median avg -0.04 R, 5th -0.07, 95th -0.01; real avg -0.05 R -> percentile 30.60 [FAIL] 1 PF >= 1.2 in validation: VAL PF 1.00 [PASS] 2 >= 50 trades in each period: 3537 / 1059 / 1367 [FAIL] 3 t >= 2.5 on development: DEV t -2.81 [FAIL] 4 above 95th pct of random runs: percentile 30.60 [FAIL] 5 positive without top-10 trades: -384.86 R [FAIL] 6 holdout net positive (flagged used): HOLDOUT net -63.21 R PF 0.90 -> VERDICT Buried === ES-CC-LS-S: long and short, stop 1 R only === DEV n=3537 net -143.24 R PF 0.90 t -2.02 VAL n=1059 net -64.07 R PF 0.87 t -1.61 HOLDOUT n=1367 net -31.04 R PF 0.94 t -0.72 ALL n=5963 net -238.35 R (gross -9.59 R, cost 0.04 R per trade) PF 0.91 t -2.59 avg -0.04 R/trade; win 1894/5963 = 32% (95% Wilson 31-33%) avg winner 1.21 R avg loser -0.62 R total -291,668 $ per contract; exits {"signal":4441,"stop":1521,"open":1}; avg hours held 8.84; time in market 89%; closed-trade drawdown -286.93 R; drawdown incl. open losses -287.72 R; worst open loss in one trade -5.76 R total vs buy and hold: -291,668 $ per contract (buy and hold 186,788); worst peak-to-trough of the marked equity 332,906 (buy and hold 68,488) longs: n=2981 net -64.88 R; shorts: n=2982 net -173.47 R; trades per year 886.13; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 5963.65, median avg -0.03 R, 5th -0.05, 95th -0.01; real avg -0.04 R -> percentile 28.40 [FAIL] 1 PF >= 1.2 in validation: VAL PF 0.87 [PASS] 2 >= 50 trades in each period: 3537 / 1059 / 1367 [FAIL] 3 t >= 2.5 on development: DEV t -2.02 [FAIL] 4 above 95th pct of random runs: percentile 28.40 [FAIL] 5 positive without top-10 trades: -317.62 R [FAIL] 6 holdout net positive (flagged used): HOLDOUT net -31.04 R PF 0.94 -> VERDICT Buried === ES-CC-LS-T1: long and short, stop 1 R, target 1 R === DEV n=3537 net -196.94 R PF 0.85 t -4.21 VAL n=1059 net -68.69 R PF 0.83 t -2.66 HOLDOUT n=1367 net -36.18 R PF 0.93 t -1.24 ALL n=5963 net -301.81 R (gross -73.51 R, cost 0.04 R per trade) PF 0.86 t -4.95 avg -0.05 R/trade; win 2401/5963 = 40% (95% Wilson 39-42%) avg winner 0.80 R avg loser -0.63 R total -310,597 $ per contract; exits {"target":1853,"stop":1337,"signal":2772,"open":1}; avg hours held 4.90; time in market 50%; closed-trade drawdown -315.51 R; drawdown incl. open losses -315.83 R; worst open loss in one trade -5.76 R total vs buy and hold: -310,597 $ per contract (buy and hold 186,788); worst peak-to-trough of the marked equity 322,594 (buy and hold 68,488) longs: n=2981 net -138.94 R; shorts: n=2982 net -162.87 R; trades per year 886.13; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 5963.65, median avg -0.04 R, 5th -0.06, 95th -0.02; real avg -0.05 R -> percentile 11.80 [FAIL] 1 PF >= 1.2 in validation: VAL PF 0.83 [PASS] 2 >= 50 trades in each period: 3537 / 1059 / 1367 [FAIL] 3 t >= 2.5 on development: DEV t -4.21 [FAIL] 4 above 95th pct of random runs: percentile 11.80 [FAIL] 5 positive without top-10 trades: -320.20 R [FAIL] 6 holdout net positive (flagged used): HOLDOUT net -36.18 R PF 0.93 -> VERDICT Buried === ES-CC-LS-T2: long and short, stop 1 R, target 2 R === DEV n=3537 net -213.65 R PF 0.86 t -3.67 VAL n=1059 net -62.93 R PF 0.87 t -1.88 HOLDOUT n=1367 net -12.70 R PF 0.98 t -0.34 ALL n=5963 net -289.28 R (gross -60.92 R, cost 0.04 R per trade) PF 0.88 t -3.75 avg -0.05 R/trade; win 1966/5963 = 33% (95% Wilson 32-34%) avg winner 1.12 R avg loser -0.62 R total -329,300 $ per contract; exits {"target":871,"signal":3602,"stop":1489,"open":1}; avg hours held 6.76; time in market 68%; closed-trade drawdown -327.82 R; drawdown incl. open losses -328.61 R; worst open loss in one trade -5.76 R total vs buy and hold: -329,300 $ per contract (buy and hold 186,788); worst peak-to-trough of the marked equity 368,705 (buy and hold 68,488) longs: n=2981 net -92.25 R; shorts: n=2982 net -197.03 R; trades per year 886.13; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 5963.65, median avg -0.04 R, 5th -0.06, 95th -0.02; real avg -0.05 R -> percentile 15.40 [FAIL] 1 PF >= 1.2 in validation: VAL PF 0.87 [PASS] 2 >= 50 trades in each period: 3537 / 1059 / 1367 [FAIL] 3 t >= 2.5 on development: DEV t -3.67 [FAIL] 4 above 95th pct of random runs: percentile 15.40 [FAIL] 5 positive without top-10 trades: -319.08 R [FAIL] 6 holdout net positive (flagged used): HOLDOUT net -12.70 R PF 0.98 -> VERDICT Buried === ES-CC-LS-T3: long and short, stop 1 R, target 3 R === DEV n=3537 net -159.98 R PF 0.89 t -2.46 VAL n=1059 net -55.03 R PF 0.88 t -1.47 HOLDOUT n=1367 net -26.65 R PF 0.95 t -0.65 ALL n=5963 net -241.65 R (gross -13.20 R, cost 0.04 R per trade) PF 0.90 t -2.82 avg -0.04 R/trade; win 1902/5963 = 32% (95% Wilson 31-33%) avg winner 1.21 R avg loser -0.62 R total -307,254 $ per contract; exits {"target":439,"signal":4007,"stop":1516,"open":1}; avg hours held 7.79; time in market 79%; closed-trade drawdown -281.07 R; drawdown incl. open losses -281.53 R; worst open loss in one trade -5.76 R total vs buy and hold: -307,254 $ per contract (buy and hold 186,788); worst peak-to-trough of the marked equity 344,435 (buy and hold 68,488) longs: n=2981 net -72.37 R; shorts: n=2982 net -169.29 R; trades per year 886.13; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 5963.65, median avg -0.03 R, 5th -0.05, 95th -0.01; real avg -0.04 R -> percentile 31.40 [FAIL] 1 PF >= 1.2 in validation: VAL PF 0.88 [PASS] 2 >= 50 trades in each period: 3537 / 1059 / 1367 [FAIL] 3 t >= 2.5 on development: DEV t -2.46 [FAIL] 4 above 95th pct of random runs: percentile 31.40 [FAIL] 5 positive without top-10 trades: -278.34 R [FAIL] 6 holdout net positive (flagged used): HOLDOUT net -26.65 R PF 0.95 -> VERDICT Buried === ES-CC-LS-T123: long and short, stop 1 R, a third at 1 R, 2 R and 3 R === DEV n=3537 net -190.19 R PF 0.86 t -3.56 VAL n=1059 net -62.22 R PF 0.85 t -2.06 HOLDOUT n=1367 net -25.17 R PF 0.95 t -0.75 ALL n=5963 net -277.58 R (gross -49.21 R, cost 0.04 R per trade) PF 0.88 t -3.97 avg -0.05 R/trade; win 2164/5963 = 36% (95% Wilson 35-38%) avg winner 0.93 R avg loser -0.61 R total -315,717 $ per contract; exits {"target":3163,"signal":10381,"stop":4342,"open":3}; avg hours held 7.79; time in market 79%; closed-trade drawdown -305.79 R; drawdown incl. open losses -306.11 R; worst open loss in one trade -5.76 R total vs buy and hold: -315,717 $ per contract (buy and hold 186,788); worst peak-to-trough of the marked equity n/a for the thirds (buy and hold 68,488) longs: n=2981 net -101.18 R; shorts: n=2982 net -176.40 R; trades per year 886.13; data-hole trades 0 control (state shift, 500 runs): usable 500, mean trades 5963.65, median avg -0.04 R, 5th -0.05, 95th -0.02; real avg -0.05 R -> percentile 18.80 [FAIL] 1 PF >= 1.2 in validation: VAL PF 0.85 [PASS] 2 >= 50 trades in each period: 3537 / 1059 / 1367 [FAIL] 3 t >= 2.5 on development: DEV t -3.56 [FAIL] 4 above 95th pct of random runs: percentile 18.80 [FAIL] 5 positive without top-10 trades: -304.35 R [FAIL] 6 holdout net positive (flagged used): HOLDOUT net -25.17 R PF 0.95 -> VERDICT Buried OVERALL: 12 variant-market results: 0 Inconclusive, 12 Buried, 0 Survivor.