Pracujeme s TradeStation (1)
Komunita traderů okolo Finančníka se za poslední rok velmi rozrostla a na setkání obchodníků je znát, že se vytvářejí skupinky traderů diskutující práci v různých pokročilých specializovaných obchodních programech.
Řada z vás patrně ví, že s Tomášem považujeme za nejsilnější analytický nástroj pro tradery MS Excel, nicméně jelikož jsme strávili několik let intenzivní prací s dalšími programy, rozhodli jsme se připravit seriály, které by měly ulehčit začátky všem, kteří se rozhodnou tyto programy používat. Přestože půjde o specializované informace určené pouze těm traderům, kteří se rozhodli používat daný software, věříme na druhou stranu, že naše zkušenosti mohou ostatním pomoci výrazně se posunout dále a přeskočit mnoho měsíců studia, které jsme museli problematice věnovat my.
V tomto seriálu se budeme věnovat programu TradeStation. Seriál bude pojat hodně prakticky. Dnes začneme obecnějším úvodem, v dalších lekcích si ale probereme použití různých funkcí na praktických příkladech. Řadu přístupů si ukážeme na konkrétním programování některé ze strategie WoodiesCCI. Cílem celého seriálu je samozřejmě technické know-how týkající se programování TradeStation a nikoliv vytváření konkrétního finálního mechanického obchodního systému, pokusím se ale do textu zapracovat konstrukce, které je jinak v manuálu k TradeStation těžké objevit (ukázky money-managementu, časový stop-loss, omezování obchodování v průběhu dne atd.).
Co je TradeStation
Jako v každém prvním dílu delšího seriálu si nejprve nástroj, se kterým budeme pracovat, pojďme alespoň ve stručnosti představit. Program TradeStation byl dlouhou dobu patrně nejrozšířenější analytický software pro technické obchodníky. V zásadě jde o velmi univerzální platformu umožňující obchodování, zobrazování grafů, zakreslování technických formací a především programování skutečně všeho možného - od vlastních indikátorů, funkcí až po kompletní mechanické obchodní systémy. TradeStation je velmi flexibilní díky vlastnímu programovacímu jazyku EasyLangauge. Podrobnější představení programu naleznete v našem článku Backtesting: TradeStation.
Dnes již existuje na trhu celá řada programů, které nabízejí více či méně podobné funkce jako TradeStation (velmi kompletní přehled naleznete v článcích Jaký software pro backtesting a vytváření vlastních obchodních systémů a indikátorů? a Jaký software pro backtesting a vytváření vlastních obchodních systémů a indikátorů? (2) a řada obchodníků od TradeStation přešla k jiným programovým řešením, přesto je dnes TradeStation stále jeden z nejvyhledávanějších programů v této oblasti.
V Evropě Tradestation působí pod značkou TradeStation Global a své brokerské služby nabízí coby tzv. introducing broker pro Interactive Brokers. Tedy klientské účty jsou otevírány u brokera Interactive Brokers, TradeStation Global pak klientům poskytuje dodatečnou podporu a také svůj kompletní software TradeStation. Ten je postaven na stejném základu jako americký originál, ale je napojen na služby a data Interactive Brokers. Podrobnosti viz zde.
Základy EasyLanguage
Výhodou specializovaného obchodního jazyka je samozřejmě jeho připravenost pro prostředí tradingu. Trader nemusí řešit programování základních indikátorů, obchodních příkazů, práci s grafy - vše je připraveno a stačí pospojovat dohromady. Obrovskou výhodou TradeStation je také práce s historickými daty - je-li počítač s TradeStation připojen on-line k Internetu (což je předpokládám u většiny obchodníků), jsou přes dataserver výrobce v programu k dispozici všechna historická data trhů, které má obchodník k dispozici (myšleno klasická minutová data a výše, ticková data poskytuje TradeStation cca za půl roku zpět) - tj. stačí zvolit příslušný symbol a data se automaticky stáhnou z Internetu.
Data pak lze v EasyLanguage volat velmi snadno. V rámci programového kódu se nejčastěji data referují následovně:
Datové slovo | Zkratka | Popis |
Open | O | Otevírací cena daného baru |
High | H | Nejvyšší cena daného baru |
Low | L | Nejnižší cena daného baru |
Close | C | Uzavírací cena daného baru |
Volume | V | Celkové volume v rámci baru |
OpenInt | I | Open interest v rámci baru |
V EasyLanguage lze používat jak celá programová datová slova, tak příslušné zkratky.
Úplně jednoduchý pokyn v rámci EasyLanguage tak může například znít:
if Close>100 then ......
což můžeme také napsat jako
if C>100 then ....
Výše uvedená konstrukce představuje základní programovou podmínku, říkající: pokud (příkaz if, ke kterému se dostaneme podrobněji v některém z příštích dílů seriálu) bude cena na close úsečky vyšší než 100 pak se provedou další příkazy (např. otevření pozice atd.).
Jak bude program vědět, ke které úsečce, je ono "Close" myšleno? Které Close máme na mysli? Toto programu specifikujeme později tím, že vytvořený kód (indikátor, strategie atd.) aplikujeme na nějaký konkrétní graf s konkrétním timeframe. Pokud kód aplikujeme na graf s timeframe 5 minut (tj. jedna úsečka bude představovat změnu cenu příslušného trhu v průběhu 5 minut), pak se close bude vztahovat na uzavírací cenu pětiminutového baru.
Vytvořený kód lze samozřejmě aplikovat jak na grafy zobrazované v reálném čase - tak jak přicházejí data z burzy, tak na historická data. V případě aktuálně zobrazovaných grafů bude TradeStation podmínku aplikovat na každou poslední úsečku daného grafu, v případě historického backtestu TradeStation "projede" zvolený graf "čárku po čárce" a zvolenou strategii tak aplikuje na všechny bary v grafu a u každého baru bude testovat, zda-li je Close vyšší než 100 a pokud ano, tak provede zbytek kódu.
Tímto poměrně velmi jednoduchým způsobem lze vytvářet komplexnější a složitější podmínky a systémy, které mohou sloužit mj. k zobrazování různých formací v realtime grafech, backtestování našich podmínek na historických datech, k vytváření automatizovaných obchodních systémů atd. V příštím díle seriálu si ukážeme, jak si v TradeStation vytvořit již komplexnější (byť stále jednoduchý) obchodní systém a aplikovat jej na aktuální nebo historická data.
Díly seriálu:
Pracujeme s TradeStation (1)
Pracujeme s TradeStation (2)
Pracujeme s TradeStation (3)
Petr Podhajský
Fulltime obchodník věnující se tradingu více než 20 let. Specializace na systematické strategie obchodované na futures a akciích. Oblíbený styl obchodování: stavba automatizovaných portfolio systémů, které využívá i při správě většího externího kapitálu.
- 1