Tradovate API

Trouver contrats et symboles avec l’API Tradovate

Avant que votre code puisse récupérer une cotation ou envoyer un ordre, il doit nommer le contrat exact attendu par Tradovate. Voici comment résoudre symboles et identifiants de contrat avec product/find et contract/find, étape par étape.

On This Page

Avant que votre code puisse récupérer une cotation ou envoyer un ordre, il doit nommer le contrat exact attendu par Tradovate. Si vous construisez un bot de trading, associez un identifiant de contrat numérique à un ticker lisible ou mettez en place une automatisation comme PickMyTrade, c’est ici que tout commence. Ci-dessous, vous allez résoudre symboles et identifiants de contrat avec les endpoints product/find et contract/find, étape par étape.

Que sont les produits, contrats et symboles dans l’API Tradovate ?

Tradovate découpe l’univers des contrats à terme en une petite hiérarchie à trois niveaux, et une fois celle-ci comprise, le reste de l’API devient bien plus simple.

Un produit est la famille d’instruments, « ES » ou « MES », sans échéance associée. Un contrat est une échéance précise de ce produit, écrite sous la forme d’un symbole comme MESU5, c’est ce que vous tradez réellement. Et chaque contrat porte un identifiant de contrat numérique, que l’API renvoie dans les positions, ordres et exécutions. La recherche de symboles consiste simplement à passer de l’un à l’autre : nommer un produit, obtenir ses contrats en vigueur et traduire un identifiant en quelque chose que l’on peut lire.

Trouver contrats et symboles via l’API Tradovate : étape par étape

1

Authentifiez-vous et obtenez un jeton d’accès

Chaque recherche est une requête HTTPS authentifiée ; procurez-vous donc d’abord un jeton bearer. Envoyez par POST vos identifiants et les détails de votre application à /auth/accessTokenRequest ; la réponse contient un accessToken que vous joignez à chaque appel suivant dans un en-tête Authorization: Bearer. Envoyez-le à l’hôte correspondant, demo.tradovateapi.com/v1 pour l’environnement de simulation, ou live.tradovateapi.com/v1 lorsque de l’argent réel est en jeu.

2

Recherchez le produit avec product/find

Résolvez d’abord la famille d’instruments. Appelez GET /product/find?name=MES avec votre jeton, et Tradovate renvoie l’objet produit, son id numérique, son name et le type de produit. Conservez l’id du produit, car c’est la clé que vous réutiliserez pour énumérer tous les contrats de l’instrument. Il n’existe aucun endpoint public pour « lister tous les symboles » ; vous partez donc toujours d’une racine que vous connaissez déjà, ES, NQ, CL, et interrogez vers l’extérieur à partir de là.

3

Résolvez le contrat actif avec contract/find ou contract/suggest

Transformez maintenant ce produit en quelque chose de négociable. GET /contract/suggest?t=MES renvoie les contrats correspondants triés avec la meilleure échéance en premier ; l’index 0 correspond généralement au mois en cours (front month). GET /contract/find?name=MESU5 résout une chaîne de symbole exacte en objet contrat complet, y compris l’id numérique du contrat que vous transmettrez aux appels d’ordres et de données de marché. Un piège à graver dans votre mémoire : les tickers continus de graphique comme @MES conviennent pour les graphiques, mais vous ne pouvez pas les trader. Il vous faut le symbole du contrat daté que cette étape fournit.

4

Inversez un identifiant ou confirmez l’échéance avec contract/item et contractMaturity

Parfois, vous allez dans l’autre sens : vous avez l’id d’un contrat issu d’une position ou d’un ordre, et il vous faut le ticker. Appelez GET /contract/item?id=<id> pour obtenir le name, le productId et le contractMaturityId du contrat. Vous voulez savoir si l’échéance approche ? Transmettez ce contractMaturityId à GET /contractMaturity/item?id=<id> et lisez l’expirationDate. Effectuer le roll en fonction du nombre de jours avant l’échéance vaut mieux que de se fier à un unique indicateur « front » près du roll, lorsque cet indicateur peut basculer sans prévenir.

Comment lire un symbole de contrat à terme Tradovate

Un symbole de contrat à terme daté est constitué de trois parties collées sans espace : instrument + code du mois + dernier chiffre de l’année. Ainsi, MESU5 correspond à MES (Micro E-mini S&P 500) + U (septembre) + 5 (2025). Les codes de mois ne changent pas d’une année à l’autre ; autant les mémoriser une bonne fois :

Code Mois Code Mois
FJanvierNJuillet
GFévrierQAoût
HMarsUSeptembre
JAvrilVOctobre
KMaiXNovembre
MJuinZDécembre

Pourquoi vous en avez besoin

  • Passer des ordres, chaque ordre exige un symbole ou un identifiant de contrat valide et non expiré, résolu avant l’envoi.
  • S’abonner aux données de marché, les abonnements aux cotations et aux graphiques reposent sur le contrat exact.
  • Lire positions et exécutions, l’API vous renvoie des identifiants numériques que vous réassociez aux tickers pour vos journaux et tableaux de bord.
  • Automatiser les rollovers, détectez le mois en cours et passez au contrat suivant à l’approche de l’échéance.

Automatisez cela avec PickMyTrade

Vous n’avez pas envie de jongler vous-même avec product/find, contract/find, les identifiants de contrat et la logique de rollover ? PickMyTrade relie vos alertes TradingView directement à votre compte Tradovate et résout pour vous le bon contrat en vigueur, de sorte que les ordres partent automatiquement sur le bon symbole, sans que vous écriviez une seule ligne de code API.

Oubliez les recherches de symboles

Laissez PickMyTrade résoudre pour vous le bon contrat en vigueur : les ordres partent automatiquement sur le bon symbole, sans aucun code API.

Commencez votre essai gratuit de 7 jours

Questions fréquentes

Non, il n’existe aucun appel pris en charge pour « lister tous les symboles ». Partez d’une racine de produit connue comme ES, MES, NQ ou CL, interrogez product/find puis contract/find ou contract/suggest, et mettez en cache les résultats dont votre application a réellement besoin.

Appelez contract/item?id=<id>. La réponse inclut le nom du contrat (c’est votre ticker), ainsi que son productId et son contractMaturityId pour les recherches suivantes.

Les tickers continus et de type indice servent uniquement aux graphiques. Pour passer un ordre, il vous faut le symbole du contrat daté, par exemple MESU5, ou son identifiant de contrat issu de contract/find.

Ce guide est fourni à des fins strictement éducatives et informatives et ne constitue ni un conseil financier, ni un conseil en investissement, ni un conseil de trading. Le trading de contrats à terme et d’autres produits à effet de levier comporte un risque de perte important et ne convient pas à tous les investisseurs. PickMyTrade est une plateforme d’automatisation tierce indépendante et n’est ni affiliée à Tradovate, Inc., ni approuvée, ni parrainée par cette dernière. « Tradovate » et tous les noms, logos et marques associés sont la propriété de leurs détenteurs respectifs. Les fonctionnalités et les étapes de la plateforme évoluent avec le temps ; vérifiez donc toujours la procédure en vigueur dans la plateforme et la documentation officielles de Tradovate avant d’agir.