AlgoVesta › Glossar › Wiederholungslogik

Orderausführung

Wiederholungslogik

Retry-Logik (Wiederholungslogik) ist die Regelmenge, die entscheidet, ob eine fehlgeschlagene Anfrage an eine Börse oder einen Broker erneut gesendet wird, wie oft, nach welcher Wartezeit, und, am wichtigsten, welche Anfragen niemals wiederholt werden dürfen, weil eine Wiederholung eine zweite Order platzieren könnte.

Warum es wichtig ist

Netzwerke und Handelsplätze fallen auf Arten aus, die von außen identisch aussehen: Ein Timeout kann bedeuten, dass die Order nie ankam, oder dass sie angenommen wurde und die Bestätigung verloren ging. Eine Lese-Anfrage (Guthaben, Positionen, Orderstatus) zu wiederholen ist harmlos; eine Orderplatzierung nach einem mehrdeutigen Fehler zu wiederholen, kann die Position verdoppeln, was ein schlechteres Ergebnis ist als das Verpassen eines Trades. Wiederholungen wirken auch mit Rate-Limits zusammen: eine Salve von Wiederholungen während eines Ausfalls des Handelsplatzes kann dazu führen, dass eine IP oder ein Schlüssel vorübergehend gesperrt wird, wodurch jedes andere Konto auf diesem Server mit heruntergefahren wird.

So geht AlgoVesta damit um

AlgoVesta unterscheidet Lesevorgänge von Schreibvorgängen. Lese-Anfragen wie das Abrufen von Positionen werden nach einer kurzen Wartezeit einmal wiederholt; Orderplatzierungen werden nach einem Timeout nicht blind wiederholt, weil eine verlorene Bestätigung kein Beweis dafür ist, dass die Order verloren ging. Stattdessen gleicht die Plattform mit dem Handelsplatz ab: Positionen und Handelshistorie der Börse werden geprüft, und eine Order, die sich als platziert herausstellt, wird erfasst statt dupliziert. Ein Duplikatschutz lehnt ein zweites identisches Signal für dasselbe Konto, Symbol und dieselbe Richtung innerhalb eines kurzen Zeitfensters ab, sodass ein Anbieter, der eine Nachricht erneut postet, nicht zwei Positionen eröffnet. Wenn ein Handelsplatz eine Rate-Limit- oder Sperr-Antwort zurückgibt, drosselt sich der betroffene Schlüssel oder Server, statt den Handelsplatz weiter zu bombardieren, und der Zustand wird im Dashboard angezeigt. Schützende Orders, deren Erstellung fehlschlägt, werden wiederholt und verifiziert, und bei Forex-Konten wird eine Position, deren Stop nicht bestätigt werden kann, absichtlich geschlossen. Siehe Idempotenz und Rate-Limit der Börse.

Beispiel

Eine Order zum Kauf von 0,05 BTC läuft nach 10 Sekunden ohne Antwort in ein Timeout. AlgoVesta sendet sie nicht erneut. Es fragt die offenen Positionen und letzten Ausführungen des Kontos ab, findet eine neue Long-Position von 0,05 BTC, die zur Order passt, erfasst sie mit dem Ausführungspreis der Börse und platziert Stop und Ziel dafür. Hätte die Abfrage nichts gefunden, wäre das Signal mit dem Timeout-Grund als fehlgeschlagen markiert worden, und der Trader hätte es absichtlich erneut senden können.

Häufige Fehler

In der Praxis

So automatisiert AlgoVesta das