Tradovate API

Tradovate addEntitlementSubscription: Live-Konto erforderlich

Das Konto existiert eindeutig, aber addEntitlementSubscription liefert weiterhin "Live-Konto ist erforderlich." So erfahren Sie, was die Meldung wirklich bedeutet, und in dieser genauen Reihenfolge müssen die Aufrufe erfolgen, damit sie verschwindet.

Geprüft vom PickMyTrade Trading Systems Team Zuletzt aktualisiert
· 6 Minuten Lesezeit
Tradovate-addEntitlementSubscription-API-Antwort mit HTTP 200 und errorText Live account is required

Sie haben über die Tradovate-API einen Benutzer angelegt, das Konto ist erstellt, alles sieht sauber aus, doch Ihr Aufruf von addEntitlementSubscription liefert weiterhin Live account is required zurück, und die Market-Data-Berechtigung wird nie zugewiesen. Das ist eine der verwirrendsten Antworten im gesamten Provisioning-Ablauf, denn das Konto existiert eindeutig, und die Meldung führt Sie in die falsche Richtung. Hier die Kurzfassung: Dieser Fehler bedeutet fast immer, dass der Benutzer die Non-Professional-Market-Data-Vereinbarung noch nicht unterschrieben hat. Sorgen Sie dafür, dass diese Vereinbarung vorliegt, bestätigen Sie die Synchronisierung, und derselbe Aufruf geht durch. Im Folgenden finden Sie die vollständige Diagnose, die genaue Reihenfolge, in der die Aufrufe erfolgen müssen, und wie eine Bridge wie PickMyTrade das gesamte Entitlement-Hin-und-Her umgeht.

Kurzcheckliste

  • Unterschreiben Sie zuerst die Non-Professional-Market-Data-Vereinbarung, das ist die eigentliche Voraussetzung, die sich hinter der irreführenden Fehlermeldung verbirgt.
  • Hinterlegen Sie die Kontaktinformationen des Benutzers, ein übersprungener Kontaktschritt blockiert oder verzögert die Entitlement-Zuweisung.
  • Bestätigen Sie, dass die Unterschrift synchronisiert wurde, die Entitlement-Prüfung liest den gespeicherten Datensatz, nicht den Moment, in dem der Benutzer auf “Akzeptieren” geklickt hat.
  • Werten Sie den Response-Body aus, nicht nur den Statuscode, der Aufruf liefert HTTP 200, während der Fehler im Feld errorText steckt.
  • Führen Sie die Aufrufe in der richtigen Reihenfolge aus: Benutzer anlegen → Kontaktinformationen hinzufügen → Konto anlegen → Vereinbarung bestätigen → Entitlement zuweisen.
  • Prüfen Sie, wer bei Prop-Konten für die Daten zuständig ist, manche Firmen aktivieren Marktdaten und Entitlements zentral, sodass möglicherweise nicht Sie diesen Aufruf tätigen müssen.

Was "Live-Konto ist erforderlich" wirklich bedeutet

Nehmen Sie die Meldung wörtlich, und Sie verschwenden einen ganzen Nachmittag. Die Antwort sagt nicht, dass das Konto fehlt, sie sagt, dass das Konto noch nicht berechtigt ist, ein Live-Market-Data-Entitlement zu erhalten. Und der mit Abstand häufigste Grund dafür ist eine fehlende Marktdatenvereinbarung. Tradovate muss, wie jeder Futures-Broker, eine unterschriebene CME-Marktdatenvereinbarung vorliegen haben, bevor es einem Benutzer Echtzeit-Börsendaten geben kann. Keine Vereinbarung, kein Entitlement, und die API meldet diese Lücke mit der schlichten Zeichenkette Live account is required.

Ein Detail bringt viele Integrationen ins Straucheln: Die Anfrage schlägt nicht mit einem HTTP-Fehler fehl. Sie liefert HTTP 200, und das eigentliche Problem steckt im JSON-Body als errorText-Wert. Wenn Ihr Provisioning-Skript nur response.status === 200 prüft und weitermacht, protokolliert es einen Erfolg, während das Entitlement stillschweigend nie zugewiesen wurde, und Sie merken es erst, wenn der Benutzer ein Chart mit einem leeren, verzögerten oder kursfreien Symbol öffnet. Lesen Sie immer den Body.

Warum die Vereinbarung das eigentliche Hindernis ist

Echtzeit-Futures-Daten gibt es nicht ohne Papierkram. Die CME Group verlangt, dass jeder Endnutzer, der Live-Daten erhält, klassifiziert wird und die Marktdatenbedingungen der Börse akzeptiert, das ist die “Vereinbarung”, um die es hier geht. Nutzer geben an, ob sie professionell oder nicht-professionell sind, und die überwiegende Mehrheit der privaten Retail-Trader fällt in die Kategorie nicht-professionell. Diese Angabe zusammen mit den akzeptierten Bedingungen ist es, was das Entitlement freischaltet, das Ihr API-Aufruf zuzuweisen versucht.

Solange der Benutzer diesen Schritt nicht abgeschlossen hat, kann das Konto technisch existieren, es kann sogar ein simuliertes Konto oder ein Evaluierungskonto sein, aber es darf rechtlich keine Live-Börsendaten erhalten. Die Entitlement-Zuweisung hat also nichts Gültiges, an das sie sich anheften kann, und Tradovate lehnt sie ab. Das ist dieselbe Grundursache hinter einer ganzen Familie nachgelagerter Symptome: Symbole, die verzögert bleiben, Charts ohne Kurse und Orders, die mit “keine Kursdaten verfügbar” abgelehnt werden. Die Vereinbarung steht all dem vorgelagert.

Professionell vs. nicht-professionell, kurz erklärt

Der Status nicht-professionell umfasst grundsätzlich Privatpersonen, die mit eigenem Geld zu privaten Zwecken handeln. Der Status professionell gilt für bestimmte geschäftliche, beratende oder datenredistributierende Nutzungen und ist mit deutlich höheren Börsengebühren verbunden. Der Benutzer ist es, der diese Angabe macht, und er ist dafür verantwortlich, sie korrekt anzugeben. Ist sich ein Benutzer nicht sicher, welcher Status zutrifft, verweisen Sie ihn auf die aktuellen Kriterien der Börse, statt zu raten, der Gebührenunterschied ist real und die Regeln ändern sich.

Die Lösung: Vereinbarung unterschreiben lassen, dann zuweisen

Schritt 1: Lassen Sie den Benutzer die Non-Professional-Market-Data-Vereinbarung unterschreiben

Das ist der Schritt, der den Fehler behebt. Die Vereinbarung wird innerhalb der Tradovate-Plattform angezeigt, in die sich der Benutzer einloggt, üblicherweise beim ersten Login, im Bereich Konto oder Vereinbarungen, oder in dem Moment, in dem er versucht, Marktdaten zu aktivieren. Der Benutzer prüft sie, erklärt den Status nicht-professionell und akzeptiert. Der genaue Menütext ändert sich zwischen Plattformversionen, wenn Sie dies für Ihre eigenen Benutzer dokumentieren, bestätigen Sie daher die aktuelle Bezeichnung in der Live-App, statt einen alten Pfad fest zu verdrahten.

Tradovate-Bildschirm für die Non-Professional-Marktdatenvereinbarung, auf dem der Benutzer seinen Status angibt und die CME-Bedingungen akzeptiert

Schritt 2: Kontaktinformationen für den Benutzer hinzufügen

Bevor sich das Entitlement sauber zuweisen lässt, benötigt der Benutzer hinterlegte Kontaktinformationen. Überspringen Sie dies beim Provisioning, wird der Benutzer beim ersten Login dazu aufgefordert, und bis diese Angaben vorliegen, kann die Entitlement-Zuweisung ins Stocken geraten. Hinterlegen Sie sie als Teil Ihres Setup-Ablaufs, damit nichts Nachgelagertes darauf warten muss.

Schritt 3: Bestätigen Sie, dass die Unterschrift tatsächlich synchronisiert wurde

Hier liegt die Feinheit. Die Entitlement-Prüfung liest nicht den Moment, in dem der Benutzer auf “Akzeptieren” geklickt hat, sondern den gespeicherten, synchronisierten Kontodatensatz. Geben Sie der Unterschrift einen Moment Zeit, um sich zu propagieren, und synchronisieren Sie den Status des Benutzers neu, bevor Sie es erneut versuchen. addEntitlementSubscription in derselben Millisekunde auszulösen, in der der Benutzer akzeptiert, führt zuverlässig durch eine Race Condition wieder zu demselben Fehler. Bestätigen Sie zuerst, dass die Vereinbarung in den synchronisierten Daten als unterschrieben angezeigt wird.

Schritt 4: addEntitlementSubscription aufrufen

Sobald die Vereinbarung unterschrieben und synchronisiert ist und die Kontaktdaten vorliegen, weisen Sie das Entitlement zu. Jetzt hat der Aufruf ein gültiges, berechtigtes Konto, an das er sich anheften kann, und liefert sauber zurück. Prüfen Sie den Response-Body erneut, ein Erfolg enthält kein errorText. Wenn Sie im Batch provisionieren, markieren Sie einen Benutzer erst dann als “fertig”, nachdem Sie den Body geprüft haben, nicht den Statuscode.

Erfolgreiche Tradovate-addEntitlementSubscription-Antwort, nachdem die Marktdatenvereinbarung unterschrieben wurde, ohne errorText

Schritt 5: Prüfen Sie, ob der Benutzer jetzt Live-Daten hat

Schließen Sie den Kreis, indem Sie bestätigen, dass der Benutzer tatsächlich Echtzeitkurse sieht. Lassen Sie ihn ein Front-Month-Symbol öffnen und prüfen, ob es live statt verzögert ist. Wurde das Entitlement zugewiesen, der Benutzer sieht aber weiterhin verzögerte Daten, muss möglicherweise auch die Marktdaten-Subscription-Seite geprüft werden, Entitlement und ein aktives Datenabonnement hängen zusammen, sind aber nicht identisch, und beides muss stimmen, damit ein sauberer Live-Feed entsteht.

Tradovate-Bereich für Marktdaten-Abonnements, der einen aktiven Echtzeit-Börsenfeed für den Benutzer bestätigt

Die Provisioning-Reihenfolge, die funktioniert

Fast jedes “Live account is required”-Ticket lässt sich darauf zurückführen, dass diese Aufrufe in der falschen Reihenfolge ausgeführt oder einer davon übersprungen wurde. Halten Sie die Reihenfolge ein:

Schritt Was Sie tun Warum es wichtig ist
1. Benutzer anlegenBenutzerdatensatz provisionierenOhne Benutzer gibt es nichts, woran sich etwas anheften lässt
2. Kontaktinformationen hinzufügenKontaktdaten des Benutzers hinterlegenFehlende Kontaktdaten blockieren die Entitlement-Zuweisung
3. Konto anlegenDas Trading-/Evaluierungskonto erstellenDas Entitlement wird einem echten Konto zugewiesen
4. Datenvereinbarung bestätigenDer Benutzer unterschreibt; Sie prüfen die SynchronisierungDie eigentliche Voraussetzung hinter der Fehlermeldung
5. Entitlement zuweisenaddEntitlementSubscription aufrufenGelingt jetzt, weil das Konto berechtigt ist

Fehlerbehebungstabelle

Symptom Bedeutung Lösung
200 mit errorText: Live account is requiredMarktdatenvereinbarung noch nicht unterschriebenLassen Sie den Benutzer die Non-Professional-Vereinbarung unterschreiben und versuchen Sie es erneut
Aufruf “gelingt”, aber die Daten bleiben verzögertIhr Code hat den Status geprüft, nicht den BodyWerten Sie den Response-Body auf errorText aus, bevor Sie ihn als erledigt behandeln
Schlägt sofort nach der Annahme durch den Benutzer fehlDie Unterschrift ist noch nicht synchronisiertSynchronisieren Sie den Benutzerstatus neu und rufen Sie den Endpunkt dann auf
Schlägt selbst bei unterschriebener Vereinbarung fehlKontaktdaten fehlen oder falsches Konto angesprochenKontaktinformationen hinzufügen; prüfen, ob das richtige Konto verwendet wird
Entitlement wird zugewiesen, Kurse bleiben aber verzögertKein aktives Marktdaten-AbonnementBestätigen Sie, dass für den Benutzer ein Echtzeit-Börsenabonnement aktiv ist
Prop-/Evaluierungskonto akzeptiert das Entitlement nichtDie Firma steuert die Daten zentralPrüfen Sie die Regeln der Prop-Firma; sie aktiviert die Daten möglicherweise für Sie

Ein Hinweis zu Prop- und Evaluierungskonten

Evaluierungs- und simulierte Konten leiten weiterhin Live-Börsendaten weiter, daher entfällt die Vereinbarungspflicht nicht nur, weil kein echtes Geld im Spiel ist. Was sich ändert, ist die Zuständigkeit. Viele Prop-Firmen verwalten Marktdaten und Entitlements zentral als Teil des Kontos, das sie Ihnen ausstellen, in diesen Fällen sollten Sie addEntitlementSubscription überhaupt nicht aufrufen, und dies zu tun kann mit der Art und Weise kollidieren, wie die Firma Daten provisioniert. Die Regeln variieren je nach Firma und Kontotyp, bestätigen Sie daher den aktuellen Prozess Ihrer Firma, bevor Sie Entitlements selbst provisionieren. Gehört die Datenpipeline der Firma, ist die Lösung bei fehlenden Live-Daten eine Support-Anfrage an sie, kein API-Aufruf Ihrerseits.

Umgehen Sie das Entitlement-Hin-und-Her mit PickMyTrade

Wenn Ihr Ziel einfach darin besteht, Ihre TradingView-Signale auf einem Live-Tradovate-Konto zu handeln, und nicht darin, eine Provisioning-Pipeline zu betreiben, übernimmt PickMyTrade die broker-seitige Verkabelung, sodass Sie nie mit Entitlement-Aufrufen in Berührung kommen:

  • Verwaltete Verbindung, der Datenvereinbarungs- und Entitlement-Status Ihres Kontos wird berücksichtigt, bevor überhaupt eine Order gesendet wird, sodass Sie keinen errorText in einer rohen API-Antwort debuggen müssen.
  • Alert-zu-Order-Routing, TradingView-Alerts fließen direkt zu Ihrem Tradovate-Konto, ohne dass Sie API-Aufrufe schreiben oder in eine Reihenfolge bringen müssen.
  • Entitlement- & Risikobewusstsein, Orders berücksichtigen den Datenstatus Ihres Kontos und die Limits der Prop-Firma, statt an einer fehlenden Voraussetzung abzuprallen.
  • Multi-Konto-Synchronisierung, spiegeln Sie ein Signal über mehrere Konten hinweg, ohne das Provisioning für jedes einzelne erneut lösen zu müssen.

Umgehen Sie das Entitlement-Hin-und-Her

Verknüpfen Sie Ihre Alerts und handeln Sie live auf Tradovate, ohne einen einzigen Entitlement-API-Aufruf schreiben oder in eine Reihenfolge bringen zu müssen.

Starten Sie Ihre kostenlose 5-Tage-Testversion

Häufig gestellte Fragen

Der Wortlaut ist irreführend. In der Praxis schlägt der Aufruf fehl, weil der Benutzer die Non-Professional-Marktdatenvereinbarung noch nicht unterschrieben hat. Solange diese Vereinbarung nicht vorliegt, behandelt Tradovate das Konto als nicht berechtigt, das Market-Data-Entitlement zu erhalten, und der Endpunkt gibt diese Meldung zurück. Lassen Sie die Vereinbarung unterschreiben, bestätigen Sie die Synchronisierung, und versuchen Sie den Aufruf dann erneut.

Sie wird innerhalb der Tradovate-Plattform angezeigt, in die sich der Benutzer einloggt, üblicherweise im Bereich Konto oder Vereinbarungen, und sie erscheint auch beim ersten Login oder wenn der Benutzer versucht, Marktdaten zu abonnieren. Der Benutzer erklärt den Status nicht-professionell und akzeptiert die CME-Marktdatenbedingungen. Die genauen Menübezeichnungen ändern sich zwischen Plattformversionen, bestätigen Sie daher den aktuellen Pfad in der Live-App.

Tradovate liefert HTTP 200 zurück und trägt das Problem im Response-Body als errorText-Feld mit dem Inhalt 'Live account is required'. Wenn Ihr Code nur den HTTP-Statuscode prüft, sieht es wie ein Erfolg aus, während das Entitlement nie zugewiesen wurde. Werten Sie den Body immer auf errorText aus, nicht nur den Status.

Legen Sie den Benutzer an, fügen Sie seine Kontaktinformationen hinzu, legen Sie das Konto an, bestätigen Sie, dass die Marktdatenvereinbarung unterschrieben ist, und rufen Sie erst dann addEntitlementSubscription auf. Das Überspringen des Kontakt- oder Vereinbarungsschritts ist der übliche Grund, warum der Entitlement-Aufruf abprallt.

Die meisten privaten Retail-Trader qualifizieren sich als nicht-professionell, das ist der Status, den dieser Ablauf erwartet. Die Klassifizierung professionell gilt für bestimmte geschäftliche, beratende oder redistributierende Nutzungen und ist mit höheren Börsengebühren verbunden. Der Benutzer ist dafür verantwortlich, korrekt anzugeben; im Zweifelsfall sollte er die aktuellen Kriterien der Börse prüfen.

Ja. Selbst Evaluierungs- und simulierte Konten leiten Live-Börsendaten weiter, daher muss die Marktdatenvereinbarung trotzdem unterschrieben werden, bevor sich das Entitlement zuweisen lässt. Was variiert, ist, wer berechtigt ist, dies auszulösen, manche Prop-Firmen verwalten Daten und Entitlements zentral, prüfen Sie daher die Regeln der Firma, bevor Sie es selbst provisionieren.

Geben Sie der Unterschrift einen Moment Zeit, um sich zu propagieren, und synchronisieren Sie den Benutzerstatus neu, bevor Sie es erneut versuchen, da die Entitlement-Prüfung den synchronisierten Datensatz liest, nicht den Klick. Bestätigen Sie außerdem, dass Sie Kontaktinformationen für den Benutzer hinzugefügt haben und dass Sie das richtige Konto ansprechen. Schlägt es nach einer sauberen Synchronisierung weiterhin fehl, ist das Konto möglicherweise noch nicht vollständig aktiviert.

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. und wird von diesem weder unterstützt noch gesponsert. „Tradovate“ sowie alle zugehörigen Namen, Logos und Marken sind Eigentum ihrer jeweiligen Inhaber. Plattformfunktionen und -schritte ändern sich im Laufe der Zeit, bestätigen Sie daher immer den aktuellen Ablauf in der offiziellen Tradovate-Plattform und -Dokumentation, bevor Sie handeln.