Comment générer votre jeton d'accès à l'API
Avant de pouvoir accéder à votre compte sur l'API Rest v20 de OANDA, vous devez d'abord générer un jeton d'accès personnel. Pour ce faire, procédez comme suit :
-
Connectez-vous à votre compte actif ou de démonstration dans le HUB.
-
En haut, cliquez sur Tools (Outils) puis sur API.
-
Cliquez sur Generate (Générer).
-
Sous le texte « Your key to OANDA’s API » (Votre clé pour l’API de OANDA), une combinaison de lettres et de chiffres s’affichera. Il s'agit de votre jeton d'accès à l'API. Copiez toute la ligne de texte et utilisez-la pour authentifier votre compte sur l’application REST v20 API.
-
Pour révoquer l’accès au jeton actuel, cliquez sur Revoke (Révoquer). Si vous avez ajouté des sous-comptes supplémentaires à votre compte REST v20 API, vous devrez également révoquer et générer un nouveau jeton pour y accéder via l’API REST v20.
Message d'erreur « Insufficient authorization to perform request » (Autorisation insuffisante pour exécuter la demande)
La raison la plus fréquente de ce message d'erreur est que vous avez peut-être utilisé le mauvais point de terminaison pour votre demande.
Si vous utilisez un compte actif, utilisez le point de terminaison suivant : https://api-fxtrade.oanda.com.
Si vous utilisez un compte de démonstration, utilisez le point de terminaison suivant : https://api-fxpractice.oanda.com.
Message d’erreur « Insufficient authorisation to perform request » (Autorisation insuffisante pour exécuter la demande) lors de l’utilisation de l’API REST-V20 Java Wrapper
Lorsque les fichiers JAR des bibliothèques dépendantes ne sont pas à jour, vous pouvez recevoir cette erreur lors de l'exécution du code Java. Cela peut être indépendant du fait que votre accountID et votre jeton fonctionnent toujours avec les commandes curl de l’API REST v20.
La solution est la suivante :
-
Mettre à jour toutes les bibliothèques
-
Supprimer les fichiers JAR externes
-
Les recharger à partir d’internet.
La liste suivante indique les bibliothèques actuelles auxquelles vous pouvez vous référer :
-
common-logging-1.1.1.jar
-
gson-2.6.2.jar
-
httpclient-4.0-alpha4.jar
-
httpclient-4.3.5.jar
-
httpcore-4.3.2.jar
-
v20-3.0.21.jar
-
Bibliothèque système JRE
-
Dépendances Maven (junit-3.8.1.jar)
Message d'erreur « Autorisation insuffisante pour exécuter la demande » lors de l'utilisation de oandapyv20
oandapyV20 est un wrapper tiers qui n’est pas pris en charge par OANDA.
Nous avons un wrapper Python v20 disponible sur le site web de développement pour nos clients API.
Vous devrez confirmer que les informations suivantes sont correctes :
-
L’URL fournie à la commande curl est correcte. Si vous utilisez un compte réel, confirmez que vous utilisez https://api-fxtrade.oanda.com.
Dans votre exemple de code, la valeur par défaut de environment (environnement) est demo. Vous devez confirmer que vous l’avez changé en live (actif). Vous devrez modifier le code suivant :
client = oandapyV20.API(access_token=access_token,environment="live")
-
Assurez-vous que le jeton d’authentification est valide et qu’il a été ajouté en tant que « bearer token » dans l’en-tête d’autorisation HTTP.
Message d'erreur « The provided request was forbidden » (La demande réalisée était interdite)
La raison la plus fréquente de cette erreur est que vous avez utilisé un accountID invalide dans votre demande. Pour trouver votre accountID correct, procédez comme suit :
-
Connectez-vous à votre compte actif ou de démonstration dans le HUB.
-
Cliquez sur Accounts (Comptes) dans la barre de navigation de gauche.
-
Cliquez sur le compte souhaité
-
Le numéro au format xxx-xxx-xxxxxxx-xxx à côté de v20 Account Number (Numéro de compte v20) est votre accountID.
Pourquoi les données historiques sont-elles différentes des données en direct ?
Les données historiques de OANDA diffèrent des données réelles car nous proposons différents segments de tarification et types de comptes. C'est pourquoi le flux de prix en direct de l'API peut être différent des données historiques extraites de l'API.
En effet, le point de terminaison « candle » utilisé pour récupérer les données historiques ne fournit que des données sur les bougies du groupe de prix de base. Les points de terminaison price polling et streaming sont utilisés pour récupérer des données en direct, qui utilisent votre account_id pour fournir des données en direct basées sur votre groupe de tarification spécifique.
L'utilisation de « get - /v3/accounts/{accountID}/orders » renvoie une liste d'ordre vide
Étant donné qu’un ordre est transformé en transaction une fois qu’il est exécuté, l’utilisation de get - /v3/accounts/{accountID}/orders peut renvoyer une liste d’ordres vide.
En remplaçant la condition par défaut de orderstatefilter par all, vous pourrez utiliser get /v3/accounts/{accountID}/orders même si les ordres ont été exécutés.
Les valeurs utilisées pour le Order State Filter (Filtre d’état des ordres) sont disponibles dans la documentation de l’API.
Pourquoi ne puis-je pas construire des bougies open-high-low-close (haut, bas, ouverture, clôture) (OHLC) en utilisant le point de terminaison REST v20 Stream ?
Vous ne pouvez pas créer de données de bougies OHLC en utilisant le point de terminaison REST v20 Stream, car les données d'ouverture, de haut, de bas et de clôture de la période ne sont pas garanties d'être renvoyées dans les paquets de réponse. Le point de terminaison instrument/chandeliers sonde le serveur pour recevoir des données une fois qu’une barre est clôturée. Le point d'arrivée de la bougie peut donc être utilisé pour créer des données précises sur la bougie avec toute l'activité de la barre.
Si vous avez besoin d’une assistance technique, envoyez un e-mail à api@oanda.com en fournissant les informations suivantes :
-
Votre demande complète, et
-
Les journaux de réponse de votre serveur, ainsi que
-
Toute autre information nécessaire.