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.

Claude-Session: https://claude.ai/code/session_0156YhogLytzj9P2iH1skGbL
This commit is contained in:
Harwinder Sekhon
2026-09-06 16:53:43 -04:00
parent 5885021dda
commit 3cf3c60b89
2 changed files with 0 additions and 4 deletions
-2
View File
@@ -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
# ═════════════════════════════════════════════════════════════════════
-2
View File
@@ -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):
"""