MQL5 pro MetaTrader
MQL5 pro MetaTrader patří do oblasti Osobní finance a peníze a podpillaru Burza a trading (indexy, forex, CFD). MQL5 je programovací jazyk určený především pro tvorbu automatizovaných obchodních systémů, indikátorů a dalších nástrojů v platformě MetaTrader 5. Trader pomocí něj může převést vlastní obchodní pravidla do programu, testovat strategii na historických datech a vytvářet Expert Advisors pro automatizované obchodování.
Co je MQL5
MQL5 neboli MetaQuotes Language 5 je programovací jazyk vytvořený pro platformu MetaTrader 5. Umožňuje pracovat s cenovými daty, indikátory, obchodními příkazy, pozicemi a dalšími funkcemi obchodní platformy.
Oproti ručnímu obchodování může trader přesně definovat podmínky, za kterých má systém vyhledat obchodní příležitost, otevřít pozici, nastavit Stop Loss nebo obchod uzavřít.
K čemu MQL5 slouží
MQL5 lze využít pro tvorbu Expert Advisorů, vlastních indikátorů a skriptů. Expert Advisor může například sledovat několik měnových párů a automaticky vyhodnocovat konkrétní obchodní strategii.
Indikátor může zobrazovat vlastní výpočty přímo v grafu a skript může provádět jednorázové automatizované úkoly.
Expert Advisor v MQL5
Expert Advisor neboli EA je program, který může podle předem definovaných pravidel analyzovat trh a provádět obchodní operace. Může například hledat překřížení klouzavých průměrů, breakout supportu nebo rezistence, změnu trendu nebo kombinaci několika indikátorů.
Základní struktura Expert Advisora může obsahovat inicializaci programu a funkci reagující na nové tickové údaje:
#include <Trade/Trade.mqh>
CTrade trade;
int OnInit()
{
return(INIT_SUCCEEDED);
}
void OnTick()
{
// Obchodní logika
}
Funkce OnInit() se používá při spuštění programu a OnTick() reaguje na přicházející tržní data. Do obchodní logiky lze následně přidat konkrétní podmínky pro vstup a výstup.
MQL5 a automatické obchodování Forexu
MQL5 umožňuje automatizovat přesně definovanou Forexovou strategii. EA může například vyhodnocovat trend na H4, hledat vstup na M15 a současně kontrolovat volatilitu, spread nebo ekonomické podmínky.
Takový systém může například hledat breakout asijského rozpětí po otevření Londýna nebo pokračování trendu během překrytí Londýn–New York.
Strategie ale musí být nejprve převedena do jednoznačných pravidel. Počítač nedokáže spolehlivě pracovat s neurčitými pokyny typu „silný trend“ nebo „dobrý setup“, pokud nejsou přesně definované.
MQL5 a backtesting
Jednou z hlavních výhod MQL5 je možnost testovat Expert Advisora na historických datech pomocí Strategy Testeru v MetaTraderu 5. Trader může sledovat, jak by se systém choval v různých obdobích a na různých měnových párech.
Mezi důležité statistiky patří čistý zisk, počet obchodů, úspěšnost, maximální drawdown, průměrný obchod nebo poměr zisku a ztráty.
Samotný backtest ale není důkazem budoucí profitability. Historické výsledky mohou být ovlivněny nastavením testu, kvalitou dat nebo přílišnou optimalizací.
Optimalizace MQL5 strategie
Parametry Expert Advisora lze testovat v různých kombinacích. Trader může například měnit periody klouzavých průměrů, hodnoty RSI, Stop Loss, Profit Target nebo další parametry.
Přílišná optimalizace však může vést k overfittingu. Strategie potom vypadá výborně na historických datech, ale na nových datech může mít výrazně horší výsledky.
MQL5 a money management
Do Expert Advisora lze naprogramovat také řízení rizika. Program může například automaticky vypočítat velikost pozice podle procenta obchodního účtu a vzdálenosti Stop Lossu.
Pokud se kvůli vyšší volatilitě Stop Loss zvětší, systém může automaticky zmenšit pozici tak, aby maximální riziko na obchod zůstalo stejné.
Aktuální volatilitu lze například vyhodnocovat pomocí ATR a následně ji zapojit do pravidel strategie.
MQL5 a technické indikátory
MQL5 umožňuje vytvářet strategie založené na běžných technických indikátorech i jejich kombinacích. EA může pracovat například s RSI, MACD, Bollinger Bands, klouzavými průměry nebo ATR.
Trader může například definovat systém, který vyžaduje rostoucí trend, návrat ceny k průměru a současně potvrzení pomocí RSI. Přesně definovaná pravidla potom může program automaticky vyhodnocovat bez subjektivního rozhodování.
MQL5 versus MQL4
MQL5 je určen pro MetaTrader 5, zatímco MQL4 je spojen především s MetaTraderem 4. Oba jazyky slouží k automatizaci obchodování, ale nejsou totožné a program určený pro MQL4 nelze jednoduše považovat za MQL5 program.
MQL5 je navržen pro novější platformu MetaTrader 5 a pracuje s její strukturou obchodování a nástroji.
MQL5 versus Pine Script
MQL5 a Pine Script mají odlišné využití. MQL5 je určen pro ekosystém MetaTraderu 5 a umožňuje vytvářet automatizované obchodní systémy. Pine Script je spojen především s TradingView a používá se pro indikátory, strategie a obchodní upozornění.
Pokud trader používá MetaTrader 5 a chce automatizovat provádění obchodů přímo v této platformě, MQL5 představuje přirozenou volbu.
Nejčastější chyby při používání MQL5
Největším problémem nebývá samotné programování, ale špatně navržená obchodní strategie. Automatizovaný systém může přesně a bez emocí provádět pravidla, která jsou dlouhodobě ztrátová.
Další chybou je ignorování spreadu, komisí, skluzu a dalších nákladů. Výsledek backtestu proto může být výrazně lepší než výsledek skutečného obchodování.
Jak začít s MQL5
Začátečník by měl nejprve převést jednoduchou obchodní myšlenku do přesných pravidel. Následně může vytvořit základního Expert Advisora, přidat vstupní a výstupní podmínky, Stop Loss, Profit Target a money management.
Po backtestu je vhodné strategii otestovat také na datech, která nebyla použita při její optimalizaci. Výsledky lze následně porovnat s vlastními statistikami a Expectancy strategie.
MQL5 pro MetaTrader představuje nástroj pro systematické a automatizované obchodování v platformě MetaTrader 5. Umožňuje vytvářet Expert Advisors, vlastní indikátory a skripty a převádět obchodní strategie do přesně definovaných pravidel. Pro Forex může EA například sledovat trend, volatilitu, supporty a rezistence, breakouty nebo kombinace indikátorů a následně podle těchto podmínek generovat obchodní příkazy. Velkou výhodou je backtesting, díky kterému lze historicky vyhodnotit počet obchodů, ziskovost, drawdown nebo další statistiky. Výsledky backtestu je ale nutné interpretovat opatrně. Přílišná optimalizace může vést k overfittingu a systém, který dokonale funguje na minulých datech, nemusí fungovat na datech budoucích. Důležité je proto testovat strategii také na datech, která nebyla použita při optimalizaci, a započítat spread, komise i skluz. MQL5 umožňuje naprogramovat také money management a automaticky přizpůsobovat velikost pozice vzdálenosti Stop Lossu. Automatizace tak může výrazně zvýšit konzistenci při dodržování pravidel, ale sama o sobě nevytváří obchodní výhodu. Základem musí být strategie s jasně definovanými pravidly a dlouhodobě ověřenou statistickou výhodou.









