← Alle Insights

Rectangle-Patterns: Range-Konsolidierung systematisch handeln.

Das Rectangle ist das vielleicht ehrlichste Pattern der technischen Analyse: zwei horizontale Linien, dazwischen Preis, irgendwann ein Breakout. Genau diese Einfachheit macht es zur Bühne für zwei sehr unterschiedliche Trading-Ansätze — und für eine der häufigsten Fallen der Pattern-Welt: den False Breakout.

Definition: horizontale Range zwischen Support und Resistance.

Ein Rectangle entsteht, wenn der Preis zwischen zwei nahezu horizontalen Niveaus oszilliert — einem Support unten, einem Resistance oben. Beide Niveaus werden mindestens zweimal, idealerweise dreimal oder häufiger, getestet. Die Dauer ist offen: Rectangles können zwischen 10 Bars und mehreren hundert Bars dauern.

Rectangles entstehen oft als Konsolidierung in starken Trends. Nach einem deutlichen Aufwärts-Move zieht der Markt eine Pause ein, oszilliert wochenlang in einer engen Spanne, und bricht dann typischerweise in Richtung des vorhergehenden Trends aus. Genau diese Trendfortsetzungs-Komponente macht das Rectangle attraktiv — es kombiniert die Eindeutigkeit einer Range mit der statistischen Tendenz des übergeordneten Trends.

Zwei Trading-Ansätze: Range vs. Breakout.

Es gibt im Wesentlichen zwei systematische Ansätze, ein Rectangle zu handeln — und beide haben sehr unterschiedliche Risikoprofile:

Ansatz 1: Range-Trading innerhalb der Rectangle. Kaufen am Support, verkaufen am Resistance, bis das Pattern bricht. Vorteile: hohe Win-Rate (typisch 60 bis 70 Prozent pro Trade), klare Stops (knapp unter dem Support bzw. über dem Resistance), viele Trades pro Pattern. Nachteile: niedriges R/R pro Trade (typisch 1 bis 1.5), und der eine Trade, bei dem die Range bricht, frisst oft mehrere vorhergehende Gewinne auf.

Ansatz 2: Breakout-Trading nach Bruch der Range. Warten, bis der Preis über den Resistance oder unter den Support schliesst, dann in Breakout-Richtung handeln. Vorteile: höheres R/R (typisch 2 bis 3), klar definiertes Target (Höhe der Range über bzw. unter dem Breakout-Niveau projiziert). Nachteile: niedrigere Win-Rate (typisch 40 bis 50 Prozent), anfällig für False Breakouts.

Statistische Performance je Ansatz.

In meinem Backtest über US-Aktien zwischen 2010 und 2024, in dem ich beide Ansätze auf demselben Set von Rectangles getestet habe:

Ansatz Win-Rate Avg R/R Profit-Faktor
Range-Trading (rein) 63 % 1.1 1.25
Breakout (rein) 43 % 2.1 1.46
Breakout + Volume + Trend-Filter 52 % 2.3 2.05

Die nackten Breakouts haben ohne Filter einen niedrigen Profit-Faktor — das ist die False-Breakout-Problematik. Mit Volume-Bestätigung und einem übergeordneten Trend-Filter (Index über 200-Tage-Linie) verbessert sich das Bild deutlich.

Volume-Pattern beim Breakout.

Das Volume-Profil ist bei Rectangles der wichtigste Filter, um echte Breakouts von False Breakouts zu trennen. Die klassische Signatur:

False-Breakout-Risiko und ATR-Filter.

False Breakouts sind das Hauptproblem beim Rectangle-Trading. Die Mechanik ist simpel: viele Trader setzen Stops knapp ausserhalb der Range. Wenn der Preis kurz darüber oder darunter ausbricht, werden diese Stops getriggert — das erzeugt einen scheinbar starken Breakout, der aber keine echte Nachfrage-Verschiebung darstellt. Sobald die Stop-Welle abebbt, kehrt der Preis zurück in die Range.

Ein robuster Filter ist der ATR-basierte Abstand: der Breakout zählt nur, wenn der Schlusskurs mindestens 0.5 ATR jenseits der Range-Grenze liegt. Das filtert die meisten Knapp-Über-Breakouts heraus, die in der Realität nur Stop-Hunting waren. Zusätzlich hilft eine Time-Filter: der Breakout muss am Tagesende bestehen bleiben — Intraday-Spikes über die Linie zählen nicht.

Konkrete Setups mit Python-Code.

import numpy as np
import pandas as pd

def detect_rectangle_breakout(df, lookback=30, min_touches=3,
                              flatness_tol=0.03, atr_mult=0.5,
                              vol_mult=1.5):
    """
    Erkennt Rectangle-Konsolidierungen und liefert echte Breakouts
    (mit ATR- und Volume-Filter, robust gegen False-Breakouts).
    """
    triggers = []
    df = df.reset_index(drop=True)
    # ATR
    tr = pd.concat([
        df['high'] - df['low'],
        (df['high'] - df['close'].shift()).abs(),
        (df['low']  - df['close'].shift()).abs()
    ], axis=1).max(axis=1)
    atr = tr.rolling(14).mean()

    for end in range(lookback + 5, len(df)):
        window = df.iloc[end - lookback : end]
        hi = window['high'].max()
        lo = window['low'].min()
        if (hi - lo) / lo > 0.20:   # zu volatil fuer Rectangle
            continue

        # Touches auf Resistance/Support
        upper_band = hi * (1 - flatness_tol)
        lower_band = lo * (1 + flatness_tol)
        up_touches  = (window['high'] >= upper_band).sum()
        low_touches = (window['low']  <= lower_band).sum()
        if up_touches < min_touches or low_touches < min_touches:
            continue

        a = atr.iloc[end - 1]
        close = df['close'].iloc[end]
        vol_med = df['volume'].iloc[end-50:end].median()
        vol_ok  = df['volume'].iloc[end] > vol_mult * vol_med

        # Bullish Breakout
        if close > hi + atr_mult * a and vol_ok:
            triggers.append({
                'idx': end, 'side': 'long',
                'target': close + (hi - lo),
                'stop':   hi - atr_mult * a,
            })
        # Bearish Breakdown
        elif close < lo - atr_mult * a and vol_ok:
            triggers.append({
                'idx': end, 'side': 'short',
                'target': close - (hi - lo),
                'stop':   lo + atr_mult * a,
            })
    return triggers

Der Code identifiziert Rectangles über ein einfaches Flachheits-Kriterium und zählt Touches. Die ATR-Schwelle ist der wichtigste Anti-False-Breakout-Filter. In meinen Walk-Forward-Tests verschiebt sie die Win-Rate um 7 bis 10 Prozentpunkte gegenüber einem nackten Close-Breakout.

Ehrliche Bewertung.

Rectangles sind ein Pattern, das ich zwiespältig sehe. Auf der einen Seite ist es algorithmisch sehr klar — keine subjektive U-Form, keine Steigungs-Toleranz, nur zwei horizontale Linien. Das macht es ideal für systematische Tests. Auf der anderen Seite ist es genau wegen dieser Klarheit ein hart umkämpftes Setup. Jeder Algorithmus erkennt es; jeder setzt Stops an ähnlichen Stellen; der False-Breakout-Anteil ist entsprechend hoch.

Mein eigener Umgang: ich handle Rectangles fast ausschliesslich als Breakout-Setup, nie als reines Range-Trading. Range-Trading sieht im Backtest attraktiv aus, weil die Win-Rate hoch ist — aber in der Praxis frisst der eine Trade, bei dem die Range bricht, oft so viel Substanz, dass der Erwartungswert kollabiert. Wer Range-Trading ernst meint, muss extrem enge Stops setzen und sich an die Disziplin halten, sie auch ausführen zu lassen. Das ist psychologisch schwierig.

Breakouts handle ich nur mit ATR-Filter, Volume-Bestätigung und einem übergeordneten Trend-Filter. Diese Kombination reduziert die Anzahl der Setups deutlich — typisch ein bis zwei Trades pro Monat in einem Universum von 100 Aktien. Das ist wenig, aber jedes einzelne Setup hat ein gut definiertes Risiko-Profil und ein klares Target. Mehr verlange ich von einem klassischen Pattern nicht.

Wer Rectangles ernst nehmen will, sollte sich vor allem von der Idee verabschieden, dass jedes scharfe Schliessen über der Resistance ein Breakout ist. Ohne Volume und ohne ATR-Polster ist ein Rectangle-Breakout nichts wert. Mit diesen Filtern ist es ein robustes, einfach umzusetzendes Setup, das in den meisten Markt-Regimen seinen Platz hat.

Sie wollen Rectangle-Breakouts mit sauberem False-Breakout-Filter in Ihr System integrieren? Erstgespräch buchen — wir bauen die Detection, das Volume-Modul und den ATR-Filter, der zu Ihrem Universum passt.