Roast-Punkte 1-3: Erfolgskontrolle erweitert, flip_close sichtbar, WARTEN-Massstab

korrigiert - und ein eigener Messfehler gefunden

(3) backtest_dist_gated.py: der 43-%-Massstab war UNGUELTIG. backtest_dist.py
misst _build ALLEIN, ohne Breakout-Bestaetigung und ohne Entry-Raum-Gate - genau
die beiden sind live die groessten Blocker. Ueber 80k Bars: nur _build 77,9 %
gerichtet, voller Live-Stack 19,5 %, live 7,2 %. Der reale Abstand ist 12,3 Pp,
nicht 50. Damit ist der "93 statt 43 %"-Alarm entschaerft, der den TF-Churn-Fix
ausgeloest hat; die dortige Erfolgskontrolle ist hinfaellig. Ein Rest bleibt
(min_conf live 16,3 % gegen 0,9 % in der Sim) und ist als naechster Ansatzpunkt
notiert.

⚠ Dabei EIGENEN Fehler gefunden: set_entry_room(0.6) fehlte in DREI heute neu
gebauten Skripten - _entry_room_atr ist im Konstruktor 0.0, _room_gate ist dann
ein No-op. Aufgefallen, weil entry_room in der Verteilung mit 0 % auftauchte
statt mit 35 %. Alle drei korrigiert und die SIG-Messung WIEDERHOLT: Population
aendert sich stark (n 967->295 / 1327->524), die Schlussfolgerung nicht - Market
in 7 von 8 Feldern negativ, am Level bestehen alle vier Schwellen
(OeR +0,392/+0,356, PF 2,37/2,39), Slippage-Test haelt bis 0,20 xATR. Die
heutige Bau-Entscheidung ist gedeckt.

(2) auto_flip_close ist jetzt sichtbar (#flip-note, v=139) - mit Schwelle,
Zaehler UND der Messung im Text ("gemessen in beiden Halbjahren negativ"). Ein
blanker Zaehler haette wie ein Erfolg ausgesehen. Der Exit bleibt an.

(1) analyze_squeeze_entry_gap.py erfasst jetzt BEIDE Bot-Pfade (Squeeze +
Signal), Reminder entsprechend erweitert - sonst wartet er auf eine Population,
die vielleicht nie kommt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Axel Hocks
2026-08-05 12:45:36 +02:00
co-authored by Claude Opus 5
parent 90d77a2305
commit 516f1eaa7f
8 changed files with 326 additions and 24 deletions
+6 -2
View File
@@ -160,9 +160,13 @@ CHECKS = [
# Mitternacht: der Squeeze-Trade von 08:33 lief noch über die Market-Order und
# würde die Zählung verfälschen. `strftime('%s', …)` liest UTC, `entry_time`
# ist lokale Epoch — deshalb 07:00 UTC als sicherer Schnitt.
"have": lambda: _q("SELECT COUNT(*) FROM trades WHERE setup LIKE 'SQUEEZE%' "
# ⚠ Seit 05.08. laeuft AUCH der Signal-Pfad ueber Pending-Orders — beide
# zaehlen, sonst wartet der Reminder auf eine Population, die vielleicht
# nie kommt (der Squeeze feuert nur ~2-3x/Woche).
"have": lambda: _q("SELECT COUNT(*) FROM trades WHERE "
"(setup LIKE 'SQUEEZE%' OR setup LIKE 'AUTOSIG%') "
"AND entry_time >= strftime('%s','2026-08-05 07:00:00')"),
"need": 12, "unit": "Squeeze-Trades seit dem Umbau (05.08. 08:55)",
"need": 12, "unit": "Bot-Trades (Squeeze+Signal) seit dem Umbau (05.08. 08:55)",
"cmd": "python analyze_squeeze_entry_gap.py 60 → Der Median-Abstand muss "
"gegen 0 gehen und die Market-Log-Zeilen ('AUTO-SQUEEZE-ENTRY') "
"sollten weitgehend verschwinden. Bleibt der Abstand bei ~0,3×ATR, "