Frueh-Kappen kontrafaktisch geprueft — Hypothese widerlegt, Leckage liegt woanders
analyze_manual_close.py simuliert fuer jeden real geschlossenen Trade ab dem echten Einstieg den kanonischen Exit und vergleicht gegen das tatsaechliche Ergebnis. EUR-Faktor 87,6 EUR/$/Lot, robust aus 251 Trades geschaetzt (trader.pnl enthaelt Swap, direkte Rueckrechnung waere verfaelscht). Schliessgrund n IST Bot-Exit Delta manual Gewinn 143 +1428 +962 -467 sr_close Gewinn 106 +1591 +1060 -530 emergency Verlust 98 -1750 -1235 +515 sl Verlust 69 -1926 -697 +1229 Die Frueh-Kappen-Hypothese ist WIDERLEGT: das diskretionaere Schliessen kostet nichts, es bringt +467 EUR MEHR als der kanonische Exit; in 62 % der Faelle war der manuelle Close besser. Dasselbe gilt fuer den S/R-Auto-Close (-530). Beide realisieren Gewinne besser als reines Trailing. Die Leckage liegt auf der VERLUSTSEITE: die 69 per Broker-SL geschlossenen Trades haetten mit dem kanonischen Exit 1.229 EUR weniger verloren, die 98 Notfall-Closes 515 EUR weniger. Ueber alle Trades waere der kanonische Exit rund +700 EUR besser gewesen, praktisch vollstaendig aus der Verlustseite. Confounder benannt: simulate() setzt den Initial-SL auf 2,0xATR_M5, live kommt er aus ATR_M15 und ist oft deutlich weiter - unter Margin-Sizing schlaegt das voll auf den EUR-Verlust durch. Der +1.229-Wert misst also erheblich SL-BREITE, nicht Exit-Logik. backtest_sl_tf_mismatch.py hat die M5-Umstellung schon geprueft und wegen H2 verworfen; dieser Befund gibt Anlass, das mit dem kanonischen Exit zu wiederholen. Zweite Grenze: Vergleich gilt pro Trade, nicht als Kontostand-Hochrechnung. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
b376619663
commit
3ec4d53022
@@ -784,6 +784,36 @@ dort bereits nachvalidiert, ØR +0,305.) **Eine** Oberfläche:
|
||||
BOTS sind gemessen richtig; die eigentliche Asymmetrie liegt im diskretionären
|
||||
Früh-Kappen — genau die dokumentierte Kern-Leckage (B0-Checkliste: „Gewinner läuft
|
||||
das Trailing"). Ein Code-Gate am Bot-Exit adressiert das falsche Ende.
|
||||
⚠⚠ **KONTRAFAKTISCH NACHGERECHNET (`analyze_manual_close.py`, 2026-08-04) — DIE
|
||||
„FRÜH-KAPPEN"-HYPOTHESE IST WIDERLEGT.** Für jeden real geschlossenen Trade wurde
|
||||
ab dem echten Einstieg der kanonische Exit simuliert (EUR-Faktor 87,6 €/$/Lot,
|
||||
robust aus 251 Trades geschätzt — `trader.pnl` enthält Swap, eine direkte
|
||||
Rückrechnung wäre verfälscht):
|
||||
| Schließgrund | n | IST | Bot-Exit | Δ |
|
||||
|---|---|---|---|---|
|
||||
| `manual` Gewinn | 143 | **+1428** | +962 | **−467** |
|
||||
| `sr_close` Gewinn | 106 | +1591 | +1060 | −530 |
|
||||
| `emergency` Verlust | 98 | −1750 | −1235 | +515 |
|
||||
| **`sl` Verlust** | **69** | **−1926** | **−697** | **+1229** |
|
||||
**Das diskretionäre Früh-Kappen kostet NICHTS — es bringt +467 € MEHR** als der
|
||||
kanonische Exit gebracht hätte; in **62 %** der Fälle war der manuelle Close
|
||||
besser. Dasselbe gilt für den S/R-Auto-Close (−530). Beide realisieren Gewinne
|
||||
besser, als ein reines Trailing es täte.
|
||||
✅ **Die Leckage liegt auf der VERLUSTSEITE:** die 69 per Broker-SL geschlossenen
|
||||
Trades hätten mit dem kanonischen Exit **1.229 € weniger** verloren (−697 statt
|
||||
−1926), die 98 Notfall-Closes 515 € weniger. Über ALLE Trades summiert wäre der
|
||||
kanonische Exit rund **+700 €** besser gewesen — praktisch vollständig aus der
|
||||
Verlustseite.
|
||||
⚠ **Confounder, der das Ergebnis begrenzt:** `simulate()` setzt den Initial-SL auf
|
||||
**2,0×ATR_M5**, live kommt er aus **ATR_M15** (`_calc_sl_tp`) und ist damit oft
|
||||
deutlich weiter — unter Margin-Sizing schlägt das voll auf den EUR-Verlust durch.
|
||||
Der +1.229-Wert misst also zu einem erheblichen Teil **SL-Breite**, nicht
|
||||
Exit-Logik. `backtest_sl_tf_mismatch.py` hat die Umstellung auf M5-ATR bereits
|
||||
geprüft und wegen H2 verworfen — dieser Befund gibt Anlass, das mit dem
|
||||
kanonischen Exit ZU WIEDERHOLEN.
|
||||
⚠ Zweite Grenze: der Vergleich gilt **pro Trade**, nicht als Kontostand-
|
||||
Hochrechnung — ein länger laufender Trade hätte den Positions-Slot belegt und
|
||||
Folge-Trades verhindert.
|
||||
- **Mindestgewinn für den S/R-Close = VERWORFEN (gemessen `backtest_srclose_prob.py`,
|
||||
Mindestgewinn-Sektion):** „nur closen wenn ≥minR im Plus" verliert **monoton in
|
||||
BEIDEN Hälften** (minR 0,2: −444/−213 · 0,5: −1425/−854 R vs minR=0). Die vielen
|
||||
|
||||
Reference in New Issue
Block a user