Trailing neustart-fest: Zustand per-Ticket persistieren + bei Wiedererkennung reaktivieren
Problem: trail.enabled lebte nur im Speicher -> nach jedem restart_server.bat war das Trailing aus, die (auch per Auto-Squeeze eroeffnete) Position lief nur mit dem Broker-SL (kein Breakeven/Time-Stop). Die magic-match-Wiedererkennung reaktivierte es nie; der User musste es manuell einschalten (real 2026-07-29). Fix: - emergency_state.json persistiert zusaetzlich "trail" (=trail.enabled) per-Ticket. - _check_auto_close-Restore-Zweig: erkannte Position + trail war AN -> trail.toggle, Log "Trailing wiederhergestellt ... nach Neustart". War es AUS (manuelles SL/TP), bleibt es aus (persistierter Zustand entscheidet, kein TP-Ueberschreiben). - Change-Detection im _pos_loop persistiert bei jeder Aenderung (auch Selbst- Deaktivierung bei manueller SL/TP-Erkennung), nur bei Aenderung -> kein I/O je Tick. Verifiziert: Live-Position 48763789 nach Deploy-Neustart automatisch mit Trailing wiederhergestellt (Log + Snapshot trail.enabled=True). Keine Loop-Fehler. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
c15aa36d46
commit
e9653a842a
@@ -915,6 +915,18 @@ dort bereits nachvalidiert, ØR +0,305.) **Eine** Oberfläche:
|
||||
real am 2026-07-17 14:30 setzte ein Neustart bei offenem Trade die von Hand gesetzten
|
||||
−25 € auf −19,42 € (2 %) zurück → Notfall-Close bei −19,64 statt bei −25. Eine echt
|
||||
neue Position (anderes Ticket) armiert normal aus pct/Merkwert und persistiert neu.
|
||||
⚠ **Trailing-Zustand ebenfalls neustart-fest (Fix 2026-07-29):** `emergency_state.json`
|
||||
persistiert jetzt zusätzlich `trail` (= `trail.enabled`) per-Ticket. Erkennt der Server
|
||||
dieselbe Position wieder und war das Trailing vor dem Neustart AN, **reaktiviert er es
|
||||
automatisch** (`_check_auto_close`-Restore-Zweig → `trail.toggle`, Log „Trailing
|
||||
wiederhergestellt … nach Neustart"). Grund: real am 2026-07-29 lief eine Auto-Squeeze-
|
||||
Position nach mehreren Server-Neustarts nur mit dem **Broker-SL** (Trailing/Breakeven/
|
||||
Time-Stop weg), weil `trail.enabled` nur im Speicher lebte und die Wiedererkennung
|
||||
(magic-match) es NIE reaktivierte — der User musste es von Hand einschalten. War das
|
||||
Trailing AUS (z. B. nach manuellem SL/TP via `/api/sltp` → `trail.deactivate`), bleibt
|
||||
es aus (der persistierte Zustand entscheidet — kein Überschreiben eines manuellen TP).
|
||||
Der Zustand wird bei **jeder Änderung** persistiert (Change-Detection im `_pos_loop`,
|
||||
fängt auch die Selbst-Deaktivierung des Trailings bei manueller SL/TP-Erkennung).
|
||||
**„aus"-Button schaltet auch den Auto-Arm ab** (setzt
|
||||
`_emergency_remember=0` — vorher blieb der gemerkte Wert und re-armte beim nächsten
|
||||
Trade, „aus" wirkte nur bis dahin; Bug gefixt 2026-07-07). Gilt genauso fürs Gewinn-Ziel. (Auto-Arm 1× auf manuell-only gestellt, nach Fehl-Trade
|
||||
|
||||
Reference in New Issue
Block a user