Jump to content
Co nového? Mé kurzy
Články a tutoriály:
Archiv článků Psychologie obchodování Jak na obchodní plán Mé obchodní strategie
  • Breakout první korekce – automatizace v NinjaTraderovi

    V diskuzi u minulého článku, který se věnoval automatickému testování breakoutu první korekce v TradeStation, jsem slíbil ukázku, jak stejný postup provést v programu NinjaTrader. Ten je pro testování dostupný zdarma a představuje tak zajímavou alternativu nejen pro začínající obchodníky.

    V článku se dnes budeme opět věnovat breakoutu první korekce – viz úvodní informace v článku „Studujeme intradenní systémy - breakout první korekce“. V minulém díle jsme si ukázali, jak můžeme využít pro automatické testování program TradeStation (viz Breakout první korekce - automatické testování v TradeStation, dnes se podíváme na podobný postup v programu NinjaTrader. NinjaTrader je pro podobné účely zcela zdarma, navíc jej lze napojit na data Zenfire, která lze také využít zdarma – o všem naleznete velmi podrobné informace v našem archivu článků.

    Co je vůbec účelem dnešního článku? Rád bych poskytl inspiraci všem, kteří mají pocit, že věci jsou složité a „nejdou“, nebo nevědí odkud začít. Sám naprosto neumím v NinjaTrader programovat (používám TradeStation, která má úplně jinou syntaxi) a toto tak není tutoriál o tom, jak se v NinjaTrader naučit programovat. Naopak, pokud by se zde našel někdo, kdo by podobný tutoriál vytvořil, sám se velmi rád přiučím. Dnešní článek je o tom, že je potřeba se věcí nebát, zkoušet se dívat jak problémy vyřešili ostatní a hrát si s daným nástrojem tak dlouho, až se člověk nakonec dostane k cíli.

    V NinjaTrader můžete strategie (nebo indikátory) vytvářet dvěma způsoby. Buď přes jednoduchého pomocníka, kde si poskládáte základní podmínky vašeho systému bez jakéhokoliv programování, nebo v klasickém okně pro programování. Pomocníka (Wizard) pro tvorbu kódu spustíte z hlavního menu Tools > New NinjaScript > Strategy.

    Zde je například ukázka poskládaných podmínek pro breakout otevíracího rozpětí, kterou uveřejnil v minulé diskuzi trader xanathar:

    ninja-strategy-builder1.gif, 35kB

    Osobně si tak při budování strategie nejprve pomohu podobným wizardem, který mi vytvoří základní kód strategie.

    Následně si kód otevřu již přes okno s programovacím kódem (Tools > Edit NinjaScript > Strategy) a začnu strategii editovat. Kód vypadá na první pohled v NinjaTrader hodně komplikovaně, ale je to především z toho důvodu že hodně řádků zaberou různé deklarace proměnných. Samotné podmínky jsou po chvíli velmi srozumitelné.

    Např. podmínka, že v 15:33 chci do proměnných uložit hodnoty maxima a minima určitého rozpětí (prvních 3 minut) vypadá následovně:

    if (ToTime(Time[0])==153300) { RangeH=MAX(High,3)[0]; RangeL=MIN(Low,3)[0]; }

    Podmínka, že high poslední úsečky je pak vyšší než high rozpětí by pak vypadalo takto: High[0]>RangeH atd.

    Kód celé strategie si můžete stáhnout na této adrese: www.financnik.cz/download/BarBreakout1Input2.cs

    Důrazně upozorňuji, že jde o kód pouze ke studijním účelům a inspiraci a nikoliv k ostrému obchodování. Nejsem programátor, takže věci jdou napsat jistě mnohem lépe a čistěji. Kód je samozřejmě možné upravovat a přepsat. Pokud tak učiníte, podělte se prosím v diskuzi s ostatními.

    Instalace strategie

    Krok 1
    Strategii stáhněte a uložte si ji do adresáře, kam NinjaTrader ukládá ostatní adresáře – tj. např. Users/...jmeno.../Documents/NinjaTrader 6.5/bin/Custom/Strategy/
    (Pokud nemůžete adresář najít, zkuste ve Windows vyhledat např. soubor @SampleAtmStrategy což je předdefinovaná strategie výrobce. Náš soubor BarBreakout1Input2.cs uložte do stejného adresáře).

    Krok 2
    Strategii otevřete v NinjaTrader v okně pro práci s kódem: Tools > Edit NinjaScript > Strategy a vyberte BarBreakout1Input2

    Krok 3
    Strategii je třeba zkompilovat. Klikněte na ikonku Compile:

    ninja-strategy-compile.gif, 7,7kB

    Jakmile proběhne zkompilování strategie, můžete okno s kódem zavřít.

    Krok 4
    Nyní můžete začít se strategií pracovat. Na toto téma připravím patrně samostatný tutoriál. V tuto chvíli ve zkratce. Pro testování na historických datech vyberte:
    File > New > Strategy Analyzer

    Otevře se okno Strategy Analyzer, ve kterém je možné provádět např. automatizované backtesty. Backtest můžete aplikovat na data, která vidíte v levém horním rohu okna (data přidáte do okna klasicky přes instrument manager). Klikněte na některý soubor pravým tlačítkem myši a vyberte z kontextového menu Backtest:

    ninja-strategy-backtest.gif, 12kB

    V okně Backtest nastavte parametry podle svých představ. Tj. vyberte strategii (BarBreakout1Input2), trh, timeframe, nezapomeňte nastavit čas pouze denní seance (čas se nastavuje jako lokální, tj. pozor na období, kdy se v různých časových zónách mění letní/zimní čas):

    ninja-strategy-backtest2.gif, 16kB

    Po kliknutí na OK by měl proběhnout samotný backtest, jehož výsledky vidíte v pravé části Analyzeru:

    ninja-strategy-backtest3.gif, 31kB

    Toto byl skutečně hodně struční návod, jakým způsobem automatizovaný backtest v NinjaTraderu v principu rozchodit. Mimochodem - stop-loss a profit-target jsou nyní nastaveny v kódu v příslušných proměnných na 32 (PT), resp. 12 (SL) ticků a lze je pochopitelně měnit.

    Ještě jednou bych rád zopakoval, že uvedený kód je zde spíše pro inspiraci. Sám budu rád, pokud se najdou zkušení programátoři, kteří naváží na uvedené téma a kód například upraví o další možnosti.

    9.12.2009

    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.


    Sdílíme, co nám samotným funguje.
    7 výukových lekcí.

    Jak reálně uspět v tradingu?

    Naučte se vydělávat na své sny (naše metody na Finančník.cz)

    Praktický návod, jak v trzích získat šanci vydělávat stovky tisíc až miliony dolarů ročně bez vlastního kapitálu a nutností trávit denně hodiny před počítači (bez práce to ale nepůjde).

    >> Získat kurz zdarma <<
×
×
  • Vytvořit...