Tradovate

Einen Tradovate-Auto-Trading-Bot mit der API bauen

Ein Trading-Bot klingt kompliziert, bis man ihn in seine Teile zerlegt. So greifen die Bausteine von Anfang bis Ende ineinander, von der Authentifizierung über das Streamen von Marktdaten bis zum Platzieren von Orders, samt dem einen Flag, an dem viele erste Bots scheitern.

On This Page

Ein Trading-Bot klingt kompliziert, bis man ihn in seine Teile zerlegt. Im Kern ist er eine Schleife: anmelden, Preise beobachten, entscheiden, Order senden, wiederholen. Die offiziellen JavaScript-Beispiele von Tradovate zeigen genau diesen Weg, und dieselbe Struktur lässt sich in Python, C# oder einer Sprache Ihrer Wahl nachbauen. So greifen die Bausteine von Anfang bis Ende ineinander, samt dem einen Flag, an dem viele erste Bots scheitern.

Was macht ein Tradovate-Trading-Bot eigentlich?

Im Kern authentifiziert sich ein Tradovate-Bot einmal für ein Access-Token, hält eine Live-Verbindung zu den Marktdaten, führt Ihre Logik bei jedem Preis-Update aus und ruft den Order-Endpunkt auf, wenn Ihre Regeln es verlangen. Das offizielle Repo example-api-js teilt dies in einen Access-Track (REST-Auth und Orders) und einen WebSockets-Track (Echtzeitdaten und Handel). Das AutoTrade-Beispiel verbindet beide zu einer ereignisgesteuerten Engine, in der eine Strategie auf Quotes-, DOM- und Chart-Ereignisse reagiert, sobald sie eintreffen.

Den Bot Schritt für Schritt bauen

1

API-Zugang aktivieren und App-Zugangsdaten holen

Zuerst brauchen Sie die Schlüssel. Aktivieren Sie das Add-on API Access für Ihr Konto und notieren Sie dann die drei Werte, mit denen sich Ihr Code authentifiziert: appId (ein Name für Ihre App), cid (Client-ID) und sec (Client-Secret). Diese kombinieren Sie mit Ihrem normalen Tradovate-Benutzernamen und Passwort. Hinweis: Manche Prop-Firmen schränken direkte API-Bots auf ihren Konten ein oder verbieten sie. Prüfen Sie daher, ob Ihre Firma es erlaubt, bevor Sie gegen ein finanziertes Konto bauen. Die Regeln unterscheiden sich je nach Firma, also lesen Sie Ihre aktuelle Vereinbarung.

2

Authentifizieren und ein Access-Token erhalten

Ohne Token funktioniert nichts anderes. Senden Sie per POST einen Credentials-Body an /auth/accessTokenRequest mit name, password, appId, appVersion, cid, sec und einer deviceId. Die Antwort liefert ein accessToken, das Sie danach bei jedem Aufruf als Authorization: Bearer anhängen. Token leben etwa 90 Minuten, warten Sie also nicht auf ein 401, sondern rufen Sie /auth/renewAccessToken etwa 15 Minuten vor Ablauf auf, um die Sitzung am Leben zu halten. Verwenden Sie eine stabile deviceId; im Live-Handel wird die Geräte-Freigabe strenger durchgesetzt als in der Demo.

3

Live-Marktdaten über WebSocket streamen

REST eignet sich für einzelne Aufrufe, aber ein Bot braucht einen konstanten Feed, und dafür ist der WebSocket da. Öffnen Sie einen Socket zum Marktdaten-Host (md.tradovateapi.com), senden Sie Ihr Access-Token zur Autorisierung und abonnieren Sie dann, was Sie brauchen: md/subscribeQuote für Preise oder DOM- und Chart-Abonnements für Tiefe und Balken. Ab da erhält Ihr Code bei jeder Marktbewegung ein Ereignis. Halten Sie den Heartbeat aktiv, damit die Verbindung mitten in der Sitzung nicht abreißt.

4

Ihr Signal mit placeOrder in Orders umsetzen

Das ist das Gehirn. Im AutoTrade-Muster erweitert Ihre Strategie eine Basisklasse und implementiert eine next()-Funktion, die wie ein Reducer arbeitet: Sie nimmt den aktuellen Zustand plus das eingehende Marktereignis und gibt den aktualisierten Zustand zurück. Dort liegen Ihre Indikatorberechnungen und Einstiegsregeln. Sagt der Zustand „los“, bauen Sie die Order-Payload und senden sie an /order/placeOrder. Das Feld isAutomated ist wichtiger, als es aussieht. Es muss für jede von einem Bot oder Algorithmus ausgelöste Order true sein; das ist eine CME-Compliance-Anforderung und keine Empfehlung. Lassen Sie es weg, laden Sie Ablehnungen ein. Holen Sie accountId und accountSpec aus /account/list und verwenden Sie stets das Symbol des aktuellen Front-Month-Kontrakts.

5

Auf Demo testen, dann Token und Rate Limits meistern

Lassen Sie den gesamten Ablauf gegen den Demo-Host (demo.tradovateapi.com/v1) laufen, bis er sich korrekt verhält, denn falsche Logik auf dem Live-Host (live.tradovateapi.com/v1) kostet echtes Geld. Neue Bots stolpern über einiges: Sie sind auf 2 gleichzeitige Sitzungen begrenzt, ein verirrter Login wirft also die erste offline; wer REST-Endpunkte bombardiert, löst Rate Limits und eine p-ticket-Zeitstrafe aus, die Sie abwarten müssen; und ein abgelaufenes Token bricht stillschweigend alles. Protokollieren Sie jede Antwort und wechseln Sie erst auf Live, wenn die Demo eine volle Sitzung lang sauber läuft.

{
  "name": "your_username",
  "password": "your_password",
  "appId": "MyTradingBot",
  "appVersion": "1.0",
  "cid": 1234,
  "sec": "YOUR_CLIENT_SECRET",
  "deviceId": "a-stable-uuid"
}

{
  "accountSpec": "YOUR_ACCOUNT_NAME",
  "accountId": 123456,
  "action": "Buy",
  "symbol": "MESU6",
  "orderQty": 1,
  "orderType": "Market",
  "isAutomated": true
}

Sparen Sie sich die Installation mit PickMyTrade

Den gesamten Stack selbst zu bauen, mit Token-Erneuerung, WebSocket-Heartbeats, dem isAutomated-Flag und Rate-Limit-Backoff, ist echte Arbeit, bevor Sie einen einzigen strategischen Trade platziert haben. Wenn Ihr Signal bereits in TradingView liegt, leitet PickMyTrade diese Alerts direkt in Ihr Tradovate-Konto weiter, mit korrekt formatierten und compliance-konform markierten Orders, ganz ohne API-Code.

Sparen Sie sich den Bot-Eigenbau

Token-Erneuerung, WebSocket-Heartbeats und Rate-Limit-Backoff sind echte Arbeit. Lassen Sie stattdessen PickMyTrade Ihre TradingView-Alerts an Tradovate weiterleiten.

Starten Sie Ihre kostenlose 7-Tage-Testphase

Häufig gestellte Fragen

Wer direkt auf der API aufbaut, ja: Sie schreiben Auth-Aufrufe, einen WebSocket-Handler und Order-Logik. Wenn Sie das lieber nicht möchten, wandelt eine Brücke wie PickMyTrade TradingView-Alerts ohne jegliche Programmierung in Tradovate-Orders um.

Die häufigste Ursache ist ein fehlendes oder auf false gesetztes isAutomated-Flag bei einer automatisierten Order, die die Börse nicht akzeptiert. Danach prüfen Sie auf eine falsche accountId/accountSpec, ein abgelaufenes Token oder darauf, dass Sie mit Live-Zugangsdaten den Demo-Host ansprechen.

Ja. Richten Sie alles auf den Demo-Host aus und lassen Sie Ihre Strategie zuerst auf einem simulierten Konto laufen. Bleiben Sie dort, bis der gesamte Ablauf aus Auth, Daten und Orders sauber läuft, bevor Sie die Live-Umgebung anfassen.

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., wird weder von Tradovate, Inc. unterstützt noch gesponsert. „Tradovate“ und alle damit verbundenen Namen, Logos und Marken sind Eigentum der jeweiligen Inhaber. Funktionen und Schritte der Plattform ändern sich im Laufe der Zeit. Prüfen Sie daher stets den aktuellen Ablauf in der offiziellen Tradovate-Plattform und -Dokumentation, bevor Sie handeln.