MetaTrader programozás — MQL5 fejlesztés

Miért éppen az MQL5?

A MetaTrader 4 — röviden MT4 — ma is a világ egyik legelterjedtebb kereskedési platformja, amelyet milliók használnak devizapiaci, részvény- és CFD-kereskedésre egyaránt.

Nem véletlenül: stabil, megbízható, és ami a legfontosabb, teljesen programozható.

MetaTrader Programozás eredménye

A MetaTrader programozás világa az elmúlt években gyökeresen megváltozott. Az automatizált kereskedés világa az elmúlt években gyökeresen megváltozott. Már nem elég egy egyszerű, néhány feltételen alapuló robot — a piacok összetettségéhez összetett eszközök kellenek. Az MQL5 pontosan erre a kihívásra ad választ.

A MetaTrader 5 platform nem egyszerűen az MT4 frissített változata — egy teljesen újraépített, modernebb architektúrájú rendszer.

Miközben az MT4 ma is élő és népszerű, az MQL5 olyan kereskedési lehetőségeket nyit meg, amelyek az elődjén egyszerűen nem elérhetők: részvények, határidős kontraktusok, opciók és kriptovaluták ugyanabból az egyetlen platformból kezelhetők, egyetlen kódbázissal.

Ha komolyan gondolod a kereskedési rendszered fejlesztését — és nem csak egy egyszerű automatizmust, hanem valódi, robusztus stratégiát szeretnél futtatni —, az MQL5 programozás a legokosabb befektetés, amit megtehetsz.

Az MQL5 mögött egy aktívan fejlesztett ökoszisztéma áll. A MetaQuotes rendszeresen frissíti a platformot, a nyelv folyamatosan bővül, és a fejlesztői közösség is egyre inkább az MT5 köré szerveződik.

Ez a gyakorlatban azt jelenti, hogy az MQL5-re írt kód hosszú távon is karbantartható marad, és nem kell attól tartani, hogy néhány év múlva elavult technológiával dolgozol.

Ezen felül az MQL5 szorosan integrálódik a MetaTrader ökoszisztéma többi elemével: a beépített piactéren (MQL5 Market) kész robotok és indikátorok ezrei érhetők el, a közösségi portál pedig fejlesztők és kereskedők millióit köti össze. Ha egyedi megoldást fejlesztetsz, nem egy elszigetelt eszközbe fektetsz — hanem egy globális infrastruktúra részévé válsz.


Amit az MQL5 tud, amit az MQL4 nem

Az MQL5 nem csupán egy újabb verzió — szemléletmódbeli ugrás az elődjéhez képest. Íme, miért érdemes MQL5-ben gondolkodni:

agy icon

Objektumorientált programozás (OOP):

Az MQL5 teljes körű OOP-t támogat — osztályok, öröklés, polimorfizmus. Ez azt jelenti, hogy a kereskedési logika modulárisan felépíthető, könnyebben karbantartható és újrafelhasználható. Komplex stratégiák esetén ez nem luxus, hanem alapkövetelmény.

agy icon

Valódi multi-threading a tesztelőben: 

Az MQL5 Strategy Tester párhuzamos feldolgozással fut — egy optimalizálás, ami az MT4-en órákat vesz igénybe, az MT5-ön percek alatt elvégezhető. Ha sokat tesztelsz és optimalizálsz, ez önmagában megéri a váltást.

agy icon

Több eszközosztály, egyetlen platform: 

Deviza, részvény, ETF, határidős, opciós és kriptopiaci instrumentumok egyaránt elérhetők — és mindegyikre írható Expert Advisor ugyanolyan kóddal.

agy icon

Pontosabb backtesting, valódi tick-adatokkal: 

Az MT5 tesztelője képes valódi, brókerszintű tick-adatokon futni, nem csupán OHLC közelítéssel. Ez drámaian pontosabb visszatesztelési eredményeket jelent, különösen scalping stratégiáknál.

agy icon

Gazdasági naptár beépítve: 

Az MT5-ben közvetlenül hozzáférhető a makrogazdasági eseménynaptár — az EA-k képesek reagálni a hírekre anélkül, hogy külső adatforrásra lenne szükség.


Programtípusok

MetaTrader programozás — MQL5 fejlesztés

Expert Advisor

A Forex robot programozás csúcsa: egy EA teljesen önállóan kezeli a számlád. Pozíciót nyit, módosít, zár — a te beavatkozásod nélkül, a megadott stratégia szerint, éjjel-nappal.

Az MQL5-ben írt Expert Advisor képes több devizapáron és több időkereten egyszerre figyelni, OOP-alapú felépítésének köszönhetően könnyen bővíthető, és a fejlett tesztelőnek hála már a fejlesztési fázisban alaposan átvilágítható.

A kereskedőrobot fejlesztés leggyakoribb — és legértékesebb — formája.

MetaTrader programozás — MQL5 fejlesztés

Egyedi indikátor

A beépített indikátorok nem mindig illeszkednek a saját kereskedési szemléletedhez. Egy egyedi MQL5 indikátor pontosan azt jeleníti meg a charton, amit te keresel — legyen az egy saját képletű mozgóátlag, egy trendcsatorna vagy egy komplex jelzőrendszer.

Az egyedi indikátor ráadásul közvetlenül integrálható egy Expert Advisorba is: a robot döntéshozatala épülhet rá, így a vizuális elemzés és az automatizmus ugyanarra a logikára támaszkodik.

MetaTrader programozás — MQL5 fejlesztés

Script

Nem minden feladathoz kell folyamatosan futó robot. A script egyszeri, célzott műveletek elvégzésére született: futtatod, elvégzi a dolgát, és leáll.

Tipikus példák: összes nyitott pozíció azonnali zárása egy gombnyomással, tömeges megbízás-módosítás, chartbeállítások gyors alkalmazása, vagy adatexport elemzési célokra.

Egyszerű, gyors, hatékony — ahol nem kell EA, a script a tökéletes megoldás.


Bróker kompatibilitás

MetaTrader programozás — MQL5 fejlesztés

Az MT5 egységesebb — de a bróker még mindig számít

Az MT5 platformon a végrehajtási logika szabványosabb, mint MT4-en, azonban ez nem jelenti azt, hogy minden bróker egyformán viselkedik. Az MQL5-ben fejlesztett Expert Advisoroknál más típusú kompatibilitási kérdések merülnek fel.

MetaTrader programozás — MQL5 fejlesztés

Hedging vs. Netting számlamodell:

Az MT5 két alapvetően különböző pozíciókezelési módot támogat. Hedging módban ugyanazon a devizapáron több, egymással ellentétes irányú pozíció is nyitva lehet egyszerre — pontosan úgy, ahogy az MT4-en megszoktuk. Netting módban azonban az ellentétes irányú megbízások automatikusan nettósítják egymást. Ha az EA nincs erre felkészítve, teljesen váratlan eredményt produkál netting számlán.

MetaTrader programozás — MQL5 fejlesztés

Filling mode (kitöltési mód):

MT5-ön a megbízásoknak háromféle kitöltési módja létezik: Return, IOC (Immediate or Cancel) és FOK (Fill or Kill). Nem minden bróker támogat minden módot, és ha a kód nem kérdezi le futáskor, hogy az adott bróker mit fogad el, a megbízás egyszerűen visszautasításra kerül.

MetaTrader programozás — MQL5 fejlesztés

Többdevizás pozíciókezelés:

Az MT5 egyik nagy ereje, hogy egy EA több szimbólumon is dolgozhat egyszerre. Ez azonban brókerenként eltérő marginfeltételeket és szimbólumspecifikációkat jelent — amit a kódnak dinamikusan kell lekezelnie

MetaTrader programozás — MQL5 fejlesztés

Valódi tick-adatok elérhetősége:

Az MT5 tesztelője képes valódi tick-adatokon futni, de ez csak akkor működik pontosan, ha a bróker tick-historyt is biztosít. Ahol ez hiányos, a backtestek szintetikus adatokra esnek vissza — ami torzíthatja az eredményeket.


Szimbólum specifikációk:

Lotméret, pip-érték, minimális stop-szint brókerenként változik. Egy professzionálisan megírt MQL5 EA ezeket soha nem statikusan tárolja, hanem minden induláskor lekérdezi az aktuális bróker adatait.

Az MQL5 tanulási görbéje meredekebb, mint az MQL4-é — az OOP-szemlélet, a többszálú tesztelő és a bővebb API egyszerre jelent erőt és komplexitást. Aki most kezd bele, hónapokat tölthet azzal, hogy a nyelvet és a platform sajátosságait megismerje — mire valódi, éles kereskedésre alkalmas robotot ír, rengeteg idő és lehetőség elmegy.

Egy profi MQL5 fejlesztő nem csak kódot ír — stratégiát fordít gépi nyelvre. Ez azt jelenti, hogy a belépési és kilépési feltételek, a pozícióméretezés, a kockázatkezelési szabályok és az összes kivételkezelés pontosan úgy viselkedik éles számlán, ahogy azt te elképzelted. Nincs félreértett logika, nincs bugos kód, nincs meglepetés az első éles kereskedési napon.

Ráadásul egy tapasztalt fejlesztő pontosan tudja, hol vannak az MQL5 és az MT5 rejtett buktatói: brókerspecifikus végrehajtási különbségek, slippage-kezelés, szerverhiba utáni helyreállítás, tick-feldolgozási sorrend — olyan részletek, amelyek a visszatesztelésben nem látszanak, de éles számlán nagyon is számítanak.


Hasznos linkek

  • A hivatalos MQL5 Dokumentáció — Ez a darabosabb MQL4 után egy igazi megváltás. Sokkal részletesebb, logikusabb felépítésű, és az OOP alapok (osztályok, öröklődés, polimorfizmus) rendkívül alaposan le vannak benne dokumentálva. Különösen hasznos a beépített kereskedelmi osztályok (Trade Classes, pl. CTrade, CPositionInfo) leírása, amelyekkel drasztikusan leegyszerűsíthető az aszinkron MQL5-ös megbízások kezelése.
  • MQL5 Közösségi Fórum — Mivel a MetaQuotes gőzerővel az MT5-öt tolja előtérbe, ez a fórum jelenleg a legaktívabb algotrading közösség a weben. Az összes modern fejlesztői kérdés – a komplex egyedi GUI panelek eseménykezelésétől (Event Handling) kezdve a több szálon futó optimalizáción át a tick-adatok circular bufferben való tárolásáig – itt van kibeszélve a legmélyebben.
  • MQL5 Code Base (Ingyenes forráskódok) — Ez a szekció elképesztő ütemben növekszik. Mivel az MQL5 támogatja a komplexebb adatstruktúrákat, itt rengeteg zseniális, moduláris kódot találsz. Kifejezetten érdemes ránézni az egyedi indikátor-puffer megoldásokra és a kész UI/GUI könyvtárakra, amiket a közösség töltött fel, és amiket alapként be tudsz építeni a saját projektjeidbe.