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.
beni
Compagnon Jedi
Messages : 1395
Enregistré le : 11 juil. 2012 18:31

Re: API REST / STREAM

Message non lu par beni »

Noooonnn!!!! apparement le problème du nombre de transactions (maximummum de 20) s'est propagé au comptes réels.
Je viens de tester avec une simple requête sans rien autour, rien à faire je ne reçois qu'un tableau de 20 transactions !

A moins que je m'y prenne mal, est ce que quelq'un a ce problème ?
Je viens de poser la question à IG, on verra bien....
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 »

Beni, y'a presque la même limite sur requête Excel dans l'interface web :-(
beni
Compagnon Jedi
Messages : 1395
Enregistré le : 11 juil. 2012 18:31

Re: API REST / STREAM

Message non lu par beni »

merci pour ta réponse falex !

Quand tu parles de requêtes Excel, c'est bien via Mon Compte>Historique>Transactions.
Effectivement, on a bien 20 requêtes par page, mais on peut accéder aux autres pages donc aux autres transactions, j'ai beau regarder la doc, je ne vois rien qui permette de "parcourir" ces pages via les api...
Bon y'a plus qu'à attendre une réponse de chris :roll:
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 »

Béni béni béni faut que tu creuses encore un peu ton utilisation de la Profit factor d'IG.
Oui je parle de Mon Compte>Historique>Transactions mais je clique sur Enregistrer et là ça te charge un ficheir Excel, pas une page web :(

La limite de l'extraction Web vers Excel est d'environ 500 lignes si j'ai bonne mémoire.
beni
Compagnon Jedi
Messages : 1395
Enregistré le : 11 juil. 2012 18:31

Re: API REST / STREAM

Message non lu par beni »

Ok, ok j'avais pas pensé a regarder via l'export excel. A ma décharge je ne me sers plus de VBA depuis qu'ils ont ouvert leur API ;-)

Merci pour le tuyau !
beni
Compagnon Jedi
Messages : 1395
Enregistré le : 11 juil. 2012 18:31

Re: API REST / STREAM

Message non lu par beni »

Hey !

Problème reglé pour l'histoire de la limite de 20 transactions.
Il faut juste ajouter un paramètre dans la requête (pageSize ou pageNumber)
cf https://labs.ig.com/node/239

Pas encore testé, mais apparement ça marche !

Cool 8-)
Avatar du membre
takapoto
Membre du Conseil Jedi
Messages : 7801
Enregistré le : 16 déc. 2013 15:56

Re: API REST / STREAM

Message non lu par takapoto »

:merci:
Anonyme
Ewok
Messages : 26
Enregistré le : 26 janv. 2015 09:29

Re: API REST / STREAM

Message non lu par Anonyme »

Modération : message effacé à la demande de l'internaute
Avatar du membre
takapoto
Membre du Conseil Jedi
Messages : 7801
Enregistré le : 16 déc. 2013 15:56

Re: API REST / STREAM

Message non lu par takapoto »

Il faut préciser le nombre de lignes dans la requête :
https://demo-api.ig.com/gateway/deal/history/transactions/ALL/01-01-1990/29-07-2015%5Bb%5D?pageSize=500[/b]
beni
Compagnon Jedi
Messages : 1395
Enregistré le : 11 juil. 2012 18:31

Re: API REST / STREAM

Message non lu par beni »

Exactement ! Taka a tout dit :mrgreen:

Si c'est pour la L3, il faut que tu modifie la requête dans le fichier event.py
la ligne 506:

Code : #

    r = requests.get(urls.transactionhistoryurl % (daydate, daydate),
                     headers=urls.fullheaders, proxies=personal.proxies)
devient

Code : #

    r = requests.get(urls.transactionhistoryurl % (daydate,daydate) + "?pageSize=500", 
                     headers=urls.fullheaders, proxies=personal.proxies)
Anonyme
Ewok
Messages : 26
Enregistré le : 26 janv. 2015 09:29

Re: API REST / STREAM

Message non lu par Anonyme »

Modération : message effacé à la demande de l'internaute
Anonyme
Ewok
Messages : 26
Enregistré le : 26 janv. 2015 09:29

Re: API REST / STREAM

Message non lu par Anonyme »

Modération : message effacé à la demande de l'internaute
Anonyme
Ewok
Messages : 26
Enregistré le : 26 janv. 2015 09:29

Re: API REST / STREAM

Message non lu par Anonyme »

Modération : message effacé à la demande de l'internaute
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 »

Hey les dev,

Est-ce que l'in d'entre vous arrive à passer un ticket sur coucou.D.LCO.UME.IP(Brut Brent mini1€ cash)

J'ai essayé avec le compagnon et le programme : Nada.
En manuel sur le web ça passe ...

Mais impossible de faire quoi que soit (même pas le droit de le fermer avec le programme) et dans l'historique j'ai : Order Rejetec, ...

Je ne vois vraiment pas ce qui cloche ... ou alors le marché n'est pas ouvert via l'API (ça me semble etre le plus probable vu ce que j'observe)
beni
Compagnon Jedi
Messages : 1395
Enregistré le : 11 juil. 2012 18:31

Re: API REST / STREAM

Message non lu par beni »

Yop !

Idem pour moi via la L3 ou mon appli j'ai
"rejected order: unknow"
Avatar du membre
Melmoth
Padawan
Messages : 299
Enregistré le : 12 janv. 2015 12:40

Re: API REST / STREAM

Message non lu par Melmoth »

Bonjour,

Je viens de faire le test et c'est passé de mon côté via l'API (via un WorkingOrder OTC sur l'EPIC "coucou.D.LCO.UME.IP"). J'ai reçu mon deal immédiatement :

Code : #

(2015-08-04 14:51:42.2769) <-- GET https://demo-api.ig.com/gateway/deal/confirms/RUXRVHHH4Q8BWRG

BODY:
{
    "status" : null,
    "reason" : "SUCCESS",
    "dealStatus" : "ACCEPTED",
    "epic" : "coucou.D.LCO.UME.IP",
    "expiry" : "-",
    "dealReference" : "RUXRVHHH4Q8BWRG",
    "dealId" : "DIAAAAAM574XFAG",
    "affectedDeals" : [
        {
            "dealId" : "DIAAAAAM574XFAG",
            "status" : null
        }
    ],
    "level" : 5078.2,
    "size" : 1.0,
    "direction" : "BUY",
    "stopLevel" : null,
    "limitLevel" : null,
    "stopDistance" : null,
    "limitDistance" : null,
    "guaranteedStop" : false,
    "trailingStop" : false
}
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 »

Melmoth tu peux envoyer le "body" de ta requête WorkingOrder s'il te plait

Si tu y arrives en "create position"/OTC je suis preneur aussi s'il te plait.
Avatar du membre
Melmoth
Padawan
Messages : 299
Enregistré le : 12 janv. 2015 12:40

Re: API REST / STREAM

Message non lu par Melmoth »

bien sûr :

Code : #

(2015-08-04 14:51:41.3565) --> POST https://demo-api.ig.com/gateway/deal/workingorders/otc
(...)
BODY:
{
    "epic" : "coucou.D.LCO.UME.IP",
    "expiry" : "-",
    "direction" : 0,
    "size" : 1.0,
    "level" : 5078.2,
    "type" : "LIMIT",
    "currencyCode" : "EUR",
    "timeInForce" : "GOOD_TILL_DATE",
    "goodTillDate" : "2015/08/04 13:56:31",
    "guaranteedStop" : false,
    "stopDistance" : null,
    "limitDistance" : null
}

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 »

et en OTC tu arrives à passer un ordre ?

Dans le compagnon j'envoi ça pour créer une position "MARKET"

Code : #

{
    "epic": "coucou.D.LCO.UME.IP",
    "expiry": "-",
    "direction": "BUY",
    "size": "1",
    "orderType": "MARKET",
    "level": null,
    "guaranteedStop": "false",
    "stopLevel": null,
    "stopDistance": null,
    "trailingStop": null,
    "trailingStopIncrement": null,
    "forceOpen": "false",
    "limitLevel": null,
    "limitDistance": null,
    "quoteId": null,
    "currencyCode": "EUR"
}
Je me prend un HTTP 200 avec un dealReference et quand je vais chercher le dealReference j'ai REject/Unknonw ...

En ordre au marché je ne vois pas trop ce que je peux rajouter ...

---

En //, j'ai ouvert une position via l'interface web, position que je retrouve dans la L3 et si je clique dessus pour fermer le ticket : Niet Ordre rejeté également ...
Avatar du membre
Melmoth
Padawan
Messages : 299
Enregistré le : 12 janv. 2015 12:40

Re: API REST / STREAM

Message non lu par Melmoth »

Nope je n'ai implémenté pour le moment que les WorkingOrder dans mon propre code.
Je l'implémenterai et te dirai.

Mais j'ai du mal à imaginer que ce type d'ordre ne passerait pas alors que l'autre oui :)

Tu avais posté quelle requête via le compagnon et/ou la L3 ?