Effettuare ordini tramite l'API Tradovate
Vuole inviare un ordine a Tradovate direttamente dal proprio codice? Ecco come costruire la richiesta /order/placeOrder dall'inizio alla fine, incluso il flag isAutomated che la prima volta manda in confusione molte persone.
Vuole inviare un ordine a Tradovate direttamente dal proprio codice? Magari sta creando un trading bot, scrivendo lo script di una strategia, oppure configurando un'automazione come PickMyTrade. In ogni caso, tutto si riduce a un'unica chiamata REST: /order/placeOrder. Ecco come costruire questa richiesta dall'inizio alla fine, incluso il flag isAutomated che la prima volta manda in confusione molte persone.
Che cos'è l'endpoint placeOrder di Tradovate?
/order/placeOrder è l'endpoint REST di Tradovate che invia un nuovo ordine al mercato dal proprio codice anziché dall'interfaccia della piattaforma. Gli si passa un piccolo payload JSON con account, contratto, lato, quantità e tipo di ordine, tramite una richiesta HTTPS autenticata, e Tradovate restituisce l'ID dell'ordine risultante oppure un motivo di fallimento. Ogni ingresso, uscita e bracket gestiti tramite API si basano su questa unica chiamata.
Inviare un ordine tramite l'API Tradovate: passo dopo passo
Autenticarsi e ottenere un token di accesso
Non è possibile inviare nulla senza prima ottenere un token bearer. Invii (POST) le proprie credenziali e i dettagli dell'app a /auth/accessTokenRequest, e la risposta le fornirà un accessToken da allegare a ogni chiamata successiva. I token scadono dopo un intervallo definito, quindi rinnovi il proprio tramite /auth/renewAccessToken prima che scada: è più rapido e più pulito rispetto a riautenticarsi da zero.
Trovare accountId e accountSpec
Ogni ordine richiede due identificatori di account: l'accountId numerico e l'accountSpec testuale (nome/specifica del proprio account). Chiami GET /account/list con il proprio token bearer ed estragga entrambi i campi dall'account con cui desidera operare. Se uno dei due è errato, Tradovate restituisce un errore "Access is denied" anziché un'esecuzione.
Costruire il payload di placeOrder
Ora assembli il corpo JSON. Un ordine di mercato di base richiede sei campi più il flag di conformità:
Impostare correttamente isAutomated, quindi inviare
Il booleano isAutomated indica al mercato chi ha effettivamente premuto il grilletto. Se una persona fa clic su un pulsante nella sua interfaccia, il valore è false (predefinito). Se un bot, un algoritmo o qualsiasi processo impersonale invia l'ordine, deve impostare isAutomated: true. Si tratta di un requisito di conformità CME rigoroso, non di un dettaglio opzionale. Una volta che il payload è corretto, lo invii (POST) a /order/placeOrder sull'host corretto, demo.tradovateapi.com/v1 per la simulazione oppure live.tradovateapi.com/v1 per denaro reale, con il proprio token nell'header Authorization: Bearer.
Confermare l'ordine o leggere il motivo del fallimento
Ecco la parte che molti si perdono: un 200 OK significa che la richiesta è stata accettata, non che l'ordine è stato eseguito. Margine, limiti di rischio o un mercato chiuso possono comunque bloccarlo del tutto. Legga quindi il corpo della risposta: un successo restituisce un orderId, mentre un rifiuto restituisce un failureReason e un failureText che può registrare e su cui può agire. Verifichi poi l'esecuzione nel pannello Ordini di Tradovate, così da non affidarsi mai solo al codice di stato.


{"accountSpec": "YOUR_ACCOUNT_NAME","accountId": 123456,"action": "Buy","symbol": "MESM6","orderQty": 1,"orderType": "Market","isAutomated": true}
-
actionèBuyoSell;orderTypeaccettaMarket,Limit,StopoStopLimit. - Un ordine
Limitrichiede anche unprice; un ordineStoprichiede unostopPrice. Aggiunga untimeInForceopzionale (ad esempioDay,GTC,IOCoFOK) ogni volta che non desidera usare il valore predefinito. - Utilizzi il simbolo del contratto del mese corrente (front-month); i simboli scaduti o continui vengono rifiutati.



Perché potrebbe servirle
- Trading bot, trasformano i segnali di una strategia in ingressi e uscite in tempo reale senza alcun clic manuale.
- Strumenti di gestione del rischio personalizzati, chiudono o coprono le posizioni automaticamente non appena le proprie regole si attivano.
- Piattaforme di collegamento, instradano gli avvisi da TradingView, Python o un foglio di calcolo direttamente verso Tradovate.
- Passaggio dal backtest al reale, riutilizzano esattamente la logica di ordine testata, ora per inviare ordini reali.
Automatizzi tutto questo con PickMyTrade
Non ha voglia di gestire personalmente token, ID account, il flag isAutomated e i rate limit? PickMyTrade collega i suoi avvisi TradingView direttamente al suo account Tradovate, così gli ordini vengono inviati automaticamente, correttamente formattati e con i flag di conformità, senza che lei debba scrivere una sola riga di codice API.
Eviti tutta la complessità tecnica degli ordini
Lasci che PickMyTrade colleghi i suoi avvisi TradingView direttamente al suo account Tradovate, così gli ordini vengono inviati automaticamente senza che lei debba scrivere codice API.
Inizi la sua prova gratuita di 5 giorniDomande frequenti
Se un bot o un qualsiasi processo automatizzato attiva l'ordine, sì: il mercato lo considera un requisito di conformità. Solo gli ordini attivati manualmente da una persona dovrebbero inviare false (il valore predefinito).
Di solito è dovuto a un accountId/accountSpec errato o mancante, a un token privo dei permessi per gli ordini, oppure all'uso dell'host demo con credenziali live (o viceversa). Recuperi entrambi i campi dell'account da /account/list e verifichi di utilizzare l'URL di base corretto.
No. 200 OK significa solo che Tradovate ha accettato la richiesta. Controlli il corpo della risposta per un orderId (accettato) oppure un failureReason (rifiutato per motivi di margine, rischio o mercato chiuso).
Questa guida ha scopo esclusivamente educativo e informativo e non costituisce una consulenza finanziaria, di investimento o di trading. Il trading di futures e di 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, approvata né sponsorizzata da Tradovate, Inc. "Tradovate" e 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 verifichi sempre la procedura attuale nella piattaforma e nella documentazione ufficiali di Tradovate prima di agire.