Sieben Verbesserungen umgesetzt: Breaker scharf, B5 entschieden, 5 Werkzeuge
1) CIRCUIT-BREAKER SCHARF -- daily_loss_limit_pct 0 -> 8. Live verifiziert:
enabled=True, limit_eur 89,44. Steht nicht in runtime_state.json, die ini
greift direkt. Begruendung: MaxDD 82,8 % auf dem gemessenen IST-Pfad,
schlechtester Einzeltrade -381 EUR.
2) B5-DEADLOCK RECHNERISCH AUFGELOEST -- die Regel ist ENTSCHIEDEN, nicht
vertagt. Stand 11/20: Verhaeltnis 0,14 (Latte 1,0), PF 0,39 (Latte 1,0).
Was die 9 Rest-Trades leisten muessten:
9/0 Gewinner -> 165,72 EUR je Trade = 12,2x der bisherige Schnitt
7/2 -> 186,17 EUR
5/4 -> 222,99 EUR
Der groesste Squeeze-Gewinn des Zeitraums war 77,34 EUR -- selbst der beste
Fall verlangt 2,1x den Rekord, neunmal in Folge. Latte nicht mehr erreichbar.
auto_squeeze bleibt FALSE. Wiederaufnahme waere eine NEUE Entscheidung mit
NEUER, vorab fixierter Latte.
3) core/kontrolle.py -- Kontroll-Fixture mit den Referenzwerten. Bricht bewusst
NICHT ab: ein Backtest darf abweichen, er muss es nur wissen und sagen.
4) core/live_config.py -- EINE Quelle der Live-Parameter (ini + runtime_state in
der Vorrangfolge des Engine-Starts). Dritte Instanz derselben Fehlerklasse:
ATRMIN_STD 0,12 statt 0,06, fehlendes set_entry_room, nachgebauter Cluster.
5) stichprobe.paarweise()/zeig_paarweise() -- gepaarter Vergleich. Anlass:
trail_start sah sequentiell besser aus, gepaart kippte das Vorzeichen
(Selektions- statt Exit-Effekt). Selbsttest in drei Richtungen bestanden.
6) tools/check_konstanten.py -- Waechter fuer veraltete Zahlen.
Erster Lauf: zwei Befunde, BEIDE Fehler in meiner eigenen Ableitung (Margin
aus Balance geschaetzt statt vom Broker gelesen; Elliott ohne
Gueltigkeitsfenster gezaehlt). Beide korrigiert.
Danach ein ECHTER Fund: meine am 13.08. notierten "~405 EUR/Lot" sind falsch,
der exakte Broker-Wert ist 712,84 -- die urspruenglich notierten 670 lagen
naeher als meine Korrektur. Lehre: eine abgeleitete Zahl ist keine gemessene.
Stand jetzt 0 Befunde.
7) Puls-Waechter bedingungs-bewusst: PULS traegt je Zeile die Vorbedingung,
bedingte Tabellen erscheinen als Hinweis statt als Ausfall. 0 Zeilen bleibt
IMMER ein Befund (der rec_outcomes-Fall). Grund: ein Waechter mit
Fehlalarmen wird ignoriert -- so ist der Divergenz-Waechter verstummt.
Pipeline gruen (85 Tests), Deployment ueber deploy.py --feld circuit_breaker
verifiziert, genau eine Instanz je Port.
Nicht angefasst: Sizing (User-Entscheidung) und die 44 Backtests mit eigener
Exit-Kopie (Migrations-Regel).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
9dbc5d0452
commit
792355e8f9
+15
-7
@@ -213,13 +213,21 @@ CHECKS = [
|
||||
"Berührungen = faktisch pauschaler S/R-Close), 15-Min-Regel aus, Trailing "
|
||||
"einheitlich 1,0 statt 1,5–3,0 je TF. Deshalb NICHT sofort zurückgebaut, "
|
||||
"sondern ein sauberes Fenster mit harter Latte.",
|
||||
"have": lambda: _q("SELECT COUNT(*) FROM trades WHERE setup LIKE 'SQUEEZE%' "
|
||||
"AND pnl IS NOT NULL AND entry_time >= "
|
||||
"strftime('%s','2026-08-01')"),
|
||||
"need": 20, "unit": "Squeeze-Trades seit 01.08.",
|
||||
"cmd": "ABBRUCHREGEL: Verhältnis (ØGewinn/ØVerlust) < 1,0 ODER PF < 1 "
|
||||
"→ `auto_squeeze=false` (B5-Rückbau, kein Ego). Sonst weiterlaufen "
|
||||
"lassen. Zahlen: /api/squeeze_monitor bzw. Statistik-Tab.",
|
||||
"have": lambda: 20, # ⚠ ENTSCHIEDEN — s. `cmd`
|
||||
"need": 20, "unit": "Squeeze-Trades seit 01.08. (ENTSCHIEDEN bei 11)",
|
||||
"cmd": "✅ ERLEDIGT 2026-08-17 — die Regel ist RECHNERISCH entschieden, "
|
||||
"nicht vertagt. Stand war 11/20: ØGewinn 13,62 gegen ØVerlust 94,15 "
|
||||
"= Verhältnis 0,14 (Latte 1,0), PF 0,39 (Latte 1,0), Σ −173,46 €. "
|
||||
"Nachgerechnet, was die 9 Rest-Trades leisten müssten: selbst im "
|
||||
"BESTEN Fall (9 von 9 Gewinnern, kein weiterer Verlust) bräuchte es "
|
||||
"Ø 165,72 € je Trade — das 12-fache des bisherigen Durchschnitts und "
|
||||
"2,1× den bisherigen REKORD (77,34 €). Mit Verlusten darunter steigt "
|
||||
"die Anforderung auf 175–223 €. ⚠ Die Latte ist damit nicht mehr "
|
||||
"erreichbar; auf 20 zu warten hätte den Zustand nie entschieden — "
|
||||
"und der Trader stand seit 11.08. ohnehin AUS, wodurch der Zähler "
|
||||
"eingefroren war (Deadlock). `auto_squeeze` bleibt FALSE. "
|
||||
"Wiederaufnahme wäre eine NEUE Entscheidung mit NEUER, vorab "
|
||||
"fixierter Latte — nicht die Fortsetzung dieser.",
|
||||
},
|
||||
{
|
||||
"key": "squeeze_entry_gap",
|
||||
|
||||
Reference in New Issue
Block a user