MQL4 pro MetaTrader

MQL4 pro MetaTrader

MQL4 pro MetaTrader patří do oblasti Osobní finance a peníze a podpillaru Burza a trading (indexy, forex, CFD). MQL4 je programovací jazyk určený pro tvorbu vlastních indikátorů, obchodních strategií a automatizovaných systémů v platformě MetaTrader 4. Trader díky němu může převést konkrétní obchodní pravidla do programu, testovat je na historických datech a vytvářet Expert Advisors, které mohou podle nastavených pravidel automaticky vyhledávat a provádět obchody.

Co je MQL4

MQL4 neboli MetaQuotes Language 4 je programovací jazyk vytvořený pro platformu MetaTrader 4. Je zaměřený především na finanční trhy a umožňuje pracovat s cenovými daty, technickými indikátory, obchodními příkazy a dalšími funkcemi platformy.

Na rozdíl od ručního obchodování může trader pomocí MQL4 přesně definovat podmínky, za kterých má systém například otevřít nebo uzavřít pozici.

K čemu MQL4 slouží

Nejčastěji se MQL4 používá pro tvorbu Expert Advisorů, indikátorů a skriptů. Expert Advisor může například sledovat několik měnových párů a hledat konkrétní obchodní setup.

Indikátor může zobrazovat vlastní výpočty přímo v grafu, zatímco skript může provést jednorázovou automatizovanou úlohu.

Expert Advisor v MQL4

Expert Advisor neboli EA je automatizovaný obchodní program. Může například otevřít long pozici při překřížení dvou klouzavých průměrů a následně nastavit Stop Loss a Profit Target.

Jednoduchá ukázka základní struktury EA může vypadat například takto:

#property strict

int OnInit()
{
   return(INIT_SUCCEEDED);
}

void OnTick()
{
   // Obchodní logika zde
}

Funkce OnInit() se používá při inicializaci programu a OnTick() se spouští při příchodu nové ceny. Právě do OnTick() se obvykle umisťuje hlavní obchodní logika Expert Advisoru.

Automatizované obchodování Forexu

MQL4 umožňuje automatizovat pravidla Forex strategie. EA může například kontrolovat trend, volatilitu, supporty a rezistence nebo kombinaci technických indikátorů.

Pokud jsou splněny všechny podmínky, program může podle nastavení vytvořit obchodní příkaz. Trader tak nemusí každý signál vyhodnocovat ručně.

MQL4 a backtesting

Jednou z největších výhod MQL4 je možnost testovat Expert Advisora na historických datech pomocí Strategy Testeru v MetaTraderu 4. Trader může sledovat, jak by se systém choval v minulosti.

Mezi důležité výsledky patří například čistý zisk, počet obchodů, procento ziskových obchodů, maximální drawdown nebo průměrný obchod.

Backtest však není zárukou budoucího výsledku. Historická data nemusí přesně reprezentovat budoucí tržní podmínky.

Optimalizace strategie

MQL4 umožňuje také optimalizovat parametry Expert Advisora. Trader může například testovat různé periody klouzavých průměrů, hodnoty Stop Lossu nebo Profit Targetu.

Příliš agresivní optimalizace však může vést k takzvanému overfittingu. Strategie potom funguje výborně na historických datech, ale výrazně hůře na nových datech.

MQL4 a řízení rizika

Do Expert Advisora lze naprogramovat také money management. Program může například počítat velikost pozice podle procenta obchodního účtu a vzdálenosti Stop Lossu.

Trader tak může nastavit například maximální riziko 1 % účtu na obchod. Pokud se Stop Loss změní, program automaticky upraví velikost pozice.

MQL4 a technické indikátory

MQL4 umožňuje pracovat s řadou běžných technických indikátorů. EA může například využívat RSI, MACD, Stochastic, Bollinger Bands nebo klouzavé průměry.

Je také možné kombinovat několik indikátorů do jednoho obchodního systému. Například strategie může vyžadovat rostoucí trend, RSI nad určitou hodnotou a současně průraz rezistence.

MQL4 versus ruční obchodování

Automatizace může odstranit část emočních rozhodnutí, ale nepřináší automaticky ziskovou strategii. Program bude přesně provádět pravidla, která do něj trader naprogramuje.

Pokud jsou pravidla špatně navržená, automatizace může pouze rychleji vytvářet ztrátové obchody.

MQL4 versus Pine Script

MQL4 a Pine Script mají podobný cíl, ale používají se v odlišných prostředích. MQL4 je určen především pro MetaTrader 4 a automatizované obchodování prostřednictvím Expert Advisorů. Pine Script je zaměřený na platformu TradingView a tvorbu indikátorů, strategií a upozornění.

Pokud trader používá MetaTrader 4 jako hlavní obchodní platformu a chce automatizovat provádění obchodů, MQL4 je přirozenou volbou.

Nejčastější chyby při programování v MQL4

Jedním z největších problémů je vytvoření strategie pouze podle výsledku backtestu. Trader může například optimalizovat parametry tak dlouho, až získá velmi vysoký historický zisk, ale systém se následně na nových datech rozpadne.

Důležité je také správně pracovat se spreadem, skluzem, komisemi a podmínkami brokera. Automatický systém musí počítat s reálnými náklady obchodování.

Jak začít s MQL4

Začátečník by měl nejprve pochopit základní strukturu jazyka a vytvořit jednoduchý indikátor nebo Expert Advisor. Následně může přidávat vstupní podmínky, výstupy, Stop Loss, Profit Target a money management.

Praktickým postupem je vytvořit jednoduchou strategii s několika pravidly, otestovat ji na historických datech a následně ověřit její chování na datech, která nebyla použita při optimalizaci.

MQL4 pro MetaTrader umožňuje převést obchodní strategii z ručně definovaných pravidel do automatizovaného systému. Pomocí MQL4 lze vytvářet Expert Advisors, vlastní indikátory i skripty a následně je testovat v prostředí MetaTraderu 4. Pro Forex může například Expert Advisor sledovat trend, RSI, MACD, supporty, rezistence, volatilitu nebo breakouty a podle přesně definovaných podmínek generovat obchodní příkazy. Velkou výhodou je možnost backtestu, při kterém lze vyhodnotit počet obchodů, čistý zisk, drawdown, úspěšnost nebo průměrný obchod. Samotný backtest ale nepředstavuje záruku budoucí profitability. Výsledky mohou být ovlivněny kvalitou historických dat a nastavením simulace. Zvláštní pozornost je potřeba věnovat také overfittingu. Pokud trader optimalizuje příliš mnoho parametrů pouze podle minulých výsledků, může vytvořit systém, který na nových datech nebude fungovat. MQL4 umožňuje naprogramovat také řízení rizika, například automatický výpočet velikosti pozice podle procenta účtu a vzdálenosti Stop Lossu. Automatizace tak může pomoci dodržovat pravidla konzistentněji, ale nedokáže napravit špatně navrženou strategii. Nejlepší postup proto spočívá v jednoduchých a přesně definovaných pravidlech, realistickém backtestu, testování na nových datech a důsledném započítání spreadu, komisí a skluzu.