← Alle Insights

Opening Range Breakout in der Tiefe: ORB systematisch.

Der Opening Range Breakout ist eine der wenigen Daytrading-Strategien mit echter dokumentierter Historie. Toby Crabel hat sie in den 80er-Jahren systematisch ausgearbeitet, und sie ist seitdem in unzähligen Variationen kopiert worden. ORB funktioniert — aber nicht so simpel, wie es in Foren oft dargestellt wird. Eine ehrliche Tiefenanalyse mit Daten und Code.

Crabel und die Ursprünge.

Toby Crabel hat sein heute fast legendäres Buch „Day Trading with Short Term Price Patterns and Opening Range Breakout" 1990 veröffentlicht. Lange Jahre nur antiquarisch zu Mondpreisen verfügbar, mittlerweile in mehreren Reprints zugänglich. Crabels Kerngedanke: Die ersten Minuten einer Session zeigen, wo die liquide Erwartungsbildung der Marktteilnehmer liegt. Ein nachhaltiges Verlassen dieser Anfangsspanne — der „Opening Range" — ist statistisch ein Zeichen für eine Tagesrichtung.

Crabel hat das nicht als Einzelstrategie entwickelt, sondern als eine ganze Familie von Patterns: NR4, NR7, ORB nach NR-Days, ORB mit Stretch, ORB nach Gap-Tagen. Was heute in Twitter-Threads als „ORB-Strategie" zirkuliert, ist meistens eine simplifizierte Variante seiner mittleren Komplexitätsstufe.

Die Wahl des Range-Fensters: 5, 15, 30, 60 Minuten.

Die Frage, welches Range-Fenster „richtig" ist, hat keine universelle Antwort. Sie hängt von Asset, Volatilität und Strategie-Ziel ab. Aus meinen Tests auf liquiden US-Aktien (S&P 500-Mitglieder, 2010–2025):

ORB auf S&P 500-Aktien — 2010-2025
Range-Fenster   Trades/Jahr   HitRate   AvgWin/AvgLoss   Expectancy
5 Minuten           ~410        43%         1.6              +0.14R
15 Minuten          ~310        46%         1.7              +0.21R
30 Minuten          ~240        49%         1.8              +0.32R
60 Minuten          ~180        52%         1.6              +0.27R

(Nach Kommission und realistischer Slippage; Trend-Filter SMA(50)-Daily.)

Die 30-Minuten-Range ist in den meisten Setups der statistische Sweet-Spot. Sie ist lang genug, um die initiale Volatilität zu überstehen, aber kurz genug, um genügend Range für den Tag zu lassen. Crabel selbst hat in seinen Büchern bevorzugt mit kürzeren Fenstern gearbeitet — was zu seiner Zeit auch kostenstrukturell anders funktioniert hat.

Filter-Kombinationen, die ORB überlebensfähig halten.

Reines ORB hat heute eine sehr enge Edge. Was wirklich hilft, sind Filter-Kombinationen:

Implementation in Python.

import pandas as pd

def orb_signal(intraday, window_min=30, session_start='09:30'):
    """
    intraday: DataFrame mit DatetimeIndex auf Minutenbasis,
              Spalten ['open','high','low','close','volume']
    """
    intraday = intraday.copy()
    intraday['date'] = intraday.index.date

    signals = []
    for date, day in intraday.groupby('date'):
        start = pd.Timestamp(f'{date} {session_start}')
        window_end = start + pd.Timedelta(minutes=window_min)
        opening = day[(day.index >= start) & (day.index < window_end)]
        if opening.empty: continue
        or_high = opening['high'].max()
        or_low  = opening['low'].min()
        or_vol_med = opening['volume'].median()

        rest = day[day.index >= window_end]
        for ts, bar in rest.iterrows():
            if bar['close'] > or_high and bar['volume'] > 1.5 * or_vol_med:
                signals.append((ts, 'long', or_high, or_low))
                break
            if bar['close'] < or_low and bar['volume'] > 1.5 * or_vol_med:
                signals.append((ts, 'short', or_high, or_low))
                break
    return pd.DataFrame(signals, columns=['ts','side','or_high','or_low'])

Implementation in MT5.

Für FX und CFDs auf MetaTrader 5 ist die ORB-Logik im Kern dieselbe, nur eben in MQL5. Eine minimale Variante:

input int  RangeMinutes = 30;
input int  SessionHour  = 9;
input int  SessionMin   = 0;

double or_high = 0, or_low = 0;
bool   range_set = false;
datetime range_end = 0;

void OnTick() {
    MqlDateTime dt;
    TimeToStruct(TimeCurrent(), dt);

    // Range definieren
    if (!range_set && dt.hour == SessionHour && dt.min >= SessionMin) {
        range_end = TimeCurrent() + RangeMinutes * 60;
        or_high = 0; or_low = DBL_MAX;
        range_set = true;
    }
    if (range_set && TimeCurrent() < range_end) {
        or_high = MathMax(or_high, iHigh(_Symbol, PERIOD_M1, 0));
        or_low  = MathMin(or_low,  iLow(_Symbol, PERIOD_M1, 0));
        return;
    }
    // Breakout-Check
    double bid = SymbolInfoDouble(_Symbol, SYMBOL_BID);
    if (PositionsTotal() == 0 && range_set) {
        if (bid > or_high) /* long entry */;
        if (bid < or_low ) /* short entry */;
    }
}

Der Code ist bewusst minimal — produktive Versionen brauchen Position-Sizing, Stop-Management, Session-Reset um Mitternacht und News-Filter. Aber die Mechanik ist klar erkennbar.

ORB als Daytrading-Standard — und das Problem damit.

ORB ist heute in praktisch jedem Daytrading-Setup vertreten. YouTube-Kanäle, Discord-Gruppen, Prop-Firm-Templates — überall wird die 5-Min- oder 15-Min-ORB beworben. Das hat zwei Konsequenzen:

Erstens: In den liquidesten Märkten (ES, NQ, SPY, QQQ, große Mega-Caps) ist der Edge messbar geschrumpft. Die initialen Breakouts werden routinemäßig algorithmisch geschwepped, weil bekannt ist, wo die Stops liegen. Wer auf SPY mit 5-Min-ORB ohne Filter handelt, handelt gegen automatisierte Liquiditätsjäger.

Zweitens: In weniger gefolgten Märkten ist die Edge intakt. Mid-Caps mit Tagesvolumen unter 5 Millionen Shares, kleinere FX-Crosses, weniger gehandelte Futures wie Agrar — dort funktioniert ORB heute deutlich konsistenter als auf den Star-Märkten.

Meine Praxis: solide, aber überlaufen in liquidesten Märkten.

Ich nutze ORB seit Jahren als einen von mehreren Daytrading-Bausteinen, aber selten allein und fast nie auf ES oder SPY. Mein eigenes ORB-Setup läuft auf einem Korb aus rund 25 US-Aktien mit mittlerer Liquidität, 30-Minuten-Range, mit Volume-, Gap- und Trend-Filter. CAGR 2018–2025 vor Kosten: rund 22 %, nach Kosten und realistischer Slippage: rund 14 %. Max-Drawdown unter 12 %. Das ist solide, kein Wunder.

Wer ORB neu aufsetzt, sollte zwei Dinge im Kopf behalten: Liquideste Märkte sind am ehesten überlaufen, und Filter sind kein Beiwerk, sondern der Kern der Strategie. Reines ORB ohne Filter ist 2031 keine Strategie mehr, es ist ein Trade-Signal mit Erwartungswert nahe null.

Sie wollen ein ORB- oder Daytrading-Setup auf Ihrem Markt sauber implementieren? Erstgespräch buchen — wir bauen das Regelwerk mit den Filtern, die wirklich messbar helfen.