MT5 API + AI: Vytvořte si automatizovaného bota pouhým mluvením
Nyní, když již dokážete snadno načítat historické svíčkové grafy a vytvářet grafy, je čas na závěrečný krok naší série: sestavení vašeho prvního plně funkčního obchodního bota pro MT5, aniž byste museli napsat jediný řádek kódu. S využitím datové základny, kterou jste si vytvořili v našem předchozím návodu na načítání cenových údajů, tento závěrečný článek promění váš pracovní prostor v kompletní systém pro automatizované provádění obchodů.
Na konci tohoto průvodce budete schopni proměnit své obchodní nápady v plně funkční systém, a to pouze pomocí jednoduchých pokynů v angličtině pro Claude Code. Toto přesně dnes dokážeme:
- Vytvořte si svého bota – popište umělé inteligenci svá jedinečná obchodní pravidla. Sledujte, jak okamžitě vygeneruje robustní a přehledný skript pro automatizované obchodování.
- Otestujte strategii – Proveďte komplexní zpětný test strategie na historických datech, abyste vyhodnotili, jak by se vaše pravidla osvědčila v minulosti.
- Bezpečné nasazení – Spusťte strategii na demo účtu a ověřte její chování v reálných tržních podmínkách bez finančního rizika.
Máte-li již připravené prostředí z předchozích částí série, dělí vás jen několik příkazů v běžném jazyce od spuštění vlastního algoritmického obchodního systému bez nutnosti programování.
Pojďme na to!
Přehled automatizovaného obchodování
Cesta od nápadu k živému automatizovanému obchodování vede přes čtyři kroky:
Nejdůležitější je krok 1 – „Definujte svá pravidla“. Umělá inteligence sice dokáže napsat kód, ale rozhodnutí o tom, jakou strategii budete obchodovat, je na vás.
Proč Python místo MQL5?
Při automatizaci strategií v MetaTraderu 5 vede tradiční cesta k vytvoření EA (Expert Advisor) prostřednictvím MQL5, nativního programovacího jazyka platformy.
V této sérii však postupujeme jinak a k externímu ovládání MT5 používáme Python. Podívejme se podrobně na to, proč jsme se tak rozhodli, jaké výhody vám to přináší a jaké kompromisy byste měli mít na paměti.
Umí MQL5 komunikovat s AI?
Technicky vzato ano. MQL5 disponuje vestavěnou funkcí WebRequest(), která umožňuje komunikaci s vnějším světem přes HTTP.
Pokus o přímé propojení MQL5 s moderními systémy umělé inteligence je však extrémně náročný. Museli byste ručně programovat JSON parsery a budovat komplexní integrace API pro nástroje jako Claude nebo OpenAI zcela od nuly. Jen k získání základní odezvy je zapotřebí obrovské množství pokročilého programování.
Proč Python vítězí
Python je nesporným králem umělé inteligence a datové vědy. Místo zdlouhavého vývoje vám Python nabízí oficiální SDK od všech hlavních poskytovatelů AI, připravená k okamžitému použití. Integrace pokročilých modelů, jako je Claude, vyžaduje pouze instalaci knihovny a několik řádků čistého kódu.
Kromě toho vám použití Pythonu otevírá dveře k obrovskému ekosystému externích nástrojů, které by bylo prakticky nemožné vytvořit pouze pomocí MQL5. V pozdější fázi této cesty vám Python umožní snadno vytvářet:
- Vlastní grafické ovládací panely – krásná, přizpůsobená vizuální rozhraní pro sledování vašich obchodů.
- Okamžitá oznámení – živé upozornění zasílané přímo do aplikace Telegram, Discord nebo na váš mobilní telefon.
- Pokročilé analýzy dat – interaktivní grafy a automaticky generované zprávy o výkonu ve formátu PDF.
Závěr: Pokud je vaším cílem vybudovat inteligentní obchodní ekosystém, který přesahuje hranice základní platformy pro tvorbu grafů, je Python přirozenou a nespornou volbou.
Kompromisy
Abychom byli zcela upřímní, žádné řešení není dokonalé. Ačkoli Python nabízí značnou flexibilitu v oblasti umělé inteligence, přináší ve srovnání s nativními skripty MQL5 několik kompromisů:
- Rychlost provádění příkazů – Python komunikuje s MT5 prostřednictvím externího mostu (meziprocesová komunikace). To přidává nepatrnou latenci ve srovnání s kódem MQL5 běžícím nativně uvnitř platformy. Pro standardní algoritmické obchodování je to irelevantní, ale pokud budujete ultrarychlý vysokofrekvenční scalpingový bot, MQL5 je stále králem.
- Chybí nativní tester strategií – skripty MQL5 mohou přímo využívat vestavěný tester strategií MT5 pro optimalizaci na úrovni ticků. Externí skripty v Pythonu tento nástroj nativně používat neumí, takže testování na historických datech musí probíhat prostřednictvím datových knihoven Pythonu.
- Spuštění dvou programů – aby váš bot fungoval, musí na vašem počítači běžet současně jak prostředí Pythonu, tak terminál MT5. U EA v MQL5 stačí samotná platforma MT5.
Jak si vybrat správný nástroj
Zvolte MQL5, pokud... | Vyberte si Python, pokud... |
Vaše strategie vyžaduje extrémně nízkou latenci a provedení v řádu milisekund (např. intenzivní scalping). | Chcete hladce integrovat špičkové modely umělé inteligence, jako je Claude. |
| Chcete okamžitě využít vestavěný Strategy Tester platformy MT5. | Chcete propojit své obchodování s externími aplikacemi (Telegram, webové dashboardy, databáze). |
Chcete, aby váš automatizovaný systém běžel výhradně v rámci jedné platformy. | Chcete pokročilou vizualizaci dat, strojové učení a flexibilní automatizaci. |
Vytvořte si svého automatizovaného obchodního bota
Nyní, když je jasné, proč volíme Python, je čas otevřít Claude Code a pustit se do vývoje. Nemusíte se starat o základní syntaxi; vaším jediným úkolem je jasně vysvětlit AI vaši tržní logiku a ona se postará o náročnou práci s přeměnou těchto konceptů na funkční kód.
Podívejme se, jak to funguje v praxi.
Krok 1: Definujte svá obchodní pravidla
Začněme jednoduchým pravidlem. V tomto článku použijeme jako příklad klasickou strategii křížení klouzavých průměrů (MA).
Naše obchodní pravidla:
- Nástroj: USD/JPY
- Časový rámec: 1 hodina (H1)
- Vstup do dlouhé pozice: když 20periodální MA prorazí nad 50periodální MA směrem nahoru (zlatý kříž)
- Vstup do prodejní pozice: Když 20-periodový klouzavý průměr kříží 50-periodový klouzavý průměr směrem dolů (mrtvý kříž)
- Velikost lotu: 0,01 lotu (minimálně)
- Uzavření pozice: Pozici uzavřete a obrátíte na základě opačného signálu.
Toto pravidlo slouží pouze jako výukový příklad. Pro skutečné obchodování použijte strategii založenou na vlastní analýze a ověření.
Krok 2: Nechte AI napsat kód
Jakmile pravidla definujete, stačí Claude Code sdělit, co požadujete.
Nemusíte rozumět každému detailu, ale je důležité ověřit, zda kód vygenerovaný AI odpovídá vašim zamýšleným pravidlům. Pokud vám něco není jasné, stačí se Claude Code zeptat: „Co tato část dělá?“ a on vám to vysvětlí srozumitelným jazykem.
Krok 3: Zpětné testování a validace
Jakmile je kód připraven, ověříme strategii na historických datech. Backtestování je klíčový krok, který ukazuje, jak by si strategie vedla v minulosti – ještě předtím, než riskujete skutečné peníze.
Chcete-li tento proces spustit, stačí říct Claude Code, aby spustil skript a provedl zpětné testování přímo ve vašem projektovém prostředí:
Po dokončení zpětného testování nestačí k posouzení strategie vždy jen pohled na surová čísla – je třeba se skutečně podívat na to, jak se strategie chovala v průběhu času. Chcete-li získat jasný přehled o výkonu, stačí požádat AI, aby vizuálně znázornila vaše obchody a zůstatek na účtu:
Pokud jsou čísla a grafy samy o sobě těžko interpretovatelné, můžete požádat Claude Code: „Analyzuj tyto výsledky a sděl mi silné a slabé stránky strategie“ – poskytne vám komentář ke každému ukazateli spolu s návrhy na zlepšení.
Klíčové metriky zpětného testování, které si je třeba zapamatovat:
- Míra úspěšnosti – procento obchodů, které skončily se ziskem
- Profit Factor (PF) – celkové zisky dělené celkovými ztrátami. Hodnota nad 1,0 znamená čistý zisk; obecně se za žádoucí považuje hodnota 1,5 nebo vyšší
- Maximální propad (DD) – Největší pokles vlastního kapitálu na účtu od vrcholu k dnu. Míra rizika
- Průměrný zisk / průměrná ztráta – poměr průměrného ziskového obchodu k průměrnému ztrátovému obchodu. Také známý jako poměr rizika a výnosu
Vylepšování strategie
Ziskový faktor (PF) 0,99 znamená, že strategie je po odečtení transakčních nákladů v podstatě na nule. Skutečné kouzlo práce s Claude Code spočívá v tom, že můžete svůj systém postupně vylepšovat pomocí jednoduchého dialogového cyklu: upravte pravidla, spusťte nový backtest a zkontrolujte aktualizované metriky.
Vylepšení 1: Přidání stop loss a take profit
Abychom z tohoto systému s nulovým ziskem a ztrátou vytvořili profesionální strategii, je naším prvním krokem zavést klasické řízení rizika. AI proto nařídíme přidat přísné úrovně Stop Loss (SL) a Take Profit (TP) měřené v pipech. To nám umožní porovnat více konfigurací:
Vylepšení 2: Optimalizace period klouzavých průměrů
Dále ověříme, zda jsou periody klouzavých průměrů (20/50) skutečně optimální, a to vyzkoušením jiných kombinací.
Vylepšení 3: Přidání filtru RSI
Na závěr přidáme filtr RSI (Relative Strength Index). Vyhneme se vstupům do trhu v momentech, kdy je trh překoupený nebo přeprodaný, a omezíme obchody uzavřené v nevhodnou dobu.
Shrnutí vylepšení
Zde je přehled toho, jak se strategie vyvíjela během tří kol vylepšování.
| Krok | Konfigurace | PF | Celkový zisk a ztráta |
| Počáteční | MA(20/50), bez SL/TP | 0,99 | -612 £ |
| + SL/TP | Přidán SL 80 pipů / TP 160 pipů | 1,35 | +13 940 £ |
| +Optimalizace MA | Změněno na MA(20/60) | 1,59 | +19 340 £ |
| +Filtr RSI | Nákup při RSI < 60; prodej při RSI > 40 | 1,77 | +9 430 £ |
Čistý zisk se zlepšil z 0,99 na 1,77 a maximální propad klesl z 13 480 £ na 3 330 £. Stačí pouze jednoduše popsat směr zlepšení srozumitelným jazykem – AI se postará o úpravy kódu a zpětné testování.
V tom spočívá síla tohoto přístupu.
Ověření na dlouhodobých datech
Optimalizace na krátkém časovém úseku s sebou nese riziko přetrénování – strategie, která se hodí pouze pro dané období. API platformy MT5 dokáže načíst data v časovém rámci H1 za přibližně osm let, takže rozšíříme zpětné testování a provedeme nové vyhodnocení.
Každý krok zůstává po osm let nad hodnotou 1,0, což potvrzuje správnost směru; pokles z 1,77 na 1,21 však naznačuje jisté přetrénování.
| Krok | PF (16 měsíců) | PF (8 let) | Celkový zisk a ztráta (8 let) |
| Počáteční | 0,99 | 1,09 | +24 610 £ |
| +SL/TP | 1,35 | 1,17 | +38 860 £ |
| +Optimalizace MA | 1,59 | 1,16 | +34 050 £ |
| +RSI filtr | 1,77 | 1,21 | -+15 470 £ |
Backtesty využívají historická data a nezaručují budoucí výsledky. Přizpůsobení se minulým datům může na reálných trzích selhat. Berte tato čísla pouze jako orientační a před zahájením živého obchodování vždy proveďte test na demo účtu.
Testování s vyšší přesností pomocí tickových dat
Hodinové svíčkové grafy jsou pro zpětné testování účinné, vytvářejí však slepou skvrnu, protože skrývají, zda trh v dané hodině nejprve dosáhl maxima, nebo minima. Dojde-li k volatilnímu pohybu ceny, který v rámci jednoho svícnu spustí jak úroveň Stop Loss, tak Take Profit, mohou být metriky strategie nepřesné.
Chcete-li se těchto dohadů vyvarovat, můžete Claude Code nařídit, aby využil vestavěnou funkci MT5 pro načítání tickových dat. Stačí zadat příkaz: „Spusť zpětný test s použitím tickových dat.“
Při srovnání rozsáhlé validace zahrnující 15,2 milionu tiků s našimi hodinovými sloupcovými daty se výsledky pro naši konfiguraci se širokým SL 80 / TP 160 se shodovaly, protože cena jen zřídka dosáhla obou cílů v rámci jedné hodiny. Pokud však vaše strategie spoléhá na těsné cíle kolem 10 až 20 pipů, je přechod na přesné ověření na úrovni ticků naprosto nezbytný. Mějme však na paměti, že hloubka dostupných historických dat bude zcela záviset na limitech serveru vašeho brokera.
Krok 4: Spuštění na demo účtu
Jakmile backtesting ukáže slibné výsledky, je čas spustit strategii na demo účtu.
Povolte „Algo Trading“ v MT5
Chcete-li odesílat příkazy z Pythonu do MT5, musíte v MT5 povolit Algo Trading. K jeho aktivaci klikněte na tlačítko „Algo Trading“ na panelu nástrojů MT5 (zelená ikona přehrávání).
Než strategii spustíte, ověřte, že je v nastavení terminálu MetaTrader 5 automatické obchodování výslovně povoleno; MT5 jinak požadavky na příkazy odesílané z Pythonu automaticky odmítne.
Před spuštěním strategie je nutné ověřit, že je v nastavení terminálu MetaTrader 5 povoleno automatické obchodování. Platforma MT5 jinak odmítne všechny objednávky odeslané z Pythonu. Především nikdy nespouštějte neověřený skript pro automatizované obchodování přímo na živém účtu s reálnými penězi. Chyby v kódu, selhání sítě nebo neočekávané tržní podmínky mohou snadno vést k nežádoucímu finančnímu riziku. Chcete-li systém bezpečně ověřit, můžete skript pro zpětné testování snadno převést na verzi pro živé provádění. V Claude Code zadejte příkaz: „Převést toto na skript pro živé provádění, který odesílá skutečné příkazy přes MT5. Kontrolovat při každém uzavření svíčky H1; zahrnout protokolování; umožnit zastavení pomocí Ctrl+C.“ Nově vygenerovaný kód tak můžete okamžitě spustit na bezpečném demo účtu.
Spuštění na demo účtu
Po spuštění skript kontroluje nejnovější data pokaždé, když se uzavře svíčka H1. Jakmile se spustí signál, automaticky zadá příkaz. Po provedení obchodu se pozice zobrazí také na záložce „Obchody“ v MT5.
Výsledky po nočním běhu
Po spuštění strategie na demo účtu přes noc (cca 14 hodin) nedošlo k žádné obchodní transakci. Zlaté a mrtvé kříže na časovém rámci H1 se objevují jen jednou za několik dní až týdnů, takže okamžité spuštění příkazu „botem“ je vzácné.
Proto jsme se rozhodli otestovat také strategii s kratším časovým rámcem a mnohem častějšími obchody.
Test krátkodobé strategie
Tentokrát vyzkoušíme strategii založenou na návratu k průměru RSI na 15minutovém grafu (M15). Pokud RSI klesne pod 30, vstupujeme do dlouhé pozice s očekáváním, že je cena „přeprodaná“. Pokud RSI stoupne nad 70, otevíráme krátkou pozici s očekáváním, že je cena „překoupená“. Na časovém rámci M15 lze očekávat několik signálů denně.
Pravidla skalpování založená na návratu RSI k průměru:
- Nástroj: USD/JPY
- Časový rámec: 15 minut (M15)
- Vstup do dlouhé pozice: RSI(14) klesne pod 30
- Vstup do prodejní pozice: RSI(14) stoupne nad 70
- Uzavření pozice: Pozici uzavřete a otočte na základě opačného signálu.
Postupujeme podle stejného procesu vylepšování jako u strategie křížení klouzavých průměrů (přidání SL/TP, přidání filtrů, dlouhodobá validace).
Kombinace SL20/TP20 s filtrem MA(200) přináší nejlepší výsledky: PF 1,26, max. DD 1 752 ¥. Filtr MA(200) přidává podmínku „nakupovat pouze během vzestupných trendů, prodávat pouze během sestupných trendů“, čímž zvyšuje přesnost vstupů založených na návratu k průměru.
✓ Základní PF 1,27 → s SL/TP: 1,05 → s filtrem MA: 1,26.
Shrnutí
zlepšení
Přidání SL/TP dočasně snižuje PF, ale omezuje ztrátu u každého obchodu — což je smysluplný krok v rámci řízení rizik. Filtr MA PF obnovuje, i když počet obchodů prudce klesá z 1 075 na 330. Jelikož chceme, aby na demo účtu skutečně docházelo k obchodům, záměrně volíme nastavení s vyšší frekvencí bez filtru (pouze SL20/TP20).
| Krok | Konfigurace | PF | Obchody |
| Základ | RSI(14) < 30 / > 70, bez SL/TP | 1,27 | 481 |
| + SL/TP | Přidán SL 20 pipů / TP 20 pipů | 1,05 | 1 075 |
| +filtr MA | Přidán SL 20 pipů / TP 20 pipů | 1,26 | 330 |
Ověření na dlouhodobých datech
Stejně jako u strategie křížení klouzavých průměrů ověřujeme, zda nedochází k nadměrnému přizpůsobení, a to spuštěním na dlouhodobých datech.
Následně jsme spustili strategii RSI(14) < 30 / > 70 s SL 20 / TP 20 na živém demo účtu.
Zde jsou výsledky po 4 dnech testování na demo účtu.
| # | Datum/čas | Směr | Cena |
| 1 | 2. 7. 09:21 | Koupit | 0,84548 |
| 2 | 2. 7. 13:00 | Koupit | 0,84461 |
| 3 | 2. 7. 15:02 | Koupit | 0,84263 |
| 4 | 2. 7. 15:47 | Koupit | 0,84058 |
| 5 | 2. 7. 16:00 | Nákup | 0,83863 |
| 6 | 2. 7. 16:15 | Nákup | 0,83642 |
| 7 | 2. 7. 16:44 | Koupit | 0,83442 |
| 8 | 2. 7. 17:06 | Koupit | 0,83234 |
| 9 | 2. 7. 17:48 | Koupit | 0,83033 |
| 10 | 2. 7. 18:07 | Nákup | 0,83224 |
| 11 | 2. 7. 19:23 | Nákup | 0,83426 |
| 12 | 2. 7. 21:30 | Prodat | 0,83059 |
| 13 | 3. 7. 04:15 | Prodat | 0,83080 |
| 14 | 3. 7. 08:45 | Prodat | 0,83343 |
| 15 | 3. 7. 12:45 | Nákup | 0,83190 |
| 16 | 3. 7. 14:30 | Nákup | 0,83060 |
| 17 | 3. 7. 15:45 | Nákup | 0,82741 |
| 18 | 3. 7. 16:38 | Nákup | 0,82977 |
| 19 | 3. 7. 19:45 | Prodat | 0,83131 |
| 20 | 4. 7. 00:05 | Prodat | 0,83336 |
Výsledky forwardového testu (4 dny):
- Obchody: 20 (přibližně 5 denně)
- Výhry/prohry: 8 výher, 12 proher (40 % úspěšnost)
- Celkový zisk a ztráta: -6,48 £
Výsledky zhruba korespondují s backtestem (PF 1,05) a skončily v mírném mínusu. Strategie křížení klouzavých průměrů (MA) přes noc nevytvořila žádné obchody. Strategie návratu k průměru (mean-reversion) s RSI na M15 však za čtyři dny vygenerovala 20 obchodů. To potvrzuje, že automatizovaný skript umí zadávat příkazy přes MT5 a nechat je automaticky uzavřít pomocí SL/TP.
Samozřejmě nelze strategii posuzovat pouze na základě 4 dnů a 20 obchodů. Jak jsme potvrdili při dlouhodobé validaci backtestu, konfigurace bez filtru má z dlouhodobého hlediska poněkud náročný výhled. Pro produkční použití by bylo nutné přidat filtr klouzavého průměru, prozkoumat různé strategie a pokračovat ve validaci.
Chcete vyzkoušet více?
Kromě křížení klouzavých průměrů může AI realizovat širokou škálu strategií. Zde je několik příkladů pokynů.
| Strategie | Příklad pokynu pro Claude |
| Průlom | „Nakupuj, když cena překročí maximum posledních 20 sloupců; prodávej, když klesne pod minimum.“ |
| RSI – návrat k průměru | „Nakupujte, když RSI klesne pod 30; prodávejte, když stoupne nad 70. Nastavte stop loss na 30 pipů.“ |
| Bollingerovy pásma | „Nakupujte při dotyku spodního pásma -2σ; prodávejte při dotyku horního pásma +2σ.“ |
| Filtr podle denní doby | „Obchodujte pouze během tokijské seance (9:00–15:00)“ |
| Více instrumentů | „Stejnou strategii aplikujte na páry EUR/USD a zlato kromě USD/JPY; vše provozujte souběžně.“ |
Pokud dokážete svůj obchodní nápad formulovat srozumitelnou angličtinou, stane se z něj automatizovaná obchodní strategie.
Shrnutí
V tomto článku jsme:
- Definovali jsme jednoduché obchodní pravidlo (strategie křížení klouzavých průměrů)
- Nechali jsme Claude Code převést pravidla do kódu
- Strategii jsme zpětně otestovali se započtením nákladů na spready a výsledky vizualizovali v grafech.
- Zlepšili jsme PF z 0,99 na 1,77 přidáním SL/TP, optimalizací periody MA a přidáním filtru RSI.
- Provedli jsme osm let dlouhý backtest, abychom ověřili riziko přetrénování.
- Porovnal jsem přesnost tickových dat s 1hodinovými svíčkovými daty
- Ověřenou strategii jsme nasadili na demo účet. Protože křížení klouzavých průměrů (H1) vykazovalo nízkou frekvenci obchodů, vytvořili jsme a otestovali také scalpingovou strategii RSI založenou na návratu k průměru (M15) a potvrdili jsme provedení obchodů v reálném demo režimu.
Nenapsali jsme ani řádek kódu. Popisovali jsme obchodní pravidla srozumitelným jazykem, dávali jsme pokyny ke zlepšení, jako například „optimalizujte toto“ a „přidejte filtr“, a dokončili jsme celý cyklus od zpětného testování přes optimalizaci, ověření až po provedení v reálném prostředí.
Tento článek slouží pouze pro informační účely a nepředstavuje investiční radu ani doporučení. CFD jsou komplexní nástroje a v důsledku pákového efektu s sebou nesou vysoké riziko rychlé ztráty kapitálu. Ujistěte se, že rozumíte souvisejícím rizikům. Minulá výkonnost není zárukou budoucích výsledků.
Nejnovější příspěvky na blogu:
Začněte obchodovat hned s rychlým otevřením účtu.
Zaregistrujte se a obchodujte na nejaktivnějších trzích
OTEVŘÍT ÚČET