Tradovate API

TradingView–Tradovate: Fehler „Position Closing Timeout“

Sie klicken auf Schließen und erhalten ein rotes 'Position closing timeout' statt einer glatten Position. Hier erfahren Sie, was der Fehler tatsächlich bedeutet, warum Order- und Positions-IDs auseinanderlaufen und wie Sie einen sauberen Neuabruf erzwingen.

On This Page

Wenn Sie eine Live-Futures-Position direkt von einem mit Tradovate verbundenen TradingView-Chart aus managen, soll der Exit-Button sofort wirken. Ein Klick und Sie sind flat. Umso beunruhigender ist es, wenn Sie klicken und statt der Glattstellung ein roter Fehler erscheint: "Position closing timeout." Vielleicht wurde der Trade auf Tradovate-Seite schon geschlossen. Vielleicht nicht. Und bei einem schnellen Kontrakt wie ES oder NQ wissen Sie für die nächsten Sekunden wirklich nicht, ob Sie noch Größe halten. Derselbe Fehler zeigt sich auch in anderer Verkleidung: Eine Order wird ausgelöst, aber der Chart zeigt die Position weiter offen, eine Positions-ID passt nicht mehr, ein Close-Button reagiert nicht. Fast alles geht auf eine Ursache zurück: Der TradingView-Chart und das Tradovate-Backend sind bei Order- und Positionsstatus auseinandergelaufen. Hier erfahren Sie, was der Timeout tatsächlich bedeutet, was die ID-Abweichung dahinter verursacht und wie Sie einen sauberen Neuabruf erzwingen, um sicher auszusteigen.

Kurze Checkliste bei einem Position Closing Timeout

  • Prüfen Sie direkt in Tradovate, bevor Sie reagieren. Öffnen Sie das Positions-/Orders-Panel im Tradovate Web Trader. Der Timeout ist ein Bestätigungsfehler, daher ist Ihre echte Position dort die maßgebliche Quelle, nicht der Chart.
  • Klicken Sie nicht wiederholt auf den Exit-Button. Wiederholte Close-Klicks können doppelte Orders stapeln, sobald die Verbindung aufholt. Einmal klicken, dann prüfen.
  • Verbinden Sie die Broker-Sitzung in TradingView neu. Das Trennen und erneute Verbinden des Tradovate-Kontos zwingt den Chart, die vollständige Order- und Positionsliste von Grund auf neu zu laden.
  • Vermuten Sie eine ID-Abweichung. Zeigt der Chart eine Position oder Order, die Tradovate nicht mehr hat (oder umgekehrt), verweisen beide Seiten auf unterschiedliche IDs und brauchen einen vollständigen Neuabruf, keinen Stups.
  • Für Integratoren und Bridges: Rufen Sie ordersFullUpdate und positionsFullUpdate auf, um den Cache zu leeren und neu abzurufen – aber nur als Sonderfall-Wiederherstellung, nie bei jedem Update.
  • Halten Sie einen manuellen Flatten-Weg bereit. Wissen Sie, wie Sie eine gegenläufige Market-Order platzieren oder die eigene Flatten-Funktion von Tradovate nutzen, falls der Chart den Trade nicht schließt.

Was “Position Closing Timeout” bedeutet

Das Trading direkt aus einem TradingView-Chart läuft über die Broker API von TradingView, einen bidirektionalen Vertrag zwischen Chart und dem angeschlossenen Backend (hier Tradovate über die offizielle Integration). Wenn Sie eine Position schließen, ruft die Bibliothek die Methode closePosition der Integration auf und wartet dann auf eine Bestätigung, dass die id der Position nun die Menge 0 hat. Laut der Broker-API-Dokumentation von TradingView wartet die Bibliothek bis zu etwa 10 Sekunden darauf, dass diese Bestätigung über den Trading Host zurückkommt. Erscheint in diesem Zeitfenster kein passendes positionUpdate, gibt die Bibliothek auf und wirft den Fehler, den Sie vor sich sehen: "Failed to close position: Position closing timeout."

Hier die entscheidende Nuance: Der Timeout beschreibt die Bestätigung, nicht unbedingt die Order. Tradovate hat die Position vielleicht schon glattgestellt; TradingView hat nur nicht rechtzeitig davon gehört. Ein hinterherhinkender Feed, eine abgebrochene Sitzung oder eine Welle aus Modify/Cancel können diese Bestätigung verschlucken. Deshalb ist Ihr erster Schritt immer, den tatsächlichen Zustand bei Tradovate zu prüfen, statt erneut auf Schließen zu klicken. Die Orderseite des Chart-Tradings nutzt dasselbe Zeitfenster von etwa 10 Sekunden, sodass das Platzieren oder Ändern einer Order einen entsprechenden Timeout auslösen kann.

Eine verwandte und unangenehmere Variante ist eine regelrechte ID-Abweichung. TradingView verfolgt jede Order und Position über eine id, die die Integration liefert. Ändert sich diese Backend-id zwischen dem Absenden der Anfrage und ihrer Verarbeitung, zeigt die Bibliothek auf eine id, die nicht mehr existiert. Close- und Modify-Anfragen verweisen dann auf veraltete Daten und scheitern stillschweigend, und die Oberfläche zeigt Orders oder Positionen, die nicht zum Konto passen. Die Dokumentation von TradingView benennt dies direkt und gibt einen konkreten Wiederherstellungsweg vor.

Die häufigsten Ursachen für einen TradingView-Tradovate Position Closing Timeout

1. Die Bestätigung kam nicht innerhalb des ~10-Sekunden-Fensters an

Das ist der Normalfall. Die Close-Anfrage ging raus, aber das positionUpdate (mit passender id und qty von 0) schaffte es nicht innerhalb des Timeouts der Bibliothek zurück zum Chart. Ein überlasteter Marktdaten-Feed, ein kurzer Netzwerkaussetzer oder eine Verlangsamung auf Tradovate-Seite genügen, um das Fenster zu verpassen, selbst wenn die Position problemlos schließt.

2. Eine Order- oder Positions-ID hat sich nach dem Absenden geändert (die Abweichung)

Vergibt das Backend zwischen Absenden und Verarbeitung eine neue id, verweist der Chart auf etwas, das nicht mehr existiert. Close- und Modify-Aktionen zielen auf die alte id und scheitern, und die Position oder Order wirkt im Chart "festgefahren", während Tradovate eine andere Realität zeigt. Das ist genau der Sonderfall der "dynamischen ID-Änderung", den die Broker-API-Dokumentation beschreibt.

3. Eine veraltete oder abgebrochene Broker-Sitzung

TradingView speichert Order- und Positionsstatus des verbundenen Kontos im Cache. Driftet die Tradovate-Sitzung, bricht ab oder wird verdrängt (etwa durch das Limit gleichzeitiger Sitzungen über Web, Desktop, Mobil und TradingView), kann der Chart einen Schnappschuss weiter anzeigen, der nicht mehr zum Live-Konto passt, und ein Close gegen diesen Schnappschuss läuft in einen Timeout.

4. Eine Störung, ein Einfrieren oder ein Rate-Limit auf Tradovate-Seite

Bei einer Tradovate-Störung oder wenn intensive Modify-/Trailing-Aktivität Anfragelimits ausschöpft, können Orders einfrieren und Bestätigungen ausbleiben. Sie erkennen es an Exit-Buttons, die nicht reagieren, "order can't be modified"-Schleifen und Positionen, die sich erst nach einem Verbindungs-Reset schließen. Wenn Tradovate selbst nicht bestätigt, hilft kein Klicken im Chart gegen den Timeout.

So beheben Sie einen Position Closing Timeout: Schritt für Schritt

1

Prüfen Sie zuerst den tatsächlichen Positionsstatus in Tradovate

Bevor Sie den Chart erneut anfassen, finden Sie heraus, was wirklich offen ist. Melden Sie sich im Tradovate Web Trader an und öffnen Sie die Panels Positions und Orders. Ist die Position dort bereits flat, war der Timeout ein Fehlalarm: Die Bestätigung hat TradingView nur nicht erreicht, und es gibt nichts zu schließen. Ist sie noch offen, notieren Sie die exakte Menge und alle Working-Orders (Stops/Targets), damit Sie genau wissen, was glattgestellt werden muss. Behandeln Sie Tradovate als maßgebliche Quelle und den Chart als möglicherweise veralteten Spiegel.

2

Erzwingen Sie einen frischen Zustand, indem Sie den Broker in TradingView neu verbinden

Weichen Chart und Tradovate voneinander ab, zwingen Sie TradingView, seinen zwischengespeicherten Schnappschuss zu verwerfen und von Grund auf neu zu laden. Öffnen Sie im Trading-Panel des Charts (dem Bereich Account Manager) die Steuerelemente des verbundenen Tradovate-Kontos und trennen und verbinden Sie die Broker-Sitzung erneut. Das erneute Verbinden löst einen Abruf wie beim ersten Laden aus, sodass die vollständige, aktuelle Liste von Orders und Positionen frisch geholt wird, was abweichende IDs und veraltete Einträge beseitigt. Eine Seitenaktualisierung mit anschließendem Neuverbinden bewirkt dasselbe, falls Sie keine direkte Reconnect-Schaltfläche finden.

3

Für Integratoren: ordersFullUpdate / positionsFullUpdate auslösen

Bauen Sie auf der Broker API von TradingView auf oder betreiben Sie eine Bridge, die sie spricht, gibt die Dokumentation Ihnen eine explizite Wiederherstellung bei ID-Abweichungen. Der Aufruf von ordersFullUpdate und positionsFullUpdate zwingt die Bibliothek, ihre vorhandenen Daten zu löschen und die vollständige Liste der Orders bzw. Positionen neu abzurufen, genau wie beim ersten Laden. Dadurch verschwindet jede veraltete id, die der Chart gehalten hat. Diese Full-Update-Methoden sind reine Sonderfall-Werkzeuge für seltene Situationen wie dynamische ID-Änderungen, nicht für Ihren regulären Update-Fluss. Ihr Standard zur Synchronhaltung des Charts sollten weiterhin orderUpdate und positionUpdate sein, die die Oberfläche ohne vollständiges Neuladen aktualisieren.

4

Manuell flatten, wenn die Position tatsächlich noch offen ist

Bestätigt Tradovate, dass die Position real ist, und das Neuverbinden erlaubte kein Schließen aus dem Chart, steigen Sie direkt in Tradovate aus. Nutzen Sie die Flatten-Funktion des Kontos oder platzieren Sie eine gegenläufige Market-Order über die exakte offene Menge (Verkauf zum Schließen einer Long-Position, Kauf zum Schließen einer Short-Position) und stornieren Sie anschließend verwaiste Stops/Targets. Im Tradovate Web Trader statt am hängenden Chart-Button zu arbeiten, ergibt einen sauberen Fill und vermeidet gestapelte doppelte Closes.

Fehlerbehebungstabelle

Fehler Bedeutung Lösung
Failed to close position: Position closing timeoutDie Close-Bestätigung erreichte den Chart nicht innerhalb von ~10 SekundenPrüfen Sie den tatsächlichen Zustand in Tradovate; ist die Position noch offen, verbinden Sie den Broker neu oder flatten Sie direkt in Tradovate
Position/Order im Chart sichtbar, in Tradovate aber nicht vorhandenDer Chart hält eine veraltete id (dynamische ID-Abweichung)Broker neu verbinden, um einen vollständigen Neuabruf zu erzwingen; Integratoren rufen positionsFullUpdate / ordersFullUpdate auf
Order placing / modifying timeoutDie Order-Bestätigung verpasste dasselbe ~10-Sekunden-Fenster des Trading HostsPrüfen Sie den Orderstatus in Tradovate, bevor Sie erneut senden; verbinden Sie neu, wenn der Chart nicht synchron ist
Order can't be modified / Exit-Button reagiert nichtEingefrorene Sitzung oder ausgeschöpfte Anfragelimits bei hoher AktivitätHören Sie auf zu klicken, flatten Sie per gegenläufiger Market-Order in Tradovate und verbinden Sie dann neu
Position lässt sich bei einer Störung nicht schließenTradovate bestätigt den Zustand nicht; Störung bei Feed oder PlattformManagen Sie das Risiko direkt in Tradovate oder über eine Ersatzverbindung; warten Sie, bis die Störung behoben ist

Verhindern Sie das mit PickMyTrade

PickMyTrade routet Ihre TradingView-Alerts über eine dedizierte Bridge zu Tradovate, statt sich auf die Live-Broker-API-Sitzung des Charts zu stützen, wodurch die meisten Synchronisationsfehlerquellen hinter einem Closing Timeout entfallen:

  • Zuverlässige Close- und Flatten-Signale, ein einzelner Close- oder Flatten-Alert sendet einen sauberen Exit an Tradovate, sodass Sie nicht von einem Chart-Button abhängen, dessen Bestätigung in den Timeout lief.
  • Konsistenter Orderstatus, die Bridge verfolgt die gesendete Order und ihren Status, sodass Ihre Exits nicht davon abhängen, dass die zwischengespeicherten IDs des Charts perfekt synchron bleiben.
  • Rate-Limit-sicheres Routing, verteilt Order- und Modify-Verkehr zeitlich, damit Sie die Anfragelimits von Tradovate nicht ausschöpfen und die Einfrierer auslösen, die Timeouts verursachen.
  • Multi-Account-Sync, spiegelt denselben validierten Exit gleichzeitig auf alle verbundenen Konten, statt ein Konto offen hängen zu lassen.

Der Gewinn: weniger "Wurde das wirklich geschlossen?"-Momente und sauberere Logs, wenn Sie doch debuggen müssen.

Schluss mit dem Babysitten hängender Exits

Verknüpfen Sie Ihre Alerts noch heute und handeln Sie ohne Ablehnungen – mit zuverlässigen Close- und Flatten-Signalen, die nicht vom zwischengespeicherten Zustand eines Charts abhängen.

Starten Sie Ihre kostenlose 7-Tage-Testphase

Häufig gestellte Fragen

Nicht unbedingt. Der Timeout bedeutet, dass TradingView innerhalb von etwa 10 Sekunden keine Bestätigung erhalten hat. Die Position kann bei Tradovate bereits glatt sein. Prüfen Sie das Positions-Panel im Tradovate Web Trader, bevor Sie erneut auf Schließen klicken, damit Sie nicht versehentlich eine neue Position in die Gegenrichtung eröffnen.

Das ist das Symptom einer ID-Abweichung. Der Chart verweist auf eine Order- oder Positions-ID, die sich geändert hat oder im Backend nicht mehr existiert, sodass seine zwischengespeicherte Ansicht veraltet ist. Das erneute Verbinden des Tradovate-Brokers in TradingView erzwingt einen vollständigen Neuabruf und gleicht beide Seiten ab.

Sie weisen die TradingView-Bibliothek an, ihre vorhandenen Order- oder Positionsdaten zu löschen und die gesamte Liste wie beim ersten Laden neu abzurufen, wodurch veraltete IDs verschwinden. Es sind Methoden für Integratoren, gedacht nur für seltene Sonderfälle wie dynamische ID-Änderungen, nicht für routinemäßige Updates.

Nein. Die Dokumentation von TradingView ist eindeutig: Full-Updates sind aufwendig und für Sonderfälle reserviert. Standard für eine aktuelle Oberfläche sind orderUpdate und positionUpdate, die einzelne Einträge aktualisieren, ohne alles zu löschen und neu zu laden.

Es ist in die Broker API von TradingView eingebaut. Nach einer Close- oder Order-Aktion wartet die Bibliothek bis zu etwa 10 Sekunden auf eine Bestätigung über den Trading Host; trifft keine ein, gibt sie einen Timeout zurück. Entscheidend ist, rechtzeitig eine gültige, passende Bestätigung zu erhalten oder den Zustand neu abzurufen – nicht, blind zu wiederholen.

Bei einem Timeout kann die Verbindung hinterherhinken, sodass wiederholte Klicks mehrere Close-Orders in die Warteschlange stellen, die alle ausgelöst werden, sobald sie aufholt. Klicken Sie einmal, prüfen Sie in Tradovate und schließen Sie die Position bei Hängern direkt dort, statt den Chart-Button zu hämmern.

Ja. Wenn Sie gleichzeitig im Web, Desktop, Mobil und bei TradingView angemeldet sind, können Sitzungen verdrängt werden und der Zustand des Charts wird veraltet, was sich als Timeouts und eingefrorene Orders zeigt. Melden Sie sich von zusätzlichen Sitzungen ab und halten Sie nur ein aktives Gerät.

Meist keines von beiden allein. Es ist eine Synchronisationslücke zwischen beiden. TradingView wartet auf eine Bestätigung; Tradovate sendet sie entweder langsam, hat eine ID geändert oder steckt mitten in einer Störung. Die zuverlässigen Lösungen (tatsächlichen Zustand prüfen, zum Neuabruf neu verbinden, direkt flatten) funktionieren unabhängig davon, welche Seite hinterherhing.

Dieser Leitfaden dient ausschließlich Bildungs- und Informationszwecken und stellt keine Finanz-, Anlage- oder Handelsberatung dar. Der Handel mit Futures und anderen gehebelten Produkten birgt ein erhebliches Verlustrisiko und ist nicht für jeden Anleger geeignet. PickMyTrade ist eine unabhängige Automatisierungsplattform eines Drittanbieters und steht in keiner Verbindung zu Tradovate, Inc. oder Bookmap und wird von diesen weder unterstützt noch gesponsert. Alle genannten Namen, Logos und Marken sind Eigentum ihrer jeweiligen Inhaber. Funktionen und Schritte der Plattform ändern sich im Laufe der Zeit; prüfen Sie daher stets den aktuellen Ablauf in der offiziellen Plattformdokumentation, bevor Sie handeln.