Ordertypen und Time-in-Force: von Market bis FOK im Bot.
Jede Order beantwortet zwei Fragen: zu welchem Preis sie ausgeführt werden darf (Ordertyp) und wie lange sie gelten soll (Time-in-Force). Eine Market-Order sichert die Ausführung, aber nicht den Preis; eine Limit-Order sichert den Preis, aber nicht die Ausführung; Stop-Orders sind bis zu ihrem Auslöser gar nicht im Orderbuch. Für einen automatisierten Ablauf ist die zweite Frage oft die tückischere: Vergessene GTC-Orders, nicht verbuchte IOC-Reste oder ein Stop, der beim Broker statt an der Börse liegt, erzeugen Positionen, die das Regelwerk nie vorgesehen hat. Dieser Artikel ordnet die gängigen Ordertypen und Gültigkeiten brokerneutral ein, zeigt, worin sich börsenseitige und vom Broker simulierte Orders unterscheiden, und gibt eine Entscheidungsmatrix für Einstieg, Ausstieg und Notausstieg in einem Trading-Bot. Die Beispiele beziehen sich auf die Dokumentation von Deutsche Börse (Xetra), FIX-Protokoll, MetaTrader 5, Interactive Brokers und Alpaca, Stand Oktober 2026.
Was sichert welcher Ordertyp zu?
Am einfachsten lassen sich Ordertypen danach sortieren, was sie festlegen: den Preis, die Ausführung oder einen Auslöser. Eine Market-Order (Bestens- bzw. Billigst-Order) wird zum nächsten verfügbaren Preis ausgeführt. Die Ausführung ist sehr wahrscheinlich, den Preis bestimmt aber das Orderbuch im Moment des Eintreffens. Eine Limit-Order wird nur zum Limit oder besser ausgeführt und bleibt sonst im Buch liegen, im Zweifel bis zum Ende ihrer Gültigkeit.
Stop-Orders stehen zunächst gar nicht im Orderbuch. Erst wenn der Stop-Kurs erreicht ist, wird daraus eine Market-Order (Stop-Market) oder eine Limit-Order (Stop-Limit). Ein Kauf-Stop liegt über dem aktuellen Kurs, ein Verkaufs-Stop darunter. Die Market-if-Touched-Order funktioniert spiegelbildlich: Ein Kauf-Auftrag liegt unter dem Markt, ein Verkaufsauftrag darüber, und beim Berühren des Auslösers wird eine Market-Order daraus. Den Trailing Stop beschreibt Deutsche Börse als Stop-Market-Order, deren Auslöser dem Kurs mit festem oder prozentualem Abstand folgt, aber nie zurückläuft.
| Ordertyp | Im Buch sichtbar | Preis festgelegt | Ausführung wahrscheinlich |
|---|---|---|---|
| Market | nur kurz | nein | ja, bei vorhandener Gegenseite |
| Limit | ja | ja, Limit oder besser | nur wenn der Markt das Limit erreicht |
| Stop-Market | erst nach Auslösung | nein | ja, nach Auslösung |
| Stop-Limit | erst nach Auslösung | ja | unsicher, vor allem bei Kurslücken |
| Market-if-Touched | erst nach Auslösung | nein | ja, nach Auslösung |
| Trailing Stop | erst nach Auslösung | nein | ja, nach Auslösung |
Wichtig ist der Unterschied zwischen Stop-Kurs und Ausführungskurs. Springt der Kurs über Nacht oder nach einer Nachricht über den Stop hinweg, wird die Market-Order zum ersten verfügbaren Preis jenseits des Stops ausgeführt. Ein Stop-Limit schützt davor, ein Ausstieg kann dann aber ganz ausbleiben. Wie sich diese Abweichung auf die Kosten einer Strategie auswirkt, behandelt der Artikel zu Slippage, Spread und Kommissionen.
Day, GTC, GTD, IOC, FOK: was bedeutet Time-in-Force?
Time-in-Force (Gültigkeit) regelt, wie lange eine Order aktiv bleibt und was mit einem nicht ausgeführten Rest passiert. Börsen und Plattformen trennen dabei oft zwei Dinge: die Gültigkeitsdauer (Tag, Datum, bis auf Widerruf) und die Ausführungsbedingung (sofort, vollständig oder nur passiv). Deutsche Börse führt für Xetra beides getrennt, ebenso MetaTrader 5 mit eigenen Aufzählungen für Gültigkeit und Füllart. Das FIX-Protokoll fasst alles in einem Feld zusammen (TimeInForce, Tag 59).
- Day bzw. Good-for-Day: gilt bis Handelsschluss des laufenden Tages. Im FIX-Protokoll wird eine Order ohne Angabe zur Gültigkeit als Tagesorder behandelt.
- GTC (Good-till-Cancelled): bleibt aktiv, bis sie ausgeführt oder gelöscht wird. Viele Anbieter setzen trotzdem eine Höchstdauer; Alpaca etwa storniert GTC-Orders 90 Tage nach dem Anlegen automatisch.
- GTD (Good-till-Date): gilt bis Handelsschluss eines gewählten Datums, bei manchen Plattformen bis zu einem Zeitpunkt.
- IOC (Immediate-or-Cancel): wird sofort so weit wie möglich ausgeführt, der Rest wird gelöscht und kommt nie ins Buch.
- FOK (Fill-or-Kill): wird sofort vollständig ausgeführt oder gar nicht.
- BOC (Book-or-Cancel, Post-Only): geht nur ins Buch, wenn sie nicht sofort ausführbar wäre; sonst wird sie abgewiesen.
Daneben gibt es Auktionsvarianten: Orders, die nur in der Eröffnungs- oder Schlussauktion gelten (im FIX-Protokoll „At the Opening“ und „At the Close“). Welche Kombinationen zulässig sind, entscheidet die jeweilige Börse bzw. der Broker je Produkt. Bei MetaTrader 5 hängt zum Beispiel die Unterstützung von FOK und IOC vom Handelsserver ab; ein Bot, der die erlaubte Füllart nicht vorher abfragt, bekommt Ablehnungen statt Ausführungen.
Börsenseitig oder vom Broker simuliert: wo liegt Ihr Stop?
Ein Stop kann an drei Orten liegen: als nativer Ordertyp an der Börse, im System des Brokers oder nur im eigenen Bot. Für das Verhalten im Ernstfall ist das ein großer Unterschied. Interactive Brokers beschreibt in seiner Offenlegung zu Aktien-Stop-Orders, dass Stop- und Stop-Limit-Orders an den meisten Börsen in den eigenen Systemen verwaltet werden. Erst wenn der Auslöser erreicht ist, geht eine Market- oder Limit-Order an die Börse. An einigen Börsen nutzt der Broker dagegen den nativen Ordertyp, der laut derselben Offenlegung zusätzliche, abweichende Eigenschaften haben kann.
Simulierte Stops folgen eigenen Auslöseregeln. In der genannten Offenlegung (Fassung Januar 2021) löst ein simulierter Stop standardmäßig nur während der regulären Handelszeit der Heimatbörse aus, nur bei gültigem Geld- und Briefkurs, auf Basis des letzten Umsatzes und nur, wenn dieser höchstens 0,5 % außerhalb der konsolidierten Geld-Brief-Spanne liegt. Die Methode lässt sich umstellen, etwa auf Geld-/Briefkurs oder Mittelkurs. Alpaca wiederum gibt an, dass Stops über das konsolidierte Tape ausgelöst werden und Trailing Stops außerhalb der regulären Handelszeit nicht auslösen. Der gleiche Stop-Kurs kann also je nach Broker zu unterschiedlichen Zeitpunkten führen.
Der dritte Ort ist der Bot selbst: Er beobachtet den Kurs und schickt beim Erreichen der Schwelle eine Market-Order. Das gibt volle Kontrolle über die Logik, macht den Schutz aber von Rechner, Datenfeed und Verbindung abhängig. Fällt einer davon aus, existiert kein Stop. In der Praxis wird deshalb oft ein serverseitiger Schutzstop als Netz unter eine engere, bot-interne Ausstiegslogik gelegt. Welche Stop-Varianten es gibt und wie man sie testet, beschreibt der Artikel zu Stop-Loss-Strategien.
Welcher Ordertyp passt in welche Situation im Bot?
Eine feste Zuordnung gibt es nicht, aber eine gute Ausgangsfrage: Was kostet es, nicht ausgeführt zu werden, und was kostet ein schlechter Preis? Beim Einstieg ist ein verpasster Trade meist billiger als ein schlechter Kurs, beim Notausstieg ist es umgekehrt. Daraus ergibt sich eine typische Matrix, die je Strategie, Instrument und Liquidität angepasst werden muss.
| Situation | Typische Wahl | Gültigkeit | Begründung |
|---|---|---|---|
| Einstieg mit Preisdisziplin | Limit | Day oder GTD | Kein Einstieg zu jedem Preis; endet automatisch, wenn das Signal veraltet |
| Einstieg auf Ausbruch | Stop-Limit | Day | Auslöser über dem Markt, Limit begrenzt das Nachlaufen |
| Gewinnmitnahme | Limit | GTC oder an Position gekoppelt | Preis ist das Ziel, Ausführung nicht dringend |
| Schutzstop | Stop-Market, serverseitig | GTC | Ausführung wichtiger als Preis; muss ohne laufenden Bot greifen |
| Notausstieg, Positionsabbau | Market oder aggressives Limit mit IOC | IOC | Sofort handeln, Rest bewusst neu bewerten statt liegen lassen |
| Mengenkritische Order | Limit mit FOK | FOK | Teilmengen würden das Regelwerk verletzen, etwa bei Spreads aus mehreren Beinen |
| Passives Liefern von Liquidität | Limit mit BOC | Day | Verhindert, dass ein Limit versehentlich sofort gegen das Buch läuft |
Die Tabelle ist ein typisches Beispiel, keine Empfehlung für eine bestimmte Strategie. Entscheidend ist, dass die Wahl im Code als Regel steht und nicht dem Zufall der Plattform-Voreinstellung überlassen bleibt. Im FIX-Protokoll und bei vielen Brokern ist „Day“ die Voreinstellung; verlassen sollte sich ein Bot darauf nicht, sondern die Gültigkeit bei jeder Order ausdrücklich setzen.
Gültigkeit als unterschätzte Fehlerquelle.
Fehler bei der Gültigkeit fallen selten im Backtest auf, weil Backtests die Gültigkeit von Orders oft nur vereinfacht abbilden. Im Live-Betrieb zeigen sie sich als Positionen, die niemand erwartet hat. Die häufigsten Muster:
- Vergessene GTC-Orders: Ein Limit zur Gewinnmitnahme bleibt nach einem manuellen oder bot-internen Ausstieg liegen und eröffnet Tage später eine neue, ungewollte Position in Gegenrichtung.
- Nicht verbuchte IOC-Reste: Die Order wird etwa nur zu einem Teil ausgeführt, der Rest gelöscht. Rechnet der Bot weiter mit der vollen Menge, stimmen Risiko und Positionsgröße nicht mehr.
- FOK bei dünnem Buch: In illiquiden Instrumenten oder zu Randzeiten wird jede FOK-Order abgelehnt. Ohne Auswertung des Grundes wiederholt der Bot die Order in einer Schleife.
- Session-Grenzen: Eine Tagesorder endet bei Handelsschluss, ein simulierter Stop ruht laut Broker-Regeln womöglich außerhalb der regulären Handelszeit. Bei Xetra werden passive BOC-Orders zu Beginn einer Auktion gelöscht.
- Stille Stornierungen durch den Anbieter: Automatische Höchstdauern für GTC oder, je nach Anbieter, Löschungen nach Ereignissen beim Instrument können einen vermeintlich dauerhaften Schutzstop verschwinden lassen.
Allen Fällen ist gemeinsam, dass der Bot einen Zustand annimmt, den der Broker längst nicht mehr hat. Deshalb gehört zu jeder Ordermechanik ein regelmäßiger Abgleich von offenen Orders und Positionen, wie ihn der Artikel zum Positionsabgleich für Trading-Bots beschreibt.
Teilausführungen, Ablehnungen und Aufräumen im Code.
Ein robuster Bot behandelt jede Order als Zustandsmaschine: angelegt, angenommen, teilweise ausgeführt, vollständig ausgeführt, storniert, abgelaufen oder abgelehnt. Jeder Übergang wird aus den Ausführungsberichten des Brokers abgeleitet, nicht aus der Annahme, dass eine gesendete Order auch ausgeführt wurde. Besonders wichtig sind die Zustände, die nichts mit dem Markt zu tun haben: Ablehnung wegen unzulässiger Füllart, wegen falscher Seite des Stop-Kurses oder wegen fehlender Marge.
Die folgende Skizze zeigt das Prinzip in vereinfachtem Python-Pseudocode, unabhängig von einer konkreten Broker-API:
def nach_ausfuehrungsbericht(order, bericht, journal):
gefuellt = bericht.gefuellte_menge
rest = order.menge - gefuellt
if bericht.status == "abgelehnt":
journal.fehler(order.id, bericht.grund) # Grund speichern, nicht blind wiederholen
return "pruefen"
if bericht.status in ("storniert", "abgelaufen") and rest > 0:
journal.teil(order.id, gefuellt, rest) # IOC-Rest oder abgelaufene DAY-Order
return "rest_neu_bewerten"
if rest == 0:
journal.voll(order.id, bericht.durchschnittspreis)
return "erledigt"
return "offen" # Teilausführung, Rest arbeitet weiter
def sitzungsende(broker, strategie_ids):
for order in broker.offene_orders():
if order.strategie in strategie_ids and order.gueltigkeit != "GTC_SCHUTZSTOP":
broker.stornieren(order.id) # nur eigene, bewusst kurzlebige OrdersZwei Regeln stecken darin. Erstens: Ein Rest aus IOC oder einer abgelaufenen Tagesorder wird nicht automatisch nachgeschoben, sondern neu bewertet, weil sich Signal und Markt inzwischen geändert haben können. Zweitens: Beim Aufräumen zum Sitzungsende storniert der Bot nur Orders, die er selbst angelegt und als kurzlebig markiert hat. Schutzstops mit GTC bleiben bewusst stehen. Dafür braucht jede Order eine eindeutige, eigene Kennung (etwa die Client-Order-ID im FIX-Protokoll), über die sie der Strategie zugeordnet werden kann.
Grenzen und Risiken.
Kein Ordertyp beseitigt das Marktrisiko. Ein Stop begrenzt Verluste nur, solange es zum Auslöser auch Gegenseite gibt; bei Kurslücken, Handelsunterbrechungen oder sehr dünnen Märkten kann der Verlust deutlich größer ausfallen als geplant, bei gehebelten Produkten bis über den Einsatz hinaus. Ein Stop-Limit kann in genau dem Moment unausgeführt bleiben, in dem ein Ausstieg am wichtigsten wäre.
- Auslöseregeln, Handelszeiten und Höchstdauern unterscheiden sich je Broker, Börse und Produkt und können sich ändern. Die Angaben in diesem Artikel sind Beispiele aus der jeweiligen Dokumentation zum genannten Stand.
- Backtests bilden Orderverhalten meist vereinfacht ab. Teilausführungen, Ablehnungen, Kurslücken und Warteschlangenpositionen im Buch fehlen oft ganz, was Ergebnisse geschönt erscheinen lässt.
- Bot-interne Stops hängen von Strom, Netz, Datenfeed und Software ab. Ein Ausfall ohne serverseitiges Netz kann eine Position ungeschützt lassen.
- Fehler in der Ordermechanik wirken sofort mit echtem Geld. Testen im Papierkonto ersetzt nicht den Blick auf echte Ausführungsberichte, deckt aber viele Ablehnungen und Zustandsfehler auf.
Was Sie jetzt konkret tun können.
- Listen Sie für Ihr Regelwerk jede Ordersituation auf (Einstieg, Gewinnmitnahme, Schutzstop, Notausstieg) und legen Sie je Situation Ordertyp und Gültigkeit schriftlich fest.
- Lesen Sie die Ordertyp-Seiten Ihres Brokers und der genutzten Börse: Welche Stops sind nativ, welche simuliert, nach welcher Regel lösen sie aus, und gibt es Höchstdauern für GTC?
- Fragen Sie im Code die erlaubten Füllarten und Gültigkeiten je Instrument ab, statt sie anzunehmen, und werten Sie jeden Ablehnungsgrund aus.
- Verbuchen Sie Teilausführungen und abgelaufene Reste ausdrücklich und gleichen Sie offene Orders und Positionen regelmäßig mit dem Broker ab.
- Bauen Sie ein Aufräumen zum Sitzungsende, das nur eigene, kurzlebige Orders storniert, und prüfen Sie es im Papierkonto mit absichtlich provozierten Teilausführungen und Ablehnungen.
Wenn Sie diese Mechanik nicht selbst bauen möchten, lässt sie sich als Teil eines automatisierten Trading-Systems umsetzen und testen.
Häufige Fragen.
Was ist der Unterschied zwischen Stop-Order und Stop-Limit-Order?
Beide liegen bis zum Erreichen des Stop-Kurses außerhalb des Orderbuchs. Danach wird die Stop-Order zur Market-Order und ist damit sehr wahrscheinlich ausgeführt, aber nicht zum Stop-Kurs. Die Stop-Limit-Order wird zur Limit-Order und wird nur zum Limit oder besser ausgeführt. Springt der Kurs über das Limit hinweg, bleibt sie unausgeführt.
Was bedeuten IOC und FOK bei einer Order?
IOC steht für Immediate-or-Cancel: Die Order wird sofort so weit wie möglich ausgeführt, ein nicht ausgeführter Rest wird gelöscht. FOK steht für Fill-or-Kill: Die Order wird sofort vollständig ausgeführt oder gar nicht. Beide Varianten kommen nie dauerhaft ins Orderbuch. Welche davon zulässig ist, hängt von Börse, Broker und Instrument ab.
Wie lange gilt eine GTC-Order wirklich?
GTC bedeutet Good-till-Cancelled, also gültig bis zur Ausführung oder Löschung. Viele Anbieter setzen dennoch Grenzen: Alpaca storniert GTC-Orders laut Dokumentation 90 Tage nach dem Anlegen, andere Anbieter haben eigene Höchstdauern oder Löschregeln. Ein Bot sollte deshalb regelmäßig prüfen, ob seine dauerhaften Orders noch existieren.
Liegt mein Stop-Loss an der Börse oder beim Broker?
Das hängt vom Broker und der Börse ab. Interactive Brokers verwaltet Stop-Orders laut eigener Offenlegung an den meisten Börsen im eigenen System und sendet erst beim Auslösen eine Market- oder Limit-Order. Ob ein Stop nativ oder simuliert ist, steht meist auf der Ordertyp-Seite des Brokers je Börse. Davon hängen Auslöseregeln und Handelszeiten ab.
Quellen und Stand.
- Order types (Xetra) — Deutsche Börse
- FIX 4.4: TimeInForce (59) field — OnixS FIX Dictionary
- Order Properties (ENUM_ORDER_TYPE, ENUM_ORDER_TYPE_FILLING, ENUM_ORDER_TYPE_TIME) — MQL5 Reference, MetaQuotes
- Stock Stop Order Disclosure (Dokument 4783, Stand 20.01.2021) — Interactive Brokers Ireland
- Orders at Alpaca — Alpaca Docs
Stand: 16. Oktober 2026. Produkte, Funktionen und Preise ändern sich schnell; maßgeblich sind die Angaben der Anbieter und Behörden.
Sie wollen Ordermechanik, Teilausführungen und Aufräumlogik Ihres Trading-Bots sauber umsetzen lassen? Unverbindlich anfragen — wir klären Ordertypen, Gültigkeiten, Testumfang und den Weg in den Live-Betrieb. Mehr zu meinem Angebot: Trading-Systeme entwickeln lassen.