Backtestování v MT4

Forex - Backtestování v MT4Další z historických příspěvků (poslední) který tu zveřejňuji. Tento je skutečně staršího data a dnes již testuji jinak. Chci tím jen ukázat, že jsem ty návody vždy tvořil “blbuvzdorně” a pokud se jím řídíte, je skoro nemožné to zkazit.
Odkazy asi nebudou funkční,
je to sepsáno 26.9.2006

Originál byl psán pro server Financnik.cz a nejdete ho zde:

http://www.financnik.cz/komodity/recenze-sw/metatrader4-backtesting.html

Úvodem…

V 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í, začnete po překonání prvních zkušeností s tradingem toužit po možnosti testovat vaše obchodní strategie dlouhodobě. Jako začátečníka vás určitě napadne otevřít si graf, vrátit se do minulosti a ručně grafy procházet a testovat. Takovýto ruční backtesting je jednoznačně velmi smysluplný, ale velmi časově náročný. Řada obchodníků proto uvítá existenci programů, které proces bakctestingou pomohou zautomatizovat, a tak podstatně zefektivnit. Osobně mě zajímá forex a z nabízených programů mi vyhovuje nejlépe bezplatný program MetaTrader 4. Chcete-li si také vyzkoušet automatický backtesting forexových trhů s touto bezplatnou platformou, zde je stručný návod jak konkrétně 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://http://www.fxdd.com/meta_trader.html

Jako historická data jsem použil tato : http://www.alpari-idc.ru/ru/dc/databank

Následující kroky dělejte přesně jak je popsáno!
I zdánlivé drobnosti jsou důležité!
„Neznalci neexperimentujte“ a skutečně postupujte přesně dle návodu.

1. Spusťte program MT4.

2. Zavřete všechny grafy.

3. Smažte všechna data z adresáře, kde je MT4 – viz obr.

 

Budu rád, když napíšete něco do komentáře.Budu natáčet instruktážní videa a pokud máte otázky nebo dotazy, pište, rád se podělím o svoje znalosti a zkušenosti.

4. Stáhněte si data, např. z citovaného http://www.alpari-idc.ru/ru/dc/databank

Zde si pojďme postup ukázat na páru GBP/USD

a potom minutová data (tedy M1)

nyní data stáhněte, uložte a rozbalte na určené místo

5. Otevřete MT a nastavte Tools – Options – Charts – Max bars in history – 99999999999999

6. Naimportujte stažená data.
Zvolte Tools – History center a v našem případě GBP/USD 1M naimportujte již uložená data z Alpari (viz postup v předcházejícím bodě)

Zkontrolujte si, že máte data naimportována správně:

7. Otevřete 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. Článek píši pro začínající obchodníky a myslím, že stačí, když rozchodí testing na minutových hodnotách.(návod na Period Converter je na konci tohoto dokumentu)

9. A máme graf v programu (všimněte si stavu Offline!)

10. Nyní začneme už testovat. Vybral jsem si pro své „pokusy“ tento Expert Advisor – UniversalMACrossEA.mq4, který si můžete stáhnout na této adrese: http://www.financnik.cz/download/UniversalMACrossEA.mq4

11. Vypněte MT a zkopí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 „vytvoří sám“. Jedná se o kompilovaný soubor, vytvořený jako strojový zápis původního ExpertAdvisoru. Soubor vznikne automaticky při zapnutí MT4.
(jde to i jinak, ale o tom až jindy).

12. Otevřeme Strategy Tester (CTRL+R) a nastavíme takto:

– v první roletce zvolíme EA UniversalMACrossEA
– ve druhé roletce zvolíme GBPUSD
– Period M1 (máme minutová data)
– volbu „Model“ bych opět pro začátečníky nechal jak je

– Use date – aby test netrval dlouho, navolte si pro minutová data jeden den (třeba podle vzoru)
– zaškrtněte Recalculate (přepočítání dat)
– nezaškrtávejte Optimalization

13. Nastavení Expert Advisoru.

14. Protože jsme začátečníci, zkusíme vše nejprve s jednoduchým testem. Budeme testovat překřížení dvou MA. Dosaďte si do vyznačených řádků hodnoty pro MA (20 a 70)

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 sekundy 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 v místech nákupu a prodeje.

19. Pokud nyní chcete najít optimální nastavení, použijte volbu Optimalization.

20. Již v bodě 14. jsme nastavovali hodnoty pro Rychlý a pomalý MA.
V této tabulce jsou i hodnoty Start, Step a Stop.

Pokud nyní použijeme funkci Optimalizace a zaškrtneme si políčka (dle obrázku), program použije dvě hodnoty MA. Pomalý MA v rozsahu 10-30 (po 5)
Rychlý MA v rozsahu 60-100 (po 5) a přepočítá všechny jejich kombinace.

Můžete zaškrtnout i více voleb, geometrickou řadou ale naroste doba výpočtu.

21. Pokud si nyní 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 MA1 v rozmezí 10-30 + MA2 v rozmezí 60-100.

Pokud si překlikneme ne vedlejší záložku, dostaneme následující graf:

Nejtmavší políčko ukazuje nejlepší výsledek – u nás konkrétně MA20+MA70.

Pokud nyní provedeme dvojklik na hodnotě 1759.98 (v našem případě nejlepší hodnota) – dosadí se nám hodnoty použité k této simulaci přímo do EA.

To můžeme zkontrolovat po kliknutí na Expert properties:

kde uvidíte, že hodnoty v rámečku souhlasí s hodnotami v Expert properties.

Nyní klikneme na START a necháme propočítat s dosazenými hodnotami zadané období znovu.

Pokud hledáme optimální nastavení systému, měli bychom věnovat pozornost i sloupcům označeným na obrázku

Drawdown je údaj o tom, jaký nejhorší propad nastal s daným nastavení za dobu testu. V našem příkladu konkrétně za doby testu nastal okamžik, kdy ztráta jednoho z obchodů byla ve výši 170 USD, tedy 1,53% z našeho účtu. Protože moudrý obchodník hlídá risk, má nastavenu hranici rizika na jednotlivé obchody – např. neriskuje víc než 2% svého účtu. Souvisí to se Money Managementem, to by byla ale zase samostatná kapitola. Na Finančníku o tom pojednávají samostatné články i diskuzní vlákna.

Nyní už i začátečníci mají hračku, kde mohou měnit, testovat a zkoumat. Mým cílem bylo „rozpohybovat“ funkci backtestování i těm, kterým to z nějakého důvodu nešlo, jako v počátcích 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.

Funkce backtestování má svá omezení a není samospásná. Pro zájemce doporučuji přečíst si vlákno: http://www.financnik.cz/forum/read.php?13,8667,page=1 (finančník – forex – Metatrader4) Je tam tolik rad a „rozumů“, že je všechny do toho dokumentu nelze vložit. Jsem si jistý, že vše na co ještě chcete zeptat tam již zodpovězeno bylo. Sám jsem vlákno četl několikrát.

Dokument je napsán na úrovni mých znalostí a zkušeností s backtestování v 06.06.2006.

Držím palce.

Jiří Bachmann – jiri@bachmann.cz

 

Nyní ještě k funkci Period Converter.

Pokud chceme testovat např. hodinové grafy, nemáme k dispozici hodinová historická data – máme pouze 1 minutová, nebo denní (viz úvod). MT4 nám umožňuje si data nechat dopočítat skriptem Period Converter.

Otevřeme si okno Navigátor a najdeme Skript period_converter.

Myší označíme period_converter a přatáhneme jej nad graf (offline!)

Původní hodnotu „3“ změníme na „5“ a stiskneme OK.

V okně „Terminal“ je důležité zkontrolovat, že konverze proběhla, o čemž vypovídá označený zápis (writen).
Tím jsme si „vyrobili“ z minutových dat 5 minutová data.
Stejným způsobem si musíme vyrobit 10, 30, a 60 minutová data.

Potom teprve můžeme testovat hodinové grafy a software sám použije nižší datové řady, které jsme dopočítali konverzí.

 

Budu rád, když napíšete něco do komentáře. Budu natáčet instruktážní videa a pokud máte otázky nebo dotazy, pište, rád se podělím o svoje znalosti a zkušenosti.

 

Přidat komentář

0 Komentáře.

Přidat komentář


Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..