Versuchsdossier · alle Versuche im Kandidatenvergleich
Baustein: Elder-SafeZone-Stop (asymmetrische Bar-Gegen-Penetration, Elder 2002) auf ATR-Band-Trend
Robustheits-Score 25.9/100 · AnekdoteWer zahlt und warum?
Intraday-Trends im DAX laufen in Impulsen, zwischen denen Gewinnmitnahmen und Liquiditätsgeber (Mean-Reversion-Market-Maker) Gegenzüge erzeugen. Deren typische Tiefe misst die mittlere Gegen-Penetration der letzten 5m-Bars. Solange der Gegenfluss innerhalb von k-mal diesem Rauschen bleibt, dominieren weiter die Trend-Orders (Breakout-Käufer, nachziehende Stops auf der Gegenseite). Ein Bruch darüber hinaus zeigt, dass der Gegenfluss das gewöhnliche Rauschen übersteigt: Der Order-Überhang des Breakouts ist aufgebraucht. Der weite Träger-Exit (Retrace bis zum Session-Open) gibt dann einen Großteil des MFE zurück (Exit-Lab: Exit-Effizienz der Träger meist unter 10 % des MFE). Der SafeZone-Stop sichert ihn an der Rauschgrenze statt am Tagesanker.
Widerlegt, wenn: PF des SafeZone-Arms unter dem PF des Träger-pur-Arms ODER PF < 1,1 bei n ≥ 40. Dann kappt die Rauschgrenze die seltenen großen Trendläufer (Fat-Tail-Kappung wie bei dax_squeeze_mae_stop) statt Giveback zu sichern.
Prüfliste nach Arnott, Harvey und Markowitz
Sieben Fragen aus „A Backtesting Protocol in the Era of Machine Learning“ (2019). Die Einstufung folgt festen Regeln aus den Feldern dieses Bauergebnisses.
| Punkt | Einstufung | Beleg |
|---|---|---|
| MotivationGab es vor dem Test eine ökonomische Begründung? | Ja | Mechanik und Vorhersage vor dem Test im Hypothesenregister (HYP-20260927-8c204530). |
| MehrfachtestsSind alle Versuche gezählt und wird dafür korrigiert? | Teilweise | 3 Varianten vor dem Lauf im Trial Ledger registriert (trl_a236f6720a8d). Das geltende Urteil korrigiert nicht für die Zahl der Versuche. |
| Daten und KostenSind Datenfenster, Datenstand und Kosten festgehalten? | Ja | Fenster 2026-03-17 bis 2026-09-06, Datenstand 2026-09-25, Slippage 0,5 Pkt je Seite; Engine-Fingerabdruck im Manifest. |
| Prüfung außerhalb der StichprobeWurde auf Daten geprüft, die beim Bau nicht bekannt waren? | Nein | Nur in-sample. Das Ergebnis dieses Baus ist kein Nachweis. |
| Stabilität über die ZeitHängt das Ergebnis an einem einzelnen Zeitraum? | Ja | Kein einzelner Monat trägt das Ergebnis (7 Monate); Aufteilung nach Marktphasen vorhanden. |
| KomplexitätIst die Regel sparsam genug für die Datenmenge? | Teilweise | 3 echte Varianten, 4 variierte Parameter (stop_mode, sz_bar_minutes, sz_coeff, sz_lookback). Regel: höchstens 2 variierte Parameter und 3 Varianten. |
| ForschungskulturWird auch das Scheitern veröffentlicht? | Ja | Jeder Bau erscheint unabhängig vom Ergebnis, dieses Dossier eingeschlossen; die Placebo-Kontrolle steht im Dossier. |
🧩 Baustein-Test — Variante von dax_atr_band_trend. Der Trial-Vergleich unten isoliert den Baustein-Beitrag (Trial 1 = Träger pur).
Hypothese & Vorregistrierung
Rationale: Ausstiegsquote unterschritten, kein brauchbarer Exit-Lab-Befund verfügbar: stop_exit 17 von 181 Bauten (9,4 % < 25 %), aber alle offenen Exit-Lab-Träger sind gesperrt – dax_timely_orb (bt.pnl_pts −503,8) und dax_pivot_level_reversal (−51,3) wegen Parität, hull_suite_v3_final (−68,1, Baustein 21.09.), dax_sigma_adaptive_breakout (Baustein 23.09.) und dax_round_number_reversal (Baustein 20.09., die Top-Policies des Befunds vom 26.09. sind bereits gebaut) wegen Sperrfrist bzw. Dublette; dax_ib_extension_fade hat keine Policy über Baseline. Statt eines erfundenen Exit-Lab-Bausteins baue ich deshalb den einzigen unverbauten Literatur-Stop-Baustein im Backlog (Log 2026-08-28-classic, Fund 2, Tier 2): Elders SafeZone. Damit folge ich der Portfolio-Empfehlung (bau_bausteinart = stop_exit; die Familien-Empfehlung Gap/Volatility Breakout hat keinen offenen Fund); E13: stop_exit 6/17 = 35,3 % und Familie Trend 5/16 = 31,2 % liegen beide über strategy 20,5 %. Der im Fund genannte Träger hull_suite_v3_final ist paritäts- und sperrfristgesperrt. Ich leite deshalb auf dax_atr_band_trend um, den stärksten Trend-Träger (PF 1,41–2,37 in den bisherigen A/Bs). Er ist Elders Einsatzfall – Trailing auf einem Trendfolger –, hatte seinen letzten Baustein am 17.09. (außerhalb der 7-Tage-Frist) und steht nicht in live_bt_parity.json (fail-open). Offen vermerkt: Seine Variante dax_atr_band_asym_exposure steht dort mit −31,3 Pkt bei n=4, statistisch ohne Aussage, aber nicht positiv. Vergleichslogik: Trial 1 = Träger pur (Open-Retrace-Exit + harter SL); Trials 2/3 = derselbe Träger + SafeZone-Trailing mit k=2 bzw. k=3. Entry-Admission und Initial-SL sind identisch, der A/B isoliert also den Stop. Erwartete Frequenz etwa 10 Trades/Monat (Power-Plan: 9,81 für den Träger), bei aktuell 117 Pkt Streuung je Trade praktisch unentscheidbar. Genau hier setzt der Baustein an: Ein enger, regime-adaptiver Trailing-Stop soll die Ergebnisverteilung verengen und die Entscheidbarkeit verbessern. Challenger gegen die bisherigen Stops: dax_kaminski_lo_stop auf demselben Träger (ohne Mehrwert) und dax_hull_chande_kroll_stop (ATR-basiert).
Abweichungen von der Quelle: Elder arbeitet auf Tagesbars mit 10–20 Tagen Lookback und einer 22-EMA als Trendfilter. Intraday-Transfer: interne Aggregation auf 5m-Bars (der Fund hält 1m-Penetrationen für zu verrauscht), Lookback 20 Agg-Bars. Die Trendrichtung kommt aus dem Träger-Entry (ATR-Band-Breakout), deshalb keine eigene EMA. Der erste Agg-Bar jedes Tages erzeugt keine Penetration (Overnight-Gap ist kein Intraday-Rauschen). Elders Regel 'Stop nie senken' ist als Ratchet gegen den aktuellen Positions-SL umgesetzt. IG-Grenzen sind vorgeschaltet: Initial-SL ≥ 10 Pkt (Träger), Amendment ≥ 8 Pkt vom aktuellen Close, höchstens 1 Amendment pro Agg-Bar, Mindestverbesserung 0,5 Pkt. Der Träger-Code ist 1:1 aus dax_atr_band_trend übernommen, in der zeitfreien Fassung von dax_atr_band_asym_exposure: Session über das Label MAIN, keine Uhrzeit-Gates, Session-Fenster aus der BT-Spec wie beim Bau vom 17.09. Früheres Ausstoppen kann über Cooldown und Tageslimit Re-Entries verschieben. Das ist echte Engine-Wechselwirkung und Teil des Verdicts.
Quelle: https://www.spreadsheetml.com/technicalindicators/SafeZone.shtml
Vorregistriertes Optimizer-Grid (festgelegt VOR dem ersten Backtest — Anti-Overfitting)
- sz_coeff: 2 / 2.5 / 3
- sz_lookback: 10 / 20 / 30
- sz_bar_minutes: 5 / 10
Die drei SafeZone-Achsen, alle is_optimizable und innerhalb der MANIFEST-Grenzen. sz_coeff deckt Elders dokumentierten Bereich 2–3 ab. sz_lookback deckt Elders 10–20 Perioden plus die Fund-Obergrenze 30 für den Intraday-Transfer ab. sz_bar_minutes vergleicht das vom Fund empfohlene 5m-Aggregat mit einem gröberen 10m-Aggregat (Rausch-Robustheit); 1m ist laut Fund zu verrauscht. 3 × 3 × 2 = 18 Kombinationen (≤ 24). Die Träger-Parameter bleiben eingefroren, weil nur der Baustein optimiert wird.
Backtest-Trials (mit Slippage 0.5 Pkt)
| Trial | n | WR | PF | PnL (Pkt) | Max DD | PF o. Slip |
|---|---|---|---|---|---|---|
| Baseline: ATR-Band-Trend pur (Original-Exits, SafeZone aus)stop_mode=off | 56 | 35,7% | 1,40 | +833 | 821 | 1,43 |
| SafeZone k=2.0 (Elder-Startkoeffizient), 20 × 5m-Barsstop_mode=safezone, sz_coeff=2, sz_lookback=20, sz_bar_minutes=5 | 56 | 35,7% | 1,17 | +171 | 440 | — |
| SafeZone k=3.0 (Elder-Obergrenze, Fund-Empfehlung gegen Intraday-Rauschen), 20 × 5m-Barsstop_mode=safezone, sz_coeff=3, sz_lookback=20, sz_bar_minutes=5 | 56 | 28,6% | 1,09 | +116 | 653 | — |
Robustheit (bestes Trial)
PF-90%-Bereich über Handelstage
0.77 – 2.54
52 Handelstage. Einzeltrade-Intervall (zu eng, nur zum Vergleich): 0.79 – 2.36
Top-3-Trades am Gewinn
34%
PF bei +1.0 Pkt Slippage
1.33
Statistik-Härtung: Ertrag je Trade 14.87 Pkt; mit 80 % Sicherheit nachweisbar wäre erst ein Vorteil ab etwa 47.6 Pkt (Tagescluster berücksichtigt) — UNTERPOWERT: die Stichprobe ist zu klein, um diesen Wert von null zu trennen.
🎲 Placebo-Kontrolle (zeit-gejitterte Zufalls-Entries, gleiche Trade-Geometrie)
Kandidat 832.6 Pkt vs. Placebo-Median 2979.8 / p95 3770.9 Pkt · Perzentil-Rang 0%
Kandidat <= p80 der Placebos — von Zufalls-Timing nicht klar unterscheidbar
| Regime | n | PF | PnL |
|---|---|---|---|
| range_day | 46 | 1.53 | +874 |
| volatile_day | 3 | 4.49 | +210 |
| trend_down_day | 4 | 0.69 | -58 |
| mixed_day | 1 | 0 | -63 |
| trend_up_day | 2 | 0 | -130 |
Test-Timeline
Jeder weitere Test dieses Builds (Optimizer-Sweep, Forward-Monat, Re-Run) erscheint hier automatisch.
2026-09-27
Build + Backtest (Auto-Build-Agent)
Der getestete Baustein verbesserte die Ausgangsstrategie nicht. (A/B: Traeger PF 1.40 vs Overlay 1.17) — Baustein verworfen, Traeger unveraendert
2026-09-27
Nikkei-Gegenprobe (Transfer-Test, ATR-skaliert)
Nicht gelaufen: Die Nikkei-Gegenprobe ist seit dem 17.09.2026 abgeschaltet (Betreiberentscheid: nur DAX).