Warum das wichtiger ist, als es klingt
Angenommen, eine Übermittlung läuft in einen Timeout. Ist sie bei der Chain angekommen? Sie wissen es nicht. Ohne Client Order ID bleibt Ihnen nur, die letzten Orders abzufragen und anhand von Markt, Seite, Preis und Menge zu raten – oder nichts zu tun und zu hoffen. Mit einer Client Order ID verschwindet die Mehrdeutigkeit. Sie stornieren über die Kennung, die Sie erzeugt haben. Existierte die Order, ist sie storniert. Kam sie nie an, findet die Stornierung nichts. In beiden Fällen landen Sie in einem bekannten Zustand – und genau das braucht ein System, das ohne menschliche Aufsicht läuft. Das macht auch den Abgleich beherrschbar. Ihre eigenen Aufzeichnungen laufen über eine Kennung, die Sie selbst vergeben haben, sodass der Vergleich Ihrer Sicht mit der der Chain ein Nachschlagen ist und keine Heuristik.Format
Die Kennung ist ein 16-Byte-Wert, übermittelt als hexadezimale Zeichenkette aus 32 Zeichen in Kleinbuchstaben mit0x-Präfix.
- Nur Kleinbuchstaben. Hex in Großbuchstaben wird abgelehnt und nicht normalisiert.
- Exakte Länge. Kürzere oder längere Werte werden abgelehnt.
- Der Nullwert ist reserviert.
0x00000000...0000ist der Sentinel-Wert für nicht vorhanden und kann nicht als Kennung verwendet werden.
Eindeutigkeit
Eindeutigkeit gilt je Unterkonto: für die Kombination aus signierender Adresse und dem Unterkonto darunter. Daraus folgen zwei Dinge. Verschiedene Unterkonten unter derselben Adresse dürfen dieselbe Kennung ohne Konflikt verwenden – praktisch, wenn unabhängige Strategien laufen, die jeweils eigene IDs erzeugen. Und innerhalb eines Unterkontos ist die Wiederverwendung einer Kennung, die zu einer aktiven Order gehört, ein Fehler und keine Ersetzung.Erzeugen Sie Kennungen zufällig statt fortlaufend. Ein Zähler ist verlockend, weil er die Reihenfolge sichtbar macht, aber ein Neustart, der den Zähler verliert, erzeugt Kollisionen mit Orders, die noch aktiv sind – und 16 zufällige Bytes kollidieren in der Praxis nie.
Was Sie damit tun können
Lebensdauer
Die Kennung gehört zur Order, nicht zu Ihrer Session. Sie bleibt abfragbar, nachdem die Order ausgeführt oder storniert wurde – genau das macht sie für den nachträglichen Abgleich nützlich. Wiederverwendbar wird sie, sobald die von ihr bezeichnete Order nicht mehr aktiv ist. In der Praxis gibt es kaum einen Grund dafür – ein frischer Zufallswert kostet nichts und beseitigt jede Frage danach, auf welche Order sich ein historischer Eintrag bezieht.Wie es weitergeht
Orders ändern
Eine aktive Order ändern – und was mit ihren Kennungen geschieht.
Ordertypen
Woran sich eine Kennung anhängen lässt.
Entwickler
Orders absenden und mehrdeutige Antworten im Code behandeln.
Transaktionsreihenfolge
Warum eine im selben Block abgesendete Stornierung vor einer aggressiven Order läuft.