Runtime natif IA pour stratégies de trading OANDA
Développez vos stratégies OANDA v20 dans Cursor, Claude Code ou n'importe quel IDE IA. Déployez depuis GitHub sur un runtime cloud managé avec contrôle MCP natif, logs et sélection de région.
Section 01 · En un coup d’œil
En un coup d’œil
- Courtier
- OANDA
- Type de courtier
- Courtier Forex et CFD
- Classe d’actifs
- Forex, indices, matières premières, métaux, obligations
- Produits pris en charge
- Plus de 70 paires de devises FX au comptant, CFD sur indices majeurs, or et argent (XAU/USD, XAG/USD), énergies (WTI, Brent), CFD sur obligations
- Modèle d’exécution
- Runtime de stratégie conteneurisé
- Source de déploiement
- GitHub
- Langages
- Tout langage compatible avec un conteneur
- Intégrations courantes
- OANDA v20 REST et streaming, FIX 4.4, NautilusTrader, Backtrader, SDK natifs Python et Java, connecteurs personnalisés
- Intégration du flux de travail IA
- Interface de contrôle MCP pour Cursor, Claude Code, GitHub Copilot et agents CLI
- Rôle de TradingHost
- Runtime, déploiement, logs, bilans de santé, sélection de région, contrôle MCP
- Rôle de OANDA
- Compte de courtage, accès API, accès au marché, lieu d'exécution
- Régulateurs
- OANDA Corporation (CFTC RFED, NFA ID 0325821, US), OANDA Australia Pty Limited (ASIC AFSL 412981), OANDA Europe Markets Ltd (CySEC, Malte), OANDA Global Markets Ltd (BVI FSC), OANDA (Canada) Corp (CIRO)
- Limites de levier pour particuliers
- États-Unis (OANDA Corporation, NFA Rule 2-43b) : 50:1 sur le FX majeur, 20:1 sur le FX non majeur. Australie (ASIC) et Europe (CySEC, aligné ESMA) : 30:1 sur le FX majeur, 20:1 sur le FX non majeur et l'or, 10:1 sur les matières premières hors or et indices non majeurs, 5:1 sur les actions, 2:1 sur les CFD crypto. L'entité offshore (BVI FSC) peut autoriser un effet de levier supérieur selon l'entité d'enregistrement concernée.
- Affiliation
- TradingHost est indépendant et n'est pas affilié à OANDA Corporation ni à aucune entité du groupe OANDA
Section 02 · Ce que propose OANDA
Ce que propose OANDA
OANDA propose du forex au comptant sur plus de 70 paires de devises, des CFD sur indices et matières premières, des métaux précieux et des CFD sur obligations via l'API REST v20, le streaming v20 sur HTTP long-poll, et une session FIX 4.4. Les stratégies s'authentifient à l'aide d'un jeton porteur (bearer token) par compte. Les environnements de démonstration (fxPractice) et réel (fxTrade) sont distincts, avec des hôtes et des jetons différents. Les spécificités des points de terminaison (endpoints) figurent dans la documentation d'OANDA et sont sujettes à modification.
Marchés et modèles de stratégie
- Stratégies REST OANDA v20 sur plus de 70 paires de devises FX
- Stratégies de carry trade sur EUR/USD et USD/JPY
- Stratégies de cassure (breakout) sur CFD d'indices majeurs (SPX500, US30, NAS100, UK100)
- Stratégies sur métaux précieux XAU/USD et XAG/USD
- Stratégies sur CFD pétrole WTI et Brent
- Stratégies de momentum basées sur le flux de prix en temps réel (HTTP long-poll)
- Déploiements validés sur fxPractice puis basculés vers fxTrade
- Stratégies pour clients particuliers américains conformes à la règle FIFO NFA Rule 2-43b
Surface API
- Interfaces produits
- Plus de 70 paires de devises FX au comptant (majeures, mineures, exotiques), CFD sur indices majeurs (SPX500, US30, NAS100, UK100, GER40, JP225), métaux précieux (XAU/USD, XAG/USD), énergies (WTI, Brent), CFD sur obligations. L'environnement fxPractice reproduit la même offre de produits sur un serveur de simulation (paper trading), permettant de valider les stratégies sur les mêmes points de terminaison v20 sans engager de capital réel.
- Méthodes de connexion
- OANDA v20 REST pour le passage d'ordres, les comptes, les transactions et les positions. Streaming v20 pour les prix et les transactions via HTTP long-poll chunked (une seule connexion TCP ouverte plutôt que des WebSockets). FIX 4.4 pour les flux professionnels et institutionnels. Les SDK natifs Python et Java encapsulent REST et le streaming v20.
- Authentification
- Jeton porteur (bearer token) : en-tête HTTP "Authorization: Bearer <token>" sur chaque requête authentifiée. Un jeton par compte OANDA, généré sous Manage API Access dans le portail utilisateur. Les jetons de démonstration (fxPractice) et réels (fxTrade) sont limités à leur environnement respectif et ne sont pas interchangeables.
Pour plus de détails, reportez-vous à OANDA
Les points de terminaison spécifiques, les limites de taux (rate limits), les listes de paires de devises, les identifiants d'instruments et l'historique des versions figurent dans la documentation d'OANDA. Considérez-les comme la source de vérité unique.
- developer.oanda.comPortail développeur OANDA (v20)
- developer.oanda.com/rest-live-v20/introductionRéférence de l'API REST v20
- developer.oanda.com/rest-live-v20/development-guideGuide de développement v20 (hôtes, jetons, environnements)
- help.oanda.com (v20 troubleshooting guide)Référence officielle des codes d'erreur et des comportements
- github.com/oanda/v20-pythonSDK Python natif pour REST et streaming v20
Section 03 · Développer avec l’IA
Développez votre stratégie OANDA avec l’IA
Choisissez une méthode d’intégration, dupliquez un modèle de framework TradingHost et concevez votre stratégie dans un IDE IA. Cursor, Claude Code, GitHub Copilot et les agents IA en ligne de commande fonctionnent tous avec le même cycle de déploiement natif sur GitHub.
API OANDA v20 native
Contrôle direct sur les comportements spécifiques à OANDA, l'état du compte, le flux de prix en temps réel et l'exécution des ordres.
NautilusTrader
Framework Python haute performance doté d'un adaptateur OANDA documenté et d'un modèle d'acteur orienté événements.
Backtrader
Framework Python stable dont la classe de courtage `OandaV20Store` intègre OANDA v20 comme un lieu d'exécution de premier plan.
FIX 4.4 ou connecteur personnalisé
Session OANDA FIX 4.4, ou votre propre intégration Python ou Java basée sur REST et le streaming v20.
Prise en charge des produits OANDA par les frameworks
La couverture suit la gamme de produits d'OANDA. Les entités de courtage de détail d'OANDA ne proposant pas de CFD sur actions ou sur cryptomonnaies, ces colonnes sont explicitement marquées « non » plutôt que laissées vides.
✓ support confirmé selon la documentation officielle du framework et la gamme de produits d'OANDA. « non » indique qu'OANDA ne propose pas cette classe de produits, et non une limitation du framework. Les liens de flux de travail pointent vers les pages /workflows/ actuellement en cours de rédaction.
TradingHost n’impose aucun framework. Il exécute votre projet.
Développer avec l’IA
Les starters de framework ci-dessus s’associent naturellement avec les AI IDE. L’interface de contrôle MCP de TradingHost ferme la boucle : les outils d’IA peuvent inspecter les déploiements, consulter les logs et gérer le runtime à vos côtés, sans jamais intervenir sur le flux d’exécution des ordres.
Section 04 · Exécuter sur TradingHost
Exécutez votre code sur TradingHost
OANDA fournit le compte de courtage et l’accès API. TradingHost fournit l’environnement de production où s’exécute votre stratégie connectée à OANDA.
Au lieu de faire tourner le code de votre stratégie sur un ordinateur portable, une machine de bureau, un VPS générique ou un serveur configuré manuellement, vous le déployez depuis GitHub dans un runtime de conteneurs géré par TradingHost.
Vous
- Votre repo contient votre code.
- Votre déploiement définit son mode d’exécution.
- Votre stratégie se connecte à OANDA.
TradingHost
- Maintient le runtime en ligne.
- Remonte les logs et l’état de santé.
- Choix de la région.
- Interface de déploiement contrôlée.
Flux de déploiement
- ÉTAPE 01
Connecter GitHub
Autorisez TradingHost à accéder à votre compte GitHub.
- ÉTAPE 02
Lier un repo ou démarrer depuis un framework
Pointez TradingHost vers votre dépôt de stratégie existant, ou dupliquez (fork) un runtime de framework TradingHost (NautilusTrader ou Backtrader pour OANDA, ou le starter OANDA v20) pour obtenir une base de travail fonctionnelle.
- ÉTAPE 03
Déployer dans un conteneur TradingHost
Choisissez une région (EU pour les entités européennes d'OANDA, US-East pour OANDA Corporation aux États-Unis), fournissez les variables d'environnement requises par votre stratégie (token bearer v20, ID de compte, hôte fxPractice ou fxTrade) et déployez. TradingHost construit votre conteneur à partir du dépôt et exécute votre stratégie sur une infrastructure Kubernetes managée. Aucune installation locale de Docker n'est requise.
- ÉTAPE 04
Suivre les logs et l’état de santé
Suivez en direct les logs, l’état de santé et le statut du runtime depuis le tableau de bord TradingHost. Cette même interface est accessible via MCP depuis n’importe quel AI IDE, permettant à Cursor, Claude Code ou un agent CLI de lire l’état du déploiement et de gérer le runtime à vos côtés.
- ÉTAPE 05
Mettre à jour et redéployer
Poussez vos modifications sur la branche principale (main) de votre GitHub et TradingHost se redéploie automatiquement.
Section 05 · Notes opérationnelles
Notes opérationnelles pour OANDA
Les pièges réels qui vous guettent lorsque vous exécutez une stratégie OANDA dans un runtime cloud conteneurisé, bien loin des pages marketing d'OANDA ou des fichiers README des frameworks. Chaque point ci-dessous est adapté de la documentation officielle d'OANDA ou des règles du régulateur concerné ; les conseils de déploiement sont issus de l'exploitation réelle de ces stratégies sur TradingHost.
01 · Séparation des hôtes
fxTrade (réel) et fxPractice (démo) sont des hôtes distincts avec des jetons distincts
L'hôte REST réel est api-fxtrade.oanda.com, l'hôte REST de démonstration est api-fxpractice.oanda.com. Les jetons sont générés sous Manage API Access dans l'environnement correspondant et ne sont pas interchangeables : un jeton fxTrade ne s'authentifiera pas sur fxPractice et inversement. Les identifiants de compte diffèrent également selon les environnements (les identifiants fxPractice commencent généralement par le préfixe `101-`). Conservez les jetons de démonstration et réels dans des entrées de secrets TradingHost distinctes ; ne réutilisez jamais un jeton d'un environnement à l'autre et ne codez jamais en dur la chaîne de l'hôte dans les chemins de code déployés entre les environnements.
02 · Authentification
Jeton Bearer dans l'en-tête Authorization, un jeton par compte OANDA
Chaque requête authentifiée vers v20 contient `Authorization: Bearer <token>`. Le jeton est généré dans le portail utilisateur OANDA sous Manage API Access et est limité à l'utilisateur pour lequel il a été créé ; la sélection du compte se fait via le chemin (`/v3/accounts/<accountID>/...`), et non via un en-tête distinct. Renouvelez le jeton en cas de fuite et stockez-le dans les GitHub Secrets de votre dépôt, jamais dans le code validé ou les fichiers d'environnement.
SourceOANDA v20 authentication03 · Streaming
Les flux de prix et de transactions passent par du HTTP fragmenté (chunked) à interrogation longue (long-poll), pas par WebSocket
Les points de terminaison de streaming d'OANDA (`/v3/accounts/<accountID>/pricing/stream`, `/v3/accounts/<accountID>/transactions/stream`) maintiennent une seule connexion TCP ouverte et émettent des fragments JSON séparés par des sauts de ligne. Il n'y a pas de couche de trame WebSocket. La logique de reconnexion du conteneur doit gérer explicitement les pertes de connexion, les fragments partiels et les délais d'attente d'inactivité. Le flux émet un objet heartbeat périodique pour que le client puisse détecter les connexions mortes ; agissez sur l'absence de heartbeat plutôt que d'attendre le délai d'expiration au niveau du système d'exploitation.
04 · NFA Rule 2-43b
OANDA Corporation (US) applique l'appariement des ordres FIFO et l'interdiction de couverture (hedging) par instrument
En vertu de la NFA Rule 2-43b, les clients particuliers américains d'OANDA Corporation ne peuvent pas détenir simultanément des positions longues et courtes sur le même instrument et doivent clôturer les positions opposées dans l'ordre de leur ouverture (premier entré, premier sorti - FIFO). Une stratégie qui place un ordre de couverture sur la même paire verra cet ordre se compenser (netting) avec la position existante, au lieu d'ouvrir une position distincte. Cette règle ne s'applique pas aux entités non américaines d'OANDA (Australie, Europe, BVI). Pour les stratégies déployées sur plusieurs entités, le même code peut générer des attributions de P&L différentes entre les comptes américains et non américains.
05 · Limites de taux
Plafonds de requêtes par jeton ; respectez le retry-after sur les erreurs 429
OANDA applique des plafonds de taux de requêtes par jeton sur v20. Le dépassement de ces limites renvoie une erreur HTTP 429 avec un corps indiquant la régulation (throttling). Les conteneurs soumis à de fortes variations du marché (ouverture de session, publications d'actualités) peuvent dépasser le plafond si chaque itération de boucle appelle les points de terminaison de compte ou de prix. Privilégiez le point de terminaison de streaming des prix plutôt que l'interrogation (polling), regroupez les requêtes associées et appliquez un délai d'attente exponentiel (exponential backoff) en cas de code 429. Les plafonds spécifiques de requêtes par seconde figurent dans la documentation d'OANDA et évoluent avec le temps ; considérez cette documentation comme faisant foi.
SourceOANDA v20 best practices06 · Identifiant de compte
L'identifiant de compte est lié au chemin sur la plupart des points de terminaison v20
Le trading, les positions, les transactions, les prix et la plupart des points de terminaison de compte prennent la forme `/v3/accounts/<accountID>/<resource>`. Le jeton bearer authentifie l'utilisateur ; le chemin sélectionne le compte. Un utilisateur disposant à la fois d'un sous-compte et d'un compte principal détient deux accountID distincts et la stratégie doit choisir le bon. Le point de terminaison `/v3/accounts` liste tous les accountID auxquels le jeton peut accéder, et `/v3/accounts/<accountID>/summary` confirme la devise, l'entité de levier et le solde avant que la stratégie ne commence à passer des ordres.
07 · Déclaration des transactions
La déclaration EMIR, MiFID II, Dodd-Frank relève de la responsabilité d'OANDA, pas de celle de TradingHost
OANDA Europe Markets Ltd effectue ses déclarations sous EMIR et MiFID II. OANDA Corporation déclare ses transactions sous les règles de déclaration des données de swap du Dodd-Frank Title VII en tant que CFTC RFED. OANDA Australia déclare ses transactions sous les règles de déclaration des transactions sur dérivés de l'ASIC. TradingHost n'effectue aucune déclaration réglementaire de transactions en votre nom et n'est pas un service de déclaration. Le code de stratégie que vous exécutez sur TradingHost relève de votre propre activité algorithmique ; la déclaration incombe au courtier officiel (broker-of-record), à savoir l'entité OANDA qui détient le compte.
Section 06 · Conçu pour
Conçu pour
Les environnements d’exécution TradingHost pour OANDA sont particulièrement adaptés aux :
- Développeurs concevant des stratégies dans des IDE IA (Cursor, Claude Code)
- Développeurs de stratégies FX quantitatives
- Traders de carry trade et de momentum sur indices
- Utilisateurs de NautilusTrader et Backtrader
- Équipes migrant de MetaTrader et de l'hébergement VPS vers un déploiement conteneurisé
La connexion à GitHub et la création de votre première stratégie sont gratuites.
Section 08 · FAQ
FAQ
Non. TradingHost est indépendant et n'est pas affilié à OANDA Corporation ni à aucune entité du groupe OANDA.
Non. TradingHost n'est pas un courtier et n'est pas une entreprise d'investissement agréée. TradingHost est un environnement d'exécution (runtime) cloud qui fait tourner votre code de stratégie. La relation avec le courtier, le compte, l'effet de levier, l'exécution et les protections réglementaires relèvent tous d'OANDA. Vous vous inscrivez directement auprès de l'entité OANDA correspondant à votre juridiction.
Non. Votre code de stratégie se connecte à OANDA et envoie des instructions selon votre propre logique, les autorisations de votre compte et votre méthode d'intégration. TradingHost fournit l'environnement d'exécution où ce code s'exécute.
Non. L'accès à l'API OANDA v20 est fourni par OANDA. Vous êtes responsable de votre compte OANDA, des autorisations d'accès à l'API, de la rotation des jetons bearer et du respect des conditions d'utilisation d'OANDA.
Oui. TradingHost exécute des stratégies Python ; choisissez un environnement d'exécution de framework correspondant à votre pile technique (NautilusTrader, Backtrader ou le starter OANDA v20) ou déployez votre propre dépôt. Le SDK natif v20-python d'OANDA est pris en charge.
Oui. TradingHost prend en charge n'importe quel langage capable de s'exécuter dans un conteneur. Les points de terminaison REST et de streaming v20 d'OANDA utilisent le protocole HTTP, de sorte que tout langage disposant d'un client HTTP peut les appeler.
Oui, si votre projet est conçu ainsi. Vous pouvez exécuter plusieurs processus ou services de stratégie au sein d'un même environnement d'exécution, ou les séparer dans différents environnements pour des raisons d'isolation et de clarté opérationnelle. Consultez la page de l'environnement d'exécution TradingHost pour découvrir le modèle multi-stratégie.
TradingHost exécute des charges de travail cloud conteneurisées, et non des terminaux de bureau MetaTrader 4 ou MetaTrader 5. Si votre stratégie OANDA est un Expert Advisor MT4 ou MT5 compilé en MQL, cet EA s'exécute à l'intérieur du terminal MetaTrader et nécessite traditionnellement un VPS Windows pour rester en ligne. Pour TradingHost, portez la logique vers un client REST v20 ou de streaming v20 ; cela constituera le format compatible avec TradingHost.
La méthode la plus rapide consiste à dupliquer (fork) un environnement d'exécution de framework TradingHost : NautilusTrader et Backtrader disposent tous deux d'un support de premier ordre pour OANDA. Vous pouvez également connecter votre propre dépôt GitHub de stratégie. Lier un dépôt GitHub et créer une stratégie est gratuit ; les abonnements d'exécution sont détaillés sur la page des tarifs.
Oui. L'effet de levier est défini par l'entité OANDA qui détient votre compte, et non par TradingHost. OANDA Corporation (US) plafonne l'effet de levier pour les particuliers à 50:1 sur les paires de devises majeures et à 20:1 sur les paires non majeures, conformément à la NFA Rule 2-43b. OANDA Australia (ASIC) et OANDA Europe Markets (CySEC) plafonnent les devises majeures à 30:1, les devises non majeures et l'or à 20:1, avec des plafonds inférieurs sur d'autres instruments. OANDA Global Markets (BVI) autorise un effet de levier plus élevé selon les règles de la BVI FSC. Les plafonds d'effet de levier dépendent du régulateur de l'entité détenant votre compte ; l'interface de l'API reste la même.
Dans votre flux de secrets contrôlé par GitHub. TradingHost lit le jeton au moment de l'exécution via les secrets de dépôt GitHub, les secrets d'environnement ou votre propre processus approuvé de gestion des secrets. TradingHost n'a pas besoin de conserver votre jeton.
Non. Les jetons OANDA v20 accordent l'accès au trading, à l'état du compte et aux prix, mais pas aux retraits ni aux dépôts. Les dépôts et les retraits s'effectuent via le portail utilisateur d'OANDA, et non via l'API. Excluez totalement les opérations de retrait de l'interface v20.
Oui. TradingHost prend en charge le contrôle basé sur MCP pour les IDE IA, notamment Cursor, Claude Code, GitHub Copilot et les agents IA en ligne de commande. Les outils d'IA peuvent inspecter les déploiements, consulter les logs, redémarrer les stratégies et gérer les workflows d'exécution. MCP est une interface de contrôle et d'observabilité, et non le chemin d'exécution des transactions.
Non. La déclaration des transactions sous EMIR et MiFID II relève de la responsabilité du courtier. OANDA Europe Markets Ltd effectue les déclarations sous EMIR et MiFID II en tant qu'entreprise d'investissement réglementée. OANDA Corporation effectue ses déclarations selon les règles de déclaration des données sur les swaps du Dodd-Frank Title VII en tant que CFTC RFED. OANDA Australia effectue ses déclarations selon les règles de déclaration des transactions sur dérivés de l'ASIC. TradingHost exécute votre code ; le courtier teneur de compte gère les déclarations réglementaires.
TradingHost est disponible dans les régions EU et US-East. La région EU est le choix naturel pour le trafic d'OANDA Europe Markets et d'OANDA Australia ; la région US-East est le choix naturel pour le trafic d'OANDA Corporation (US).
Non. TradingHost se concentre exclusivement sur l'environnement d'exécution (runtime) en production et le déploiement. Le backtesting relève de votre environnement de recherche, de votre framework (le backtester de NautilusTrader, le moteur de Backtrader, vectorbt) ou d'AlgoBuilder.