From 9c2ea41f3d327c7b4f000b87fb3ba1a62b715859 Mon Sep 17 00:00:00 2001 From: Harwinder Sekhon Date: Sun, 6 Sep 2026 16:53:43 -0400 Subject: [PATCH] engine + gpu_backtest: drop the write-only _kc_squeeze stamps (no behaviour change) result._kc_squeeze / result._kc_squeeze_released were assigned by both the live TechnicalEngine and the backtester's GPUTechnicalEngine and read by nothing: the only four occurrences in the repo were the assignments. The squeeze state still feeds the Keltner signal text where it is computed. Removed from both engines in one commit (rule 4). Parity: 12-month M5 and H1 books regenerated byte-identical (md5 a28fed4becd056466c26d6a947e1a0e5 / d20405ef64f069770c258bb9bed1ac90). Suite: 461 passed, 0 failed. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_0156YhogLytzj9P2iH1skGbL --- backtest/gpu_backtest.py | 2 -- engine.py | 2 -- 2 files changed, 4 deletions(-) diff --git a/backtest/gpu_backtest.py b/backtest/gpu_backtest.py index 532f743..a238aaf 100644 --- a/backtest/gpu_backtest.py +++ b/backtest/gpu_backtest.py @@ -963,8 +963,6 @@ class GPUTechnicalEngine(TechnicalEngine): result.key_levels["kc_upper"] = kc_upper_val result.key_levels["kc_lower"] = kc_lower_val result.key_levels["kc_mid"] = kc_mid_val - result._kc_squeeze = is_squeeze - result._kc_squeeze_released = squeeze_released # ═════════════════════════════════════════════════════════════════════ diff --git a/engine.py b/engine.py index 2c3628f..5232636 100755 --- a/engine.py +++ b/engine.py @@ -793,8 +793,6 @@ class TechnicalEngine: result.key_levels["kc_upper"] = float(kc_upper_val) result.key_levels["kc_lower"] = float(kc_lower_val) result.key_levels["kc_mid"] = float(kc_mid_val) - result._kc_squeeze = is_squeeze # type: ignore[attr-defined] - result._kc_squeeze_released = squeeze_released # type: ignore[attr-defined] def _detect_divergences(self, df: pd.DataFrame, result: TechnicalAnalysis): """