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

Re: API REST

par leroidessables » 15 janv. 2015 01:16

Avez-vous du nouveaux messieurs les experts informatiques?

Je voudrais pouvoir trader via excel, ne serait-ce que pour avoir des tickets pré-remplis et maintenus. Mais mes connaissances inexistantes en programmation me laisse les bras ballants devant le première erreur qui remonte à la connexion de l'API.

Merci d'avance :mercichinois:

Re: API REST

par takapoto » 25 janv. 2015 17:12

- a écrit :pour tous ceux qui voudraient faire de l'auto (prenant en compte des infos d'indicateurs d'AT), il y a une super librairie AT qui s'appelle TA-LIB (c'est de l'open source)
- :merci:

Re: API REST

par Mister Hyde » 25 janv. 2015 17:26

- a écrit : Interface C++
Pour ceux que ça intéresse, il y a un gars qui a posté son exemple de client "LightStreamer" implémenté en C++ à l'url suivante :
https://github.com/digination/cpp-lsclient
et qui précise ceci :
"PS: comming soon, a C++ connector to the IG Api for use with your ATS."
pourvu que le "soon" ne soit pas "too late" pour ceux qui attendent une interface C++
Merci -, ça m'intéresse fortement mais

Code : #

This is a Quick'n'Dirty C++ implementation of LightStreamer Client
Copyright(c) 2015 Clément Gamé.

Unit Tests: 0% (Code Coverage: 0%)
Je vais m'en inspirer.
- a écrit : Pour le client lightstreamer en C++, malheureusement l'auteur ne s'est pas basé sur des librairies classiques type BOOST mais a un biais Linux, sur windows il faut donc installer Cygwin ou installer les portages des thread posix et libcurl.
Justement, l'auteur à choisis des libs portables :
libcurl is highly portable, it builds and works identically on numerous platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX, IRIX, AIX, Tru64, Linux, UnixWare, HURD, Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS and more...
On peut seulement regretter qu'il n'ait pas utilisé le support des threads ajouté dans C++11

Pour développer une app en C# .Net, tout est déjà dans le framework .Net (threading, socket, http) et il existe une lib client-lightstreamer qui évite de devoir implémenter le protocole, pas besoin de libcurl ou équivalent.

Re: API REST

par beni » 25 janv. 2015 18:40

Bonsoir,

Pour les développeurs python il y une librairie qui marche plutôt bien
https://github.com/femtotrader/ig-markets-rest-api-python-library

une deuxième mais celle là je n'ai pas testé.
https://github.com/Weswit/Lightstreamer-example-StockList-client-python

a+

Re: API REST

par ladefense92800 » 25 janv. 2015 21:00

je decouvre la file ..... abonné

Re: API REST

par falex » 25 janv. 2015 21:48

Ah cool car en tant que fan de Python j'avais la flemme de devoir tout écrire

Re: API REST

par koub » 26 janv. 2015 21:07

Plop, je viens de tomber par hasard sur ce fil, je le place directement dans mes favoris...

A la revoyure, koub. :)

Re: API REST

par koub » 28 janv. 2015 12:18

- a écrit :Le message d'erreur est le suivant au login (une fois positionné le user, password et API key) :
"Impossible de lire la propriété RTD de la classe WorksheetFunction".
HoulaHup, barbatruc:
https://labs.ig.com/node/132

+, koub. :mercichinois:

Re: API REST

par falex » 28 janv. 2015 13:29

MDR

C'est comme l'appliction iphone : c'edst exacement le même pb.

Dès que que tu veux modifier un niveau tu es obligé d'effacer jusqu'u point et de taper une "," ...

ça fait déjà 4 fois que je remonte le pb ...

---

D'un autre côté Excel est relativement "Ch.ant" avec cette hsitoire de "." et "," ...

Re: API REST

par falex » 28 janv. 2015 14:23

Tiens Voici une carte des pays qui utilise le "point" et la "virgule" comme séparateur de décimal.

http://fr.wikipedia.org/wiki/S%C3%A9parateur_d%C3%A9cimal#mediaviewer/File:DecimalSeparator.svg

En nombre les Virgule sont majoritaire ... mais comme l'informatique est plutot "anglo-saxonne" on est obligé de subir ce genre de pb :-( desespérant

Re: API REST

par falex » 28 janv. 2015 14:40

Pour ceux qui on t déjà codé leur appli ig / API petite question et correction si possible :

1) il faut se loger via les API REST pour avoir un token CST et X-SECURITY-TOKEN.
De là deux choix possible :
1.1) Rester en "REST" avec pour action "gestion ducompte", dealing, "info de marché ou historique de prix", les listes utilisateurs.
De là impossible d'avoir les cours en réel (Vrai ou faux ?)

1.2) Passer en mode Stream (login obligatoire avec les clefs CST et X-SECURITY-TOKEN)
Accès aux flux tick by tick
mais un truc que je ne pige pas bien en lisant les Référence des commande API : est-il possible d'ouvrir une position en Stream ? ou bien cela se fait uniquement en REST ?

Que me faut-il pour avoir :
1) la liste des positions ouvertes
2) Ouvrir/fermer une position
3) flux temps réel du prix

Je dirai et pouvez-vous me corriger :
1) REST oui Stream Oui
2) REST oui STREAM ?
3) Stream uniquement

Re: API REST / STREAM

par lr35 » 28 janv. 2015 15:59

falex: Les ouvertures de position sauf erreur, c'est via REST, le stream, c'est juste pour l'affichage.

Pas seulement l'affichage des cours, cela peut aussi afficher en temps réel les positions prises, peut être même les fluctuation du compte (d'une position?) lorsqu'une position est ouverte

Re: API REST / STREAM

par lr35 » 28 janv. 2015 17:25

Je ne comprend pas trop les push/pull.

Pour le stream, t'as une connexion ouverte et tu écoutes.
Le stream à un truc de controle pour lui dire ce que tu veux écouter, les cours du dax par exemple.

L'Api IG REST, tu lui demandes quelque chose, il te répond tout de suite en effectuant une action si besoin.

Re: API REST

par Melmoth » 28 janv. 2015 17:30

falex a écrit :Pour ceux qui on t déjà codé leur appli IG / API petite question et correction si possible :

1) il faut se loger via les API REST pour avoir un token CST et X-SECURITY-TOKEN.
De là deux choix possible :
1.1) Rester en "REST" avec pour action "gestion ducompte", dealing, "info de marché ou historique de prix", les listes utilisateurs.
De là impossible d'avoir les cours en réel (Vrai ou faux ?)

1.2) Passer en mode Stream (login obligatoire avec les clefs CST et X-SECURITY-TOKEN)
Accès aux flux tick by tick
mais un truc que je ne pige pas bien en lisant les Référence des commande API : est-il possible d'ouvrir une position en Stream ? ou bien cela se fait uniquement en REST ?

Que me faut-il pour avoir :
1) la liste des positions ouvertes
2) Ouvrir/fermer une position
3) flux temps réel du prix

Je dirai et pouvez-vous me corriger :
1) REST oui Stream Oui
2) REST oui STREAM ?
3) Stream uniquement

Salut,

Les deux API sont complémentaires et ne s'opposent pas.
1) REST
2) REST ou STREAM (tout comme on peut ouvrir une position dans PRT et la fermer dans l'interface Web)
3) STREAM (via REST cela est possible mais techniquement moins performant et tu atteindras rapidement le quota des 40 requêtes/minute)

Re: API REST / STREAM

par Melmoth » 28 janv. 2015 17:46

lr35 a écrit :Je ne comprend pas trop les push/pull.

Pour le stream, t'as une connexion ouverte et tu écoutes.
Le stream à un truc de controle pour lui dire ce que tu veux écouter, les cours du dax par exemple.

L'API IG REST, tu lui demandes quelque chose, il te répond tout de suite en effectuant une action si besoin.
Oui c'est bien cela : push/pull sont juste des termes techniques qui indiquent le sens du flux des données entre ton ordinateur et les serveurs d'IG : push veut dire du serveur IG à chez toi (synchrone : j'ai les mises-à-jour dès qu'elles arrivent chez moi), pull de ton ordinateur vers le serveur (asynchrone).

Re: API REST

par Melmoth » 28 janv. 2015 17:54

Mister Hyde a écrit :
- a écrit :
- a écrit : Pour le client lightstreamer en C++, malheureusement l'auteur ne s'est pas basé sur des librairies classiques type BOOST mais a un biais Linux, sur windows il faut donc installer Cygwin ou installer les portages des thread posix et libcurl.

Pour développer une app en C# .Net, tout est déjà dans le framework .Net (threading, socket, http) et il existe une lib client-lightstreamer qui évite de devoir implémenter le protocole, pas besoin de libcurl ou équivalent.
Heu...Il y a surtout la librairie Pcl fournie par IG pour développer en C# un client manipulant les deux API Rest et Stream. ;-)

Beaucoup plus simple, on manipule directement des objets et tout est encapsulé. C'est beaucoup plus rapide à développer et la gestion de l'asynchronisme est parfaitement géré par .NET 5 (tokens async/await).

Re: API REST / STREAM

par falex » 28 janv. 2015 17:56

A h oui bien vue le côté Push/pull, c'est hyper important pour bien écrire ton code car là tu ne le fais pas réagir de la même manière.

Re: API REST / STREAM

par Mister Hyde » 28 janv. 2015 17:58

Pas mieux,

REST pour effectuer des actions ponctuelles, passage d'ordre, récupérer les infos du compte, les positions ouvertes / en attente.
Stream, pour recevoir l'information en continue sur les cours, les positions ouvertes / en attente.

Ne pas utiliser REST pour récupérer les infos en continue pour savoir si vos positions en attente ont été ouverte par exemple.
Aux mieux vous allez atteindre le quota de l'API, au pire vous allez vous faire suspendre.

Rappel des limites :

What are the default REST Trading API limits?

Per-app non-trading requests per minute: 60
Per-account trading requests per minute: 100
Per-account non-trading requests per minute: 30
Historical price data points per week: 10,000


What are the default Streaming API limits?
40 concurrent subscriptions

Re: API REST

par Mister Hyde » 28 janv. 2015 18:03

Melmoth a écrit :
falex a écrit : Que me faut-il pour avoir :
1) la liste des positions ouvertes
2) Ouvrir/fermer une position
3) flux temps réel du prix

Je dirai et pouvez-vous me corriger :
1) REST oui Stream Oui
2) REST oui STREAM ?
3) Stream uniquement

Salut,

Les deux API sont complémentaires et ne s'opposent pas.
1) REST
2) REST ou STREAM (tout comme on peut ouvrir une position dans PRT et la fermer dans l'interface Web)
3) STREAM (via REST cela est possible mais techniquement moins performant et tu atteindras rapidement le quota des 40 requêtes/minute)
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.

Re: API REST / STREAM

par koub » 28 janv. 2015 19:10

Replop la team
- a écrit :Je vais enfin pouvoir me servir de cet exemple Excel (avant de développer mon appli .NET, qui elle devrait prendre plus de temps à travailler).
You are welcome, je voulais aussi bosser en VBA pour l'API, je trouve cela plus simple même si j'aime bien le python ou C#... Autant faire profiter la communauté et les gens qui veulent s'y frotter around the world chez IG. :)

Benoist pourra être fier de ses disciples, j'ai fait de la com pour ANDLIL et il pourra faire ses tests sur EXCEL... :D

Pour ma part, une fois l'exemple VBA bien dépouillé du surplus de codes "multi-indices", j'ai bon espoir de pouvoir descendre sous la barre des 500ms sans faire chauffer mon I5 watercoolé :musique:
Falex a écrit :ça fait déjà 4 fois que je remonte le pb ...
LoL, tu n'y as pas été avec le dos de la cuillère en tout cas sur le forum IG-Labs, ils ont pris cher les mecs... Pour leur défense, la librairie/classe de conversion HTTP "JSON" est libre et disponible pour la plupart des langages, ils l'ont implanté, n'importe qui aurait fait pareil, moi le premier... Et déboguer un problème qu'on n'arrive pas à reproduire est franchement compliqué, j'ai encore les stigmates de ce genre de déboires par le passé...

L'important étant d'avancer et si possible en communauté, le nombre fait la force, j'en suis intimement persuadé... :)
Falex a écrit :D'un autre côté Excel est relativement "Ch.ant" avec cette hsitoire de "." et "," ...
Oui problème récurrent, j'ai actuellement des difficultés avec FireBird au boulot (injections SQL), faire des MAJ sur des tables avec des nombres à virgule, ouarf... pirouettes powaa...


J'ai vu que Benoist avait créé le forum trading auto (ou semi-auto? ;)), excellent!!! cela serait bien vu de déplacer ce fil dans cette section, enfin c'est mon avis...

+, koub. ;)
Spoiler:
En tout cas, j'apprécie fortement la dynamique qui se crée autour de ce sujet d'API, ne changez rien, nous arriverons forcement à sortir quelque chose de cet élan communautaire...

Sujets similaires
[PYTHON] Script API IG STREAM + REST
par tcournez » 14 sept. 2015 21:50 (30 Réponses)
ig rest api - heure des ouvertures et clotures quotidiennes
par falex » 22 avr. 2015 14:50 (3 Réponses)
IG API : Augmentation du nombre de requet REST
par falex » 04 août 2016 10:31 (9 Réponses)
Aide pour API REST IG
par DarkPoule » 16 mai 2021 00:36 (46 Réponses)
API IB TWS comment stream flux future Dax
par shuraver » 28 mai 2020 22:07 (3 Réponses)
REST , maj
par brucy » 21 août 2015 18:23 (1 Réponses)
LS_snapshot (stream)
par Tartempion » 22 sept. 2015 21:57 (10 Réponses)
clarification signification "#" et "" dans les flux stream
par musicae » 23 sept. 2016 15:01 (3 Réponses)
risque d'arrêt du Gulf Stream
par noko » 07 sept. 2018 20:28 (4 Réponses)
Trader au Stream Deck avec ProRealTime : une révolution
Fichier(s) joint(s) par Benoist Rousseau » 04 déc. 2019 12:00 (75 Réponses)