diff --git a/CLAUDE.md b/CLAUDE.md index 8420d66..7954039 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -7434,6 +7434,54 @@ vollständig. ⚠ **Verifikation der Zustellung steht aus** — sie erfolgt mit dem Report am nächsten Morgen um 07:30. Die Bausteine sind einzeln live gegengeprüft. +## ⚠⚠ DIE KLEIN-CLOSE-FALLE REPRODUZIERT AUF DEN EIGENEN TRADES (2026-08-19) + +Suche nach weiteren Optimierungen. Erstmals die `ctx_*`-Telemetrie (seit 04.08.) +auf der Ausführungs-Achse ausgewertet — **121 manuelle Trades** mit Kontext, +P&L **je Lot** (absolute Euro sind bei wechselnder Größe ungültig, Lehre 04.08.). + +| Raum zum Level IN Trade-Richtung | n | Treffer | EUR/Lot | +|---|---|---|---| +| **< 0,3×ATR** | 14 | **79 %** [57…100] | **−7,57** | +| **0,3–0,6×ATR** | 13 | 54 % | **−11,51** | +| 0,6–1,2×ATR | 30 | 67 % | −0,17 | +| > 1,2×ATR | 60 | 52 % | −0,74 | + +⚠⚠ **Die erste Zeile ist die dokumentierte Klein-Close-Falle, live und auf +eigenem Geld: 79 % Trefferquote — und trotzdem der zweitschlechteste Ertrag.** +`backtest_entryroom.py` hatte genau diese Signatur über 80k Bars gemessen +(„79–82 % WR und trotzdem PF<1“). Der Gewinn ist am Level gedeckelt, der +Verlust läuft bis zum Stop. **Beide Gate-Zonen (< 0,6) sind die einzigen mit +zweistellig negativem Ertrag je Lot.** +✅ **Kontrolle bestanden:** derselbe Split auf der **Gegen**-Seite (Stop-Level) +zeigt kein solches Muster (+0,35 / −3,91 / −4,23) — es ist also nicht „irgendein +Level in der Nähe“, sondern spezifisch die **Ziel**-Seite. Genau das misst das Gate. +⚠ **n=14 und n=13, die Intervalle sind breit** — das ist eine Bestätigung des +über 80k Bars gemessenen Musters, kein eigenständiger Beleg. + +⚠⚠ **Und die Information ist seit dem 11.08. im Moment der Entscheidung +UNSICHTBAR:** der Entry-Dialog wurde auf User-Wunsch entfernt, und mit ihm der +Ausrichtungs-Split. Der Raum steht heute nur in Gate ③b der M15-Karte — nicht +dort, wo geklickt wird. **Vorschlag (nicht gebaut): den Raum je Richtung in die +Order-Leiste neben LONG/SHORT** — kein Dialog, kein Klick, keine Sperre, nur eine +Zahl an der Stelle der Entscheidung. Passt zur Projektlinie „sichtbar machen, +nicht bevormunden“ (User-Übersteuerungen liefen gemessen 68 % WR). + +## ⚠⚠ KORREKTUR: der Circuit-Breaker sperrt NUR die autonomen Trades (2026-08-19) + +Beim Scharfstellen am 17.08. auf 8 % habe ich `analyze_sizing_live.py` zitiert +(+739 € Endstand, MaxDD −23,6 Pp). **Diese Simulation sperrt nach dem Auslösen +ALLE Trades des Tages — der Live-Code sperrt nur `_squeeze_guard`, also die +autonomen.** Gemessen: **von 461 Trades der letzten 30 Tage sind 36 autonom +(7,8 %)** — die sperrende Hälfte des Breakers ist damit heute praktisch **inert**. +✅ **Was WEITER wirkt und real ist: das SCHLIESSEN.** `_check_circuit_breaker` +schließt die offene Position unabhängig davon, wer sie eröffnet hat — und der +größte Posten der Simulation (07.08., +556,82 €) war genau das. +⚠ Die Einschränkung stand in CLAUDE.md, ich habe sie beim Scharfstellen aber +nicht in die Nutzen-Zahl übersetzt. **Die 8 % bleiben richtig gesetzt; die +erwartete Wirkung ist kleiner als zitiert.** Manuelle Orders zu sperren wäre eine +User-Entscheidung gegen die Projektlinie, keine Messfrage. + ## ⚠⚠ KONFIDENZ-SCHWELLE 55 GEMESSEN: SIE TRENNT NICHTS — keine Änderung ## (`backtest_conf_gated.py`, 2026-08-19)