PASS hand case: Coppock(1, 1, 3) = [-, -, -, 13.3333, 6.6667, 13.3333, 6.6667, 13.3333] PASS hand case: signals bull@5 (turns up after 13.33 -> 6.67), bear@6, bull@7; none before the curve has three values PASS a repeated signal in the same direction (a tie in the curve) is ignored: [0,1,0,1,1,2] -> bear@2, bull@3 only PASS default settings: ROC 14 + ROC 11, WMA 10, weights divided by 55 Coppock engine self-test. Run 2026-10-08T07:52:53.107Z Real data (no results printed): (ES: 39787 hourly bars; 5963 signals; first signal on bar 26; signals alternate: true) PASS the engine's Coppock curve matches a naive recomputation to 1e-9 on the real bars - max diff 0.0e+0 PASS the engine's signals equal the naive signals bar by bar PASS signals alternate and the state series flips exactly at the signals PASS CC-L-N: engine = independent reference on the same signals, trade by trade PASS CC-L-S: engine = independent reference on the same signals, trade by trade PASS CC-L-T1: engine = independent reference on the same signals, trade by trade PASS CC-L-T2: engine = independent reference on the same signals, trade by trade PASS CC-L-T3: engine = independent reference on the same signals, trade by trade PASS CC-L-T123: engine = independent reference on the same signals, trade by trade PASS CC-LS-N: engine = independent reference on the same signals, trade by trade PASS CC-LS-S: engine = independent reference on the same signals, trade by trade PASS CC-LS-T1: engine = independent reference on the same signals, trade by trade PASS CC-LS-T2: engine = independent reference on the same signals, trade by trade PASS CC-LS-T3: engine = independent reference on the same signals, trade by trade PASS CC-LS-T123: engine = independent reference on the same signals, trade by trade PASS the control machinery runs on the real bars for all 12 variants (3 smoke runs) SELF-TEST PASSED: every check passed (6 s). cc_run.js may now be pointed at the data. PASSED 2026-10-08T07:52:58.935Z