diff --git a/CLAUDE.md b/CLAUDE.md index bc2966e..db577a6 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -3191,7 +3191,8 @@ hatte am 2026-07-30 bereits **2213 ausgewertete Zeilen**, ohne dass jemand hinsa | P(break) erneut auswerten (nach Nachtraining) | ≥800 Vorhersagen ab 01.08. | 0 | | **Modul-Audit: zweiter Durchgang** | ≥28 Tage seit dem 1. Audit | 2 (6 %) | | Verdict-Module auf Prädiktivität (`verdict_votes`) | ≥25 000 Verdicts | 8142 (33 %) | -| **Auto-Squeeze: B5-Abbruchprüfung** (Latte vorab fixiert) | ≥20 Squeeze-Trades ab 01.08. | 0 | +| **Manuelle Trades: Stufe 2** (was trennt Gewinner von Verlierern?) | ≥300 manuelle Trades **mit `ctx_*`** | 0 (Sammlung ab 04.08.) | +| **Auto-Squeeze: B5-Abbruchprüfung** (Latte vorab fixiert) | ≥20 Squeeze-Trades ab 01.08. | 2 (10 %) | | M30-Level-Umstellung live gegenprüfen | ≥30 S/R-Closes seit 30.07. | 17 (57 %) | | M1-Squeeze Variante B | ≥180 Tage `candles_m1` | 14 (8 %) | | News-Score-Prädiktivität | ≥90 Tage Sammlung | 9 (10 %) | diff --git a/measurement_reminder.py b/measurement_reminder.py index 3e1f6ed..95e6ae0 100644 --- a/measurement_reminder.py +++ b/measurement_reminder.py @@ -100,6 +100,30 @@ CHECKS = [ # solange beide laufen, ist die Squeeze-Erholung unten nicht sauber messbar. # Wird er je reaktiviert, gilt wieder: ≥20 AUTOSIG-Trades, ØR gegen +0,14 halten. # Der Zustand wird jetzt über CONFIG_DEPS['auto_signal'] überwacht.) + { + "key": "manual_ctx", + "title": "Manuelle Trades: Stufe 2 — was trennt Gewinner von Verlierern?", + "why": "Seit 2026-08-04 wird bei JEDEM Einstieg der volle Entscheidungszustand " + "mitgeschrieben (16 `ctx_*`-Spalten: P(break) Ziel/Stop, Abstand zu S/R, " + "Struktur, Squeeze, M30/H1, Spread/ATR, Session, block_reason, Konfidenz, " + "ATR, Bias, Kegel-Position, Stunde). Vorher war die Marktlage eines " + "manuellen Einstiegs NICHT rekonstruierbar — jede Aussage über die " + "Diskretion des Users blieb Spekulation. ⚠ Die Vorprüfung zeigte: die " + "sichtbaren Muster sind Einzeltage (Stunde 13:00 = +478 € über n=69, " + "davon 80 % aus FÜNF Trades des 04.08.). Erst mit genug Kontext ist " + "messbar, WORAN gute von schlechten Einstiegen zu unterscheiden sind.", + "have": lambda: _q("SELECT COUNT(*) FROM trades WHERE ctx_atr_m5 IS NOT NULL " + "AND pnl IS NOT NULL AND (setup IS NULL OR (setup NOT LIKE " + "'AUTOSIG%' AND setup NOT LIKE 'SQUEEZE%'))"), + "need": 300, "unit": "manuelle Trades mit Kontext", + "cmd": "Fit auf der ERSTEN Hälfte, validiert auf der ZWEITEN; AUC und " + "Kalibrierung berichten (Methode wie backtest_pbreak_retrain.py). " + "⚠ 300 reichen für eine ERSTE SICHTUNG, nicht für ein Urteil — mit " + "~150 je Hälfte und mehreren Merkmalen ist die Overfit-Gefahr hoch; " + "wenige Merkmale nehmen und das Ergebnis entsprechend vorsichtig lesen. " + "Ziel ist ein HINWEIS im Order-Dialog ('deine Trades in dieser " + "Konstellation: X % WR, n=Y'), ausdrücklich KEIN Auto-Entry.", + }, { # ⚠ VORAB festgelegte Abbruchregel (User-Zustimmung 2026-08-01) — bewusst VOR # der Beobachtung fixiert, damit die Latte hinterher nicht verschoben wird.