Files
AH-Oil-Trader/docs/exit-simulation.md
T
Axel HocksandClaude Opus 4.8 75d28827e8 Initial commit: Oil Trading Bot (MT5, WTI)
Headless FastAPI-Backend (server.py + core/engine.py) mit Mobile-PWA (web/),
Strategie-/Backtest-Suite und Doku. Secrets, DB, Logs und Laufzeit-State sind
via .gitignore ausgeschlossen; Config-Vorlage: oil_widget_config.ini.example.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 08:29:23 +02:00

2.4 KiB
Raw Blame History

Exit-Simulation (Befund B: Initial-SL-Breite)

backtest_exit.py — misst, ob ein weiterer Initial-SL netto mehr bringt, unter originalgetreuer Nachbildung des Exit-Ablaufs aus core/trailing.py.

Mechanik (nachgebildet)

  • Initial-SL = X×ATR (getestete Variable).
  • Teil-Exit 50 % bei +1,5×ATR (einmalig).
  • Phasen: Init (<0,3×ATR → Initial-SL halten) · Trail (SL = HW∓1,5×ATR, Breakeven-Floor ab +0,6×ATR) · Lock (≥3,5×ATR → enger). Phasen-Ratsche.
  • Pessimistische Intrabar-Annahme: Gegenlauf vor Mitlauf → überschätzt den Nutzen eines weiten SL NICHT.
  • PnL in R (ATR-Vielfache). Fester Init-TP (+3,5×ATR) weggelassen — der Runner-Exit läuft praktisch über den Trailing-SL (konservativ, dominant).

Schlüssel: Der weite Init-SL wirkt nur in der Init-Phase. Sobald Trailing greift, kappt HW∓1,5×ATR ihn ohnehin. Er schützt also genau die Trades, die sofort gegen den Einstieg laufen (die „Frühstopps").

Ergebnis (M5+M30, ~28 Tage, 3585 Signale)

Init-SL Treffer Ø-R Summe-R PF Ø-Verlierer Worst-R Init-Stops
1,2 37 % 0,169 607 1,33 1,09 1,20 37 %
1,5 39 % 0,182 654 1,33 1,29 1,50 31 %
2,0 43 % 0,223 798 1,39 1,56 2,00 25 %
2,5 46 % 0,255 914 1,43 1,78 2,50 21 %
4,0 51 % 0,308 1104 1,49 2,28 4,00 14 %

Befund: Ø-R, PF, Treffer steigen monoton mit der SL-Breite, Frühstopps sinken. Aber: der größte Einzelverlust wächst 1:1 (Worst-R = X) → Tail-/Drawdown-Risiko.

Bewertung

  • Das aktuelle Band 1,21,5×ATR ist zu eng (deckt sich mit MAE ~1,7×ATR und 37 %/31 % Frühstopps). Wechsel auf ~2,0×ATR ist der ausgewogene Punkt: +32 % Ø-R, PF 1,33→1,39, Frühstopps 37→25 %, Worst-Case auf 2,0×ATR begrenzt.
  • Nicht auf 34×ATR: Durchschnitte steigen weiter, aber die großen Einzel- verluste treiben Drawdown/Ruin-Risiko; Stichprobe ist zudem ein Trend-Regime („länger halten" bevorzugt).
  • Money-Management: ein weiterer SL = mehr Risiko/Trade in EUR bei gleicher Lotgröße. Für konstantes EUR-Risiko die Lots ~proportional senken (1,5→2,0 ≈ 25 %).

Aufruf

python backtest_exit.py [n_bars] (Default 8000 M5-Bars)