Enger Stop fuer die ersten N Bars: keine Aenderung (backtest_sl_staged.py)
User-Idee: SL beim Eroeffnen sehr eng, damit falsch laufende Trades frueh geschlossen werden; laeuft er richtig, etappenweise nachziehen. Der zweite Teil ist laengst gebaut (Phasen-Ratsche); neu war allein der zeitlich befristete enge Stop. Ohne Exit-Nachbau gerechnet: Lauf A (sl_atr=eng) und B (sl_atr=weit) laufen auf DEMSELBEN Pfad; innerhalb der ersten N Bars ist der einzige Unterschied der SL-Abstand, jeder Nicht-SL-Ausstieg faellt identisch aus. Also exakt R = R_A wenn A vor/bei Bar N aussteigt, sonst R_B. Keine fuenfte Exit-Kopie. 80k M5, Squeeze-Entries, ruhende Order am Level, kanonischer Exit, Echtkosten, ein Slot. Basis = durchgehend 3,4xATR_M5 (der Live-Stop, aus 121 echten Trades als Median gegengerechnet): Basis H1 -0,248 / WR 37,0 % / worst -3,73 H2 -0,107 / 44,4 % / -3,74 N=3, eng 0,5 H1 -0,263 / WR 23,3 % H2 -0,043 / 30,4 % N=6, eng 0,5 H1 -0,242 / WR 22,9 % / worst -0,89 H2 -0,045 / 30,1 % / -0,96 N=12, eng 0,5 H1 -0,240 H2 -0,044 DER ENTSCHEIDENDE BEFUND IST STRUKTURELL: die Staffelung hat keinen Raum. Bei N=12 steigen 269 von 279 Trades schon in Phase 1 aus (96 %) -- die mittlere Haltedauer ist 12-18 min, "die ersten 30-60 Minuten" sind der ganze Trade. Wo die Staffelung ueberhaupt etwas anderes tut als ein dauerhaft enger Stop (N=3), ist sie in H1 bei allen vier eng-Werten schlechter. Wo sie gewinnt (N=6/12), ist sie kein gestaffelter Stop mehr, sondern ein permanent enger. Regel verfehlt: die zwei nominell besseren Kombinationen liegen in H1 bei +0,007/+0,008, also weit unter einem Standardfehler (~0,055 bei n=279), die Nachbarn kippen, und alle Werte sind negativ (Verlustgrade, kein Edge). WAS ECHT IST: der Tail. Worst-Case -3,73 -> -0,83/-0,96 = Faktor 4. Bezahlt mit der Trefferquote (37,0 -> 22,9 %). Aber die Bar-Sim ueberschaetzt enge Stops systematisch (Kipp ~0,3xATR) -- die Verzerrung geht zugunsten der Idee, das Nein ist damit umso belastbarer. Nichts am Live-System geaendert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
02bec8fbb2
commit
c251652d33
@@ -5675,6 +5675,61 @@ Trades bei anderer Größe, was bei **manuellen** Trades eine starke Annahme ist
|
||||
und der Breaker wird auf **realisierte** Tagesverluste geprüft, während er live
|
||||
auch die offene Position kappt → die Sim **unterschätzt** ihn.
|
||||
|
||||
### ⚠⚠ ENGER STOP FÜR DIE ERSTEN N BARS = KEINE ÄNDERUNG (`backtest_sl_staged.py`, 2026-08-13)
|
||||
|
||||
User-Idee: „SL beim Eröffnen sehr eng, damit falsch laufende Trades früh
|
||||
geschlossen werden; läuft er richtig, den SL etappenweise nachziehen."
|
||||
⚠ Der **zweite** Teil ist längst gebaut (Phasen-Ratsche in `core/trailing.py`);
|
||||
neu und ungemessen war allein der **zeitlich befristete** enge Stop. Nicht zu
|
||||
verwechseln mit einem durchgehend engen Stop — der ist 2× gemessen
|
||||
(`backtest_sl_width.py`, `backtest_sl_basis.py`).
|
||||
✅ **Ohne Exit-Nachbau gerechnet:** Lauf A (`sl_atr=eng`) und Lauf B
|
||||
(`sl_atr=weit`) laufen auf DEMSELBEN Pfad; innerhalb der ersten N Bars ist der
|
||||
einzige Unterschied der SL-Abstand, jeder Nicht-SL-Ausstieg fällt identisch aus.
|
||||
Also exakt `R = R_A wenn A vor/bei Bar N aussteigt, sonst R_B`. Keine Näherung,
|
||||
keine fünfte Exit-Kopie.
|
||||
|
||||
**80k M5, Squeeze-Entries, ruhende Order am Level, kanonischer Exit, Echtkosten,
|
||||
EIN Slot. Basis = durchgehend 3,4×ATR_M5 (= der Live-Stop 2,0×ATR_M15, aus 121
|
||||
echten Trades als Median gegengerechnet):**
|
||||
| Variante | H1 ØR / WR / worst | H2 ØR / WR / worst |
|
||||
|---|---|---|
|
||||
| **Basis (heute)** | −0,248 / 37,0 % / **−3,73** | −0,107 / 44,4 % / **−3,74** |
|
||||
| N=3, eng 0,5 | −0,263 / 23,3 % / −3,66 | −0,043 / 30,4 % / −0,96 |
|
||||
| **N=6, eng 0,5** | **−0,242** / 22,9 % / **−0,89** | **−0,045** / 30,1 % / **−0,96** |
|
||||
| N=12, eng 0,5 | −0,240 / 22,9 % / **−0,83** | −0,044 / 30,1 % / −0,96 |
|
||||
| N=6, eng 0,8 | −0,258 / 27,2 % / −3,15 | −0,066 / 35,0 % / −1,26 |
|
||||
|
||||
⚠⚠ **DER ENTSCHEIDENDE BEFUND IST STRUKTURELL: die Staffelung hat gar keinen
|
||||
Raum.** Die Spalte „früh" zeigt, wie viele Trades schon in Phase 1 aussteigen —
|
||||
bei **N=12: 269 von 279 (96 %)**. Die mittlere Haltedauer liegt bei 12–18 min
|
||||
(2–4 M5-Bars); „die ersten 30–60 Minuten" sind also **der ganze Trade**. Wo die
|
||||
Staffelung überhaupt etwas anderes tut als ein dauerhaft enger Stop (N=3), ist
|
||||
sie in H1 bei **allen vier** eng-Werten schlechter. Wo sie „gewinnt" (N=6/12),
|
||||
ist sie **kein gestaffelter Stop mehr, sondern ein permanent enger** — und der
|
||||
war die Ausgangsfrage nicht.
|
||||
❌ **Regel verfehlt.** Zwei Kombinationen schlagen die Basis nominell in beiden
|
||||
Hälften (N=6/12 mit eng 0,5: Δ H1 **+0,007/+0,008**), aber (a) das liegt bei
|
||||
n≈279 **weit** unter einem Standardfehler (~0,055), (b) die **Nachbarn kippen**
|
||||
(N=3 gleiche Enge → −0,014; eng 0,8 → −0,009 in H1), (c) es ist der degenerierte
|
||||
Fall. Der ganze Ertrag steckt in H2 (+0,063), H1 ist ein Wash.
|
||||
⚠ Und: **alle** Werte sind negativ — verglichen werden Verlustgrade, kein Edge.
|
||||
|
||||
✅ **WAS ECHT IST — der Tail.** Worst-Case **−3,73 → −0,83/−0,96**, also **Faktor
|
||||
4**. Genau das ist für unbeaufsichtigten Betrieb die relevante Größe. Bezahlt
|
||||
wird es mit der Trefferquote: **37,0 → 22,9 %** bzw. 44,4 → 30,1 %.
|
||||
⚠⚠ **Aber die Bar-Simulation ÜBERSCHÄTZT enge Stops systematisch** (Kipp-Punkt
|
||||
~0,3×ATR, `analyze_trail_resolution.py`) — die Verzerrung geht **zugunsten**
|
||||
dieser Idee. Ein ✅ wäre also abzuschlagen; das ❌ ist umso belastbarer.
|
||||
⚠ Nebenbefund: `durchgehend 2,0×ATR` schlägt die Basis in beiden Hälften
|
||||
(Δ +0,019/+0,029) und in H1 sogar die gestaffelten Varianten. Das widerspricht
|
||||
`backtest_sl_width.py` NICHT — dort war die Population die gegatete Wellen-Seite
|
||||
mit Bar-Close-Einstieg, hier sind es Level-Einstiege. Falls jemand die SL-Breite
|
||||
je anfasst, gehört diese Zelle nachgemessen, nicht die gestaffelte.
|
||||
⚠ **Gleiche Grenze wie beim S/R-Lauf:** die ABSOLUTEN Werte reproduzieren den
|
||||
dokumentierten Squeeze-Kontrollwert (+0,124/+0,292) nicht. Belastbar ist allein
|
||||
der **relative** Vergleich — alle Varianten laufen auf derselben Entry-Liste.
|
||||
|
||||
### ✅ S/R-AUTO-CLOSE WIEDER AN (User-Entscheidung 2026-08-11)
|
||||
|
||||
Frage war: „sollten wir Trades bei einem S/R-Bounce automatisch schliessen?"
|
||||
|
||||
Reference in New Issue
Block a user