Warchhold Research

BestenlisteBuild-Dossier

DAX ACD Time-Confirmed Opening-Range Breakout (Mark Fisher)

Score 65.2/100
schwaches Signal — unverifiziert2026-08-04Opening Range BreakoutTier 2dax_acd_timed_breakout

Hypothese & Vorregistrierung

Rationale: Mark Fishers ACD-Methode (Log 08-03-classic F1): zeit-bestaetigter Opening-Range-Breakout. Der distinkte, nie getestete Hebel ist die 10-Minuten-Halte-Bestaetigung (Preis muss den Ausbruch jenseits des A-Levels >= hold_bars Bars HALTEN) als Anti-False-Break-Filter. Challenger in der ORB-Familie gegen dax_orb_retest (PF 0.57, wartet auf Rueckkehr zum Level), dax_open_range_channel_breakout (PF 0.71, Touch ohne Halte-Kriterium) und dax_opening_range_breakout (Sofort-Ausbruch). Als Standalone gebaut statt als Baustein, weil der vom Fund empfohlene Traeger dax_squeeze_release durch das Paritaets-Gebot gesperrt ist (live_bt_parity.json: bt.pnl_pts=-257.7) und der einzige alternative Breakout-Traeger dax_open_range_channel_breakout mit PF 0.71 ein verlierender Carrier waere (Gate auf Rauschen). Der Standalone isoliert die Halte-Bestaetigung sauber via hold_bars-Trial-Vergleich.

Abweichungen von der Quelle: A-Offset als ATR-Anteil (a_offset_atr_mult) statt Original-'Prozent der mittleren N-Tages-Range' (vola-normiert, robuster am DAX-CFD). Original-C/D-Failed-Breakout-Reversal-Level weggelassen (laut Autoren 'so selten, dass kaum Profit'; zudem Dublette zu dax_failed_breakout_fade). B/D-Stop als OR-Gegenrand, geklemmt auf Broker-Minimum 10 Pkt. Zeitfenster nicht im Code (Tom-Vorgabe): OR-Laenge = Dauer ab Session-Open (MAIN), Hard-Cut 20:00 via Slot.

Quelle: https://file.scirp.org/Html/24829.html

Vorregistriertes Optimizer-Grid (festgelegt VOR dem ersten Backtest — Anti-Overfitting)

  • or_minutes: 5 / 15 / 30
  • hold_bars: 5 / 10 / 15
  • a_offset_atr_mult: 0.3 / 1

ACD-Original-OR ist 5-20min -> or_minutes 5/15/30 deckt den dokumentierten Bereich plus einen Schritt ab. hold_bars 5/10/15 klammert die 10-min-Kern-Halte-Bestaetigung (der eigentliche zu pruefende Hebel) mit einem schwaecheren und einem strengeren Nachbarwert. a_offset_atr_mult 0.3/1.0 spannt den A-Offset (Original ~12% der Range) vola-normiert von eng bis weit. 3x3x2 = 18 Kombinationen (<= 24).

Run-ManifestEngine fdc45ed9854b19c5 (78 Dateien)Fenster 2026-03-172026-07-14Datenstand 2026-08-03Slippage 0.5 PktTrials vorregistriert: 3 (trl_60dcb03d9456)Strategie-Bytes 0f5f000be3c3e969

Backtest-Trials (mit Slippage 0.5 Pkt)

TrialnWRPFPnL (Pkt)Max DDPF o. Slip
Baseline (Quellen-Default: OR 15min, Halten 10min)15350.3%1.30+181011711.33
Kurze OR 5min (ACD-Untergrenze)or_minutes=515947.2%1.13+8461035
Schwache Zeit-Bestaetigung (Halten 5min)hold_bars=515848.1%1.02+1711500

Robustheit (bestes Trial)

PF-90%-Konfidenzintervall

0.921.81

Top-3-Trades am Gewinn

16%

PF bei +1.0 Pkt Slippage

1.24

Statistik-Härtung: Block-Bootstrap-CI (Tages-Blöcke, ehrlicher als iid): PF 0.921.82 über 79 Handelstage. EV 11.83 Pkt vs. minimal nachweisbarer Edge 19.93 Pkt — UNTERPOWERT (Stichprobe zu klein für diesen Edge).

🎲 Placebo-Kontrolle (zeit-gejitterte Zufalls-Entries, gleiche Trade-Geometrie)

Kandidat 1810.4 Pkt vs. Placebo-Median 5197.5 / p95 6076.5 Pkt · Perzentil-Rang 0%

Kandidat <= p80 der Placebos — von Zufalls-Timing nicht klar unterscheidbar

2026-03: +7642026-04: +3302026-05: +6342026-06: -2562026-07: +338
RegimenPFPnL
range_day1241.35+1621
trend_up_day141.9+550
mixed_day51.57+105
volatile_day20-103
trend_down_day80.32-362

Test-Timeline

Jeder weitere Test dieses Builds (Optimizer-Sweep, Forward-Monat, Re-Run) erscheint hier automatisch.

  1. 🔨

    2026-08-04

    Build + Backtest (Auto-Build-Agent)

    schwaches Signal — unverifiziert

  2. 🌏

    2026-08-04

    Nikkei-Cross-Check (Transfer-Test, ATR-skaliert)

    n=0 · PF ? · PnL 0 Pkt

  3. 🧪

    2026-08-08

    Parameter-Sweep (vorregistriertes Grid, Wochenend-Optimizer)

    Vollständiger Report

    Optimizer-Lauf 2026-08-08 — DAX ACD Time-Confirmed Opening-Range Breakout (Mark Fisher)

    Vorregistriertes Grid (18 Kombis, festgelegt beim Bau am 2026-08-04, vor jedem Ergebnis). Grid-Begruendung: ACD-Original-OR ist 5-20min -> or_minutes 5/15/30 deckt den dokumentierten Bereich plus einen Schritt ab. hold_bars 5/10/15 klammert die 10-min-Kern-Halte-Bestaetigung (der eigentliche zu pruefende Hebel) mit einem schwaecheren und einem strengeren Nachbarwert. a_offset_atr_mult 0.3/1.0 spannt den A-Offset (Original ~12% der Range) vola-normiert von eng bis weit. 3x3x2 = 18 Kombinationen (<= 24).

    Split: IS 17.03.2026 – 04.06.2026 (Auswahl) | OOS 04.06.2026 – 18.07.2026 (einmaliger Test) | Embargo: letzte 21 Tage gesperrt

    Governance: IS-Ledger trl_590e21fb7581 · OOS-Ledger trl_fbc39546696e; beide Payloads vor dem jeweiligen ersten Engine-Aufruf gebunden.

    In-Sample Top 10 (von 18)

    KombinWRPFPnL (Pkt)
    {"a_offset_atr_mult": 0.3, "hold_bars": 10, "or_minutes": 15}9948.48%1.3272+1372 Pkt
    {"a_offset_atr_mult": 0.3, "hold_bars": 15, "or_minutes": 15}9553.68%1.3246+1308 Pkt
    {"a_offset_atr_mult": 1.0, "hold_bars": 10, "or_minutes": 15}9550.53%1.2506+1116 Pkt
    {"a_offset_atr_mult": 1.0, "hold_bars": 15, "or_minutes": 15}9151.65%1.2195+902 Pkt
    {"a_offset_atr_mult": 1.0, "hold_bars": 5, "or_minutes": 15}10048.0%1.1924+896 Pkt
    {"a_offset_atr_mult": 1.0, "hold_bars": 5, "or_minutes": 30}9946.46%1.0642+305 Pkt
    {"a_offset_atr_mult": 1.0, "hold_bars": 15, "or_minutes": 5}9947.47%1.0412+185 Pkt
    {"a_offset_atr_mult": 1.0, "hold_bars": 15, "or_minutes": 30}8851.14%1.037+169 Pkt
    {"a_offset_atr_mult": 1.0, "hold_bars": 10, "or_minutes": 30}9352.69%1.0219+107 Pkt
    {"a_offset_atr_mult": 0.3, "hold_bars": 15, "or_minutes": 5}10244.12%1.014+68 Pkt

    IS-Auswahl: {"a_offset_atr_mult": 0.3, "hold_bars": 10, "or_minutes": 15} (Expectancy 13.8621, PF 1.3272, n=99)

    Parameter Stability Map (volle Grid-Flaeche, 18 Kombis)

    Nachbar-Stabilitaet: 2/5 Nachbarn positiv, Nachbar-Ø/Optimum = 0.2 (ISOLIERTES OPTIMUM — Zufallsverdacht)

    <details><summary>Alle Kombis (IS)</summary>
    KombinPFExpectancyPnL
    {"a_offset_atr_mult": 0.3, "hold_bars": 10, "or_minutes": 15}991.327213.8621+1372
    {"a_offset_atr_mult": 0.3, "hold_bars": 10, "or_minutes": 30}980.9685-1.5677-154
    {"a_offset_atr_mult": 0.3, "hold_bars": 10, "or_minutes": 5}1030.9211-3.8538-397
    {"a_offset_atr_mult": 0.3, "hold_bars": 15, "or_minutes": 15}951.324613.7642+1308
    {"a_offset_atr_mult": 0.3, "hold_bars": 15, "or_minutes": 30}940.9995-0.0253-2
    {"a_offset_atr_mult": 0.3, "hold_bars": 15, "or_minutes": 5}1021.0140.6624+68
    {"a_offset_atr_mult": 0.3, "hold_bars": 5, "or_minutes": 15}1030.8804-6.2562-644
    {"a_offset_atr_mult": 0.3, "hold_bars": 5, "or_minutes": 30}1000.8288-8.7209-872
    {"a_offset_atr_mult": 0.3, "hold_bars": 5, "or_minutes": 5}1040.8106-9.5086-989
    {"a_offset_atr_mult": 1.0, "hold_bars": 10, "or_minutes": 15}951.250611.7487+1116
    {"a_offset_atr_mult": 1.0, "hold_bars": 10, "or_minutes": 30}931.02191.1538+107
    {"a_offset_atr_mult": 1.0, "hold_bars": 10, "or_minutes": 5}1020.9589-1.9567-200
    {"a_offset_atr_mult": 1.0, "hold_bars": 15, "or_minutes": 15}911.21959.9166+902
    {"a_offset_atr_mult": 1.0, "hold_bars": 15, "or_minutes": 30}881.0371.9202+169
    {"a_offset_atr_mult": 1.0, "hold_bars": 15, "or_minutes": 5}991.04121.8692+185
    {"a_offset_atr_mult": 1.0, "hold_bars": 5, "or_minutes": 15}1001.19248.9633+896
    {"a_offset_atr_mult": 1.0, "hold_bars": 5, "or_minutes": 30}991.06423.0782+305
    {"a_offset_atr_mult": 1.0, "hold_bars": 5, "or_minutes": 5}1030.9447-2.7087-279
    </details>

    Out-of-Sample (je genau 1 Lauf)

    nWRPF (m.Slip)PnL (m.Slip)PF (o.Slip)PnL (o.Slip)
    Optimiert6349.21%0.8903-299 Pkt0.9124-236 Pkt
    Baseline (Anker)6147.54%0.9342-163 Pkt

    Verdict-Regel + IS-Auswahl basieren auf den realistischen Werten mit Slippage; „o. Slip" ist der Idealwert ohne Ausführungskosten.

    Verdict

    Optimierung NICHT bestätigt — Baseline behalten, kein Edge-Nachweis

    Regel: bestätigt nur wenn OOS-PF >= 1.1 UND OOS-n >= 10 UND optimiert >= Baseline im OOS.