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

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

par clodreb » 18 Déc 2015 16: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 19: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 Jan 2016 23: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 Jan 2016 23: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év 2016 19: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év 2016 19: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év 2016 21: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év 2016 21:43

Voilà :
Le calcul d'un MACD 4 19 3 sur un tableau de cours iDom[i].Cours
Code: Tout sélectionner
        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év 2016 08: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 ou 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év 2016 10: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 ou 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.

Articles en relation
Récupérer les cours des marchés IG sous Excel
par LPhilippe » 22 Aoû 2015 16:25 (9 Réponses)
Récupérer les cours avec l'API IG Market et Python
par layzard » 24 Juil 2016 12:09 (53 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 (36 Réponses)

ProRealTime