← Zurück zum Modul-Shop
Execution & RecoveryVersion 1.0.0

Duplicate Order Protection

Duplicate Order Protection reserviert stabile Geschäfts- und Client-Order-IDs, verfolgt den Exchange-Status persistent und verhindert blinde Doppelorders bei Retry, Timeout oder Neustart.

Für Betreiber und Entwickler von Python-Trading-Bots, die Order-, Fill- und Signalzustände vor Live-Entscheidungen nachvollziehbar und fail-closed absichern möchten.

SelbstinstallationKein AboLong & ShortFail-closedPython 3.11+

Welches Problem löst das Modul?

Wenn die Börse nach dem Orderversand nicht rechtzeitig antwortet, weiß der Bot nicht sicher, ob die Order angenommen wurde. Sendet er einfach noch einmal, kann eine zweite Order und damit eine doppelte Position entstehen. Duplicate Order Protection merkt sich jeden Ordervorgang mit einer festen Kennung, auch über Neustarts hinweg, und prüft zuerst den vorhandenen Status. Solange der Zustand nicht geklärt ist, wird keine blinde Ersatzorder freigegeben.

Für welche Börsen ist es geeignet?

  • Exchange-neutraler Python-Kern ohne direkten Börsenzugriff und ohne API-Schlüssel
  • Mit Bitget, Binance, Bybit, OKX und anderen Börsen integrierbar, wenn der Bot normalisierte bestätigte Daten liefert
  • Long-, Short-, One-way- und Hedge-Betrieb sind über stabile Scopes und IDs abbildbar
  • Exchange-spezifische Status-, Mengen- und Präzisionswerte müssen im Adapter normalisiert werden
  • Keine pauschale Plug-and-play-Garantie für jede Börse, API-Version oder Bot-Struktur
Technischer Ablauf

Duplicate Order Protection: lokale Annahmen reichen nicht als Bestätigung.

Der vorhandene Bot liefert stabile IDs, UTC-Zeitstempel und normalisierte Daten. Das Modul validiert den Zustand und gibt einen strukturierten nächsten Schritt aus. Eine Exchange-Aktion erfolgt erst außerhalb des Moduls durch den Bot.

  1. 01stabile operation_id und client_order_id vor dem API-Aufruf reservieren
  2. 02Retry derselben Operation als ALREADY_TRACKED behandeln
  3. 03Orderversand und Exchange-Order-ID persistent markieren
  4. 04Open-, Partial-, Filled-, Cancel- und Unknown-Zustände nur vorwärts reconciliieren
  5. 05bei UNKNOWN keine Ersatzorder zulassen, bis die Exchange eindeutig geklärt ist

Was das Modul technisch übernimmt

  • stabile operation_id und client_order_id vor dem API-Aufruf reservieren
  • Retry derselben Operation als ALREADY_TRACKED behandeln
  • Orderversand und Exchange-Order-ID persistent markieren
  • Open-, Partial-, Filled-, Cancel- und Unknown-Zustände nur vorwärts reconciliieren
  • bei UNKNOWN keine Ersatzorder zulassen, bis die Exchange eindeutig geklärt ist
  • abweichende Payload unter derselben Operation-ID blockiert
  • eine Client-Order-ID darf nur zu genau einer Operation gehören
  • Fill-Menge kann nicht sinken oder die erwartete Menge überschreiten
  • terminale Zustände können nicht nachträglich umgeschrieben werden
  • nichtterminale UNKNOWN-Zustände laufen nicht automatisch ab

Was Sie nach dem Kauf erhalten

  • Versioniertes Python-Paket 1.0.0 mit vollständig typisierter öffentlicher API und PEP-561-Marker
  • Wheel und Source Distribution für Python 3.11 oder neuer
  • Ausführbares Integrationsbeispiel und Beispielkonfiguration
  • Ausführliche deutsche Kundenanleitung mit Nutzen, Einbau, Betrieb und Fehlerbehebung
  • Release-Checkliste und technischer Kontrollbericht
  • Automatisierte Tests mit mindestens 95 Prozent Coverage
  • Kunden-ZIP mit Wheel, Source, Dokumentation, Beispielen und Lizenz
  • SHA-256-Prüfsumme für das erzeugte Kunden-ZIP

Technische Voraussetzungen

  • Python 3.11 oder neuer
  • stabile und über Neustarts wiederverwendete IDs
  • timezone-aware UTC-Zeitstempel
  • normalisierte bestätigte Bot- beziehungsweise Exchange-Daten
  • Paper-/Sandbox-Abnahme vor Live-Aktivierung

Klare Grenzen

  • Der Bot muss stabile IDs erzeugen und bei jedem Exchange-Aufruf wiederverwenden.
  • Das Modul fragt die Exchange nicht selbst ab.
  • Der JSON-Store ist single-process/single-writer; verteilte Bots benötigen einen transaktionalen Store.
  • Ein UNKNOWN-Zustand erfordert Exchange-Reconciliation oder eine bewusste Betreiberentscheidung.

Was nicht enthalten ist

  • Keine Handelsstrategie, Signalerzeugung oder Gewinnoptimierung
  • Keine Finanzberatung oder Garantie für Ausführung und Ergebnis
  • Keine direkte Exchange-, Telegram- oder Datenfeed-Anbindung
  • Keine persönliche Integration oder Anpassung an einen konkreten Bot
  • Keine neuen Exchange-Adapter außerhalb der dokumentierten Schnittstelle
  • Kein Betrieb, Hosting oder Monitoring des Kundenbots
Selbst installieren oder Hilfe buchen

Die vollständige Anleitung kommt mit dem Modul.

Die öffentliche Seite erklärt Funktion, Lieferumfang und Grenzen. Nach dem Kauf enthält das Paket den vollständigen Code und jeden Einbauschritt. Falls der vorhandene Bot keinen passenden Order-Adapter besitzt, kann persönliche Integration separat angefragt werden.

Integrationshilfe anfragen