Backtestování v MT 4 Nejprve úvodem: Při mých prvních pokusech s testováním v MT4 jsem narazil (narážel) na mnoho neznámých a popravdě jsem se nikdy nedostal „do cíle“. Při hledání rad zde na Finančníkovi jsem byl odkazován na studium tohoto vlákna a anglicky psaných serverů . To má však několik úskalí. 1. I větší borci se přiznali, že najít něco zpětně ve vláknech je složité a časově náročné. 2. Rady tu sice jsou, ale píše (odpovídá) vždy „znalec - neznalcovi“. Pokud víte přesně co chcete, zeptáte se a znalec odpoví, stačí vám jakási nápověda, popostrčení. Pokud ale tápete, zpravidla ani nevíte, na co se zeptat, resp. potřebovali byste 1 000 otázek a 1 000 odpovědí. ( a to samozřejmě v diskusních vláknech nejde !) 3. Odkazy na anglické stránky (i když je to smutné) nejsou pro naprostou většinu použitelné. Nebudu to rozvádět, ti co neumí mě chápou, ti co umí možná méně, ale pokud něco neumím popsat ani v češtině, jak to mám hledat v angličtině. Zpravidla to není ani lenost či neochota hledat, prostě na to nemá mnoho lidí čas a energii. Protože primárním cílem Finančníka je pomáhat sobě navzájem, teď když už jsem se k cíli prokousal, rád bych to zdokumentoval a zanechal návod i pro ostatní „badatele“. „Znalci“ se možná pousmějí, jak primitivní formu výkladu jsem zvolil, „neznalci“ ji snad ocení. Jak jsem tedy začal (chtěl začít). Na naprosto všech návodech pro začínající obchodníky je jednoduchá (pravdivá) poučka. Začněte na demo platformách, okukujte, zkoušejte, krachujte, založte znova, testujte. Má to samozřejmě logiku, je velký předpoklad, že když se vám něco bude dařit „nanečisto“, půjde vám to i s opravdovými penězi. Naopak – pokud se vám nebude dlouhodobě dařit na Demo platformách, asi „zahučíte“ i naostro. Protože způsobů obchodování je velké množství, když začnete trošíčku vidět do toho, jak si zobrazit měnový pár, jak nastavit časovou řadu (timeframe), jak
zadat nákupní příkaz … začnete toužit po tom, vědět jak by se zrovna ta vaše obchodní strategie chovala dlouhodobě. Jako začátečníka Vás určitě napadne otevřít si graf, vrátit se do minulosti, jakoby si schovat budoucnost a pomalu si grafem posouvat a odhalovat si ho z pravé strany obrazovky. A říkat si: “Teď bych koupil“, “Teď bych prodal“… Myslím, že to kdysi zkusil každý. No jo, ale toho času ( i když dnes bych dodal smysluplně využitého ! ) Takže když jsem (po zkoušení i jiných obchodních softwarů) se dozvěděl o existenci Metatraderu a zkušebně ho nainstaloval, velmi jsem ocenil zmínku o Backtestování. Při mém koketování s akciemi, komoditami a v současnosti oblíbeným Forexem jsem si vyzkoušel mnoho systémů, obchodních strategií a způsobů „jak na to“. Skončil jsem v kruhu, tedy na začátku a nejoblíbenějším ukazatelem mi jsou Klouzavé průměry (MA), tedy lépe řečeno jejich křížení (Cross) Dlouho jsem hledal a chtěl najít jakéže to mají být hodnoty MA, aby to fungovalo nejlépe. Tady je samozřejmě každá rada drahá a jak se zde na Finančníkovi stále dokola zmiňuje – každý si musí najít to své. No a tak jsem to chtěl přenechat strojům, ať mi to „vymyslí“, lépe řečeno otestují. Pojďme tedy konečně na to. Jak tedy začít. Po počátečních pokusech a zmínkách ve foru, že ne všechny verze MT4 si rozumějí s historickými daty jsem si nainstaloval verzi z http://www.fxdd.com/free_demo.html Jako historická data jsem použil tato : http://www.alpari-idc.ru/ru/dc/databank Následující kroky prosím dělejte přesně jak je popsáno, i drobnosti jsou důležité ! 1. Otevřete si MT4. 2. Zavřete všechny grafy. 3. Smažte všechna data z adresáře, kde je MT4 – viz obr.
4. Stáhni si data, např z citovaného http://www.alpari-idc.ru/ru/dc/databank Dejme tomu, že to zkusíme s párem GBP/USD
a potom minutová data (tedy M1)
takže data stáhnete, uložíte a rozbalíte na určené místo 5. Otevři MT a nastav Tools – Options – Charts - Max bars in history – 99999999999999
6. Naimportuj data, která jsi stáhnul.
Tools - History center a v našem případě GBP/USD 1M naimportovat data z Alpari již uložená (dělali jsme před chvílí)
Zkontrolujte si, že máte data neimportována správně:
7. Otevři MT4 File – Open Offline (v našem případě takto)
(všimněte si čísla 673516, je i na předcházejícím obrázku - to jen pro kontrolu, že se „nám nic neztratilo“ ) 8. Tady zkušenější radí skript Period Converter, já bych si ho dovolil (prozatím!!!) vynechat, píšu to pro začínající a myslím že stačí, když rozchodí testing na minutových hodnotách. 9. A máme ho tam (graf, všimněte si Offline!)
10. Nyní začneme už testovat. Vybral jsem si pro své „pokusy“ tento Expert Advisor - UniversalMACrossEA.mq4. Uložil jsem ho zatím u sebe, abyste ho nemuseli hledat. http://www.bachmann.cz/UniversalMACrossEA.mq4
11. Vypněte MT a nakopírujte si výše uvedený soubor do adresáře - experts –
Všimněte si zároveň, že v adresáři “experts“ je i soubor se stejným názvem, ale s příponou ex4 (tedy: UniversalMACrossEA.ex4) . Tento soubor se „vyrobí sám“. Jedná se o kompilovaný soubor, tzn. program sám si vyrobí sám, jedná se strojový zápis toho ExpertAdvisoru. Vznikne tedy sám při zapnutí MT4. (jde to i jinak ale to až jindy )
12. Otevřeme Strategy Tester (CTRL+R) a nastavíme takto:
−
v první roletce zvolíme EA UniversalMACrossEA - v druhé roletce zvolíme GBPUSD - Period M1 (máme minutová data, že ) - volbu „Metod“ bych opět pro začátečníky nechal jak je
−
Nemyslíš volbu Model? - Use date – aby test netrval dlouho, navolte si pro minutová data jeden den (třeba podle vzoru) - Recalculate zaškrtnout (přepočítání dat) - Optimalization nezaškrtnout !!!
13. Nastavení Expert Advisoru.
14. Protože jsme začátečníci, zkusíme to nejprve s jednoduchým testem, budeme zkoušet překřížení dvou MA. Zaškrtněte a doplňte volby podle obrázku. Není třeba zaškrtávat, to je jen pro optimalizaci
15. A konečně – START –
16. Pokud jste vše provedli podle tohoto návodu, měl by proběhnout test. (U mě to trvá asi 3 vteřiny a tlačítko Start se na chvíli změní ve Stop)
17. Na jednotlivých záložkách byste měli mít výsledky testu.
18. Pokud se chcete podívat do grafu, zvolte Open chart a do grafu se vám vykreslí značky kdy se koupilo, kdy se prodalo.
19. Pokud teď chcete najít optimální nastavení, použijte volbu Optimalization
20. Už v bodě 14. jsem nastavovali hodnoty pro Rychlý a pomalý MA. V této tabulce jsou i hodnoty Start, Step a Stop. Pokud teď použijeme funkci Optimalizace, program vezme dvě hodnoty MA. Pomalý MA v rozsahu 10-30 (po 5) Rychlý MA v rozsahu 60-100 (po 5)
21. Pokud si teď necháme zobrazit výsledky a seřadíme je podle Profitu
budeme mít v prvním řádku nejlepší možné nastavení v intervalech, které jsme zadali MA10-30 + MA60-100. V našem případě je nejlepším výsledkem nastavení MA20 + MA70. (Asi jsem měl výchozí hodnoty nastavení zvolit jiné, aby bylo vidět, že to skutečně našlo nejoptimálnější nastavení)
Teď už i začátečníci mají hračku, kde můžou měnit a měnit a zkoumat a zkoumat. Mým posláním bylo rozpohybovat to i těm, kterým to z nějakého důvodu nešlo, jako mě. Nedělám si ambice na poučování, pokud je v textu něco nepřesně uvedeno, vysvětleno, nejedná se o úmysl ani nedbalost. Dokument je napsán na úrovni mých znalostí a zkušeností s Backtestování. Držím palce. Budu-li umět, rád poradím, pomůžu. Jiří Bachmann – www.bachmann.cz –
[email protected]