Jump to content
Co nového? Mé kurzy
Články a tutoriály:
Seriály Komoditní Manuál Psychologie obchodování
  • Praktické tipy pro zlepšení výkonnosti programu NinjaTrader

    NinjaTrader je na svoji cenu velmi dobré řešení pro diskréční obchodování, jeho slabinou jsou vyšší výkonností nároky, které mohou vést občas k pomalému vykreslování grafů i na velmi výkonných počítačích. V článku naleznete proto několik tipů jak si program nastavit, aby byl co nejsvižnější. S popsaným nastavením program sám používám k plné spokojenosti.

    Jistě nemusím připomínat, že základem rychlého fungování kteréhokoliv programu je ideálně čistá instalace Windows, žádné programy v pozadí a rozumná hardwarová konfigurace počítače.

    Pokud i tak občas pociťujete, že se Ninja „zadrhává“ a není úplně nejsvižnější, vyzkoušejte následující tipy, které se mně osobně velmi osvědčily:

    Store real-time bar data

    Funkce zapíná/vypíná ukládání příchozích realtime dat do databáze na vašem PC. Ninja ukládá všechna data trhů, které jsou zobrazeny v kterémkoliv grafu nebo v okně Market Analyzer. Hlavní využití funkce je v případě, že poskytovatel dat pouze streamuje realtime data a neumožňuje načítat historii trhů.

    ninja-data.gif, 14kB

    Tuto funkci doporučuji na počítači, se kterým obchodujete, vypnout. Funkci naleznete v programu v menu Tools>Options záložka Data. Sám obchoduji na velmi rychlém a vykoném počítači, ale při zapnutí této funkce jsem pozoroval v době vyšší volatility trhů (především okolo otevření) citelné zpomalení vykreslování grafů, které zmizelo poté, co jsem tuto funkci vypnul. Zpomalení přitom nebylo vůbec zanedbatelné a pokud by obchodník zadával v takové situaci své obchodní příkazy, vedlo by to ke zbytečným velkým skluzům v plnění.

    Při vypnutí funkce se v případě zobrazování historických grafů načítají historická data od poskytovatele dat. Zde je pak třeba si ověřit, jak kvalitní data jsou a v jakém rozsahu je daná služba/broker poskytuje – např. InteractiveBrokers poskytuje vzdálenější historická data již v poměrně hrubém rozlišení, Zenfire má historická data velmi kvalitní, ale samozřejmě také nejsou poskytována za celou historii trhu (je k dispozici cca rok historie). Řešením jak obchodovat a současně ukládat data může být např. spuštění Ninji na jiném počítači s demo přístupem k Zenfire, kde taková instalace ukládá data, která lze poté přesunout do databáze na hlavním obchodním serveru.

    Nicméně určitě bych nepodceňoval citelné zpomalení software při zapnutí této funkce především v případě, že nemáte například možnost si grafy porovnat s jiným poskytovatelem dat.

    Run market replay recorder

    Opět funkce, která může citelně ovlivnit rychlost zobrazování grafů v programu. Po zaškrtnutí této funkce se všechna data ukládají do speciálního souboru na disk, ze kterého lze pak trhy přehrávat prostřednictvím funkce market replay. Jde tedy o velmi praktickou funkci, kterou je však dobré spouštět opět pouze v případě, že vás 100% netrápí rychlost vykreslován grafů (tj. z grafů neobchodujete).

    Nastavení indikátorů

    Výkon software ovlivňuje také množství indikátorů v grafech. Nicméně množství indikátorů výkon počítače ovlivňuje pouze v případě, že je v grafech zobrazeno již skutečně hodně indikátorů (navíc ve více grafech najednou) a Ninja je provozován na méně výkonném počítači. Určitě nemá výpočet indikátorů takový vliv na zpomalení grafů, jako nastavení ukládání dat do databáze popsané výše.

    Pokud pozorujete výkonnostní problémy Ninjy při vypnutí ukládání dat do databáze doporučuji:

    • nejprve zkusit vypnout indikátory a sledovat zda-li to mělo vliv na výkon programu;
    • zkusit u méně důležitých indikátorů nastavit, aby se neaktualizovaly s každým tickem ale pouze na close úsečky:

    ninja-indikator.gif, 17kB

    Volba Calculate on bar close v nastavení každého indikátoru určuje, zda-li se indikátor aktualizuje v průběhu času (tj. s každým tickem), nebo pouze na close úsečky (nastavení True). Nastavení výpočtu pouze na close úsečky znamená, že se indikátor „nehýbe“ v průběhu vykreslování úsečky, ale zaktualizuje se pouze jednou a to v okamžiku, kdy se dokreslí úsečka příslušného timeframe.

    Nastavení intervalu pro aktualizaci grafů

    Pokud pracujete s větším množstvím grafů, není třeba, aby se vyšší timeframy aktualizovaly „neustále“ stejně, jako ty nejnižší časové rámce. U vyšších timeframe tak v případě potřeby můžeme nastavit vyšší čas pro jejich aktualizaci (volba Display update interval):

    ninja-refresh.gif, 18kB

    Počet používaných workspace

    Rozložení grafů se v Ninja Trader může ukládat do tzv. pracovních prostorů (workspace). Pokud daný workspace nepoužíváte, je třeba jej uzavřít (File > Workspaces > Close Workspace). Pokud jen otevřete nebo vytvoříte nový workspace, zůstane starý workspace „v pozadí“ a zcela zbytečně zatěžuje systém:

    ninja-workspace.gif, 8,6kB

    Nepoužívaný workspace je třeba vypnout prostřednictvím funkce „Close Workspace“. Vidíte-li v menu několik workspace (v tomto případě Default, test a dax), zbytečně vám nepoužívané grafy konzumují výkon počítače (pozn. workspace „Default“ nelze vypnout – je proto dobré v něm nemít žádné grafy pokud používáte jiný workspace).

    1.4.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 v alternativním fondu, který spravuje.


    Mohlo by vás dále zajímat

    NinjaTrader 7 – ideální bezplatný nástroj pro market replay

    Program NinjaTrader je již v nejnovější verzi 7 oficiálně ke stažení a přináší celou řadu zásadních novinek. Mezi jednu z nejzajímavějších patří možnost zpětného přehrávání trhů z dat, které si NinjaTrader sám stáhne od výrobce. Traderům tak program nabízí velmi komfortní a bezplatný nástroj pro trénování obchodování.
    NinjaTrader 7 (aktuálně stále v beta verzi) si můžete stáhnout na stránkách výrobce. Program se ovládá stejně, jako předchozí verze, tj. v dnešním tutoriálu se budeme věnovat přímo funkci pro přehrávání trhů. Ta funguje ve dvou režimech – obchodník si může jednak data sám nahrávat a později si je přehrát (tj. funkcionalita popisovaná v našem dřívějším video tutoriálu NinjaTrader a obchodování z grafu), nově ale přibyla možnost stáhnout si již „nahraná“ data přímo z webu výrobce. Je tak možné přehrávat i data, která jsme si sami nenahráli. Funkce je dostupná jen pro některé trhy (a výrobce výslovně upozorňuje, že jde o funkcionalitu, která může být později z programu odebrána), ale i tak jde v případě intradenního obchodování o ideální nástroj, jak bez jakýchkoliv nákladů obchodování trénovat.
    Stažení dat pro přehrávání
    Data pro přehrávání je třeba nejprve stáhnout. Jako první krok je třeba se připojit k External Data Feed připojení, které budete mít v Ninjovi automaticky předvytvořené:

    Poté zvolte nabídku File > Utilities > Download Reply Data... :

    Zobrazí se dialogové okno Download Replay Data, ve kterém stačí specifikovat, co přesně chcete stáhnout:

    NinjaTrader 7 nemá databázi všech trhů, ale jsou k dispozici např. běžně obchodované akciové indexy jako je ES, TF, NQ nebo YM a řada dalších trhů.
    Data je bohužel potřeba stahovat po jednom trhu a jednotlivých dnech. To v praxi znamená, že si vyberete den a trh, který potřebujete stáhnout, kliknete na OK a pokud potřebujete další trhy nebo jiné dny, je tento proces opakovat stále dokola.
    V nabídce jsou k dispozici dva typy historických dat – L1 a L2. Data Level 1 je to, co běžný trader pro backtest potřebuje. S pomocí těchto dat se vám budou vykreslovat „realtime“ historické ceny v grafu a zobrazovat aktuální cena v DOMu. Data Level 2 obsahují „hloubku trhu“, tj. tuto nabídku využijí obchodníci, kteří potřebují vidět při přehrávání dat plnohodnotný DOM. Pochopitelně, že lze stahovat obě volby bez ohledu na skutečnost, zda-li data aktuálně využijete či nikoliv (L2 můžete využít např. v budoucnu). Nicméně je třeba počítat s tím, že L2 data jsou objemnější než L1 data. Konkrétně například u trhu YM je velikost dat L1 za jeden den kolem 2MB, L2 data pak představují soubor o velikosti cca 6 MB.
    Jakmile si stáhnete data, která potřebujete, odpojte se od externího datového zdroje volbou File > Disconnect > External Data Feed.
    Přehrávání replay dat
    Pro přehrávání stažených dat je třeba se nejprve připojit k datovému zdroji Market Replay Connection:

    Jakmile se k popsanému zdroji připojíte, zobrazí se vám na obrazovce ovládání přehrávání:

    V tento okamžik si můžete v NinjaTrader zobrazit graf a po kliknutí na tlačítko Play (první tlačítko zleva) by se měl začít graf přehrávat. Pozor! ale na skutečnost, že data jsou stažená včetně noční seance, která neobsahuje přílišnou aktivitu a tak se může zdát, že se v grafu nic neděje. Pro přesun na začátek regulérních obchodních hodin můžete použít posuvník (aktuální datum a čas odpovídající nastavení posuvníku je zobrazeno v záhlaví okna) nebo klikněte pravým tlačítkem myši do oblasti nápisu „From“ a z kontextového menu vyberte položku „Go To ...“

    Máte-li na svém počítači nastavenou českou časovou zónu, pak hlavní obchodní hodiny pro akciové indexy začínají v 15:30. Nastavte si tento čas, klikněte na OK a poté na tlačítko Play – grafy by se měly začít pohybovat stejnou rychlostí jako při reálném sledování burzy.
    Pochopitelně, že v programu NinjaTrade fungují všechny funkce, jako při běžném provozu. Je možné si například aktivovat Chart Trader a zadávat do grafu obchodní příkazy včetně stop-lossu a profit-targetu, vyhodnocovat následně statistiky výsledků atd. Bezplatná verze NinjaTraderu je zcela plnohodnotná placené verzi, jediné, v čem se verze liší je možnost předávat příkazy na skutečnou burzu (to bezplatná verze neumí).
    Význam několika zbylých funkcí v okně Replay jistě brzy zjistíte – pomocí volby Available Data.. lze vyvolat přehledný sumář dostupných dat, přehrávání dat lze zrychlovat tlačítkem se dvěma šipkami.
    Smazání, archivování replay dat
    Data pro replay jsou ukládána do adresáře Dokumenty, kde má Ninja svůj adresář NinjaTrader7. Jednotlivé soubory pak naleznete v adresáři db, podadresář data.
    Se soubory můžete nakládat jako s libovolnými jinými daty – je možné je smazat, zálohovat, nebo do adresáře nahrát (ze zálohy, od jiného tradera).
    Shrnutí
    Kombinace funkce Market Replay s daty dostupnými přímo z webu výrobce programu představuje podle mého názoru ideální nástroj pro zcela bezplatný trénink obchodování. Opravdu není mnoho jiných cest, jak se dostat k podobné možnosti za takovou „cenu“. Naopak – na trhu najdete řadu software, kde za podobnou funkci zaplatíte nemalý poplatek. Je otázka, jak dlouho funkce v programu vydrží, proto bych určitě neváhal a začal ji využívat.

    Pomalu se chystá NinjaTrader 7, co nabídne?

    NinjaTrader pomalu chystá zásadní upgrade na verzi 7. Jelikož máme k dispozici jednu z prvních neveřejných betaverzí, můžeme se podělit s prvními dojmy.
    Upozorňuji, že článek není recenze. NinjaTrader 7 v tuto chvíli není ve fázi ani veřejné betaverze a není tak možné relevantně hodnotit program jako celek. Článek proto přináší spíše shrnutí mých dojmů o dalším vývoji programu a o funkcích, na které se mohou uživatele těšit.
    Kompletní seznam funkcí v nové připravované verzi naleznete na adrese http://www.ninjatrader.com/webnew/NT7/NinjaTrader7.html.
    Výrobce slibuje především výrazné zefektivnění celého programu (tj. vyšší rychlost, podporu 64 bitového prostředí) a řadu zajímavých drobných i zásadních funkcí. Mezi viditelná vylepšení, která se mě osobně líbí nejvíc bych zařadil především:
    Práce s daty trhů
    Podstatný progres přináší NinjaTrader 7 na úrovni práce s daty. Pohled na Instrument Editor, ve kterém se nastavují parametry jednotlivých trhů je myslím vypovídající sám o sobě:

    Přibyla možnost práce s individuálními nastaveními obchodních hodin (Session template – bod 1 ve screenshotu) a především možnost automatického vytváření kontinuálních kontraktních měsíců (bod 2). Spojování kontraktních měsíců bylo ve verzi 6.5 řešeno na úrovni možností ručního spojování přes volbu Historical Data / Merge a co vím, tak tato volba přinášela uživatelům mnoho krušných chvilek a nebyla úplně funkční.
    Ve verzi 7 lze tedy kontraktní měsíce vytvářet automaticky. Kontraktní měsíce se spojují na základě nadefinovaného data – viz záložka Misc, kde se spolu s komisemi definují pravidla pro vytváření kontinuálních kontraktních měsíců:

    Zobrazení grafů
    Osobně jsem se u NinjaTrader 7 nejvíce těšil na vylepšení v oblasti práce s několika grafy najednou. Zde pokročil vývoj skutečně hodně kupředu a změna je vidět hned při výběru dat k zobrazení V dialogovém okně Data Series je možné si nyní vybrat hned několik trhů najednou:

    Po otevření se trhy otevřenou „do jednoho okna“, přičemž lze zcela libovolně kombinovat např. nastavení timeframe a trhy:

    Mnoho uživatelů jistě ocení dopracování práce s měřítkem, které v programu opravdu chyběly. Nově je možné konečně najet myší do cenové škály a zvolit si i fixní měřítko grafu. Přímo do cenového grafu lze přidávat například indikátory s měřítkem nezávislém na samotném grafu.

    Několik novinek se váže k nástrojům pro zakreslování do grafu. Jako velmi praktická funkce při práci s několika timeframe mi připadá volba, že nakreslený objekt NinjaTrader 7 automaticky rozkopíruje do všech otevřených grafů stejného trhu. Ideální nástroj například při zakreslování S/R úrovní - na vyšším timeframe zakreslím linku, která se mi automaticky překopíruje do všech nižších timeframe. Propojení linky přitom zůstává „živé“ – pokud s linkou na jednom timeframe pohnu, automaticky se pohne na všech ostatních grafech:

    Z několika nových nástrojů pro technickou analýzu grafů mi přijde použitelný „ruler“ umožňující přehledně odečítat v grafu rozdíl v ceně a čase mezi zvolenými body:

    Market Replay
    Trochu otazníkem stále zůstává otázka finálního způsobu implementace funkce Market Replay – tedy „realtime“ přehrávání historických dat. Do verze 6.5. umí Ninja přehrávat pouze data, která si sám předtím uložil (viz náš videotutoriál NinjaTrader a obchodování z grafu).
    Nově výrobce v NinjaTrader 7 slibuje, že by mohla být dostupná funkce automatického stahování dat pro replay ze serveru výrobce. Tj. že půjde přehrávat běžná historická data bez toho, aniž by si uživatel musel data sám někde shánět či nahrávat. Tato funkce by byla myslím pro bezplatný program /v rámci simulovaného obchodování/ hodně luxusní a mohla by přitáhnout řadu uživatelů, kteří si jinde za podobné řešení musí platit. Ostatně ani sám výrobce programu si patrně není jist, do jaké míry bude služba pro všechny uživatele technologicky náročná, a proto opatrně u seznamu ohlášených novinek dodává, že funkce možná nebude implementována.
    Každopádně v betaverzi, kterou máme k dispozici, funkce implementována je. Stačí se připojit k „Market Replay Connection“, ve zvoleném okně nastavit datum, rychlost přehrávání a do programu se začnou streamovat data (zatím to vypadá na omezení na běžné US indexy, ale podrobně jsem rozsah trhů nezkoumal). Uvidíme, jak bude vypadat finální implementace.
    Shrnutí
    NinjaTrader 7 přináší celou řadu dalších novinek – viz výše uvedený link. Řada z nich se odehrává na úrovni programování strategií, které osobně nepoužívám, a proto nedokážu zhodnotit a v článku jsem se jim nevěnoval.
    Na úrovni diskréčního obchodování nicméně vypadá připravovaný upgrade skutečně velmi zajímavě a v podstatě implementuje vše, po čem většina uživatelů volala. Osobně nepotřebuji v programu pro obchodování žádné vysoce „high-end“ funkce, ale podstatná je pro mě spíš intuitivnost, kterou mi Ninja velmi vyhovuje. Z tohoto pohledu jsem rád, že se upgrade skutečně soustředil pouze na vylepšování opravdu důležitých principů a nikoliv na nějaký módní facelift. Některé novinky sice jen dotahují Ninju na úroveň jiných řešení, jiné jsou však docela unikátní i v kontextu podstatně dražších programů. Osobně se tak velmi těším, až tento upgrade výrobce vypustí do světa v ostré finální verzi.

    Videotutoriál: nastavení Playbacku v Ninjatraderovi podrobněji

    V dnešním videotutoriálu si předvedeme, jak nastavit program NinjaTrader, aby skutečně ukládal data pro playback, kde data nalezneme na disku a jak je přehrávat.
    Podrobný návod pro instalaci programu NinjaTrader najdete na Finančníkovi v článku NinjaTrader - podrobný tutoriál k instalaci a zprovoznění programu .



    Klikněte na obrázek, video se zobrazí v novém okně.
×
×
  • Vytvořit...