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
  • Backtestování v MT 4 (software pro forex)

    Dnešní článek pro vás připravil pravidelný přispěvatel komunitního portálu www.financnik.cz – uživatel Jiří Bachmann. Pokud se také vy chcete podělit se svými zkušenostmi, zašlete návrh svého článku či recenze na info@financnik.cz

    Nejprve úvodem: Při mých prvních pokusech s testováním v programu MetaTrader 4 (MT4) jsem 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 diskuzního vlákna a anglicky psaných serverů. To má však několik úskalí. Především i pro zkušenější obchodníky je nalezení odpovědí zpětně ve vláknech složité a časově náročné. Pokud člověk s problematikou začíná, zpravidla ani neví na co se zeptat, resp. kde začít. Odkazy na anglické stránky (i když je to smutné) nejsou pro naprostou většinu lidí použitelné, především z ohledu na časovou a jazykovou bariéru.

    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í.

    Ú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.

    mt4_image001.jpg

    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

    mt4_image002.jpg

    a potom minutová data (tedy M1)

    mt4_image003.jpg

    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

    mt4_image004.jpg

    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ě)

    mt4_image005.jpg

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

    mt4_image006.jpg

    7. Otevřete MT4 File – Open Offline (v našem případě takto)

    mt4_image007.jpg

    (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!)

    mt4_image008.jpg

    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 –  

    mt4_image009.jpg

    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:

    mt4_image010.jpg

    - 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.

    mt4_image011.jpg

    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)

    mt4_image012.jpg

    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.

    mt4_image013.jpg

    mt4_image014.jpg

    mt4_image015.jpg

    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.

    mt4_image016.jpg

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

    mt4_image017.jpg

    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.

    mt4_image018.jpg

    21. Pokud si nyní necháme zobrazit výsledky a seřadíme je podle Profitu

    mt4_image019.jpg

    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:

    mt4_image020.jpg

    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.

    mt4_image021.jpg

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

    mt4_image022.jpg

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

    mt4_image023.jpg

    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.

    mt4_image024.jpg

    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.

    mt4_image025.jpg

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

    mt4_image026.jpg

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

    mt4_image027.jpg

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

    mt4_image028.jpg

    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í.

    25.9.2006

    Finančník.cz


    Zaměřte se na to, co přináší reálné výsledky.

    Nakopněte své obchodování
    k systematickým profitům

    (program pro začínající obchodníky, kteří se chtějí dostat ke stabilnímu obchodování bez časové náročnosti)

    Začínáme 30. 1. 2024.

    Nově s vytvořením a popisem všech pravidel mechanické obchodní strategie, ve které mám sám aktuálně otevřený profit +224 121 Kč!

    >> Workshop profitabilního obchodování od A do Z

    Další články na toto téma

    MetaTrader

    MetaTrader 5 je obchodní platforma, nabízející nástroje pro technickou analýzu a automatizované obchodování na finančních trzích.
    MetaTrader se používá zejména pro obchodování s forexem a CFD.
    Na Finančníkovi využíváme MT5 k automatizovanému obchodování CFD kontraktů s využitím MetaTrader5 Python API.
     

    Automatizace MetaTraderu

    V tutoriálu si ukážeme základní principy komunikace s MetaTraderem pomocí Pythonu, konkrétně operace pro práci s účtem a také jakým způsobem lze do trhu odesílat příkazy.

    Video naleznete v TechLabu zde.

    Metatrader 5 - bordel v adresářích

    Zdravím vás,
    Tak jsem si stáhnul metatrader5 (admiral Markets)
    Jelikož mám W7 a do Program Files můžu zapisovat jen jako administrátor, nainstaloval jsem si ho do adresáře na jiném disku - disk D
    Již z MT4 jsem si zvykl na.. no .. řekněme tomu "specifikum" (td), že místo pro skripty je pevně dané ve stromové struktuře kde je program uložen. (tedy ne jako u jiných slušných programů kde si uživatel může vybrat, kam si svá data uloží a odkud je bude tahat, aby měl data zvlášť a program zvlášť. )

    Nicméně MT5 mě nachystal další překvapení (td)(td) : Složky se skripty, indikátory a experty jsou na dvou místech:
    1) tam kam jsem to nainstaloval. to je: D:\MetaTrader-Admiral Markets\MQL5
    2) kupodivu, poté co jsem se snažil nainstalovat a zprovoznit skript jsem zjistil že téměř identická adrosářová struktura je také zde:
    C:\Users\MyName\AppData\Roaming\MetaQuotes\Terminal\BF4471748146471D6309B4B7D53D7134\MQL5\

    Když jsem změnil skripty ve na disku D, tak v MT jsem žádnou vizuální změnu neviděl, pokud jsem chtěl něco doinstalovat, musel jsem do C\Users\.. hrůza..

    Nejsem si vědem toho že bych měl při instalaci nějakou další volbu než kam nainstalovat hlavní program...

    Podotýkám, že rozhodně nejsem expert na Metatrader, proto prosím, poučte mě, jak to vlastně funguje / má fungovat.
    Diky.

×
×
  • Vytvořit...