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

Re: Utilisation Excel avec API IG

par falex » 26 mai 2015 18:08

Pour ma culture c'est quoi les "Portable Tools" ?

Re: Utilisation Excel avec API IG

par takapoto » 01 juin 2015 20:35

Bonjour -,

De mon coté, j'ai également commencé l'écriture de mon outil en C#.

J'ai un peu débroussaillé la manière d'appeler les API d'IG et j'ai regroupé sous un même projet plusieurs classes permettant d'y accéder.

Si ça t'intéresse, pour gagner du temps, c'est ici :
https://www.dropbox.com/sh/vhyrd4xliy49g1d/AADh3VoyRN6VWUqo4pDgsj_ga?dl=0

Ce n'est pas encore complet, mais ça permet déjà de se connecter et de streamer les cours.

Edit :
Le mode d'emploi est dans TakaIGGlobales.cs

Re: Utilisation Excel avec API IG

par takapoto » 01 juin 2015 22:25

on a la même vision des choses :)

Re: Utilisation Excel avec API IG

par bobbyO » 15 juin 2015 10:35

Hello,
Je viens également de me lancer dans le dev C#. Je suis reparti de l'exemple WinForm plutôt que WPF, tout est déjà présent globalement.
J'élague ce qui ne m’intéresse pas et j'adapte le reste. Effectivement, ça va assez vite.
Par contre, je viens de voir TakaIG qui est un peu déjà le même travail bien élagué. Peut-être vais-je m'en inspirer.
-+

Re: Utilisation Excel avec API IG

par falex » 02 juil. 2015 16:05

Yo -,

Est-ce que dans excel il est possible de coder (en vba ou une autre truc de ce gout) un connecteur HTTPS ?
Mon idée c'est de récuperer directement mon historique de transactation ce qui se fait en 2 requetes REST sur l'interface API d'ig.

Je n'ai pas envie d'utiliser leur usine à gaz avec le moteur qui itnerafec Excel avec l'API.

Re: Utilisation Excel avec API IG

par falex » 02 juil. 2015 16:12

Tiens tiens ça c'est exactement ce dont j'ai besoin :
https://github.com/VBA-tools/VBA-Web

Reste plus qu'a coder le login ...

Re: Utilisation Excel avec API IG

par tucherpol » 31 août 2015 22:48

hello , désolé je suis nouveau sur le forum. je suis sur Mac et je trade chez ig. Vous parlez d'API, je ne connais pas, mais en revanche je suis intéressé par des outils dont vous parlez : stat et toutes sortes de données sur mon trading.

pouvez vous m'orienter svp ?

et encore dsl pour cette question, peut-être y avez vous déjà répondu ailleurs sur le forum,

merci

Re: Utilisation Excel avec API IG

par Amarantine » 01 sept. 2015 11:15

@Tucherpol: on évite au maximummum de cliquer sur le bouton "citer";
Tout est expliqué dans le message aux nouveaux dont je t'ai donné le lien dans ta présentation.
Je te conseille vivement de prendre le temps de le lire, c'est la seule façon de se conformer aux règles (strictes ;) ) de ce forum.

Re: Utilisation Excel avec API IG

par Deal » 15 nov. 2015 20:03

Bonsoir,
Merci à vous pour l'info ig et les liens github et soa-probe. ;-)
J'ai donc également demandé le fichier Excel "ig-api-toolkit 0.1 beta".
J'en étudie (tranquillement) la structure et rencontre quelques soucis.
Ma question porte sur l'Onglet "Automation/Create Positions/Custom conditional".
Je cherche à syntaxer ce critère et à en combiner plusieurs ?
Des conseils/indices/pistes à explorer ?
Bonne soirée
Deal

Re: Utilisation Excel avec API IG

par clodreb » 14 déc. 2015 08:42

Salut -,

je viens de télécharger l'exemple de sheet excell sur le site ig et j'ai quelques soucis : les boutons et cases ne réagissent pas du tout ou grandissent quand on clique dessus.

il ne prenait d'ailleurs même pas mes identifiants pour me logguer : j'ai dû les mettre en dur dans le code correspondant au bouton "login".
Aurais-tu une idée de l'origine de ce problème ?

Dans cet exemple, c'est uniquement du trading "live" et non pas des encodages d'ordres prévisionnels. y-a-t-il un exemple ailleurs pour faire ce genre de chose via excell ?
(mon but serait par exemple de voir ce que ça donne de créer d'un seul clic , 12 ordres tous les matins ;-))

Re: Utilisation Excel avec API IG

par clodreb » 16 déc. 2015 09:02

oui, je me suis mis en mode édition par la suite pour voir le code vba et le modifier pour qu'il prenne mes identifiants.
Mais avant de passer en mode édition, j'ai simplement testé la sheet et elle ne réagit pas du tout comme il le faudrait...

pas grave, je vais reprendre le code vba et l'associer à ma propre feuille excell dans laquelle je mettrai mes propres boutons.

il fau juste que je trouve les commandes exactes pour faire des ordres OTC ...

Re: Utilisation Excel avec API IG

par clodreb » 17 déc. 2015 09:39

un truc que je ne comprends pas bien dans leur macro c'est que la fonction qui crée leur position ne tient pas du tout compte de la valeur introduite dans "ordertype"

dans leur code, il y a :
dealReference = restClient.createPosition(epic, expiry, direction, size, crncy, limit)

or, si je teste via le Companion API de leur site pour créer une position OTC, voici les champs que j'aimerais bien remplir :

Code : #

    epic = "IX.D.CAC.IMF.IP"
    expiry = "-"
    direction = "BUY"
    size = "3"
    orderType = "LIMIT"
    timeInForce = Null
    level = "4720"
    guaranteedStop = "false"
    stopLevel = Null
    stopDistance = "15"
    trailingStop = Null
    trailingStopIncrement = Null
    forceOpen = "true"
    limitLevel = Null
    limitDistance = "2"
    quoteId = Null
    currencyCode = "EUR"
cette notion de type d'ordre devrait quand même apparaître dans leur vba, non ?

edit : ok, je n'ai rien dit : c'est bien défini de manière implicite dans IGApiRestClient

Code : #

    If Trim(limit) = "" Or limit = "N/A" Then
        Call requestBodyDictionary.Add("orderType", "MARKET")
    Else
        Call requestBodyDictionary.Add("orderType", "LIMIT")
        Call requestBodyDictionary.Add("level", limit)
    End If
par contre, ça n'explique toujours pas pourquoi je n'arrive pas à envoyer des ordres OTC via cette sheet excell ....grrrrr

bon...on continue : je mets "en dur" les valeurs que je veux lors de la création de la request :

Code : #

    Call requestBodyDictionary.Add("epic", "IX.D.CAC.IMF.IP")
    Call requestBodyDictionary.Add("expiry", "-")
    Call requestBodyDictionary.Add("direction", "SELL")
    Call requestBodyDictionary.Add("size", "3")
    Call requestBodyDictionary.Add("orderType", "LIMIT")
    Call requestBodyDictionary.Add("timeInForce", Null)
    Call requestBodyDictionary.Add("level", "4780")
    Call requestBodyDictionary.Add("guaranteedStop", "FALSE")
    Call requestBodyDictionary.Add("stopLevel", Null)
    Call requestBodyDictionary.Add("stopDistance", "15")
    Call requestBodyDictionary.Add("trailingStop", Null)
    Call requestBodyDictionary.Add("trailingStopIncrement", Null)
    Call requestBodyDictionary.Add("forceOpen", "TRUE")
    Call requestBodyDictionary.Add("limitLevel", Null)
    Call requestBodyDictionary.Add("limitDistance", "2")
    Call requestBodyDictionary.Add("quoteId", Null)
    Call requestBodyDictionary.Add("currencyCode", "EUR")

et la sheet excell me renvoit ....ceci ....super explicit comme message à débugger
20151217_error_message_excell.JPG
20151217_error_message_excell.JPG (12.98 Kio) Vu 2439 fois
visiblement, ce n'est pas un champs obligatoire qui pose problème car si je mets en commentaire les champs un par un, j'ai chaque fois un message qui me dit que le champ untel ou untel ne convient pas ...par contre, le message ci-dessus....impossible de savoir que quel champs il s'agit.....allez ...on continue le débug :musique: .....

re-edit : bon, je crois que je me suis trompé de type d'ordre, il faut que je teste les "working order" pour mettre des ordres OTC par contre, via l'API conpanion , impossible d'encoder des valeurs que le système admette.

j'ai encodé ceci mais j'ai à chaque fois le message ""errorCode": "invalid.input""
20151217_working_order.JPG
20151217_working_order.JPG (44.1 Kio) Vu 2432 fois
si quelqu'un voit directement mon erreur , qu'il n'hésites pas à me le dire ;-)

Re: Utilisation Excel avec API IG

par clodreb » 18 déc. 2015 12:37

Bon alors, voici les valeurs que j'ai encodées et qui fonctionnent pour working-orders :

Code : #

    Call requestBodyDictionary.Add("epic", "IX.D.CAC.IMF.IP")
    Call requestBodyDictionary.Add("expiry", "-")
    Call requestBodyDictionary.Add("direction", "BUY")
    Call requestBodyDictionary.Add("size", "3")
    Call requestBodyDictionary.Add("level", "4000")
    Call requestBodyDictionary.Add("forceOpen", "true")
    Call requestBodyDictionary.Add("type", "LIMIT")
    Call requestBodyDictionary.Add("currencyCode", "EUR")
    Call requestBodyDictionary.Add("timeInForce", "GOOD_TILL_CANCELLED")
    Call requestBodyDictionary.Add("goodTillDate", Null)
    Call requestBodyDictionary.Add("guaranteedStop", "false")
    Call requestBodyDictionary.Add("limitDistance", "2")
     Call requestBodyDictionary.Add("stopDistance", "15")


En ce qui concerne la feuille excell, j'ai forcé les mêmes valeurs et ça n'a pas fonctionné tout de suite....il manquait une ligne dans leur définition du header : il faut ajouter la version pour que ça colle parfaitement à ce qu'il y a moyen de tester via API companion :

Code : #

Call oXMLHTTP.SetRequestHeader("version", "2")
attention également qu'il faut modifier l'adresse d'ouverture des envois pour les working-order :

Code : #

Call oXMLHTTP.Open("POST", IG_API_HOST + "/workingorders/otc", False)
rem : si vous voulez mettre une date de validité , attention qu'il y a un décalage d'une heure.

Code : #

    
"timeInForce": "GOOD_TILL_DATE",
"goodTillDate": "2016/01/11 22:25:00",
ça donnera dans votre station de trading un validité jusqu'au 11/01/2016 à 23h25
attention également de ne pas mettre d'espace à la fin du champs spécifiant l'heure

Re: Utilisation Excel avec API IG

par clodreb » 08 janv. 2016 16:02

Bon et bien les ordres de clôture partielles n'ont pas l'air de bien fonctionner via excell....grrrr...

même en mettant des valeurs en " dur" dans l'appel, il me met une erreur sur l'url utilisée ....bizarre,....je prends pourtant bien celle qui est utilisée via l'API companion et ça ne fonctionne pas .....

Si quelqu'un voit directement mon erreur, merci du renseignement :mrgreen:

Code : #

'
' Clôture partiel d'un ordre actif
'
Public Function closePartialPosition(dealId As String, direction As String, size As String) As String
    
    Call oXMLHTTP.Open("DELETE", IG_API_HOST + "/positions/otc", False)
    
    Dim requestBodyDictionary As Dictionary
    Set requestBodyDictionary = New Dictionary
    
    '''''  valeurs d'origine de l'envoi d'ordre "en live" '''''''''''''
    Call requestBodyDictionary.Add("epic", Null)
    Call requestBodyDictionary.Add("expiry", Null)
    Call requestBodyDictionary.Add("level", Null)
    Call requestBodyDictionary.Add("direction", "SELL")
    Call requestBodyDictionary.Add("size", "0.1")
    Call requestBodyDictionary.Add("orderType", "MARKET")
    Call requestBodyDictionary.Add("dealId", "DIAAAAAQQ848RA2")
    Call requestBodyDictionary.Add("timeInForce", Null)
    Call requestBodyDictionary.Add("quoteId", Null)
  
    Dim requestBodyString As Variant
    requestBodyString = JSON.toString(requestBodyDictionary)
MsgBox requestBodyString
    Call oXMLHTTP.SetRequestHeader("X-SECURITY-TOKEN", m_accountToken)
    Call oXMLHTTP.SetRequestHeader("CST", m_clientToken)
    Call oXMLHTTP.SetRequestHeader("X-IG-API-KEY", m_apiKey)
    Call oXMLHTTP.SetRequestHeader("Content-Type", "application/json; charset=utf-8")
    Call oXMLHTTP.SetRequestHeader("Accept", "application/json; charset=utf-8")
    Call oXMLHTTP.SetRequestHeader("version", "2")
    Call oXMLHTTP.SetRequestHeader("_method", "DELETE")
    Call oXMLHTTP.Send(requestBodyString)
'MsgBox requestBodyString
    Dim responseData As Dictionary
    Set responseData = JSON.parse(oXMLHTTP.responseText)
    
    If oXMLHTTP.Status = 200 Then
        closePartialPosition = responseData.Item("dealReference")
    Else
        MsgBox oXMLHTTP.responseText
        closePartialPosition = ""
    End If
        
End Function


Re: Utilisation Excel avec API IG

par raiden500 » 24 janv. 2016 14:02

Dites, quelqu'un peut il m'aider je suis vraiment vraiment debutant et pige rien :D
Bon je suis pas developpeur, dejà c'est fait.
Donc j'ai telechargé sur le site iglabs dans samples apps le fichier excel
Dezzipé et installé

Bon par contre j'ai oppenoffice
et j'ai lancé et bah rien, j'ai l'interface qu'on peut modifier sous excel
Mais et apres ?
Faut faire quoi :D ?

Peut etre faut il que j'abandonne :x

Re: Utilisation Excel avec API IG

par Benoist Rousseau » 24 janv. 2016 22:17

Ça a peu de chance de marcher avec open office

Re: Utilisation Excel avec API IG

par clodreb » 26 janv. 2016 06:54

déjà que ça ne fonctionne pas super bien avec excell et l'exemple d'ig ;-)
(il faut chipoter dans leur macro pour que ça fonctionne sur excell)

Re: Utilisation Excel avec API IG

par Benoist Rousseau » 26 janv. 2016 08:04

Ça dépend des versions d'excel :)

Re: Utilisation Excel avec API IG

par libertarian » 19 févr. 2016 16:39

bonjour
je voudrais avoir des infos sur ce projet, en fait je veux récupérer les cours de certains marchés dans une feuille excel
rien de compliqué il me faut juste le prix d'achat et le prix de vente c'est tout après ma feuille excel est déjà prête
je précise que je ne veux pas trader avec l'api excel d'ig mais je me suis dis que ce serait le moyen le plus simple d'arriver à mes fins
or je viens de télécharger et d'installer l'api et quand j'essaie de me login il y a un message d'erreur ça bloque dans la macro
un peu d'aide serait la bienvenue
merci:)

Re: Utilisation Excel avec API IG

par libertarian » 21 févr. 2016 16:59

salut!
j'ai essayé de bidouiller mais je ne suis pas assez calé en vba pour le faire fonctionner
tu avais réussi à obtenir les cours? on dirait que ig a aussi laissé de côté ce projet sur excel

Sujets similaires
Loiciel -> Excel (données de marché sur Excel)
par Benoist Rousseau » 13 oct. 2018 16:23 (2 Réponses)
Utilisation des API IG avec C#
par Mister Hyde » 04 juin 2015 08:36 (24 Réponses)
API IG : Utilisation de CURL
par Tartempion » 14 sept. 2016 17:00 (7 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)
Forex : feuille Excel de suivi
par Djobydjoba » 28 juil. 2012 11:13 (1 Réponses)
Backtest et Excel
par Greg31600 » 18 avr. 2013 01:26 (4 Réponses)
Maximum Drawdown - Excel Formula
par Tulipe » 05 août 2013 21:12 (9 Réponses)
Actualisation automatique des PV sur Excel
par Aarnii » 28 avr. 2014 18:00 (5 Réponses)
Les programmes simples, Excel, c'est ici ;)
Fichier(s) joint(s) par GOLDENBOY » 14 nov. 2014 22:18 (25 Réponses)
Extraction Excel
par Benoist Rousseau » 26 nov. 2014 21:19 (4 Réponses)