Neděle 03. listopadu 2024 17:37
reklama
CapXmaster
reklama
Dukascopy new
reklama
Dukascopy new
reklama
CapXmaster

OANDA REST API

 

Dosud jsem vytvářel AOS pouze prostřednicvím platformy MT4 a jazyka MQL4. Přestože si pořád myslím, že jsou to užitečné nástroje a jistě se jejich používání nehodlám v budoucnu vzdát, mají svá omezení jak pro programátora, tak i brokera . Nejsem natolik odborník, abych musel pracovat s nejvyspělejším softwarem. Pro moje potřeby jazyk MQL4 zcela stačil, ale hlavní důvod, proč jsem se rozhodl pro API je, že jejím prostřednictvím můžete od brokera získat maximum toho, co nabízí. Konkrétně s brokerem OANDA, u kterého jsem, mimochodem, již asi 7 let, můžete obchodovat měnové páry v jednotkách, i když pouze přes jejich platformu a nebo API, ale ne v MT4.  Přes MT4 lze minimálně 0.01 lot, což je 1000 jednotek. Moc nerozumím tomuto omezení, když to broker nabízí,  ale je to tak. Každopádně, pro můj systém, vzledem k velikosti kapitálu, který chci pro něj vyčlenit, je ideálních 100 jednotek, které při páce 50:1 znamenají pozici za 2$. Z toho důvodu jsem to vyřešil pomocí API. Od půlky tohoto roku je u OANDY API zcela zdarma dokonce i na demu. Používám OANDA REST API a jazyk Python 2.7. Musím říct, že jsem nečekal, že přechod z MT4 zvládnu během 4 dnů, a proto si nemyslím, že je to něco extra složitého, ale nevím všechno a chtěl bych práci zdokonalit. Proto zde rád uvítám rady, tipy, postřehy nebo dotazy k API u OANDY(né nutně) a PYTHONU(né nutně) .

Jste na diskusním fóru jako nepřihlášený uživatel a Vaše funkce jsou tak omezené. Pro neomezený přístup je nutné být registrovaný a přihlášený uživatel. Nejste-li registrován/a klikněte pro bezplatnou registraci. Jednoduchá registrace vám otevře cestu k profesionálním informacím.

Registrací na FXstreet.cz můžete získat:

  • Možnost diskutovat s ostatními tradery.
  • Vkládání nových příspěvků a zakládání nových témat v diskusním fóru.
  • Možnost vyhledávání v tomto velmi rozsáhlém diskusním fóru.
  • Přístup k uzamčeným odborným článkům, sekcím a školy forexu.
  • Ebooky, manuály a obchodní systémy zdarma.
  • Zasílání newsletterů a informací o nových akcích a aktivitách portálu FXstreet.cz
  • Možnost psát vlastní blogy a články.
  • Možnost objednání tradingových knih, seminářů nebo VIP zóny.
  • Další přínosné informace z oblasti obchodování na forexu.
Autor OANDA REST API (15 odpovědí)
jirouda1
Silver member
avatar
Příspěvky: 341
Více informací o uživateli >>
??? 17.10.2014 17:29

Rád bych zde tímto otevřel nové téma.

jirouda1
Silver member
avatar
Příspěvky: 341
Více informací o uživateli >>
??? 17.10.2014 17:30

http://developer.oanda.com/docs/

kralv
Veteran member
avatar
Příspěvky: 5015
Více informací o uživateli >>
REST API 17.10.2014 18:40

Takže z pohledu profi programátora - REST je obecně formát komunikace a to v jakém jazyce provedeš jeho implementaci je víceméně jedno (resp. volí se ten jazyk, který je pro konkrétní účel nejvýhodnější). Takže si můžeš napsat klienta (aplikaci) ve všem od JavaScriptu přes PHP, Python, Javu až po C# či C++. Záleží na tom co ovládáš, nebo ti víc vyhovuje...

Jinak Python, stejně jako PHP jsou jazyky (primárně) určené pro běh na webových serverch. Obecně bych klienta řešil spíš v Javě, C# nebo C++.

broker: AdmiralMarkets (live) | Patria forex (live) | IBFX.au (demo + live)
jirouda1
Silver member
avatar
Příspěvky: 341
Více informací o uživateli >>
Re: REST API 17.10.2014 18:59
Odpověď na: kralv

Takže z pohledu profi programátora - REST je obecně formát komunikace a to v jakém jazyce provedeš jeho implementaci je víceméně jedno (resp. volí se ten jazyk, který je pro konkrétní účel nejvýhodnější). Takže si můžeš napsat klienta (aplikaci) ve všem od JavaScriptu přes PHP, Python, Javu až po C# či C++. Záleží na tom co ovládáš, nebo ti víc vyhovuje...

Jinak Python, stejně jako PHP jsou jazyky (primárně) určené pro běh na webových serverch. Obecně bych klienta řešil spíš v Javě, C# nebo C++.

Já si vybral python, protože k jeho sprovoznění stačilo pouze stáhnout jeden soubor a nainstalovat. Žádný další servery atpd. Nevím co myslíš tím klientem, ale já mám spuštěný AOS z příkazového řádku a průběh monitoruju na aplikaci od brokera. Myslím, že jestli bych v budoucnu k programu dělal nějaký složitější GUI asi by bylo některé C asi vhodnější. Jinak jsem četl, že Python je výrazně rychlejší než PHP, ale nevím jak je to ve srovnání s JAVOU nebo C#. Máš zkušenosti s REST API? Či jinou API u některého brokera?

jirouda1
Silver member
avatar
Příspěvky: 341
Více informací o uživateli >>
Re: REST API 17.10.2014 19:01
Odpověď na: kralv

Takže z pohledu profi programátora - REST je obecně formát komunikace a to v jakém jazyce provedeš jeho implementaci je víceméně jedno (resp. volí se ten jazyk, který je pro konkrétní účel nejvýhodnější). Takže si můžeš napsat klienta (aplikaci) ve všem od JavaScriptu přes PHP, Python, Javu až po C# či C++. Záleží na tom co ovládáš, nebo ti víc vyhovuje...

Jinak Python, stejně jako PHP jsou jazyky (primárně) určené pro běh na webových serverch. Obecně bych klienta řešil spíš v Javě, C# nebo C++.

Jo a co si myslíš o REST? Někde na fórech psali, že je to pomalý a mluvili tam o rychlejší FIX

kralv
Veteran member
avatar
Příspěvky: 5015
Více informací o uživateli >>
Re: Re: REST API 17.10.2014 20:08
Odpověď na: jirouda1

Jo a co si myslíš o REST? Někde na fórech psali, že je to pomalý a mluvili tam o rychlejší FIX

No REST je hlavně obecný - tj. není primárně určen pro finanční oblast, ale je to obecný komunikační  protokol. FIX by měl být standard navržený přímo pro oblast financí. 

Obecné informace o RESTu najdeš třeba tady: http://cs.wikipedia.org/wiki/Representational_State_Transfer

Řešit rychlost nemá cenu, protože s rychlostí připojení (resp. odezvou, např. ping) běžného domácího internetového připojení rozdíl stejně nepoznáš. Na profi úrovni a při posazení serveru na páteřní linku by mohl být znát rozdíl, ale bavíme se tady o milisekundách (jednotkách až desítkách).

Takže sumarizováno - REST je pro běžné použití (pokud nejde o miliardy USD) úplně dostačující a pokud se řešení nenaprogramuje vyloženě špatně a budeš ho mít nasazeno na rychlé lince, dosáhneš vyšší rychlosti než u MT4.

broker: AdmiralMarkets (live) | Patria forex (live) | IBFX.au (demo + live)
kralv
Veteran member
avatar
Příspěvky: 5015
Více informací o uživateli >>
Re: Re: Re: REST API 17.10.2014 20:13
Odpověď na: kralv

No REST je hlavně obecný - tj. není primárně určen pro finanční oblast, ale je to obecný komunikační  protokol. FIX by měl být standard navržený přímo pro oblast financí. 

Obecné informace o RESTu najdeš třeba tady: http://cs.wikipedia.org/wiki/Representational_State_Transfer

Řešit rychlost nemá cenu, protože s rychlostí připojení (resp. odezvou, např. ping) běžného domácího internetového připojení rozdíl stejně nepoznáš. Na profi úrovni a při posazení serveru na páteřní linku by mohl být znát rozdíl, ale bavíme se tady o milisekundách (jednotkách až desítkách).

Takže sumarizováno - REST je pro běžné použití (pokud nejde o miliardy USD) úplně dostačující a pokud se řešení nenaprogramuje vyloženě špatně a budeš ho mít nasazeno na rychlé lince, dosáhneš vyšší rychlosti než u MT4.

Velká výhoda RESTu je i v tom, že většina vyšších programovacích jazyků (Java, C#) má implementovány knihovny pro komunikaci tímto protokolem. Tedy v těchto jazycích neřešíš jak naprogramovat komunikaci, ale použiješ hotové příkazy, takže jediné co pak řešíš je vlastní kód robota - tj. kdy otevírat a zavírat pozice apod.

broker: AdmiralMarkets (live) | Patria forex (live) | IBFX.au (demo + live)
jirouda1
Silver member
avatar
Příspěvky: 341
Více informací o uživateli >>
Re: Re: Re: REST API 17.10.2014 21:27
Odpověď na: kralv

No REST je hlavně obecný - tj. není primárně určen pro finanční oblast, ale je to obecný komunikační  protokol. FIX by měl být standard navržený přímo pro oblast financí. 

Obecné informace o RESTu najdeš třeba tady: http://cs.wikipedia.org/wiki/Representational_State_Transfer

Řešit rychlost nemá cenu, protože s rychlostí připojení (resp. odezvou, např. ping) běžného domácího internetového připojení rozdíl stejně nepoznáš. Na profi úrovni a při posazení serveru na páteřní linku by mohl být znát rozdíl, ale bavíme se tady o milisekundách (jednotkách až desítkách).

Takže sumarizováno - REST je pro běžné použití (pokud nejde o miliardy USD) úplně dostačující a pokud se řešení nenaprogramuje vyloženě špatně a budeš ho mít nasazeno na rychlé lince, dosáhneš vyšší rychlosti než u MT4.

Díky moc za informace, tak nějak jsem to asi potřeboval shrnout. Myslím, že python má taky nějaké knihovny, jestli tomu správně rozumím. Viz. toto:

    import httplib
    import urllib
    import json
    import datetime
   
    ## This file contains some very simple calls against the OANDA API
   
    ## This demonstrates getting the current price of an instrument and trading if it is above a threshold
    def checkAndTrade():
    conn = httplib.HTTPSConnection("api-sandbox.oanda.com")
    conn.request("GET", "/v1/prices?instruments=USD_CAD")
    response = conn.getresponse()
    resptext = response.read()
    if response.status == 200:
    data = json.loads(resptext)

Používáš API u některého brokera? U oandy mě mate, že kromě uvedeného zdroje v kódu, posílá ještě ceny jako stream, nevíš o tom něco?

kralv
Veteran member
avatar
Příspěvky: 5015
Více informací o uživateli >>
Re: Re: Re: Re: REST API 18.10.2014 09:21
Odpověď na: jirouda1

Díky moc za informace, tak nějak jsem to asi potřeboval shrnout. Myslím, že python má taky nějaké knihovny, jestli tomu správně rozumím. Viz. toto:

    import httplib
    import urllib
    import json
    import datetime
   
    ## This file contains some very simple calls against the OANDA API
   
    ## This demonstrates getting the current price of an instrument and trading if it is above a threshold
    def checkAndTrade():
    conn = httplib.HTTPSConnection("api-sandbox.oanda.com")
    conn.request("GET", "/v1/prices?instruments=USD_CAD")
    response = conn.getresponse()
    resptext = response.read()
    if response.status == 200:
    data = json.loads(resptext)

Používáš API u některého brokera? U oandy mě mate, že kromě uvedeného zdroje v kódu, posílá ještě ceny jako stream, nevíš o tom něco?

API u žádného brokera nepoužívám.p

Jasně, ta ukázka kódu je jasné (i když Python neznám).

  • import - načtení knihoven které se následně používají
  • conn - instance objektu připojení
  • HttpsConnection - připojení pomocí SSL (https)
  • request - poslání požadavku
  • response (getresponse) - převzetí výsledku (odpovědi) jako objekt
  • response.read - vytažení textu z odpovědi - odpoveď ve formátu JSON
  • response.status - zjištění, zda se vrátila korektní odpověď (status kód 200) - nebo chyba (byl by uveden kód chyby)
  • json.loads - parsování JSON opovědi - výsledkem je objekt data
Jednoduché, přehledné - obdobně by bylo řešeno např. v C#
broker: AdmiralMarkets (live) | Patria forex (live) | IBFX.au (demo + live)
jirouda1
Silver member
avatar
Příspěvky: 341
Více informací o uživateli >>
AOS 19.12.2014 17:42

Pod tímto odkazem můžete sledovat online obchodování automatického obchodního systému, který je spuštěn na jednom z mých účtů u OANDY. Základem je kapitál 100$, který s pomocí AOS generuje průměrně 1 dolar za obchodní den.

jirouda1
Silver member
avatar
Příspěvky: 341
Více informací o uživateli >>
Re: AOS 19.12.2014 17:46
Odpověď na: jirouda1

Pod tímto odkazem můžete sledovat online obchodování automatického obchodního systému, který je spuštěn na jednom z mých účtů u OANDY. Základem je kapitál 100$, který s pomocí AOS generuje průměrně 1 dolar za obchodní den.

...AOS obchoduje současně 21 měnových párů.

jirouda1
Silver member
avatar
Příspěvky: 341
Více informací o uživateli >>
Re: AOS 19.12.2014 19:34
Odpověď na: jirouda1

Pod tímto odkazem můžete sledovat online obchodování automatického obchodního systému, který je spuštěn na jednom z mých účtů u OANDY. Základem je kapitál 100$, který s pomocí AOS generuje průměrně 1 dolar za obchodní den.

lol...a zde je odkaz Sealed... http://oanda.moxo.cz/

stačí kliknout na vyhledat účet a máte to

jirouda1
Silver member
avatar
Příspěvky: 341
Více informací o uživateli >>
AOS 23.12.2014 15:32

nyní můžete sledovat i historii obchodování...z technických důvodů historie začíná až od 18.12., ale každých 15minut se bude aktualizovat, takže od této chvíle již budou hisotorická data jenom přibývat. více zde http://oanda.moxo.cz/

jirouda1
Silver member
avatar
Příspěvky: 341
Více informací o uživateli >>
Re: AOS 25.12.2014 12:26
Odpověď na: jirouda1

nyní můžete sledovat i historii obchodování...z technických důvodů historie začíná až od 18.12., ale každých 15minut se bude aktualizovat, takže od této chvíle již budou hisotorická data jenom přibývat. více zde http://oanda.moxo.cz/

pro zjednodušení přidán výpočet zhodnocení od 18.12. více zde http://oanda.moxo.cz/

jirouda1
Silver member
avatar
Příspěvky: 341
Více informací o uživateli >>
OANDA REST API 28.01.2015 20:56

Zde je výborně popsáno jak začít s API u Oandy společně s funkčním kódem v Pythonu.

http://www.quantstart.com/articles/Forex-Trading-Diary-1-Automated-Forex-Trading-with-the-OANDA-API

Jinak http://www.quantstart.com je skvělý zdroj pro všechny, kteří se chtějí zabývat algorytmickým obchodováním.

Předchozí témata

Následující témata

Forex - doporučené články:

Co je FOREX?
Základní informace o finančním trhu FOREX. Forex je obchodování s cizími měnami (forex trading) a je zároveň největším a také nejlikvidnějším finančním trhem na světě.
Forex pro začátečníky
Forex je celosvětová burzovní síť, v jejímž rámci se obchoduje se všemi světovými měnami, včetně české koruny. Na forexu obchodují banky, fondy, pojišťovny, brokeři a podobné instituce, ale také jednotlivci, je otevřený všem.
1. část - Co to vlastně forex je?
FOREX = International Interbank FOReign EXchange. Mezinárodní devizový trh - jednoduše obchodování s cizími měnami - obchodování se směnnými kurzy.
VIP zóna - Forex Asistent
Nabízíme vám jedinečnou příležitost stát se součástí týmu elitních obchodníků FXstreet.cz. Ve spolupráci s předními úspěšnými obchodníky jsme pro vás připravili unikátní VIP skupinu (speciální uzavřená sekce na webu), až doposud využívanou pouze několika profesionálními tradery, a k tomu i exkluzivní VIP indikátory, doposud úspěšně používané pouze k soukromým účelům. Nyní se vám otevírá možnost stát se součástí této VIP skupiny, díky které získáte jedinečné know-how pro obchodování na forexu, výjimečné VIP indikátory, a tím také náskok před drtivou většinou ostatních účastníků trhu.
Forex brokeři - jak správně vybrat
V podstatě každého, kdo by chtěl obchodovat forex, čeká jednou rozhodování o tom, s jakým brokerem (přeloženo jako makléř/broker nebo zprostředkovatel) by chtěl mít co do činění a svěřil mu své finance určené k obchodování. Velmi rád bych vám přiblížil problematiku výběru brokera, rozdíl mezi jednotlivými typy brokerů a v neposlední řadě uvedu několik příkladů nejznámějších z nich.
Forex robot (AOS): Automatický obchodní systém
Snem některých obchodníků je obchodovat bez nutnosti jakéhokoliv zásahu do obchodu. Je to pouhá fikce nebo reálná záležitost? Kolik z nás věří, že "roboti" mohou profitabilně obchodovat? Na jakých principech fungují?
Forex volatilita
Forex volatilita, co je volatilita? Velmi užitečným nástrojem je ukazatel volatility na forexu. Grafy v této sekci ukazují volatilitu vybraného měnových párů v průběhu aktuální obchodní seance.
Forex zůstává největším trhem na světě
V dnešním článku se podíváme na nejnovější statistiky globálního obchodování na forexu. Banka pro mezinárodní vyrovnání plateb (BIS) totiž před pár týdny zveřejnila svůj pravidelný tříletý přehled, ve kterém detailně analyzuje vývoj na měnovém trhu. BIS je označována jako "centrální banka centrálních bank". Je nejstarší mezinárodní finanční organizací a hraje klíčovou roli při spolupráci centrálních bank a dalších institucí z finančního sektoru. Dnešní vzdělávací článek sice nebude zcela zaměřen na praktické informace z pohledu běžného tradera, ale i přesto přinese zajímavé a důležité poznatky.

Nejnovější články:


Naposledy čtené:

reklama
SAB Finance