ProRealTime
Zone de développement des applications API, des logiciels et utilitaires développés par les membres du forum

Récupérer les cours des marchés IG sous Excel

par Djobydjoba » 22 Aoû 2015 16:25

Bonjour à tous,

Je lance une bouteille à la mer, ou plutôt sur le forum, concernant une fonction sous Excel qui me serait terriblement utile. Il s'agit "tout bêtement" de pouvoir récupérer les cours des marchés, par le biais de l'API IG, sur une feuille Excel. L'intervalle d'actualisation des cours serait réglable (par exemple, actualisation chaque minute).

J'imagine que pour quelqu'un qui maitrise l'API IG sous Excel le rapatriement des cours doit être assez "straitforward" ? Quelqu'un l'a-t-il déjà mis en place ? J'ai téléchargé la feuille exemple de l'API Excel, sauf que pour le moment l'API IG, le VBA et moi ça fait trois. Même en pompant et m'inspirant de l'exemple ça reste excessivement laborieux :gloups:

Quelqu'un serait-il en mesure de proposer une trame fonctionnelle de récupération des cours IG sous Excel ? :prier:

:mercichinois: :mercichinois: :mercichinois:

Re: Récupérer les cours des marchés IG sous Excel

par swingwin » 22 Aoû 2015 19:59

Bonjour Djobydjoba,

Malheureusement je n'ai rien autre que l'exemple Excel posté par IGLabs. Mais c'est surtout que pour l'instant je n'en éprouve pas le besoin (mais ça viendra).

Sinon tu peux aussi faire un tableau de suivi des prix en utilisant le lien DDE de MT4 et ça c'est très simple.
ca marche bien. (les prix sont exactement les mêmes que les API IG au spread près qui diffère)

Enfin je trouve l'exemple Excel IGLabs pour utiliser l'API IG très très bien. Le prochain exemple qu'ils vont présenter (que j'ai en béta test mais qui ne marche pas pour moi sera encore mieux). Mais si tu ne comprends pas il va falloir que tu te mette à Excel, aux macros et au VBA, car ce qu'il y a dedans est des plus simples et c'est bien d'un cours Excel dont tu as besoin et pas la façon d'utiliser les API dans Excel car dans l'exemple, je le répète, on ne peut pas faire plus simple.

A+
JF

Re: Récupérer les cours des marchés IG sous Excel

par Djobydjoba » 22 Aoû 2015 21:26

Hello swingwin,

Ouf c'est simple, me voilà rassuré ;)

Bon allez, je me retrousse les manches pour arriver à mes fins. Je vais disséquer le moteur de ces macros et de cette API...

Je vous tiens au jus si j'arrive à quelque chose. Et si je n'arrive à rien aussi d'ailleurs. :mrgreen:

Re: Récupérer les cours des marchés IG sous Excel

par Djobydjoba » 23 Aoû 2015 00:37

Bon, ça avance pas si mal. En partant d'un classeur vide j'y importe progressivement les contrôles et les bouts de code du fichier exemple IG qui me sont utiles.

Le login fonctionne sur le nouveau classeur et je récupère un price par streaming. Il faudra attendre la fin du we pour voir s'il s'actualise vraiment. Il me reste maintenant à récupérer un ensemble de prices à partir d'une plage d'EPICs, l'occasion d'essayer de mieux piger comment en macro on peut travailler une plage de données.

Re: Récupérer les cours des marchés IG sous Excel

par chifounou » 23 Aoû 2015 01:11

A moitié off-topic (seulement)
Aoécificité exclusive : la plateforme de trading SierraChart accueille un classeur au sein même du logiciel
découlant sur beaucoup de possibilités pour les amateurs

http://www.sierrachart.com/index.php?page=doc/doc_StudiesSystemsAlerts.php
http://www.sierrachart.com/index.php?page=doc/doc_Spreadsheets.html

Re: Récupérer les cours des marchés IG sous Excel

par Djobydjoba » 23 Aoû 2015 13:36

Je vois qu'on peut avoir maximum 40 souscriptions simultanées Lightstreamer. Ce n'est pas énorme, cela limite la remontée des cours à 40 EPICs différents si j'ai bien saisi.

Et pour chaque EPIC je souhaiterais tant qu'à faire remonter le bid, le offer (ask) et le Update_Time. J'ai l'impression qu'il est possible de remonter ces 3 éléments dans la même souscription, pour ne pas avoir à utiliser une souscription pour chacun, mais je ne vois pas comment. La chaine RTD est régie par la fonction "buildRTDString" :

Code: Tout sélectionner
Public Function buildRTDString(subscriptionType As String, epic As String, field As String) As String

Si je renseigne un seul élément dans le field ça passe. Par exemple ici le bid :

Code: Tout sélectionner
buildRTDString("market", "IX.D.indice anglais.IFE.IP", "Bid")

J'ai essayé de renseigner plusieurs éléments dans le field mais ça fait planter la macro et Excel. J'ai essayé plusieurs syntaxes :

Code: Tout sélectionner
buildRTDString("market", "IX.D.indice anglais.IFE.IP", "Bid + Offer")
buildRTDString("market", "IX.D.indice anglais.IFE.IP", "Bid, Offer")

Si quelqu'un a une idée je suis preneur. Je ne peux pas m'inspirer du fichier Excel d'IG car il semble ne remonter qu'un élément par souscription à chaque fois. J'arrive aux limites de mon incompétence.

Re: Récupérer les cours des marchés IG sous Excel

par beni » 07 Sep 2015 10:28

Salut Djoby !

Je n'ai pas testé mais essayes cette syntaxe:
Code: Tout sélectionner
buildRTDString("market", "IX.D.indice anglais.IFE.IP", "UPDATE_TIME BID OFFER")

Re: Récupérer les cours des marchés IG sous Excel

par Djobydjoba » 12 Sep 2015 09:41

Merci bcp pour le tuyau Beni. Je garde ça sous le coude. Finalement je suis parti sur REST plutôt que le stream pour télécharger les cours, n'ayant pas besoin que ça se rafraichisse en permanence dans mon fichier, et surtout parce que je me sentais plus capable de piger avec REST.

Çà a été laborieux mais j'ai réussi à en faire même un peu plus : récupérer via l'API les conditions IG de tous les contrats qui m'intéresse (taille contrat, marge, résolution pip...), données ensuite utilisées par mon tableau de calcul du risque / suivi des positions (gains/pertes, risque au stop, risk-reward...). Avec /markets?epics={epicsList}, en une seule requête il est possible de récupérer toutes les infos utiles de 50 epics (nb maxi, d'après mes tests), donc la macro fait 2 ou 3 requêtes pour récupérer les infos des 120 epics environ de ma liste. Sachant que le nombre de requêtes par minute est limité à 60, y a de la marge. Pour le moment je lance la macro manuellement via un contrôle.

Dans ma todolist :
- Comprendre pourquoi ça ne marche pas sur le PC du boulot. Des messages d'erreur VBA. Bizarre c'est pourtant la même version d'Office.
- Rafraichissement auto toutes les X minutes (3 minutes c'est bien suffisant) plutôt que lancement manuel. Ça devrait être simple mais tout est long pour moi en VB, donc pas encore eu le temps.

Et plus tard retrouver les infos de positions, que je saisis pour le moment à la main dans mon tableau de calcul du risque / suivi de positions. Mais il faudra alors scinder mon tableau en deux, un pour le suivi des positions, l'autre pour le calcul du risque préliminaire à l'ouverture, ce dernier ne pouvant être rempli que manuellement.

Voilà, voilà.

Re: Récupérer les cours des marchés IG sous Excel

par Djobydjoba » 12 Sep 2015 11:55

Peux-tu préciser Xavier ?

Re: Récupérer les cours des marchés IG sous Excel

par Djobydjoba » 12 Sep 2015 12:26

C'est vague, toujours pas sûr de te suivre.

La virgule au lieu du point comme séparateur décimal entraîne un msg d'erreur à la connexion. Une solution a été brillamment trouvée par Koub37 et chez moi ça a parfaitement corrigé le pb (modif à faire dans le module JSON.bas) : https://labs.ig.com/node/132

Articles en relation
Récupérer les cours avec l'API IG Market et Python
par layzard » 24 Juil 2016 12:09 (54 Réponses)
API IG : récupérer des valeurs d'indicateurs ?
par beni » 18 Déc 2015 16:13 (17 Réponses)
Programme pour récuperer les ticks chez PRT cfd à risque limité
Fichier(s) joint(s) par falex » 16 Déc 2016 11:52 (37 Réponses)
Utilisation Excel avec API IG
Fichier(s) joint(s) par VK_Trader » 14 Mai 2015 23:16 (79 Réponses)
API IG par l'exemple, récupération des cours, trades
par maroxe » 28 Jan 2015 14:39 (8 Réponses)
Cours en temps réel sur le forum avec API iG ?
Fichier(s) joint(s) par jized » 26 Aoû 2015 16:56 (98 Réponses)
Créer serveur Raspberry récupération de cours
Fichier(s) joint(s) par falex » 24 Sep 2015 09:09 (48 Réponses)
Outil permettant d'énoncer les cours par synthèse vocale
Fichier(s) joint(s) par chad » 14 Aoû 2017 12:53 (12 Réponses)
IG python : distinguer working order - position en cours
Fichier(s) joint(s) par Nomade » 11 Déc 2017 19:14 (6 Réponses)
L3 touches clavier sous windows et clavier jeux videos
par Benoist Rousseau » 06 Avr 2016 17:43 (2 Réponses)

ProRealTime

Alors partagez-le 5 fois c'est bon pour la santé