Auto-Squeeze: Wiedereinstiegs-Sperre nach jedem Close + Margin 95%

- Nach Notfall/SL/Time-Stop/manuellem Close eröffnet der Auto-Squeeze ~3 min
  nicht in gleicher Richtung wieder (_SQUEEZE_REENTRY_COOLDOWN_S=180). Verhindert
  die Open->Instant-Close-Kaskade bei zu engem Stop (real 27.07. -3-EUR-Stop killte
  Entry #1 in 16s, Squeeze noch aktiv -> sofort Re-Entry #2).
- _check_auto_close erfasst Flat-Uebergang (_pos_close_ts/_pos_close_dir via
  _open_pos_dir); Squeeze-Entry-Pfad prueft ihn nach dem S/R-Cooldown.
- margin_buffer_pct 80 -> 95 (User-Vorgabe)
- CLAUDE.md aktualisiert

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Axel Hocks
2026-07-28 10:07:27 +02:00
co-authored by Claude Opus 4.8
parent ae6bbb2f35
commit 9f34180bc1
2 changed files with 43 additions and 4 deletions
+18 -4
View File
@@ -397,10 +397,11 @@ dort bereits nachvalidiert, ØR +0,305.) **Eine** Oberfläche:
M5/M15 gegen-Bouncen — sonst Patt: Long geblockt, Short fehlt). **H1 bleibt nur
Kontext** (Filter/Konfluenz). Start-TF wird ins Band geklemmt. `agent` = LLM
wählt; `M1..H1` = fest. Der **Agent steuert die TF nicht mehr**.
- **Positionsgröße = margin-basiert 80 % (User-Vorgabe 2026-07-20, `risk_pct=0`,
`margin_buffer_pct=80`):** `calc_lots` setzt die Lots auf ~80 % der freien Margin.
Verlauf 90→95→75→(1,5 % risiko, wenige Stunden am 2026-07-20)→**80 % margin** —
der User hat die Margin-Wahl damit 3× getroffen (bewusst; nicht ungefragt umstellen).
- **Positionsgröße = margin-basiert 95 % (User-Vorgabe 2026-07-28, `risk_pct=0`,
`margin_buffer_pct=95`):** `calc_lots` setzt die Lots auf ~95 % der freien Margin.
Verlauf 90→95→75→(1,5 % risiko, wenige Stunden am 2026-07-20)→80 %→**95 % margin
(2026-07-28)** — der User hat die Margin-Wahl damit mehrfach bewusst getroffen (nicht
ungefragt umstellen). ⚠ 95 % ist noch aggressiver als die 80 %-Referenz unten.
⚠ Aggressiv: der 95,48-€-Nacht-Trade 2026-07-20 (News-ATR → SL ~1,0 $ breit ×
1,03 Margin-Lots ≈ 11 % Konto) ist der Referenzfall; mit `risk_pct=1.5` wären es
~0,15 Lots / ~14 € gewesen (`backtest_sizing.py`: Margin-Sizing bis 36 %
@@ -801,6 +802,19 @@ dort bereits nachvalidiert, ØR +0,305.) **Eine** Oberfläche:
NICHT gesetzt → nach Ablauf feuert der Ausbruch, falls noch aktiv. **Der Reverse
(Gegenrichtung) bleibt unberührt** — nur der Gleichrichtungs-Wiedereinstieg wird
verzögert.
**Allgemeine Wiedereinstiegs-Sperre nach JEDEM Close (2026-07-28, Koordinations-Fix,
kein Backtest):** nach dem Schließen eines Trades durch **Notfall-Stop / Broker-SL /
Time-Stop / manuell** eröffnet der Auto-Squeeze **~3 min (`_SQUEEZE_REENTRY_COOLDOWN_S=
180`) nicht in GLEICHER Richtung** wieder. Grund: real am **2026-07-27 15:39** killte
ein zu enger manueller 3-€-Notfall-Stop (Sub-Spread bei Margin-Sizing) den Auto-
Squeeze-Entry #1 nach **16 s**; der Squeeze war noch `active` → sofortiger Re-Entry #2
(Open→Instant-Close-Kaskade, doppelter Spread). `_check_auto_close` erfasst den Flat-
Übergang (`_pos_close_ts`/`_pos_close_dir`, Richtung via `_open_pos_dir` solange offen),
der Squeeze-Entry-Pfad prüft ihn NACH dem S/R-Cooldown; `_squeeze_last_sig` wird NICHT
gesetzt → nach Ablauf feuert der Ausbruch, falls noch aktiv. Gegenrichtung/Reverse
unberührt. Deckt alle Close-Arten außer dem S/R-Close ab (der hat seinen eigenen
Marker). ⚠ Behebt das *Symptom*; der eigentliche Auslöser war der Sub-Spread-Stop
(`emergency_min_eur=3`-Guard fängt <3 € ab, 3 € genau auf der Grenze war zulässig).
- **TF-Wechsel nicht mehr persistiert:** `engine._apply_wave_tf` merkt den
Heuristik-TF nur im Speicher (kein `save_config` mehr) — sonst würde die
Secrets-`ini` bei jedem Switch neu geschrieben (Kommentar-Verlust/Churn). Beim