Pending-Pfad fuer SIG: ruhende Stop-Order am Bestaetigungs-Level
SIG laeuft damit auf der gemessen positiven Variante (OeR +0,35/+0,32, PF 2,2) statt auf der Market-Order (-0,09/-0,11). Der heikelste Punkt war nicht die Order, sondern die Kollision beider Pfade: trader.pending_orders() liefert ALLE magic-gleichen Orders, zwei getrennte Manager haetten sich gegenseitig storniert - sporadisch und im Log kaum erkennbar. Deshalb EIN gemeinsamer Ziel-Zustand (engine._pending_ziel), der Manager gleicht nur noch ab. Vorrang Squeeze > Signal (unabhaengig validiert, selten; das Signal feuert dauernd, es gibt einen Positions-Slot). Zwei additive Ergaenzungen in wave_rec._confirm_breakout: das Bestaetigungs-Level wird auch NACH der Bestaetigung veroeffentlicht (die Nachjagd-Bremse braucht es genau dann; pending bleibt False, Frontend unberuehrt), und conf = die Konfidenz VOR dem Stummschalten - sonst muesste die ruhende Order blind platziert werden. Nachjagd-Bremse jetzt auch fuer SIG (0,20 xATR, Haertetest-gedeckt). 12 Szenarien getestet, live am Snapshot verifiziert. Snapshot-Felder squeeze_pending_levels -> pending_levels + pending_quelle. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
12fb11fa44
commit
90d77a2305
@@ -1401,10 +1401,41 @@ dort bereits nachvalidiert, ØR +0,305.) **Eine** Oberfläche:
|
||||
also im gemessen negativen Fall. Wie oft das passiert, ist ungemessen.
|
||||
(4) `_pend` wird aktuell **nicht im Snapshot veröffentlicht** — das wäre die erste
|
||||
Bauarbeit.
|
||||
⚠⚠ **KONSEQUENZ FÜR DEN LAUFENDEN BETRIEB:** SIG steht seit dem 05.08. 08:13 auf
|
||||
AN (User-Toggle) und läuft dabei über die **Market-Order — also Variante A, die in
|
||||
beiden Halbjahren negativ ist.** Solange der Pending-Pfad nicht gebaut ist, ist der
|
||||
Schalter die gemessen schlechte Variante.
|
||||
✅✅ **PENDING-PFAD FÜR SIG GEBAUT & LIVE (2026-08-05, User-Vorgabe),
|
||||
`[trading] signal_pending_entry=true`.** SIG läuft damit auf Variante B statt A.
|
||||
⚠⚠ **Der heikelste Punkt war NICHT die Order, sondern die Kollision der beiden
|
||||
Pfade.** `trader.pending_orders()` liefert ALLE magic-gleichen Orders — zwei
|
||||
getrennte Manager (Squeeze/Signal) hätten sich **gegenseitig die Orders
|
||||
storniert**, sporadisch und im Log kaum erkennbar. Deshalb **EIN gemeinsamer
|
||||
Ziel-Zustand**: `engine._pending_ziel()` liefert `{order_type: preis}` + Quelle,
|
||||
`_manage_squeeze_pending` gleicht nur noch ab. **VORRANG: Squeeze > Signal** — der
|
||||
Squeeze ist unabhängig validiert und selten (~2–3×/Woche), das Signal feuert
|
||||
dauernd; bei EINEM Positions-Slot ist die Reihenfolge damit eindeutig.
|
||||
⚠ **Zwei additive Ergänzungen in `wave_rec._confirm_breakout` waren nötig:**
|
||||
(1) Das Bestätigungs-Level wird jetzt **auch nach der Bestätigung** veröffentlicht
|
||||
(`snap["breakout"]["level"]`, `confirmed=True`) — die Nachjagd-Bremse im
|
||||
Market-Fallback braucht es genau dann. `pending` bleibt False, das Frontend rendert
|
||||
nur bei `pending` und ist unberührt. (2) **`conf`** = die Konfidenz VOR dem
|
||||
Stummschalten: der Rückgabewert setzt `conf_pct` auf 0 (das Signal gilt ja noch
|
||||
nicht), die ruhende Order müsste sonst **blind** platziert werden. Damit wird die
|
||||
Mindest-Konfidenz jeden Tick geprüft und die Order storniert, sobald sie fällt —
|
||||
strenger als der Live-Check von vorher (der prüfte nur im Moment des Entries).
|
||||
⚠ **Nachjagd-Bremse auch für SIG** (`squeeze_max_chase_atr`, 0,20): greift die
|
||||
Pending nicht, wird nur noch bis 0,20×ATR über dem Bestätigungs-Level nachgekauft —
|
||||
der Härtetest zeigt dort +0,148/+0,090, ab ~0,25–0,30 kippt es.
|
||||
⚠ **Der wandernde Anker ist die operative Hauptlast:** `_pend` verankert sich bei
|
||||
jeder k×ATR-Gegenbewegung, nach Timeout und bei Richtungswechsel neu — die Order
|
||||
wird dann nachgezogen (Toleranz 0,02×ATR gegen Order-Churn). **Mit 12 Szenarien
|
||||
getestet** (Vorrang · reiner Signal-Fall · SHORT · Konfidenz zu niedrig · Wechsel
|
||||
Signal→Squeeze mit Storno · wanderndes Level · Toleranz · Gate · Fill · Feature aus
|
||||
· Bestätigung eingetreten · Schonfrist). Live verifiziert am Snapshot:
|
||||
`signal_pending=true`, `breakout` liefert `level`/`conf`/`confirmed`;
|
||||
`pending_levels` leer, weil eine Position offen war = korrektes Verhalten.
|
||||
Snapshot-Felder umbenannt: `squeeze_pending_levels` → **`pending_levels`** +
|
||||
**`pending_quelle`**. Zurück: `signal_pending_entry=false`.
|
||||
⚠ **B4-Pflicht:** dieselbe Erfolgskontrolle wie beim Squeeze — der Abstand
|
||||
Einstieg↔Level muss gegen 0 gehen. AUTOSIG-Trades sind über `setup=AUTOSIG_*`
|
||||
separierbar.
|
||||
⚠ **Methodik-Fehler beim Bau, gefunden und behoben:** der erste Entwurf liess
|
||||
`pend["level"]` nach der Bestätigung über weitere Bars stehen — bei verzögertem
|
||||
Einstieg (Slot belegt, Konfidenz zu niedrig) wäre er zu einem Preis eingestiegen,
|
||||
|
||||
Reference in New Issue
Block a user