Jump to content
Co nového? Mé kurzy
Články a tutoriály:
Hledat v
  • Více možností...
Najít obsah, který ...
Hledat výsledky v ...
Seriály Komoditní Manuál Psychologie obchodování
  • Vlastní analýzy a studie v programu SierraChart přes Microsoft Excel

    V dnešním článku přináším zaktualizované informace pro možnost propojení programu SierraChart s Microsoft Excelem. Z mé zkušenosti jde skutečně o silnou funkcionalitu, umožňující i neprogramátorům velmi jednoduše analyzovat i jinak obtížněji zpracovatelná data.

    Většinu analytických programů lze dnes programovat přes vlastní nebo obecný programovací jazyk a SierraChart není výjimkou – všechny funkce lze ovládat přes programovací jazyk C++. Nicméně to je pochopitelně doména programátorů a nikoliv běžných traderů. Pro ty může být zajímavá funkce ovládání programu skrz funkce MS Excelu. Není to samozřejmě řešení vhodné pro všechny příležitosti, ale osobně jsem přes tuto možnost našel řešení, které jsem dlouho hledal.

    K čemu je propojení SierraChart – Excel dobré?

    Zjednodušeně řečeno umí SierraChart skrz vestavěnou funkci zcela triviálně zobrazovat v reálném čase v Excelu (nebo v interním tabulkovém procesoru) nejen cenu sledovaných trhů, ale výstupy prakticky všech indikátorů. Nad těmito daty lze provádět běžné výpočty s pomocí vzorců Excelu a ty buď zobrazovat ve formě statistik nebo vracet zpět do grafů v podobě nejrůznějších ukazatelů nebo křivek.
    I totální neprogramátor si tak v SierraChart může připravit jednoduché podmínky pro upozornění například na situaci, kdy cena testuje včerejší high/low, vypočítávat různá risk/reward ratia atd. To je samozřejmě naprostý základ, který lze triviálně udělat v Excelu tak i tak. Ovšem ze SierraChart můžeme například tímto způsobem získávat již vypočtené hodnoty posledních swingů (indikátor Zig-zag) nebo třeba analyzovat orderflow jednotlivých úseček (indikátor Numbers Bars Additional Calculated Values) či si v Excelu nechávat automaticky zobrazovat různé pivoty, fibonacciho poměry atd. Na úrovni jednoduchých podmínek MS Excelu (často jen porovnání buněk různých sloupců) tak lze poměrně snadno vytvářet silné analytické pomocníky. Pochopitelně, že bez jakýchkoliv debat lze většinu podobných informací získat i v jiných software umožňující programování. V SierraChart se mi ovšem líbí, že to jde skutečně jen se základní běžnou znalostí MS Excelu.

    Jak na to?

    Dnešní tutoriál má podobu jednoduchého „tipu“ – cílem je především demonstrovat zmíněnou funkcionalitu Sierry, na což stačí základní příklad. Základní řešení si pak každý může rozvádět dále podle svých potřeb.

    Příklad bude spočívat v tom, že Sierru necháme označit cenové svíce, které budou splňovat určitou jednoduchou podmínku – hypotetický “cenový pattern”.

    V SierraChart si nejprve otevřete graf trhu.

    Propojení s Excelem se provádí přes Study (Indikátor) nazvaný Spreadsheet Study (dříve se studie jmenovala Worskeet study, toto starší, dnes neaktuální, označení vidíte v záhlaví některých níže publikovaných screenshotů). Zvolte Analysis > Studies (nebo F6) a přidejte si do grafu zmíněný indikátor Spreadsheet study:

    Klikněte na Settings a v zobrazeném okně studii pojmenujte – zadejme např. Fin123test:

    Na screenshotu jsem označil čtverečkem „2“ oblast, kde si můžeme zvolit, zda-li chceme využívat interní spreadsheet Sierry nebo externí MS Excel. Interní spreadsheet je rychlejší, proto pokud stačí, používejte tento. Pro složitější výpočty a makra je třeba sáhnout po MS Excel. V našem příkladu použijeme interní spreadsheet.

    Potvrďte okno kliknutím na OK a také okno se studiemi uzavřete kliknutím na OK.

    V tuto chvíli se nám již na ploše (v chartbooku) zobrazila tabulka spreadsheetu, ve které můžeme začít pracovat. Tabulka bude patrně na pozadí stávající grafu, proto ji vyvolejte např. přes Menu > Window (bude se jmenovat tak, jak jste si výše pojmenovali studii):

    Spreadsheet funguje naprosto jednoduše – do sloupců A – J SierraChart automaticky „sype“ data z grafu (tj. především aktuální ceny), sloupce K – Z jsou k dispozici pro výpočty, které si můžeme nechat zobrazovat v grafu. Stačí vyplnit první řádek (tj. řádek 3), následně se vzorek automaticky rozkopíruje do všech řádků (podrobná nastavení naleznete v nastavení studie, kde lze např. v řádku Number of Rows nastavit, kolik řádků má Excel zpracovávat – tj. kolik například svíček do historie bude zapojeno do výpočtu).

    V interním spreadsheetu Sierry se používají stejné vzorce jako v Excelu. Pozor na správné používání desetinného oddělovače a oddělovače seznamu (středník vs. čárka). Pozor také na fakt, že všechny funkce je třeba vypisovat v angličtině.

    Pojďme nyní SierraChart naučit najít jednoduchý pattern – aktuální úsečka je outside úsečka (tj. má low nižší než předchozí úsečka a high vyšší než předchozí úsečka) a zároveň je rostoucí. Pattern vystihuje následující následující jednoduchý vzorec, který umístíme do sloupce K:

    =IF(AND(C3> C4;D3<D4;E3> B3);(B3+E3)/2;0)  

    Vzorec nám říká, že chceme mít splněné všechny následující 3 podmínky:
    C3>C4 aktuální high je vyšší než předchozí high
    D3<D4 aktuální low je nižší než předchozí low
    E3>B3 aktuální svíčka je rostoucí (close je vyšší než open)

    Při splnění této podmínky vypíše spreadsheet číslo odpovídající středu mezi open a close (B3+E3)/2 – ideální místo pro zobrazení značky. Pokud nejsou podmínky splněny, vypíše se nula. Spreadsheet by měl vypadat následovně:

    Přepněte se nyní do grafu (opět přes volbu Menu > Window a výběru okna s příslušným trhem) a vyvolejte zpět studii Spreadsheet Study, kterou musíme donastavit (v okně Study klikněte na Settings).

    Nastavení potřebujeme minimálně následující (dalšímu jemnějšímu nastavování se pochopitelně meze nekladou). V první záložce Settings and Inputs zvolte Chart Region 1 – chceme značku zobrazovat přímo v cenovém grafu:

    V druhé záložce Subgraphs je třeba nastavit DrawStyle – grafický styl, jakým chceme interpretovat jednotlivé sloupce. V našem příkladu pracujeme pouze se sloupcem K, tj. všechny ostatní nastavte na „Ignore“. U sloupce K vyberme například „Star“ a nastavme barvu (černou):

    Nyní opět odklikejte oba dialogy OK.

    Poslední volba spočívá v inicializaci přepočítání spreadsheetu. Tu provede přes volbu Chart > Reload and Recalculate:

    V grafu byste nyní měli vidět hvězdičku na našem „patternu“:

    Závěr

    Rád bych ještě jednou zdůraznil, že uvedený příklad lze zcela bez problémů a často jednodušeji vytvořit v ostatních analytických programech. To není ale pointa dnešního článku. Propojení Sierra – Excel se může hodit buď stávajícím uživatelům SierraChart, kteří o této funkcionalitě nevědí či ji neumí používat, případně těm, kteří hledají způsob, jak napojit nějaké své stávající Excel řešení na analytický program. V takovém případě je toto řešení velmi zajímavou a funkční cestou, která toho samozřejmě umí mnohem víc, než bylo naznačeno v článku. Velmi jednoduše můžeme například vyhledávat inside úsečky na pivotu – mezi indikátory přidáme study Pivot Points a okamžikem přidání studie do grafu uvidíme příslušné hodnoty pivotů v jednotlivých sloupcích Excelu – a můžeme je použít pro výpočet. Stejně tak můžeme pracovat s volume a dalšími dostupnými indikátory, jimiž SierraChart bohatě disponuje.

    9.5.2012

    Petr Podhajský

    Fulltime obchodník věnující se tradingu více než 15 let. Specializace na systematické strategie obchodované na futures a akciích. Oblíbený styl obchodování - intradenní s využitím orderflow. Poslední roky pak stavba automatizovaných portfolio systémů.


    Mohlo by vás dále zajímat

    daily graf a intraday graf se rozcházejí v hodnotách

    Přeji hezký den, dnes jsem narazil na zvláštnost která mě velmi zaskočila a proto jsem chtěl někoho požádat zda by mi to mohl vysvětlit. V programu sierra chart jsem testoval svou strategii na trhu FXH17 a zjistil jsem že daily graf a intraday graf se rozcházejí v hodnotách (viz. obrázek). Data

    Praktické základní tipy pro práci se Sierra Chart

    Jelikož většina fims obchodníků dnes pracuje se Sierra Chart, je na čase opět publikovat tipy, které vám pomohou s efektivitou práce v tomto programu. Ten je pro intradenní obchodování výborný, ale přes své ohromné možnosti nastavení pro začínající tradery někdy až příliš komplikovaný. Pojďme si tedy společně práci opět trochu zjednodušit některými základními tipy.
    Nastavení barevnosti
    Obzvlášť v intradenním obchodování doporučuji nastavit příjemnou a zároveň kontrastní barevnost, ve které vynikne to, co je pro vás v grafu nejzásadnější – pro mě je to v cenovém grafu price action a v orderflow okně numbers bary. Pracuji s barevností vycházející z tohoto schématu:

    Barevnost všech oken najednou nastavíte přes Global Settings > Graphics Settings. Zde je potřeba zeditovat všechna potřebná políčka. Především Chart Text = text v grafu, Chart Background = pozadí. Barevnost svíček nastavíte přes pole CandleStick UP Outline/Fill atd. Pokud nevíte, co konkrétně políčko znamená, stačí změnit barvu, kliknout na „Apply“ a sledovat, která oblast se změnila.
    TIP: Pokud chcete mít v SC současně černobílé grafy například pro tisk, tedy kontrastní a bez barevného pozadí, můžete si je otevřít do separátního Chartbooku a nastavit jim vlastní barevnost. Barevnost jednoho samotného grafu se nastavuje přes Chart > Chraphics Settings. Zde nahoře odškrtnete „Use Global Graphics Settings Instead of These Settings“ (použít globální nastavení místo těchto nastavení) a nastavíte barevnost pro daný konkrétní graf. Do grafu si pochopitelně můžete zobrazovat exekuce obchodů (tj. šipečky, kde jste vstupovali/vystupovali), protože tyto informace jsou v celé Sierra Chart dostupné globálně.
    TIP2: Pokud chcete překopírovat graf z jednoho Chartbooku do druhého nebo v rámci jednoho chartbooku, použijte Chart > Duplicate Chart to Chartbook, resp. Duplicate Chart. Tímto způsobem můžete rychle vytvořit kopii aktuálního grafu a jen mu změnit následně barevnost například pro tisk.
    Automatické otevírání chartbooků
    Sierra Chart by se vám určitě měla otevírat tak, jak ji budete používat. Všechny chartbooky, které chcete otevírat po spuštění programu si nastavte do „Global Settings > General Settings a soubory vložte přes „Add“ do políčka Files to Open On Startup.
    Využívejte možnost předdefinovat si tlačítka pro používané nástroje
    Určitě doporučuji upravit si SC podle svých potřeb tak, že si do záhlaví nastavíte tlačítka nejčastěji používaných nástrojů:

    Tlačítka si nastavíte přes Global Settings > Customize ToolBar. Je zde možnost si přednastavit až 8 barů, ale osobně si vystačím s jedním. Tlačítka vytvoříte jednoduše tak, že vyberete nástroj v levém okně a tlačítkem Add -> jej přenesete do pravého okna. Speciálními nástroji jsou pak „Tool Confing 1–8“:

    Přes tyto konfigurační tlačítka si můžete vybírat rychlou konfiguraci zvoleného nástroje. Pokud budete například chtít stejně jako já pracovat s různě barevnými horizontálními linkami pro zakreslování S/R úrovní, přidejte si do toolbaru tlačítko „Horizontal Line Tool“ a několik konfiguračních tlačítek – například Tool Confing 1 až 3.
    Následně si přednastavte konfiguraci nástroje horizontální linka. Použijeme volbu Global Settings > Tool Configs a vybereme Horizontal Line. V boxu pro konfiguraci nástroje jsou vidět tlačítka TC1 až TC8 – což jsou zmíněné různé konfigurace. Pak stačí nastavit parametry linky a kliknout v záhlaví na Save As a zvolit například TC1:

    Pro použití horizontální linky s příslušnou barevností a tloušťkou vyberu tlačítko pro nástroj horizontální linky a konfiguraci zvolím kliknutím například na tlačítko TC1 nebo jiné. Rychle tak mohu zakreslovat linky v přednastavené konfiguraci:

    Zakreslování S/R úrovní z vyšších timeframů do nižších
    V rámci FIMS hodně pracujeme s vyššími timeframy, do kterých si zakreslujeme S/R úrovně. Dnes pro to používám výše zmíněné horizontální linky. Následně chci, aby se mi tyto linky automaticky překreslovaly do nižšího timeframu. To lze nastavit tak, že v chart settings nízkého timeframu (F5) vložím do pole „Copy Chart Drawings From Chart #" jméno chartbook, dvojtečku a číslo grafu, ze kterého chci linky kopírovat. Můj chartbook s vyšším timeframem se jmenuje „3_FIMS30m“ a takto pak vypadá ono propojení:

    Sierra Chart a její nové kontinuální kontraktní měsíce

    Od listopadu 2013 nabízí Sierra Chart vlastní ticková data za rozumný poplatek. Nově přibyla velmi zajímavá možnost zobrazování kontinuálních kontraktních měsíců.
    O tickových datech Sierra Chart jsem podrobněji psal v článku Nový Sierra Chart real-time datafeed – kvalitní a současně levná ticková data. Od této poslední zprávy rozšířila Sierra Chart svá data i o další burzy (ICE USA, ICE Europe a Eurex). Základní balíček obsahující burzy CME, CBOT, NYMEX, COMEX stojí 35 dolarů (pro obchodníky s ostrými účty u některého z podporovaných brokerů).
    Sám data posledních několik měsíců používám a shledávám je úplně stejně kvalitní jako data od IQFeed, která stojí několikrát tolik. Jednou z posledních věcí, které mi v datech od SC chyběly, byla kontinuální data. Ta se Sieře podařilo zprovoznit nedávno ve velmi použitelné podobě.
    Kontinuální kontrakty představují pospojované jednotlivé kontraktní měsíce. Na rozdíl například od akcií se komodity (futures kontrakty) neobchodují kontinuálně – většinou se paralelně obchoduje hned několik kontraktů s různou dobou expirace s tím, že většina obchodníků se zaměřuje na nejlikvidnější nejbližší kontraktní měsíc. V průběhu času se tak postupně „roluje“ mezi jednotlivými kontraktními měsíci. To přináší určité komplikace zejména při dlouhodobých analýzách. Zobrazíte-li si dlouhou historii (například roční) aktuálně obchodovaného kontraktního měsíce (například březnový 2014 pro trh YM), bude celá historie zobrazena s použitím tohoto jednoho kontraktního měsíce. Přičemž vzdálenější měsíce budou zcela bez likvidity a často plné mezer (protože obchodníci v tu dobu obchodovali některý z likvidnějších kontraktních měsíců s dřívější expirací).
    Pro analýzu dlouhodobějších grafů je tak třeba pospojovat příslušné části jednotlivých kontraktních měsíců a vytvořit z nich jeden kontinuální kontrakt.
    Otázka samozřejmě je, jaké pravidlo použít pro vytvoření kontinuálního kontraktu – obchodníci v reálu přecházejí mezi jednotlivými kontraktními postupně. Mezi výrobci softwaru a obchodníky tak existují různé metody, jak kontinuální kontrakty vytvářet. Nejčastěji se roluje na základě určitého fixního dne v expiračním měsíci nebo na základě analýzy volume. Vytvořené kontinuální kontrakty se pak mohou v jednotlivých programech lišit, ale není to nic zásadního – pro tradera je důležité, aby věděl, jaký styl vytváření kontraktu používá a například obchodoval stejnou technikou, kterou bude používat pro své testování.
    Osobně jsem si zvykl pracovat s kontinuálními daty z IQFeed a nová data od Sierra Chart chci tak mít co nejvíce přiblížena tomuto mému „standardu“. V US indexech se mi osvědčilo nastavit rolování podle data, a to konkrétně 9 dnů před třetím pátkem v expiračním měsíci. V programu je třeba to nastavit u jednotlivých symbolů pomocí Global Settings > Symbol Settings. Záložka Rollover:

    Kromě způsobu rolování je u kontinuálních kontraktů potřeba vyřešit ještě jednu otázku – jestli historická data upravovat, či nikoliv. Jak jsem kdysi ukazoval na Finančníkovi v tomto článku, různé kontraktní měsíce obchodovány za různé ceny. Pokud tedy pospojujeme jednotlivé kusy různých kontraktních měsíců, získáme soubor, který bude v místě "spojení" mít velké mezery. Mezery přitom nevznikly momentem obchodování, ale proto, že kontrakty jsou z různých fundamentálních důvodů různě drahé (kontrakt s pozdějším dodáním kukuřice bude většinou dražší, protože je kukuřici třeba někde uskladnit atd.). Z daného důvodu jsou kontinuální kontrakty matematicky "přepočítávány". Nejlepší vysvětlení vám nabídne prostudování dříve uveřejněného obrázku z programu TradeStation:
    Na obrázku je jeden trh – kukuřice. Všimněte si šedivého pruhu. Ten označuje místo, kdy na základě kritéria likvidity došlo k "počítačovému přerolování" z jednoho kontraktního měsíce do druhého. Horní graf vznikl jednoduchým spojením dvou příslušných kontraktních měsíců – jak už bylo několikrát řečeno, kontraktní měsíce se z principu obchodují za různé ceny, protože např. u kukuřice v sobě měsíce nesou i náklady (např. na skladování), a proto vznikla ona mezera. Mezera, která však nebyla způsobena např. obrovským tlakem na nákup, jako je to u běžných gapů.
    Takové mezery by nám velmi zkomplikovaly testování trhů – celkový aktuální trend v kukuřici daný obchodní aktivitou byl dolů a jen proto, že jsme spojili dva kontraktní měsíce, bychom tento trend přerušili. Jakékoliv strategie používající např. trendové linky, různé klouzavé průměry atd. budou zcela mimo realitu. Proto většina obchodníků pracuje při testování s tzv. "přizpůsobenými" (angl. adjusted) kontraktními měsíci. Metod je opět celá řada a bylo by zbytečné se pouštět do výkladu všech, zejména proto, že ve většině programů se setkáte s jedinou možností – tzv. zpětným přizpůsobením, kdy se bere za hlavní aktuální kontraktní měsíc (tj. poslední v kontinuálním kontraktním měsíci) a všechny minulé kontraktní měsíce program automaticky posune tak, aby na sebe navazovaly. Na naší jednoduché ukázce byl předcházející kontraktní měsíc posunut "nahoru" o rozdíl zobrazené mezery.
    V Sierra Chart máme tak k dispozici dvě volby pro vytváření kontinuálních kontraktů – bez úprav a „back adjusted“. Volbu naleznete v menu Chart > Chart Settings, záložka Advanced Settings:

    Ve svých dlouhodobých grafech pak používám volbu Continuous Futures Contract – Date Rule Rollover, Back Adjusted. V Main Settings okna Chart Settings pak stačí nastavit dostatečnou historii dat a SC automaticky zobrazí kontinuální graf. Ten je velmi podobné grafu, který získávám z IQFeed. Není zcela stejný právě z důvodu použití různých algoritmů pro rolování u různých poskytovatelů dat, ale rozdíly jsou natolik minimální, že je – zejména u diskréčního obchodování – není třeba nijak hlouběji řešit.
    Podporu pro kontinuální kontrakty se Sieře podařilo zapracovat ke svým datům z mého pohledu na velmi solidní úrovni.
×

Důležitá informace

Na tomto webu zpracováváme cookies potřebné pro jeho fungování a analytiku, v případě udělení souhlasu také cookies pro účely cílení reklamy.