Tradovate API

Errore API Tradovate “NoServicePlan” sul grafico a tick

Ha pagato il modulo API e si è abbonato ai dati di mercato, ma il suo bot non riesce ancora a ottenere un grafico a tick. I dati della piattaforma e i dati API in tempo reale sono due diritti separati, e NoServicePlan significa che il server non riconosce il secondo.

Verificato dal Trading Systems Team di PickMyTrade Ultimo aggiornamento
· Lettura di 8 minuti
Risposta WebSocket dell'API Tradovate che mostra l'errore NoServicePlan e il messaggio che richiede dati di mercato in tempo reale per i grafici a tick

Ha pagato il modulo API, si è abbonato ai dati di mercato all'interno di Tradovate, e il suo bot continua a non riuscire a ottenere un grafico a tick. Invece di un flusso di dati, riceve un rifiuto netto: A real-time market data subscription is required for tick-base charts, codice errore NoServicePlan. È esasperante proprio perché ha effettivamente acquistato qualcosa. Il problema è che Tradovate tratta i dati di mercato della piattaforma e i dati di mercato in tempo reale dell'API come due diritti separati, e NoServicePlan è il server che le comunica che il piano rilevato sulla sua sessione API non copre ciò di cui un grafico a tick ha bisogno. Questo raramente si risolve modificando il codice, ma riconciliando ciò che effettivamente possiede con ciò che il server riconosce. Ecco il quadro completo.

Checklist rapida per “NoServicePlan”

  • Dati della piattaforma ≠ dati API, l'abbonamento che accetta nel trader Tradovate non è lo stesso diritto che autorizza lo streaming in tempo reale tramite il WebSocket dell'API.
  • I grafici a tick richiedono un feed live, un grafico basato sui tick è costruito a partire da singole operazioni, quindi non può funzionare con dati ritardati. Per questo il blocco riguarda specificamente i tick.
  • I dati API in tempo reale dipendono dalla CME, trasmettere dati di borsa in tempo reale tramite l'API richiede un accordo da sub-vendor con la CME e una whitelist lato server sul suo account.
  • Gli account prop/di valutazione sono controllati a monte, non può riconciliare il piano da solo; è la società a dover abilitare i dati.
  • I diritti si disallineano, un piano che funzionava può disallinearsi dopo una fatturazione, un rinnovo o una modifica del supporto. Effettui una nuova autenticazione, quindi contatti il supporto per riconciliare la situazione.
  • Esiste una soluzione alternativa, richieda un grafico basato sul tempo invece che sui tick, oppure esegua un'automazione solo per gli ordini e faccia a meno completamente del feed API in tempo reale.

Cosa significa “NoServicePlan”

Se si legge il messaggio alla lettera, ha senso: a real-time market data subscription is required for tick-base charts. Il codice NoServicePlan è la versione automatica di “il piano di servizio di questa sessione non include ciò che sta richiedendo.” La sua richiesta WebSocket era ben formata ed è arrivata al server, non c'è nulla di sbagliato nel suo JSON o nel suo token. Il server ha semplicemente controllato il diritto sui dati di mercato collegato al suo login API, non ha trovato un piano in tempo reale che copra i dati tick, e ha respinto la richiesta.

Il motivo per cui questo risulta così confuso è che le persone hanno effettivamente pagato. Hanno acquistato il componente aggiuntivo API Access. Hanno accettato un accordo sui dati di mercato nel frontend di Tradovate e vedono le quotazioni live sulla piattaforma web. Quindi, quando l'API rifiuta un grafico a tick, sembra un bug. Non lo è. Queste due cose seguono percorsi diversi, e NoServicePlan si trova nel percorso che probabilmente non ha ancora configurato.

Perché i grafici a tick vengono trattati diversamente

Un grafico a tick non si misura in tempo, ma in operazioni. Ogni barra si chiude dopo un numero prestabilito di tick (transazioni individuali), quindi il grafico deve consumare il flusso di operazioni in tempo reale per mostrare qualcosa di attuale. Dati ritardati o istantanei non possono alimentare un grafico a tick live. Per questo NoServicePlan menziona esplicitamente i grafici basati sui tick: un grafico a minuti può tollerare dati ritardati in alcuni contesti, ma un grafico a tick in tempo reale non ha alternative. Senza feed live, niente grafico a tick.

Cause principali di “NoServicePlan”

1. Confondere i dati di mercato della piattaforma con quelli dell'API

Questa è la causa numero uno. L'abbonamento ai dati di mercato che accetta all'interno del trader Tradovate autorizza la piattaforma, le app web e desktop, a mostrarle le quotazioni live. Non autorizza automaticamente il feed WebSocket dell'API. Questi vengono fatturati e concessi in licenza separatamente. Se l'unica cosa che ha fatto è abbonarsi ai dati all'interno dell'interfaccia del trader, la sua sessione API non ha ancora alcun piano in tempo reale associato, e ogni richiesta di tick restituisce NoServicePlan.

2. Nessuna registrazione come sub-vendor CME / whitelist

Lo streaming di dati di borsa in tempo reale tramite l'API è subordinato a un accordo con la CME. Tradovate registra gli utenti API come sub-vendor sotto la licenza della borsa, e finché ciò non è stato predisposto, e il suo account non è in whitelist lato Tradovate, il server non ha alcun piano API in tempo reale da assegnarle. Questo comporta una commissione mensile della borsa pagata alla CME, non a Tradovate. Qualsiasi cifra specifica trovata in un vecchio post è probabilmente obsoleta; l'importo dipende dalla borsa e dal suo tipo di licenza (non professionale rispetto a professionale / non-display) e cambia nel tempo, quindi confermi la tariffa attuale direttamente con la CME e con Tradovate.

Pannello delle impostazioni dell'app Tradovate con l'abbonamento ai dati di mercato, che separa i dati della piattaforma dal diritto API in tempo reale

3. Un account prop o di valutazione che non controlla

Se il suo login è collegato a una società prop o a un servizio di valutazione, i diritti sui dati appartengono a quel fornitore, non a lei. Non può accettare un accordo sui dati né riconciliare un piano sul loro account dall'interno di Tradovate, i controlli sono gestiti a monte. Una sessione API su un account di valutazione continuerà a restituire NoServicePlan sulle richieste di tick finché la società non attiva i dati in tempo reale per quell'account. Deve contattare il supporto della società, non quello di Tradovate.

4. Un diritto disallineato o scaduto

A volte il piano è stato configurato correttamente e poi si è disallineato. Un ciclo di fatturazione si rinnova, viene applicata una modifica del piano, un accordo scade, oppure una modifica dell'account da parte del supporto non si propaga correttamente, e improvvisamente una sessione che ieri trasmetteva dati tick oggi restituisce NoServicePlan. È esattamente la situazione di “discrepanza che l'API non riconosce”: i suoi record dicono che ha il diritto, quelli del server no. Riautenticarsi risolve la versione semplice (una sessione obsoleta); la versione persistente richiede che il supporto riconcili l'account.

5. Richiedere tick senza volerlo

Vale la pena fare una verifica rapida: confermi che la sua richiesta di grafico stia effettivamente chiedendo un elemento basato sui tick e che le serva davvero. Alcune librerie e wrapper impostano di default una richiesta di grafico su un'unità tick. Se la sua strategia si basa su barre a minuti o secondi, potrebbe star attivando senza saperlo il requisito di diritto più rigido; passare la richiesta a un intervallo temporale può far scomparire silenziosamente l'errore.

Come risolvere “NoServicePlan”: passo dopo passo

1

Verifichi quale diritto ha effettivamente

Effettui l'accesso alla piattaforma web o desktop di Tradovate con lo stesso account con cui si autentica la sua chiave API. Apra Application Settings e vada alla sezione dati di mercato / abbonamenti. Annoti cosa è attivo. Vedere quotazioni live nel trader le indica che il diritto della piattaforma è attivo, ma non conferma un piano API in tempo reale. Si ponga la domanda chiave: ha completato una registrazione come sub-vendor CME ed è stato inserito in whitelist per i dati di mercato dell'API? In caso contrario, è quello il suo divario, e nessuna modifica al codice lo colmerà.

2

Configuri i dati API in tempo reale (se ha davvero bisogno dei tick)

Contatti la CME per registrarsi come sub-vendor nell'ambito del loro accordo di licenza per i dati futures in tempo reale. Preventivi la commissione mensile della borsa, pagata alla CME, il cui importo attuale varia in base alla borsa e al tipo di licenza, quindi la verifichi prima di impegnarsi. Informi il supporto di Tradovate di essersi registrato e chieda loro di inserire il suo account in whitelist per i dati di mercato dell'API. Una volta confermata la whitelist, si riautentichi e reinvii la richiesta di grafico a tick / md/subscribeQuote. Il piano dovrebbe ora risolversi.

3

Riconcili un diritto disallineato con il supporto

Prima escluda una sessione obsoleta: elimini il token di accesso memorizzato nella cache, riesegua il flusso di autenticazione, riconnetta il WebSocket dei dati di mercato e riprovi. Se le richieste di tick continuano a restituire NoServicePlan su ogni simbolo, è il piano stesso a essere disallineato. Non è qualcosa che può forzare dal client. Apra un ticket con il supporto di Tradovate. Indichi chiaramente cosa ha acquistato (API Access, qualsiasi abbonamento ai dati, registrazione come sub-vendor) e incolli l'errore esatto, incluso il codice NoServicePlan e il messaggio relativo ai tick. Chieda loro di verificare che il piano dati di mercato in tempo reale sia attivo e correttamente collegato al suo account API, e di riapplicare la whitelist se è scaduta. Su un account prop/di valutazione, invii questa richiesta alla società anziché a Tradovate.

4

Oppure lo eviti del tutto

Se non le servono i tick, cambi la sua richiesta di grafico da un'unità tick a un intervallo temporale (minuto/secondo). Questo spesso elimina direttamente il blocco specifico dei tick. Se non le serve affatto il feed in tempo reale di Tradovate, esegua un'automazione solo ordini: invii ordini, gestisca le posizioni e interroghi l'account senza un piano dati in tempo reale. Ottenga i suoi dati live da un fornitore di dati di mercato di terze parti oppure utilizzi dati ritardati gratuiti per i segnali, mantenendo l'esecuzione su Tradovate.

Schermata dello stato del diritto sui dati di mercato dell'account Tradovate utilizzata per confermare il piano dati API in tempo realeSelettore dell'intervallo del grafico Tradovate che mostra le unità basate sui tick rispetto a quelle basate sul tempo

Tabella di risoluzione dei problemi

Sintomo Causa probabile Cosa fare
NoServicePlan su un grafico a tick, ma le quotazioni live appaiono nell'interfaccia del traderDati della piattaforma attivi, dati API in tempo reale non autorizzatiConfiguri la registrazione come sub-vendor CME e chieda a Tradovate di inserire l'account in whitelist
NoServicePlan su ogni simbolo tramite l'APINessun piano API in tempo reale associato alla sessioneCompleti il diritto sui dati di mercato dell'API, quindi si riautentichi
Si verifica solo su un account prop/di valutazioneDati controllati dal fornitore dell'accountChieda alla società prop di abilitare i dati di mercato per quell'account
Funzionava ieri, fallisce oggiDiritto disallineato o scaduto dopo fatturazione/rinnovoSi riautentichi; se persiste, faccia riconciliare il piano dal supporto
Fallisce solo con le unità tick, i grafici a minuti si caricanoI grafici a tick richiedono un feed live che i dati ritardati non possono fornirePassi a un intervallo temporale oppure attivi i dati in tempo reale
In realtà non le servono i dati API in tempo realeSta pagando per un piano che non useràEsegua un'automazione solo ordini oppure utilizzi una fonte dati di terze parti

Dove si inserisce PickMyTrade

La maggior parte delle persone che incontra NoServicePlan in realtà non vuole gestire un flusso grezzo di dati di mercato tramite l'API di Tradovate, vuole che la propria strategia venga eseguita su Tradovate. PickMyTrade le permette di fare esattamente questo senza toccare affatto il feed sub-vendor della CME:

  • Segnali su TradingView, esecuzione su Tradovate, i suoi grafici e la logica sui tick risiedono in TradingView, quindi non deve mai recuperare dati in tempo reale tramite l'API di Tradovate per fare trading.
  • Instradamento solo ordini, PickMyTrade invia ordini e gestisce le posizioni, evitando del tutto il diritto sui dati di mercato API in tempo reale che genera NoServicePlan.
  • Autenticazione gestita, token e sessioni restano aggiornati, così un login obsoleto non si maschera mai da problema di diritti.
  • Sincronizzazione multi-account, replichi lo stesso alert su ogni account collegato in un solo passaggio, senza bisogno di un piano dati per ogni account.

Nessun feed dati CME necessario

Avvii la sua prova gratuita di 5 giorni e automatizzi Tradovate a partire dai suoi alert di TradingView, senza bisogno del feed dati CME.

Avvii la sua prova gratuita di 5 giorni

Domande frequenti

Significa che il piano dati di mercato associato alla sua sessione API non include il feed in tempo reale di cui ha bisogno un grafico basato sui tick. Il messaggio completo è: 'A real-time market data subscription is required for tick-base charts.' Il server non rileva alcun diritto che riconosca come copertura dei dati API in tempo reale, quindi rifiuta la richiesta.

Perché i dati di mercato della piattaforma e i dati di mercato in tempo reale dell'API sono due diritti distinti. L'abbonamento che accetta all'interno del trader Tradovate le permette di vedere le quotazioni live nel frontend. Lo streaming di dati in tempo reale tramite il WebSocket dell'API è regolato separatamente, tramite un accordo da sub-vendor con la CME e una whitelist lato server. Acquistarne uno non concede automaticamente l'altro.

Sì. Un grafico a tick traccia ogni operazione (o un numero fisso di operazioni per barra), quindi deve consumare il flusso di operazioni live. I dati ritardati non possono costruire un grafico a tick live, per questo NoServicePlan colpisce in modo specifico i grafici basati sui tick, mentre un grafico basato sul tempo con dati ritardati può caricarsi senza lo stesso blocco.

Si registri presso la CME come sub-vendor nell'ambito del loro accordo di licenza, quindi lo comunichi a Tradovate affinché inseriscano il suo account in whitelist per i dati di mercato dell'API. È prevista una commissione mensile della borsa, pagata alla CME e non a Tradovate. L'importo esatto varia in base alla borsa e al tipo di licenza e cambia nel tempo, quindi confermi la cifra attuale con la CME e con Tradovate prima di impegnarsi.

La sua società prop o di valutazione. Su questi account, i diritti sui dati sono controllati a monte dal fornitore, non da lei, quindi non può riconciliare il piano da solo all'interno di Tradovate. Contatti il supporto della società e chieda loro di abilitare i dati di mercato (e l'accesso API, se lo consentono) per il suo account specifico.

Spesso sì. Se non le serve strettamente il feed API in tempo reale di Tradovate, può eseguire un'automazione solo ordini, inviare ordini, interrogare l'account e instradare gli alert di TradingView, senza registrarsi come sub-vendor. Può anche ottenere dati da un fornitore di terze parti o utilizzare dati ritardati gratuiti, mantenendo l'esecuzione su Tradovate.

Può farlo, se il suo flusso di lavoro non dipende dai tick. I grafici basati sul tempo (minuto, ora, giorno) possono essere costruiti con dati ritardati o standard in più contesti, quindi richiedere un intervallo temporale invece di un intervallo tick può aggirare il blocco specifico dei tick. È una soluzione alternativa, non una correzione della carenza di diritti sottostante.

I diritti possono disallinearsi sul server dopo un ciclo di fatturazione, una modifica del piano, un accordo scaduto o una modifica dell'account da parte del supporto. Prima si riautentichi per escludere una sessione obsoleta. Se le richieste di tick continuano a restituire NoServicePlan su ogni simbolo, è necessario riconciliare il piano stesso, contatti il supporto.

Questa guida ha finalità esclusivamente educative e informative e non costituisce una consulenza finanziaria, di investimento o di trading. Il trading di futures e altri prodotti a leva comporta un rischio sostanziale di perdita e non è adatto a tutti gli investitori. PickMyTrade è una piattaforma di automazione indipendente di terze parti e non è affiliata, sostenuta o sponsorizzata da Tradovate, Inc. Tutti i nomi, i loghi e i marchi correlati sono di proprietà dei rispettivi titolari. Le funzionalità e i passaggi della piattaforma cambiano nel tempo, quindi confermi sempre il processo attuale sulla piattaforma e nella documentazione ufficiali di Tradovate prima di agire.