Strasmore Research
Lernen Matt ConnorVon Matt Connor · data as of August 15, 2026 · refreshed weekly

Bracket- und OCO-Orders einfach erklärt

Was ist eine Bracket-Order? Erfahren Sie, wie Gewinnziel und Schutz-Stop als OCO verknüpft sind, was bei Teilausführungen passiert und wo die Verknüpfung sitzt.

Eine Bracket-Order ist eine Anweisung, die drei Orders in einer festen Beziehung übermittelt: einen Einstieg sowie ein verknüpftes Ausstiegspaar, das auf beiden Seiten davon liegt. Das Paar ist die OCO-Verknüpfung, kurz für „one cancels the other“. Ein Limit zur Gewinnmitnahme liegt über dem Einstiegspreis, ein schützender Stop darunter. Wird eine der beiden Orders ausgeführt, wird die andere automatisch storniert. Eine Bracket-Order ist im Grunde eine kleine Zustandsmaschine. Die meisten Überraschungen entstehen in den Übergängen zwischen ihren Zuständen.

Was ist eine Bracket-Order?

Stellen Sie sich einen Trader vor, der 200 Aktien nahe $50 kaufen möchte, die Position bei einem günstigen Verlauf nahe $53 schließen und bei einem ungünstigen Verlauf nahe $48.50 aussteigen will. Als separate Tickets wären das drei Orders und eine manuelle Aufgabe: den Stop sofort zu stornieren, wenn das Kursziel erreicht wird. Andernfalls besteht das Risiko, 200 Aktien zweimal zu verkaufen. Eine Bracket-Order bündelt dieselbe Absicht in einer einzigen Übermittlung. Der Einstieg ist eine gewöhnliche Market-Order oder Limit-Order. Die beiden Ausstiege sind die zugehörigen Child-Orders: ein Limit zum Schließen der Position am Kursziel und eine Stop-Order oder Stop-Limit-Order zum Schließen auf dem Schutzniveau.

Die Bezeichnungen unterscheiden sich. Bracket-Order, Attached Order, OCO-Bracket und OTOCO beschreiben dieselbe Struktur. OTOCO, „one triggers a one-cancels-the-other“, ist die wörtlichste Bezeichnung für den Ablauf: Der Einstieg aktiviert das Paar, danach reduziert die Paarlogik es durch die Stornierung auf eine verbleibende Order.

Was bedeutet OCO bei einer Bracket-Order?

Eine OCO besteht aus zwei ruhenden Orders mit einer Stornierungsverknüpfung. Beide sind gleichzeitig im Orderbuch aktiv. Wird eine ausgeführt, wird die andere zurückgezogen. Wird eine teilweise ausgeführt, wird die andere um die ausgeführte Stückzahl reduziert, statt vollständig zurückgezogen zu werden. Dadurch bleiben Position und Absicherung Stück für Stück aufeinander abgestimmt.

Der vollständige Ablauf einer Long-Bracket-Order über 200 Aktien sieht so aus:

  1. Der Einstieg ist zunächst die einzige aktive Order. Kursziel und Stop existieren im System des Brokers, sind aber noch keine aktiven Orders. Ein Print durch den Kurs des Kursziels bewirkt daher nichts, solange der Einstieg nicht ausgeführt wurde.
  2. Der Einstieg wird für 200 Aktien ausgeführt. Beide Child-Orders werden aktiv, jeweils über 200 Aktien.
  3. Der Handel erreicht den Stop-Kurs. Der Stop wird in eine aktive Verkaufsorder umgewandelt und ins Orderbuch gestellt.
  4. Der Stop wird für 120 Aktien ausgeführt, bevor sich der Markt wieder entfernt. Das Kursziel-Limit wird von 200 auf 80 Aktien reduziert und entspricht damit der verbleibenden Position.
  5. Die letzten 80 Aktien werden später in der Sitzung am Kursziel ausgeführt. Die verbleibenden 80 Aktien des Stops werden storniert, und die Bracket-Order ist abgeschlossen.

Bei Teilausführungen des Einstiegs unterscheiden sich die Plattformen am stärksten. Manche Broker aktivieren die Child-Orders sofort für die ausgeführte Stückzahl und erhöhen sie, sobald der restliche Einstieg ausgeführt wird. Andere warten, bis der Einstieg vollständig ausgeführt ist. In diesem Zeitraum bleibt die Position dann ungeschützt. Die genaue Logik unterscheidet sich je nach Broker und ist nicht nur eine technische Nebensache: Entscheidend ist, ob die Child-Orders bei einer teilweisen Ausführung des Einstiegs aktiviert werden und ob die Bearbeitung einer Child-Order die Stornierungsverknüpfung zur anderen aufhebt.

Wie weit liegen die beiden Seiten auseinander?

Beide Seiten müssen außerhalb des üblichen Tagesrauschens eines Titels liegen, aber innerhalb der Strecke, die der Titel tatsächlich zurücklegen kann. Die Tagesspanne ist dafür die erste grobe Kennzahl. Die folgende Darstellung betrachtet sechs bekannte Titel über das zurückliegende Jahr: die mediane Spanne zwischen Tageshoch und Tagestief als Prozentsatz des Eröffnungskurses, daneben die mediane absolute Bewegung vom Eröffnungs- zum Schlusskurs.

AbfrageTypische Tagesspanne und Open-to-Close-Bewegung, letztes Jahr
Das exakte SQL hinter jeder Zahl
SELECT
    ticker,
    round(quantileDeterministic(0.5)(
        (toFloat64(high) - toFloat64(low)) / toFloat64(open) * 100,
        toUInt32(date)), 2)                                   AS median_range_pct,
    round(quantileDeterministic(0.5)(
        abs(toFloat64(close) - toFloat64(open)) / toFloat64(open) * 100,
        toUInt32(date)), 2)                                   AS median_open_to_close_pct
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO', 'JNJ')
  AND date >= today() - 370
  AND date <  today() - 2
GROUP BY ticker
ORDER BY median_range_pct DESC
Run this yourself

NVDA weist mit 2.72% die größte typische Sitzungsspanne der sechs Titel auf, SPY mit 0.86% die kleinste. Beachten Sie, wie weit die zweite Spalte in jeder Zeile unter der ersten liegt. Ein typischer Titel bewegt sich während einer Sitzung deutlich weiter, als er zwischen Eröffnung und Schluss netto gewinnt oder verliert. Beide Bracket-Seiten liegen innerhalb dieser Bewegung. Ein Kursziel und ein Stop können daher am selben gewöhnlichen Handelstag erreicht werden.

Wie oft wird eine Bracket-Seite berührt?

Der Abstand vom Einstieg ist der Stellhebel, den ein Trader tatsächlich kontrolliert. Die nächste Darstellung legt die Frage auf drei festgelegte SPY-Jahre fest. Für verschiedene Abstände vom Eröffnungskurs wird ermittelt, welcher Anteil der Sitzungen diesen Abstand im Tagesverlauf nach unten beziehungsweise nach oben erreicht hat.

AbfrageAnteil der SPY-Sitzungen, die eine bestimmte Distanz vom Open erreichen (Aug. 2023 bis Juli 2026)
Das exakte SQL hinter jeder Zahl
SELECT
    concat(toString(d.dist), '%')                             AS distance_from_open,
    round(100 * countIf(
        (toFloat64(a.open) - toFloat64(a.low)) / toFloat64(a.open) * 100 >= d.dist
    ) / count(), 1)                                           AS reached_below_pct,
    round(100 * countIf(
        (toFloat64(a.high) - toFloat64(a.open)) / toFloat64(a.open) * 100 >= d.dist
    ) / count(), 1)                                           AS reached_above_pct
FROM global_markets.stocks_daily_aggs AS a
CROSS JOIN
(
    SELECT arrayJoin([0.25, 0.5, 1.0, 1.5, 2.0, 3.0]) AS dist
) AS d
WHERE a.ticker = 'SPY'
  AND a.date >= '2023-08-01'
  AND a.date <  '2026-08-01'
GROUP BY d.dist
ORDER BY d.dist
Run this yourself

Bei einem Abstand von einem Viertelprozent vom Eröffnungskurs wurden 62.3% der Sitzungen irgendwann so weit nach unten gehandelt. 64.7% erreichten diesen Abstand nach oben. Wird der Abstand auf 3% erweitert, sinkt der Wert für die Abwärtsbewegung auf 0.5%. Beide Kurven fallen gemeinsam ab. Genau darin liegt der Zielkonflikt bei der Wahl der Bracket-Abstände. Ein enger Stop wird an unauffälligen Tagen ausgelöst. Ein weit entferntes Kursziel verfällt meistens, ohne ausgeführt zu werden.

Wird ein Stop-Loss immer zum Stop-Kurs ausgeführt?

Nein. Ein Stop ist eine Anweisung, nach einem Print zum Trigger-Kurs eine Order zu übermitteln. Ein gewöhnlicher Stop übermittelt eine Market-Order. Die Ausführung erfolgt dann zu dem Preis, der in diesem Moment im Orderbuch verfügbar ist. Ein Stop-Limit übermittelt eine Limit-Order zu einem von Ihnen festgelegten Preis. Dadurch wird der Preis geschützt, zugleich besteht aber das Risiko, dass überhaupt keine Ausführung erfolgt. Dieser Zielkonflikt wird unter Stop-Order versus Stop-Limit-Order erläutert.

Das Overnight-Gap ist das deutlichste Beispiel. Ein schützender Stop bleibt während der handelsfreien Stunden im Markt. Der Eröffnungs-Print kann jedoch deutlich hinter dem Trigger-Kurs liegen. Zehn Beispiele für AAPL über dreieinhalb Jahre:

AbfrageAAPLs zehn größte Übernacht-Gaps nach unten, Jan. 2023 bis Juni 2026
Das exakte SQL hinter jeder Zahl
SELECT
    formatDateTime(session_date, '%b %e, %Y')                 AS gap_label,
    round((day_open / prev_close - 1) * 100, 2)               AS overnight_gap_pct
FROM
(
    SELECT
        session_date,
        day_open,
        lagInFrame(day_close) OVER (
            ORDER BY session_date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW
        )                                                     AS prev_close
    FROM
    (
        SELECT
            date                  AS session_date,
            toFloat64(any(open))  AS day_open,
            toFloat64(any(close)) AS day_close
        FROM global_markets.stocks_daily_aggs
        WHERE ticker = 'AAPL'
          AND date >= '2023-01-01'
          AND date <  '2026-07-01'
        GROUP BY date
    )
)
WHERE prev_close > 0
ORDER BY overnight_gap_pct ASC
LIMIT 10
Run this yourself

Das größte Gap betrug -9.45% am Aug 5, 2024. Selbst das zehnte Gap der Liste betrug noch -2.96%. Ein schützender Stop, der innerhalb eines dieser Gaps lag, wurde zum Eröffnungs-Print ausgelöst und nicht zum Trigger-Kurs. Wer eine Bracket-Order allein anhand der Intraday-Spanne dimensioniert, modelliert diesen Abstand nicht.

Wo befindet sich die OCO-Verknüpfung tatsächlich?

Fast nie an der Börse. Die Stornierungsverknüpfung zwischen zwei Child-Orders liegt im Order-Management-System des Brokers oder eine Ebene weiter außen in einer Trading-Plattform, die auf Ihrem eigenen Rechner läuft. Die Börse sieht zwei gewöhnliche, voneinander unabhängige Orders.

Dieser Ort entscheidet darüber, was einen Ausfall übersteht. Eine brokerseitige Bracket-Order bleibt aktiv, wenn der Laptop geschlossen wird, weil die Server des Brokers beide Seiten und die Stornierungslogik halten. Eine plattformseitige Bracket-Order, wie sie manche Charting-Anwendungen umsetzen, benötigt eine laufende und verbundene Anwendung. Manche Plattformen halten einen simulierten Stop, der nur im lokalen Speicher existiert, bis der Trigger-Kurs erreicht wird. Wird der Laptop geschlossen, wird dieser Stop niemals übermittelt.

Dieselbe Frage stellt sich bei Ihrem eigenen Code. Ein Stop, der nur in einem laufenden Prozess existiert, bleibt nicht im Orderbuch stehen, sobald der Prozess beendet wird. Schutzschalter für Trading-Bots beschreibt das Muster für automatisierte Systeme: Gehen Sie davon aus, dass der Prozess im ungünstigsten Moment ausfällt. Fragen Sie dann, welche Order beim Broker noch aktiv ist.

Die Gültigkeitsdauer gilt für jede Seite einzeln

Jede Seite hat eine eigene Einstellung für die Ordergültigkeit. Ein Day-Einstieg zusammen mit GTC-Child-Orders ist eine häufige und unpraktische Kombination: Der Einstieg verfällt zum Handelsschluss, während die Child-Orders nie aktiviert werden. Am nächsten Morgen existiert dann eine Bracket-Order, die stillschweigend nichts tut. Bei der umgekehrten Kombination verfällt der Schutz um 16:00 Uhr ET, obwohl die Position über Nacht gehalten wird.

Außerhalb der regulären Handelszeiten verändert sich auch das Orderbuch selbst. Die folgende Darstellung gruppiert SPY-Minutenbalken nach der ET-Uhrzeit über den gesamten Tag. Für jedes Halbstundenintervall werden zwei Größen ausgewiesen: die durchschnittliche Größe einer einminütigen Bewegung in Basispunkten (ein Basispunkt entspricht einem Hundertstelprozent) sowie das Medianvolumen je Minute.

AbfrageSPY-Minutenbewegung und -volumen nach ET-Uhrzeit
Das exakte SQL hinter jeder Zahl
SELECT
    formatDateTime(
        toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE),
        '%H:%i')                                              AS et_time,
    round(avg(abs(toFloat64(close) - toFloat64(open)) / toFloat64(open) * 10000), 1) AS avg_move_bps,
    round(quantileDeterministic(0.5)(toFloat64(volume), toUInt64(window_start)), 0)  AS median_volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
  AND window_start >= today() - 120
  AND window_start <  today() - 2
GROUP BY et_time
ORDER BY et_time
Run this yourself

Die Darstellung umfasst 32 Halbstundenintervalle, von 04:00 bis 19:30 ET. Lesen Sie die Grafik von links nach rechts. Die Struktur zeigt den Zusammenhang. Beide Reihen liegen während der Pre-Market-Stunden nahe ihrem Tiefpunkt, steigen zum Eröffnungszeitpunkt um 09:30 Uhr steil an und fallen nach 16:00 Uhr wieder ab. Ein um 5 Uhr ruhender GTC-Stop liegt im dünnen Bereich dieser Kurve. Eine Stop-Market-Ausführung in einem derart dünnen Orderbuch kann deutlich vom Trigger-Kurs entfernt liegen.

FAQ

Was ist der Unterschied zwischen einer Bracket-Order und einer OCO-Order?

Eine OCO ist das Paar selbst: zwei ruhende Orders mit einer Stornierungsverknüpfung, bei denen die Ausführung einer Order die andere entfernt. Eine Bracket-Order besteht aus einem Einstieg mit einer angehängten OCO. Das Paar wird erst aktiv, wenn der Einstieg ausgeführt wurde. Jede Bracket-Order enthält eine OCO. Viele OCO-Paare werden unabhängig von einem Einstieg eingesetzt.

Funktioniert eine Bracket-Order weiter, wenn mein Computer ausgeschaltet ist?

Das hängt davon ab, wo die Verknüpfung liegt. Eine brokerseitige Bracket-Order liegt auf den Servern des Brokers und bleibt aktiv, wenn die Plattform geschlossen wird. Eine plattformseitige oder simulierte Bracket-Order benötigt eine laufende und verbundene Anwendung. Ohne diese erreichen die Child-Orders möglicherweise nie den Markt.

Was geschieht mit dem Stop, wenn das Kursziel teilweise ausgeführt wird?

Der Stop wird um die ausgeführte Stückzahl reduziert und nicht storniert. Werden von einem Kursziel über 200 Aktien 60 ausgeführt, sinkt die Stückzahl des Stops auf 140 Aktien. Damit entspricht sie der noch offenen Position. Die Stornierung erfolgt erst, wenn die letzte Aktie der Position geschlossen ist.

Kann ich eine Bracket-Order im Pre-Market oder nach dem regulären Handel verwenden?

Das Verhalten unterscheidet sich je nach Broker. Viele Broker leiten die Child-Orders nur während der regulären Handelszeiten weiter. Insbesondere Stop-Orders werden außerhalb von 09:30 bis 16:00 Uhr ET bei US-Aktien häufig abgelehnt oder zurückgehalten. Die Einstellung zur Ordergültigkeit jeder einzelnen Seite bestimmt, ob diese überhaupt für den erweiterten Handel zugelassen ist.

Wissen die Börsen, dass meine beiden Orders miteinander verknüpft sind?

Nein. Bei US-Aktien liegt die Stornierungsverknüpfung beim Broker oder bei der Plattform. Die Börse erhält zwei unabhängige Orders. Die Stornierungsnachricht für die verbleibende Order wird von dem System übermittelt, das die Verknüpfung hält, sobald die Ausführung der anderen Order gemeldet wurde.


Zu jeder Darstellung gehört die vollständige zugrunde liegende SQL-Abfrage. Wenn Sie die Spanne und das Gap-Risiko eines von Ihnen beobachteten Titels messen möchten, formulieren Sie die Frage in normaler Sprache im Strasmore-Terminal.

#order types#oco#bracket orders#stop orders#execution