1-1 Connexion IG – Les constantes de connexion
Aujourd’hui, on reprend à la base de la base : la connexion à l’API IG.
J’ai créé plusieurs classes Java (ça ne date pas d’aujourd’hui) :
Une classe abstraite
ConstantesDeConnexion :
Code : #
/** Les informations (identifiants, mot de passe,...) nécessaires pour se connecter à la plateforme.
* Il faudra parfois modifier certaines de ces constantes.
* Chaque compte possède son propre jeu de constantes. */
public abstract class ConstantesDeConnexion {
/** Nom d'utilisateur */
public String USERNAME;
/** Mot de passe */
public String PASSWORD;
/** Numéro d'identifiant du compte */
public String ACCOUNT_ID;
/** API key (normalement une par application) */
public String API_KEY;
/** URL de connexion à l'API REST Trading (pour le passage d'ordre et l'état du compte et des positions) */
public String URL_DEAL;
/** URL de connexion à l'API streaming (pour récupérer les cours en temps réel en streaming) */
public String URL_MARKETDATA;
/** URL pour l'ouverture d'une position */
public String URL_OPENPOSITION;
/** URL pour la clôture d'une position */
public String URL_CLOSEPOSITION;
/** URL pour accéder à l'état des positions ouvertes */
public String URL_OPENPOSITIONS;
}
Deux classes concrètes
ConstantesDeConnexionRéel et
ConstantesDeConnexionDémo qui implémentent la classe abstraite ConstantesDeconnexion, et qui contiennent « en dur » les informations (le mot de passe notamment) :
Code : #
/** <p> Les constantes de connexion du compte REEL </p>
* <p> <strong>Remarque : </strong> Il serait peut-être prudent d'afficher une fenêtre Popup pour avertir qu'on vient d'ouvrir le compte réel </p>
*/
public class ConstantesDeConnexionRéel extends ConstantesDeConnexion{
public ConstantesDeConnexionRéel(){
USERNAME="frankenstein"; // mettre votre vrai nom d’utilisateur (réel) ici
PASSWORD="abcdef"; // mettre votre vrai mot de passe (réel) ici
ACCOUNT_ID="F7841"; // mettre votre vrai numéro de compte (réel) ici
API_KEY="fe547a8c8b347"; // mettre votre vraie API KEY (réel) ici
URL_DEAL="https://api.ig.com/gateway/deal/session";
URL_MARKETDATA="https://apd.marketdatasystems.com";
URL_OPENPOSITION="https://api.ig.com/gateway/deal/positions/otc";
URL_OPENPOSITIONS="https://api.ig.com/gateway/deal/positions";
}
}
Code : #
/** Les constantes de connexion du compte DEMO */
public class ConstantesDeConnexionDémo extends ConstantesDeConnexion{
public ConstantesDeConnexionDémo(){
USERNAME="Trader";
PASSWORD="azerty";
ACCOUNT_ID="TGUILM";
API_KEY="53ea874fb687c";
URL_DEAL="https://demo-api.ig.com/gateway/deal/session";
URL_MARKETDATA="https://demo-apd.marketdatasystems.com";
URL_OPENPOSITION="https://demo-api.ig.com/gateway/deal/positions/otc";
URL_OPENPOSITIONS="https://demo-api.ig.com/gateway/deal/positions";
URL_CLOSEPOSITION=URL_OPENPOSITION;
}
}
Remarque : L’API Key est une clé que l’on peut se procurer sur l’interface web d’IG, lorsqu’on est connecté avec le compte réel ou le compte démo. La clé est différente selon qu’on est en réel ou en démo.