ProRealTime
Zone de développement des applications API, des logiciels et utilitaires développés par les membres du forum
Répondre • Page 1 sur 1

API IG : récupérer des valeurs d'indicateurs ?

par clodreb » 18 déc. 2015 15:13

Bonjour,

est-ce que quelqu'un sait s'il est possible de récupérer les valeurs des indicateurs ig via l'API ?

le but, par exemple, serait de récupérer la valeur du rsi simultanément sur plusieurs ut (sans devoir le calculer soi-même bien sûr ;)

Est-ce possible à votre avis ?

Re: API IG : récupérer des valeurs d'indicateurs ?

par bobbyO » 18 déc. 2015 18:10

Salut,
Non pas possible à ma connaissance. Ce que j'ai fait, c'est une lecture des cours, que j'ai transformés en différentes ut.
J'ai ensuite calculer macd, rsi & co sur chacune de ces ut grâce à la librairie TA-LIB (C#)

Re: API IG : récupérer des valeurs d'indicateurs ?

par bobbyO » 10 janv. 2016 22:11

Salut -,
Effectivement, très bien cette librairie. Je suis en train de migrer mes indicateurs et backtests prt en C#. Comme cela, je peux enfin faire du multi-ut.

Re: API IG : récupérer des valeurs d'indicateurs ?

par bobbyO » 10 janv. 2016 22:49

Non pas de multi-support mais c'est vrai pourquoi pas.
Je n'ai pas non plus ajouté d'indicateurs à TA-LIB mais je les gère en dehors de la librairie dans mon programme .NET directement.

Re: API IG : récupérer des valeurs d'indicateurs ?

par clodreb » 01 févr. 2016 18:13

Afin de ne pas repartir de zéro, j'ai repris une ancienne version de la L3 de Falex pour voir ce que je peux en faire.
C'est écrit en python (que je ne connais pas vraiment) mais l'avantage c'est que toute la gestion de la connection/SL/TP...etc est déjà faite .

Comme je l'ai dit ci-dessus, mon but serait de voir ce que donne des indicateurs sur plusieurs ut simultanément.

j'ai téléchargé TA-lib comme conseillé et je l'ai installé ....jusqu'ici rien de bien compliqué.
Par contre, je ne trouve pas d'exemple sur le net pour que je comprenne comment utiliser cette nouvelle library.

Est-ce que l'un d'entre vous aurait un lien à partager avec des exemples de prog sur l'utilisation de ceci en python ?
(ou simplement un bout de code lié à l'Api IG avec n'importe quel indicateur pour que je m'en inspire ?....là ce serait le top ...mais bon, je sais que c'est un peu abuser :mrgreen: )

merci d'avance.

Re: API IG : récupérer des valeurs d'indicateurs ?

par bobbyO » 01 févr. 2016 18:42

Hello,
C'est vrai que la librairie n'est pas très récente mais comme marche très bien et est gratuite ...
voici quelques liens :
http://www.tadoc.org/forum/index.php (forum ta-lib)
http://project-runway.github.io/TA-Lib/index.html?index-files/index-12.html
http://ta-lib.org/d_api/d_api.html (doc officielle)

Sur le premier lien, tu as quelques exemples en python il me semble.
Je peux te donner un exemple C# par contre.

Re: API IG : récupérer des valeurs d'indicateurs ?

par clodreb » 01 févr. 2016 20:31

merci pour les liens, je vais jeter un coup d'oeil là dessus.

Comme je me suis basé sur le python de Falex pour faire des modif sur le vba excell de l'exemple d'ig, je suppose que si tu me montre un exemple en C#, je devrais pouvoir me baser dessus pour faire une modif en python :lol:

Au pire, si je n'y arrive pas, je me mettrais au C# :mrgreen:
(j'ai fait du C++ il y a 15 ans, je dois bien avoir quelques reste pour comprendre le C# :musique: )

je n'ai pas encore vraiment regarder comment fonctionne TA-lib mais comme les indicateurs se basent généralement sur des tableaux de valeurs passées, il faut surtout que je comprenne comment capter et gérer ces variables via l'API....et un exemple en C# peut surement m'y aider.

Re: API IG : récupérer des valeurs d'indicateurs ?

par bobbyO » 01 févr. 2016 20:43

Voilà :
Le calcul d'un MACD 4 19 3 sur un tableau de cours iDom.Cours

Code : #

        static void Update_MACD(int i)
        {
            int BeginIndex;
            int NbIndex;
            int NbTicks = iDom[i].NbCandles;
            Double[] Param1 = new Double[10];
            Double[] Param2 = new Double[10];
            Double[] Param3 = new Double[10];
            // Initialisation de la periode d'instabilité des fonctions TA-Lib
            Core.SetUnstablePeriod(Core.FuncUnstId.FuncUnstAll, 12);
            Core.MacdExt((int)NbTicks - 1, (int)NbTicks - 1, iDom[i].Cours, 4, Core.MAType.Ema, 19, Core.MAType.Ema, 3, Core.MAType.Ema, out BeginIndex, out NbIndex, Param1, Param2, Param3);
            if (NbIndex != 0)
            {
                Ar .Copy(Param1, 0, iDom[i].Macd_Court, NbTicks - NbIndex, NbIndex);
                Ar .Copy(Param2, 0, iDom[i].Macd_Court_Signal, NbTicks - NbIndex, NbIndex);
                Ar .Copy(Param3, 0, iDom[i].Macd_Court_Hist, NbTicks - NbIndex, NbIndex);
            }
}

Re: API IG : récupérer des valeurs d'indicateurs ?

par clodreb » 02 févr. 2016 07:01

Merci BobbyO :merci:

ça va déjà bien m'aider.

Autre question : pour le remplissage de ton tableau de cours, tu le fais aux ticks par ticks en spécifiant l'heure de prise du tick et tu calcules ensuite le numéro de la Bougie en fonction de l'ut que tu veux où tu stoques uniquement les valeurs à "temps fixe" en fonction de l'ut choisi au départ ?


Merci - pour ta précision concernant l'ajout d'un indicateur.
Pour l'instant, je vais me contenter de voir ce que je peux faire avec des indicateurs existants...on verra après pour faire ses propres indicateurs ....faut pas mettre la charrue avant les boeufs :lol:

Re: API IG : récupérer des valeurs d'indicateurs ?

par bobbyO » 02 févr. 2016 09:19

clodreb a écrit : Autre question : pour le remplissage de ton tableau de cours, tu le fais aux ticks par ticks en spécifiant l'heure de prise du tick et tu calcules ensuite le numéro de la bougie en fonction de l'UT que tu veux où tu stoques uniquement les valeurs à "temps fixe" en fonction de l'ut choisi au départ ?
Mon tableau stocke en X ticks (i est l'indice correspondant à X) et je ne stocke pas l'heure mais uniquement l'indice du ou des ticks au fil de leur arrivée du flux.

Re: API IG : récupérer des valeurs d'indicateurs ?

par falex » 05 févr. 2016 14:49

Excel aussi :lol:

Re: API IG : récupérer des valeurs d'indicateurs ?

par clodreb » 02 mars 2016 07:20

Hello,
est-ce qu'il y a un moyen pour récupérer des valeurs des bougies précédentes via l'API ?

en utilisant le code suivant ,

Code : #

    r = requests.get(urls.pricesurl % (personal.epic, 'HOUR'),
                     headers=urls.fullheaders, proxies=personal.proxies)
    
    s = json.loads(r.content).get('prices')[0]
    print ("json :", s)

    s = json.loads(r.content).get('prices')[1]
    print ("json :", s)


j'arrive à avoir les valeurs de la bougie courante et de la bougie précédente mais si j'incrémente encore le compteur du tableau, j'ai le message d'erreur suivant :

s = json.loads(r.content).get('prices')[2]
IndexError: list index out of range


on ne sait pas avoir un historique de plus d'une bougie ???

Re: API IG : récupérer des valeurs d'indicateurs ?

par beni » 08 mars 2016 14:38

Oui, oui c'est possible. Il faut que tu le précise dans ton url. Regardes ici
https://labs.ig.com/rest-trading-api-reference/service-detail?id=184

Par exemple

Code : #

urlprice = base_url + "/prices/IX.D.DAX.IDF.IP/MINUTE/100"
retourne les 100 dernières bougies

Sujets similaires
Récupérer les cours avec l'API IG Market et Python
par Amarantine » 24 juil. 2016 12:09 (55 Réponses)
Utilisation de l'API d'IB pour récupérer les prix en TR
Fichier(s) joint(s) par cafeiine2023 » 26 mai 2022 15:08 (3 Réponses)
Valeurs des Indicateurs techniques sur cotation 24/24
par lasaumure » 05 mai 2020 13:01 (7 Réponses)
Récupérer le calendrier économique de 2013
par takapoto » 20 mars 2014 20:54 (3 Réponses)
Récupérer des données "à la seconde près"
par Sagal » 05 juil. 2014 03:36 (5 Réponses)
Mettre nos ressources en commun pour récupérer les cours
Fichier(s) joint(s) par takapoto » 25 oct. 2014 19:58 (245 Réponses)
Récupérer données historiques
par takapoto » 15 déc. 2014 21:13 (1 Réponses)
Comment récupérer après une journée de trading?
par chifounou » 18 août 2015 11:04 (15 Réponses)