Auto-Signal (SIG) neu gemessen: besteht erstmals - aber nur am Level, nicht am Markt
backtest_auto_signal_v3.py, voller Live-Gate-Stack (echte _build / _confirm_breakout / _room_gate), sequentiell EIN Slot, Live-Dedup, kanonischer Exit, Echtkosten, 80k M5, 2 Halbjahre. A) Einstieg am Bar-Close (= heutige Market-Order): in ALLEN acht Feldern negativ (Konf 55/65/75/85 x 2 Halbjahre). Bestaetigt die drei Vormessungen. B) Einstieg am Bestaetigungs-Level (_pend["level"], ruhende Stop-Order): besteht in ALLEN acht - WR 39,6 -> 53,2 %, PF 0,83 -> 2,20, und alle vier Nachbar-Schwellen halten mit. Haertetest Fill-Slippage (Konf>=65): +0,05 -> +0,315/+0,249 · +0,20 -> +0,148/+0,090 (noch beidseitig positiv) · +0,31 -> +0,026/-0,031. Die letzte Zeile ist die interne Kontrolle: bei Slippage gleich dem gemessenen Median-Abstand (0,311 xATR) konvergiert B gegen A. Nichts umgeschaltet. Grenzen dokumentiert: fuer SIG ist nicht verifizierbar, wo live zwischen A und B liegt (nur 4 echte Trades); _pend verankert sich staendig neu, eine ruhende Order muesste nachgezogen werden und faellt bei Nicht-Platzierbarkeit auf A zurueck; _pend steht nicht im Snapshot. Methodik-Fehler beim Bau gefunden und behoben: der erste Entwurf liess pend["level"] nach der Bestaetigung stehen und waere bei verzoegertem Einstieg zu einem laengst verlassenen Preis eingestiegen - sichtbar an einem unplausiblen Bruch zwischen Konf 65 und 75. Behoben ueber ein frisch-Flag. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
43b7756df3
commit
12fb11fa44
@@ -1352,6 +1352,66 @@ dort bereits nachvalidiert, ØR +0,305.) **Eine** Oberfläche:
|
||||
Die Originaldatei bleibt unverändert (ihre Zahlen sind dokumentiert); die live-treue
|
||||
Variante steht als `backtest_auto_signal_norev.py` daneben und sollte künftig die
|
||||
Referenz sein.
|
||||
- **⚠⚠ AUTO-SIGNAL NEU GEMESSEN 2026-08-05 (`backtest_auto_signal_v3.py`) — ZUM
|
||||
ERSTEN MAL BESTEHT ER, ABER NUR MIT EINEM ANDEREN EINSTIEGSPREIS.**
|
||||
Anlass: User-Wunsch nach einer ausführlichen Neumessung „mit den neuen Änderungen".
|
||||
Geändert seit dem 04.08. waren Nacht-Fenster 0–7→3–6 und — der eigentliche Punkt —
|
||||
der **Ausführungs-Befund vom selben Tag**: `_confirm_breakout` hat ein LEVEL
|
||||
(`_pend["level"]` = Anker ± k×ATR), an dem eine ruhende Stop-Order liegen könnte.
|
||||
ALLE bisherigen SIG-Messungen sind am Bar-Close eingestiegen.
|
||||
Voller Live-Gate-Stack (echte `_build`/`_confirm_breakout`/`_room_gate`),
|
||||
sequentiell EIN Slot, Live-Dedup (1× je Episode), kanonischer Exit, Echtkosten,
|
||||
80k M5, 2 Halbjahre:
|
||||
| Konf | **A) Market (Bar-Close)** H1 / H2 | **B) am Bestätigungs-Level** H1 / H2 |
|
||||
|---|---|---|
|
||||
| ≥55 | −0,098 / −0,093 | **+0,349 / +0,331** |
|
||||
| ≥65 | −0,092 / −0,112 | **+0,357 / +0,317** |
|
||||
| **≥75 (live)** | −0,050 / −0,189 | **+0,380 / +0,272** |
|
||||
| ≥85 | −0,118 / −0,234 | **+0,351 / +0,279** |
|
||||
**A ist in ALLEN acht Feldern negativ** (bestätigt die drei Vormessungen).
|
||||
**B besteht in ALLEN acht** — Trefferquote 39,6 → 53,2 %, PF 0,83 → 2,20, und
|
||||
**alle vier Nachbar-Schwellen halten mit** (Parameter-Robustheit, an der ORB und
|
||||
die SMC-Sweeps gescheitert sind).
|
||||
⚠ **HÄRTETEST Fill-Slippage** (Konf≥65) — eine Stop-Order füllt zum Markt, der
|
||||
Idealpreis ist die Obergrenze: +0,05 → **+0,315/+0,249** · +0,10 → +0,273/+0,197 ·
|
||||
**+0,20 → +0,148/+0,090** (noch beidseitig positiv) · **+0,31 → +0,026/−0,031**.
|
||||
✅ **Die letzte Zeile ist die interne Kontrolle:** bei Slippage = dem gemessenen
|
||||
Median-Abstand (0,311×ATR) konvergiert B gegen A — das Modell prüft sich selbst.
|
||||
Der Kipp-Punkt liegt bei ~0,25–0,30×ATR Fill-Slippage.
|
||||
**Abstand Bar-Close ↔ Bestätigungs-Level: Median +0,311×ATR** (Ø +0,422, Max
|
||||
+5,29) — praktisch derselbe Wert wie beim Squeeze live (+0,275). Gleicher
|
||||
Mechanismus, gleiche Größenordnung.
|
||||
⚠ **Nacht-Fenster ist hier nahezu irrelevant:** 3–6 (+0,380/+0,272) · 0–7
|
||||
(+0,371/+0,226) · keine Sperre (+0,359/**+0,302**) — alle drei bestehen, ohne
|
||||
Sperre ist H2 sogar am besten. Deckt sich mit `backtest_cost_gate.py`.
|
||||
⚠⚠ **GRENZEN — bewusst NICHTS umgeschaltet:**
|
||||
(1) **Wo LIVE zwischen A und B liegt, ist für SIG NICHT verifizierbar** — beim
|
||||
Squeeze gab es 34 echte Entries zum Nachrechnen, hier sind es 4. Die Empfehlung
|
||||
macht das zwar gegenstandslos (eine ruhende Order IST B per Konstruktion), aber
|
||||
behauptet ist es damit nicht.
|
||||
(2) **Variante A ist STRENGER als live:** für die Vergleichbarkeit steigen beide
|
||||
Varianten nur im Bar der frischen Bestätigung ein (`frisch`); live darf
|
||||
`_check_auto_signal` auch später feuern. A ist ohnehin negativ, die Folgerung
|
||||
bleibt — aber A ist nicht exakt das Live-Verhalten.
|
||||
(3) **Operativ deutlich schwieriger als beim Squeeze:** die Squeeze-Box steht über
|
||||
viele Bars still, `_pend` dagegen **verankert sich neu**, sobald der Kurs k×ATR
|
||||
dagegen läuft, nach 12 Bars Timeout ODER bei Richtungswechsel. Eine ruhende Order
|
||||
müsste ständig nachgezogen werden (Broker-Last, mehr Ablehnungen am
|
||||
Mindestabstand) — und **wenn sie nicht platzierbar ist, landet man wieder bei A**,
|
||||
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.
|
||||
⚠ **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,
|
||||
den der Markt längst verlassen hatte. Kein Look-ahead, aber **unerreichbar**, und
|
||||
sichtbar an einem unplausiblen Bruch zwischen Konf 65 und 75 (+0,33 → −0,12).
|
||||
Behoben über das `frisch`-Flag. **Lehre: ein Preis, der einmal galt, ist keine
|
||||
Einstiegsmöglichkeit — nur der Moment der Auslösung zählt.**
|
||||
- **⚠⚠ 15-MINUTEN-REGEL GANZ ABGESCHALTET (`adverse_15min_atr = 0`, 2026-07-31,
|
||||
User-Entscheidung nach der Messung).** Auf die User-Frage „vielleicht die Auto-Close
|
||||
auf 30 min setzen?" wurde die **ZEIT-Achse** mitgemessen
|
||||
|
||||
Reference in New Issue
Block a user