API REST / STREAM

LabZone, l'atelier de développement du forum Andlil : API, logiciels et utilitaires de trading créés par les membres, versions, bugs et idées.
Avatar du membre
Melmoth
Padawan
Messages : 299
Enregistré le : 12 janv. 2015 12:40

Re: API REST

Message non lu par Melmoth »

Mister Hyde a écrit : Dans l'API Stream on ne peut pas ouvrir/fermer de position, c'est simplement pour recevoir en temps réel les mise à jour des positions.
Tu as raison : IG recommande de passer par l'API streaming pour avoir confirmation du trade passé avec l'API REST.
Confirmation - a deal identifier is received by subscribing to the TRADES:CONFIRMS Streaming API message (recommended), or by polling the /confirms REST API
beni
Compagnon Jedi
Messages : 1395
Enregistré le : 11 juil. 2012 18:31

Re: API REST

Message non lu par beni »

falex a écrit :Ah cool car en tant que fan de Python j'avais la flemme de devoir tout écrire
on est deux alors ! :mrgreen:


félicitations koub ! celle-là fallait la trouver ! :bravo:
Avatar du membre
falex
Le Gladiateur
Messages : 34267
Enregistré le : 12 févr. 2013 15:41

Re: API REST / STREAM

Message non lu par falex »

Koub je m'énerve surtout pour le programme iphone l'histoire du Jason et d'excel montre bien que les fifferentes équipes de dev. Ne tiennent pas compte de ce souci ... Et c'est particulièrement casse bonbon a chaque fois que je veux changer une valeur surtout sur le FX.

---

Finallement je pense que je fais abandonner mon idee en Python et plutôt m'orienter vers le .Net et C# car :
- si les états sont bien géré inutile de réinventer l'eau chaude
- au bureau faut que je sorte avec une authent NTLM sur le proxy et en Python c'est franchement galère.
Avatar du membre
Melmoth
Padawan
Messages : 299
Enregistré le : 12 janv. 2015 12:40

Re: API REST / STREAM

Message non lu par Melmoth »

falex a écrit : Finallement je pense que je fais abandonner mon idee en Python et plutôt m'orienter vers le .Net et C# car :
- si les états sont bien géré inutile de réinventer l'eau chaude
- au bureau faut que je sorte avec une authent NTLM sur le proxy et en Python c'est franchement galère.
Je te confirme : a'ai testé et depuis mon taf je passe sans problème le proxy en NTLM avec un client .NET pour se connecter à IG via leurs API
Avatar du membre
falex
Le Gladiateur
Messages : 34267
Enregistré le : 12 févr. 2013 15:41

Re: API REST / STREAM

Message non lu par falex »

Smack

Seul pb : va falloir que j'installe visual Studio et mon "petit PC" qui n'a que 120G de SSD est déjà presque plein :-(

Et le temps de (re)découvrir comment marche le bidule (la dernière fois que j'ai du "apercevoir" visul studio c'était y'a 10/15 ans ...).

En fait mon objectif est surtout d'avoir un automate qui s'occupe de sortir le demi lot et de réajuster le SL quand on arrive a un certain niveau de TP ... et ce que j'ai une ou 10 positions en // (en réalité je peux monter jusqu'à 3 voir 4 et là ça devient un poil ingérable en manuel avec les alertes comme seul outil).

Pas bien compliqué mais je vais avoir besoin de toute la quincaillerie REST et STREAM au vue de notre échange.

---

L'histoire de la double connexion s'applique toujours ? si tu utilises l'API, impossible d'utiliser le WEb et/ou PRT en même temps ?
On en a parlé mais là j'ai comme un doute car il était question que si on passe en STREAM alors on peut de nouveau se connecter sur le web.
Avatar du membre
Mister Hyde
Compagnon Jedi
Messages : 1343
Enregistré le : 26 mai 2014 11:49

Re: API REST / STREAM

Message non lu par Mister Hyde »

Oui, pour implémenter les petites fonctionnalités de trading semi-auto, il faut les 2, API REST et Streaming.

Si tu ouvres une session avec l'API, ça ferme la session web. Pour le Streaming il te faut un id de session qui est généré à chaque login.
Avatar du membre
Mister Hyde
Compagnon Jedi
Messages : 1343
Enregistré le : 26 mai 2014 11:49

Re: API REST

Message non lu par Mister Hyde »

Je viens de relire la file, nous avons notre réponse ;)
jized a écrit :Bonjour,

En echo aux messages précédents :

En effet, j'utilise le langage Java pour la connexion pour diverses raisons :
- Javascript est plus lent, nécessite un navigateur ou un environnement lourd pour tourner, et il a plein de limites d'accès aux fichiers pour des raisons de sécurité.
- Excel : pas du tout adapté à une gestion en temps réel des ticks qui arrivent à tout moment.
- Le mode STREAM fait appel à une bibliothèque externe qui n'existe pas dans beaucoup de langages (Lightstreamer).

Pour se connecter en mode REST, il faut pouvoir contrôler complètement les paramètres des requêtes HTTPS pour respecter le protocole d'accès au serveur IG, ce qui n'est pas évident avec les trucs tout fait de langages plus simples à utiliser mais qui cachent plein de paramètres.

La connexion en mode REST ne donne pas accès aux cotations en temps réel, mais elle permet d'obtenir des codes de session pour basculer en mode STREAM.

Malgré tout je note quelques problèmes :
- une connexion directe en mode REST ferme toute autre connexion active, en particulier le trading par l'appli web de IG, et vice-versa. On ne peut pas avoir les 2 en même temps.
Par contre si PRT tourne il n'est pas fermé (ouf).
Quand le mode STREAM est établi, on peut à nouveau se connecter par l'interface web.

- il y a des déconnexions aléatoires plusieurs fois dans la journée de la part du serveur IG (0, ou 1, ou bien 5 ou 6, c'est imprévisible).
J'ai donc mis en place un système de surveillance qui détecte les déconnexions pour se reconnecter immédiatement (moins d'une minute).

Mais il y a un effet secondaire car qui dit nouvelle connexion dit déconnexion de l'interface web... c'est ennuyeux quand un scalp est en cours :o
Avatar du membre
z0om
Padawan
Messages : 494
Enregistré le : 10 sept. 2014 12:40

Re: API REST / STREAM

Message non lu par z0om »

Bonjour,

J'aimerais utiliser l'API pour programmer des alertes sur cours mais je n'ai rien vu dans ce sens dans la documentation.

Je me trompe ?
Avatar du membre
Mister Hyde
Compagnon Jedi
Messages : 1343
Enregistré le : 26 mai 2014 11:49

Re: API REST / STREAM

Message non lu par Mister Hyde »

Si c'est pour utiliser l'API pour créer des alertes dans la plateforme web, non.

Si c'est dans ton application, tu récupères et les cours et tu fais ce que tu veux ;)
Matema6757

Re: API REST / STREAM

Message non lu par Matema6757 »

Alors sa donne quoi vos avancé ? Dans le sens vous pensez qu'il y réellement moyen de créer un super truc et surtout aussi rapide que les tickets ig eux même?

Car si la réponse est oui vous connaissez un site ou on peu faire développer sa car comme dit quelque page plus loin en programmation je dois coté -90 ^^
Avatar du membre
koub
Stormtrooper
Messages : 229
Enregistré le : 13 déc. 2014 19:02

Re: API REST / STREAM

Message non lu par koub »

Plop, oui avec EXCEL la rapidité est correcte mais effectivement ne semble pas adaptée à du scalping à la seconde (ça dépend si la partie analyse se fait à la minute)...

j'ai aussi des problèmes avec ma reconnexion automatique, si je génère plusieurs déconnexions intempestives en quelques secondes, le STREAM plante aléatoirement côté serveur avec un token pourtant valide... Avez-vous rencontré ce phénomène avec la plateforme java ou net?

Idem, je constate de façon aléatoire des divergences entre les données STREAM et REST, zuper...

+, koub. :musique:
Avatar du membre
z0om
Padawan
Messages : 494
Enregistré le : 10 sept. 2014 12:40

Re: API REST / STREAM

Message non lu par z0om »

Mister Hyde a écrit :Si c'est pour utiliser l'API pour créer des alertes dans la plateforme web, non.
Mince :(

C'était effectivement bien pour ça : créer des alertes via une interface web personnalisée pour qu'elles remontent dans mon compte IG et ainsi recevoir les notifications sur mon téléphone.

Une alternative existante ?
Matema6757

Re: API REST / STREAM

Message non lu par Matema6757 »

-< oui tu as raison avant de demander à un développeur il faut avoir un cahier de charge béton...

merci pour les sites comme exemple
Avatar du membre
koub
Stormtrooper
Messages : 229
Enregistré le : 13 déc. 2014 19:02

Re: API REST / STREAM

Message non lu par koub »

Replop,
z0om a écrit :C'était effectivement bien pour ça : créer des alertes via une interface web personnalisée pour qu'elles remontent dans mon compte IG et ainsi recevoir les notifications sur mon téléphone.
Tout est possible... Si tu as une stratégie définie sur des indicateurs techniques, rien ne t’empêches de les programmer en VBA, .NET ou java en utilisant l'API IG et ainsi te créer des alertes email, les cours restant les même...

Par contre, comme le dit Hyde, tu ne peux pas programmer directement sur la plateforme web d'IG... Pour des alertes, la solution ProBuilder de PRT peut sûrement répondre à tes attentes si elles sont simples et réalisables...
Spoiler:
Attendons toutefois Jekyll pour confirmation...
Spoiler:
je sors... :musique:
bon du coup, personne n'a répondu à mon post... :(

+, koub. :roll:
Fichiers joints
vous allez me dire, ce n'est pas grand chose, mais là j'en suis à la récupération des données en streaming (UT=1 minute) + maj complète partielle si besoin suite fermeture du fichier EXCEL... le compteur en haut à droite vérifie les connexions REST et STREAM tte les minutes et reconnecte si nécessaire... :p
vous allez me dire, ce n'est pas grand chose, mais là j'en suis à la récupération des données en streaming (UT=1 minute) + maj complète partielle si besoin suite fermeture du fichier EXCEL... le compteur en haut à droite vérifie les connexions REST et STREAM tte les minutes et reconnecte si nécessaire... :p
Avatar du membre
koub
Stormtrooper
Messages : 229
Enregistré le : 13 déc. 2014 19:02

Re: API REST / STREAM

Message non lu par koub »

rien que le delta Bid/offer de 2 pips à 19h me motive fortement à continuer la prog par rapport à MT4...

+, koub. :P
Avatar du membre
Mister Hyde
Compagnon Jedi
Messages : 1343
Enregistré le : 26 mai 2014 11:49

Re: API REST / STREAM

Message non lu par Mister Hyde »

z0om a écrit :
Mister Hyde a écrit :Si c'est pour utiliser l'API pour créer des alertes dans la plateforme web, non.
Mince :(

C'était effectivement bien pour ça : créer des alertes via une interface web personnalisée pour qu'elles remontent dans mon compte IG et ainsi recevoir les notifications sur mon téléphone.

Une alternative existante ?
Ce que j'en comprends de la logique d'utilisation, est soit tu utilises la plateforme web, soit tu développes ta propre plateforme, étant donné qu'une seule connexion est autorisée par compte.
Ce qui évite beaucoup de problème de synchronisation entre les applis, avec des infos sur les serveurs, et des infos en local dans chaque applications.
Ça voudrait dire qu'il faut que tu jongles entre les applis, en déconnexion / reconnexion, et que tu sois connecté au bon moment pour recevoir l'alerte depuis la plateforme web.

Même si techniquement ce n'est pas impossible pour IG, puisque apparemment on peut récupérer/modifier les watchlist créée depuis la plateforme web.
Avatar du membre
koub
Stormtrooper
Messages : 229
Enregistré le : 13 déc. 2014 19:02

Re: API REST / STREAM

Message non lu par koub »

Replop,
- a écrit :Félicitations pour ton travail car sur la communauté IG-LABS, ça avait l'air de patauger pour résoudre ce problème.
Tu vas sortir une sacrée épine du pied à pas mal de développeurs.

Si ce n'est pas du partage ça, je n'y connais rien.
Bah apparement ça n'a pas réglé tous les problèmes mais ça avance:

https://labs.ig.com/node/140

Nouveau thread IG pour regrouper les différents fix de l'exemple EXCEL... Wouarf, ils n'ont pas refait de pub pour Andlil, donc j’arrête de poster... joke :P

En avant-première, autre fix mineur dans la private sub "WorkSheet_SelectionChange" du Main:

Code : #

Range("bidTextField").Formula = Cells(Target.Cells.row, Target.Cells.column + 4).Formula
Range("offerTextField").Formula = Cells(Target.Cells.row, Target.Cells.column + 5).Formula
à remplacer par:

Code : #

Range("bidTextField").Formula = Cells(Target.Cells.row, Target.Cells.column + 3).Formula
Range("offerTextField").Formula = Cells(Target.Cells.row, Target.Cells.column + 4).Formula
Spoiler:
ce thread ne se verra pas déplacé dans la section trading auto?
Spoiler:
beaucoup de taff cette semaine, ça a débordé sur mon temps perso et ce WE disney pour l'anniv de ma femme, donc break...
+, koub. :|
Avatar du membre
Mister Hyde
Compagnon Jedi
Messages : 1343
Enregistré le : 26 mai 2014 11:49

Re: API REST / STREAM

Message non lu par Mister Hyde »

koub37 a écrit :
Spoiler:
ce thread ne se verra pas déplacé dans la section trading auto?
Spoiler:
On parle de l'API IG Markets, il n'est pas bien dans le forum IG Markets ? :mrgreen:
Avatar du membre
leroidessables
Chevalier Émérite Jedi
Messages : 3517
Enregistré le : 30 août 2014 21:13

Re: API REST / STREAM

Message non lu par leroidessables »

Je vais vous dire un truc, ça vaut ce que ça vaut. J'arrive à être connecté sur 2 supports en même temps, c'est un truc que j'ai remarqué quand ça se passait comme ça:

Le matin au réveil je lance l'appli IG sur mon tel (android) je check les cours, les graphiques, j'ouvre une autre appli (mail par exemple) je verrouille le tel. Une fois debout, j'allume le pc, je lance IG (sur le même compte je précise) je pose mes graphiques etc bref je suis en place. Et quand je déverrouille le tel et que je bascule sur l'appli ig, je peux encore consulté mes graphiques, ou voir des positions en cours que j'ai pu ouvrir via le pc.

Sur ce :mercichinois:
Avatar du membre
koub
Stormtrooper
Messages : 229
Enregistré le : 13 déc. 2014 19:02

Re: API REST / STREAM

Message non lu par koub »

Hyde a écrit :
Spoiler:
On parle de l'API IG Markets, il n'est pas bien dans le forum IG Markets ? :mrgreen:
Spoiler:
pas faux, je crois que nos deux points de vue se défendent Hyde :lol2: