Creare un bot di auto-trading Tradovate con l’API
Un bot di trading sembra complicato finché non lo si scompone in parti. Ecco come si incastrano i pezzi dall’inizio alla fine, dall’autenticazione allo streaming dei dati di mercato fino all’invio degli ordini, insieme al flag che fa rifiutare molti primi bot.
On This Page
Un bot di trading sembra complicato finché non lo si scompone in parti. Alla base è un ciclo: accedere, osservare i prezzi, decidere, inviare un ordine, ripetere. Gli esempi JavaScript ufficiali di Tradovate mostrano esattamente questo percorso, e può seguire la stessa struttura in Python, C# o nel linguaggio con cui si trova a proprio agio. Ecco come si incastrano i pezzi dall’inizio alla fine, insieme al flag che fa rifiutare molti primi bot.
Cosa fa davvero un bot di trading Tradovate?
In sostanza, un bot Tradovate si autentica una volta per ottenere un token di accesso, mantiene una connessione live ai dati di mercato, esegue la Sua logica a ogni aggiornamento di prezzo e chiama l’endpoint degli ordini quando le Sue regole lo richiedono. Il repository ufficiale example-api-js lo divide in una traccia Access (autenticazione REST e ordini) e una traccia WebSockets (dati in tempo reale e trading). L’esempio AutoTrade li collega in un motore a eventi in cui una strategia reagisce agli eventi di quotazioni, DOM e grafici man mano che arrivano.
Costruire il bot passo dopo passo
Attivi l’accesso all’API e ottenga le credenziali dell’app
Per prima cosa servono le chiavi. Attivi il componente aggiuntivo API Access sul Suo conto, quindi annoti i tre valori con cui il Suo codice si autenticherà: appId (un nome per la Sua app), cid (client id) e sec (client secret). Li abbinerà al Suo normale nome utente e password di Tradovate. Attenzione: alcune prop firm limitano o vietano i bot API diretti sui propri conti, quindi verifichi che la Sua società lo consenta prima di costruire su un conto finanziato; le regole variano da società a società, perciò controlli il Suo accordo attuale.
Si autentichi e ottenga un token di accesso
Senza un token non funziona nient’altro. Invii in POST un corpo di credenziali a /auth/accessTokenRequest con name, password, appId, appVersion, cid, sec e un deviceId. La risposta restituisce un accessToken che allegherà come Authorization: Bearer a ogni chiamata successiva. I token durano circa 90 minuti, quindi non aspetti un 401: chiami /auth/renewAccessToken circa 15 minuti prima della scadenza per mantenere viva la sessione. Includa un deviceId stabile; il trading live applica l’approvazione dei dispositivi in modo più rigoroso della demo.
Trasmetta in streaming i dati di mercato live via WebSocket
REST va bene per singole chiamate, ma un bot ha bisogno di un feed costante, ed è per questo che esiste il WebSocket. Apra un socket verso l’host dei dati di mercato (md.tradovateapi.com), invii il token di accesso per autorizzarsi e poi si iscriva a ciò che Le interessa: md/subscribeQuote per i prezzi, oppure le sottoscrizioni DOM e grafici per profondità e barre. Da qui in poi il Suo codice riceve un evento ogni volta che il mercato si muove. Mantenga attivo l’heartbeat in modo che la connessione non cada a metà sessione.
Trasformi il Suo segnale in ordini con placeOrder
Questo è il cervello. Nel pattern AutoTrade, la Sua strategia estende una classe base e implementa una funzione next() che funziona come un reducer: prende lo stato corrente più l’evento di mercato in arrivo e restituisce lo stato aggiornato. Qui risiedono i calcoli degli indicatori e le regole di ingresso. Quando lo stato dice «vai», costruisca il payload dell’ordine e lo invii a /order/placeOrder. Quel campo isAutomated conta più di quanto sembri. Deve essere true per qualsiasi ordine inviato da un bot o da un algoritmo; è un requisito di conformità del CME, non un suggerimento. Se lo omette, invita i rifiuti. Prenda accountId e accountSpec da /account/list e usi sempre il simbolo del contratto front-month corrente.
Testi in demo, poi gestisca token e rate limit
Esegua l’intero ciclo sull’host demo (demo.tradovateapi.com/v1) finché non si comporta bene, perché una logica sbagliata sull’host live (live.tradovateapi.com/v1) costa denaro vero. Diverse cose fanno inciampare i nuovi bot: è limitato a 2 sessioni simultanee, quindi un login accidentale scollega la prima; martellare gli endpoint REST fa scattare i rate limit e una penalità di tempo p-ticket che deve attendere; e un token scaduto rompe tutto in silenzio. Registri ogni risposta e passi al live solo quando la demo gira in modo pulito per un’intera sessione.
{"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}
Salti l’infrastruttura con PickMyTrade
Costruire da sé l’intero stack, rinnovo dei token, heartbeat WebSocket, flag isAutomated, backoff dei rate limit, è lavoro vero prima ancora di aver eseguito un solo trade strategico. Se il Suo segnale vive già in TradingView, PickMyTrade instrada quegli alert direttamente nel Suo conto Tradovate con gli ordini formattati e contrassegnati per la conformità al posto Suo, senza alcun codice API.
Eviti di costruire il bot da sé
Rinnovo dei token, heartbeat WebSocket e backoff dei rate limit sono lavoro vero. Lasci che sia PickMyTrade a instradare i Suoi alert di TradingView verso Tradovate.
Inizi la prova gratuita di 7 giorniDomande frequenti
Per costruire direttamente sull’API, sì: scriverà chiamate di autenticazione, un gestore WebSocket e la logica degli ordini. Se preferisce evitarlo, un ponte come PickMyTrade trasforma gli alert di TradingView in ordini Tradovate senza alcuna programmazione.
La causa più comune è un flag isAutomated mancante o impostato su false in un ordine automatizzato, che l’exchange non accetta. Dopodiché verifichi la presenza di un accountId/accountSpec errato, di un token scaduto o l’uso dell’host demo con credenziali live.
Sì. Punti tutto verso l’host demo ed esegua prima la Sua strategia su un conto simulato. Vi resti finché l’intero ciclo, autenticazione, dati, ordini, non gira senza errori, prima di toccare l’ambiente live.
Questa guida ha esclusivamente scopo educativo e informativo e non costituisce 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 a Tradovate, Inc., né approvata o sponsorizzata da essa. «Tradovate» e tutti i nomi, loghi e 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.