diff --git a/CLAUDE.md b/CLAUDE.md index ede3490..508ada3 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -610,18 +610,22 @@ dort bereits nachvalidiert, ØR +0,305.) **Eine** Oberfläche: `set_sr_close_min_gain` · Snapshot `sr_close_min_gain`): unter der EUR-Schwelle wird am Level NICHT geschlossen. ⚠ Gemessen ist OHNE besser (Verworfen-Eintrag) — Opt-in auf User-Wunsch, UI-Status warnt. **Automatisch auf X % des Einsatzes - (`[trading] sr_close_min_gain_pct=3.0`) — Stand 2026-07-24 abends wieder AN - (Verlauf: 1,0→3,0 am 07-23 · 0 am 07-24 früh „nichts beim Öffnen setzen" · - 3,0 am 07-24 abends auf User-Wunsch zurück — gilt NUR für den Gewinn-Close, der - Auto-Notfall-Stop bleibt AUS).** Bei `pct>0` wird bei JEDER echt neuen Position + (`[trading] sr_close_min_gain_pct`) — Stand 2026-07-29 wieder AUS (`=0`, User-Wunsch + „gewinn close und notfall stop wieder auf leer beim Eröffnen")** (Verlauf: 1,0→3,0 + am 07-23 · 0 am 07-24 früh „nichts beim Öffnen setzen" · 3,0 am 07-24 abends zurück · + **0 am 07-29** — gilt NUR für den Gewinn-Close, der Auto-Notfall-Stop bleibt AUS). + Bei `pct>0` wird bei JEDER echt neuen Position (nicht beim Wiedererkennen nach Neustart) `sr_close_min_gain` frisch auf `pct% × Margin dieser Position` gesetzt (`_check_auto_close`, retry-sicher via `_sr_close_min_gain_armed_ticket` — Margin aus `trader.refresh()` im selben `_pos_loop`-Tick, jeden Tick erneut versucht bis Margin>0; persistiert via `_save_runtime_state`, Log „Gewinn-Close armiert … +X (N% Margin Y)"). Bei `pct=0` wird beim Öffnen NICHTS gesetzt — dann bleibt der manuell im UI gesetzte/gemerkte - `sr_close_min_gain` maßgeblich (beim 0-Stellen am 07-24 auch den persistierten - Alt-Wert 17,17 in `runtime_state.json` genullt — Erb-Falle). + `sr_close_min_gain` maßgeblich. ⚠ **Umstellen auf 0 braucht Neustart:** `_sr_close_ + min_gain_pct` lebt im Speicher; solange der alte Wert (3,0) läuft, re-armt JEDER neue + Trade erneut — die ini-Änderung greift erst nach `restart_server.bat`. Beim 0-Stellen + zusätzlich den persistierten Alt-Wert in `runtime_state.json` nullen (`sr_close_min_gain`) + UND `emergency_state.json` `loss` (Erb-Falle, sonst restauriert der Neustart den Alt-Wert). **Gate verifiziert (2026-07-23, User-Nachfrage „darf nicht schließen bevor der Wert erreicht wurde"):** `_check_sr_close` prüft `pnl < sr_close_min_gain → return` **bevor** `_sr_close_hint`/`trader.close` überhaupt aufgerufen werden — isoliert