Ebben a bejegyzésben bemutatom, milyen elv mentén épül fel a MetaTrader 5 platform kereskedési műveleteket kezelő rendszere. Szót ejtek az alapfogalmakról, a megbízástípusokról, és a pozícióelszámolási módokról.

Bevezető

Az elmúlt években többször írtam az MT5 új lehetőségeiről és az MT4 és MT5 közötti különbségekről, 2021-ben pedig MetaTrader útmutatót készítettem, melyben kitértem arra is, hogy modernsége ellenére mi az oka az MT5 lassú térnyerésének. Javaslom, olvasd el ezeket a bejegyzéseket, mielőtt tovább olvasnál.

Lényeges, ha még egyáltalán nem használtad a MetaTrader 5-öt: ez nem csupán egy verzióváltás. A platform 5-ös verziója új alapokra helyezte a tranzakciók kezelését, és bár rengeteg a hasonlóság, sok az eltérés is, amelyek között elsőre igen könnyű eltévedni. A felfedezés és megismerés időszakában az MT5 több ponton az eddigiektől eltérő nézőpontot igényel mind a felhasználóktól, mind  a programozóktól.

Mit jelentenek: megbízás, ügylet, pozíció?

A platform kereskedési rendszerének bemutatása előtt tisztáznunk kell néhány alapfogalmat, ezek: megbízás (order), ügylet (deal), és pozíció (position). Fontos, hogy ezeket a fogalmakat nem szinonimaként használjuk. Ezek segítenek megérteni a végrehajtás teljes folyamatát, a MetaTrader 5-ben ugyanis sokkal transzparensebbek azok a műveletek, amelyekről korábban (a MetaTrader 4-ben) nem is tudtunk, mivel azok a háttérben történtek meg.

  • A megbízás (order) a brókernek adott utasítás egy pénzügyi eszköz vételére vagy eladására. A megbízásoknak két fő típusa van: piaci és függő megbízások, ezeken felül léteznek még kilépési megbízások is (a stop loss és a take profit szint), de ezek módosítási kérelmei nem jelennek meg a többi megbízás között, és az MT5 nem kezeli őket külön kategóriaként.

    A megbízás a kereskedő által indított kereskedési kérelem, amely eljut a kereskedési szerverig, és ott kiértékelésre, feldolgozásra kerül.

    Akár buy pozíciót nyitsz, akár buy stop függő megbízást helyezel ki, a későbbi pozíció élete mindenképpen egy megbízási kérelemmel indul.

  • Az ügylet (deal) egy pénzügyi eszköz kereskedelmi cseréje (vétele vagy eladása). Hívhatjuk üzletnek vagy üzletkötésnek is. Az MT5 felülete egyelőre az utóbbit használja.

    Egy ügylet az általad indított megbízás végeredménye, vagyis az üzlet megkötésével megbízott brókercég által végrehajtott utasítás.

    A vétel a keresleti áron (Ask), az eladás pedig a kínálati áron (Bid) történik. Az ügylet megnyílhat piaci megbízás végrehajtásából, vagy függő megbízás teljesülésének eredményeként. Minden ügylet egy adott megbízás eredménye, ugyanakkor egyetlen megbízás akár több ügyletet is eredményezhet. Például amennyiben egy 10 lot méretű buy piaci megbízás nyitását kezdeményezzük, ez akár több ügylet formájában is létrejöhet.

  • A pozíció (position) egy kereskedési kötelezettség, azaz egy pénzügyi eszközre vonatkozó vásárolt vagy eladott kontraktusok tényleges mennyisége. Long pozíciót az adott pénzügyi termék árának emelkedésére, short pozíciót pedig a csökkenésére számítva nyitunk.

    A pozíció az a végső eredmény, amely érdekében eredetileg megbízási kérelmet küldünk a brókercég szerverére.

    A MetaTrader 5 rendszerében attól függ az instrumentumonként megnyitható pozíciók végső darabszáma, hogy melyik pozícióelszámolási mód aktív az adott számlán, erről külön bejegyzésben írtam.

Megbízások, ügyletek és pozíciók nyomon követése a felületen

A fenti kategóriák nyomon követése egyáltalán nem egyértelmű, és főként nem könnyű feladat. Főleg, ha megszoktad a MetaTrader 4 platform egyszerűsített számlatörténetét. Lássuk, hogyan tudjuk követni a történéseket!

Kereskedés panel

Ezen a panelen kizárólag a még élő pozíciók, valamint a még nem teljesült, folyamatban lévő, aktív megbízások látszódnak.

Pozíciók

Már említettem, hogy a kereskedő számára a legfontosabb végeredmény a pozíció, amellyel a platform Kereskedés elnevezésű panelén találkozol. Itt láthatók a tényleges kitettségek, amelyekkel jelen vagy a piacon. Az alábbi kép egy élő EURUSD sell, illetve egy EURGBP buy pozícióról készült pillanatkép, bekereteztem a megbízás azonosítójukat (az MT5 a Jegy elnevezést használja).

A Kereskedés fül

Aktív, folyamatban lévő megbízások

Azok a megbízások, amelyek megjelenhetnek, illetve felvillanhatnak ezen a panelen, az alábbi kategóriákból kerülnek ki:

  • függő megbízás nyitási megbízása (buy stop, buy limit, buy stop limit, sell stop, sell limit, sell stop limit),

  • pozíció nyitási megbízása (buy, sell),

  • pozíció zárási megbízása (buy, sell – közvetett módon, lásd a keretes írást),

  • függő megbízás törlési megbízása (remove).

Jó tudni, hogy az MT5 rendszerében tulajdonképpen nem létezik zárási megbízás, mivel egy pozíciót ugyanakkora méretű, ellentétes irányú pozícióval zárunk. A zárás első lépése a korábban vázoltak szerint piaci megbízás lesz.

Példa: meglévő élő buy pozíciót egy sell típusú pozícióval fogunk lezárni, melynek első szükségszerű lépése egy sell típusú nyitási megbízás elindítása.

Az alábbi képek segítenek abban, hogy elképzelhesd, mi történik a háttérben pozíciónyitás és pozíciózárás folyamán. A rajtuk látható megbízások annyira gyorsan történnek, hogy képernyőfelvétellel tudtam őket rögzíteni. Századmásodpercekre villantak fel csupán.

Az első képkocka öt buy pozíció nyitási megbízásait mutatja. Mindegyiket egyazon másodpercben adtam ki egy expertből aszinkron módon. A képen látszik, hogy az ötből négy a kérelem hozzáadása (request adding) kezdeti státuszban van, míg egy már a kiadás pillanatában a következő, az elhelyezve (placed) állapotba került, és kapott nyomon követési azonosítót, tehát a brókercég befogadta azt. A soron következő státusz a teljesítve (filled), amely már csak a Számlatörténet Megbízások fiókjában érhető tetten. A videófelvétel következő képkockáján a másik négy megbízás is teljesült, akkorra már mind az öt buy pozícióm nyitási folyamata lezárult.

Hangsúlyozom, ez a folyamat a valóságban olyan gyors, hogy csak annyit tapasztalsz belőle, hogy megnyílt öt pozíció. Azért írok ennyire részletesen erről, hogy a további tranzakció kategóriák célját és értelmét könnyebben alá tudjam támasztani. A háttérben az öt pozíció öt megbízást, és (legalább) öt darab, in irányú ügyletet is létrehozott, mielőtt az öt tényleges pozíció ténylegesen megszületett.

Öt pozíció piaci megbízásai a nyitás pillanatában

A második képkocka későbbi eseményt igyekszik részletezni. Ezen már látszik az öt élő pozíció, melyek nyitási folyamatát az imént bemutattam, ráadásként létezik egy sell típusú piaci megbízás is. A sell piaci megbízás lényegében az általam indított zárási folyamat első lépése, hiszen buy pozíciót sell pozícióval zárunk le. A státuszok ebben az esetben is ugyanúgy követik egymást, mint ahogyan a nyitásnál részleteztem.

Pozíció zárása ellentétes típusú piaci megbízással

Számlatörténet panel

Ezen a panelen már megtörtént események bejegyzéseit találod különböző kategóriákban, amelyeket én egyszerűen fióknak nevezek. Ilyen fiókok listázzák a pozíciók, az ügyletek, a megbízások befejezett eseményeinek bejegyzéseit.

Fontos, hogy míg a MetaTrader 4 számlatörténetének az összes bejegyzése kizárólag a befejezett, lezárult pozíciók és törölt függő megbízások bejegyzéseit tartalmazhatta, az MT5 esetében már árnyaltabb a helyzet. Többségében ugyan itt is lezárult eseményeket találsz a számlatörténet különböző fiókjaiban, de a még élő buy és sell pozíciók megbízásai és ügyletei is a számlatörténetbe kerülnek függetlenül attól, hogy a pozíció, amelyhez kapcsolódnak, még él. Tehát attól, hogy az ügyletek és a megbízások között már megtörtént események vannak, a kapcsolódó pozíció még simán nyitott státuszú lehet.

A számlatörténet helyzetérzékeny menüje

Egyszerű példa, hogy egy nyitott buy pozícióból rész-zárást indítasz. Ebben az esetben a rész-zárás tulajdonképpen egy ellentétes irányú nyitás lesz, mely megjelenik a megbízások, valamint a végrehajtást követően az ügyletek között is, ugyanakkor a csökkentett lot méretű pozíció, amelyhez eredetileg kapcsolódtak, még létezik.

A panelen belül a jobb egérkattintás után választhatod ki, hogy mely “fiók” tartalmára vagy kíváncsi. Minden egyes fiókban más oszlopokat jelenít meg a program. A képen látható lehetőségek közül választhatsz, az aktív választást egy pipa jelzi.

Lássuk, melyik fiók milyen bejegyzéseket listáz!

Pozíciók (Positions)

A lezárult pozíciók listája. Kizárólag buy, illetve sell típussal, valamint a ki- és befizetések (balance, withdraw) bejegyzéseivel találkozhatsz ebben a fiókban. Talán ez a fiók hasonlít a legjobban a MetaTrader 4 számlatörténetére, ne feledd azonban, hogy ez nem a teljes történet, hiszen egy-egy lezárult pozíció mögött megbízások és ügyletek is vannak.

Figyelem! Egy buy, illetve egy sell típusú pozíció élete is mindenképpen megbízásként indul. Megbízás úgy, mint “kiadott utasítás”, és nem úgy, mint függő megbízás.

A Számlatörténet fül Pozíciók fiókja

Üzletkötések (Deals)

Ügyletek listája, amelyeket a brókercég végrehajtott. Ebbe a fiókba kerül az összes buy és sell irányú ügylet (buy, sell), a ki- és befizetések (balance, withdraw), kamat és költséglevonások és jóváírások (commission, interest, tax).

A buy és sell típusú műveletekhez egy ún. irány is tartozik. Ez határozza meg, hogy az adott bejegyzés egy pozíció nyitási (in), vagy zárási (out) eseménye. Létezik még fordítás (reverse), illetve zárás egy másik ügylettel (out by) irány is: a fordítás egy pozíció típusának megfordítását (pl. a buy típusú pozíció sell típusúvá változását), a másik ügylettel zárás pedig két, ellentétes irányú pozíció együttes záródását jelenti.

A Számlatörténet fül Üzletkötések fiókja

Megbízások (Orders)

A kiadott megbízások listája. Itt listázhatod az általad indított kereskedési megbízásokat, amelyek a két piaci megbízásból (buy, sell), illetve a hat függő  megbízásból (buy stop, buy limit, buy stop limit, sell stop, sell limit, sell stop limit) kerülhetnek ki. Az Állapot oszlopban látható, hogy az adott függő megbízás vagy pozíció létrejött-e (filled), vagy törlődött (cancelled). Ennél több állapot is létezik, ezekről “A megbízások (orderek) állapota” fejezetben írok majd, külön bejegyzésben.

A Számlatörténet fül Megbízások fiókja

Kötések & Megbízások (Orders & Deals)

Ez a megbízások, valamint az ügyletek struktúrába rendezett listája. Itt egy fokkal könnyebb nyomon követni, mi volt az életútja egy-egy megbízásnak. A Jegy oszlopban a magasabb szintű bejegyzések a pozíció megbízásának számát mutatják. Ellentétben a többi fiókkal, itt a sorrendet és a rendezés elvét kötelezően az MT5 szabályozza: idő alapján a régebbitől az újabb események felé történik a listázás.

A Számlatörténet fül Kötések & Megbízások fiókja

A megbízások, ügyletek és pozíciók közötti összefüggés

A platform lehetővé teszi annak nyomon követését, hogyan nyílt meg egy pozíció vagy hogyan jött létre, illetve módosult vagy szűnt meg. Minden kereskedési műveletnek egyedi azonosítója van, amelyet ticket-nek (megbízás azonosító) neveznek. Ezeket a számokat a platform hozza létre automatikusan, céljuk a három kategória közötti egyértelmű kapcsolat kialakítása.

Minden megbízás és ügylet megkapja a hozzá kapcsolódó pozíció ticket számát, illetve minden egyes ügylet kap egy megbízásához (order) kapcsolódó azonosítót is, amellyel megkötötték.

Ha egy pozíciót több ügylet érintett, például részleges zárás vagy növekvő lot méret esetén, minden egyes ügylet megkapja az érintett pozíció megbízás azonosítóját. Így lehetséges a pozíció teljes történetének nyomon követése.

Megbízások, ügyletek és pozíciók összefüggései

Kép forrása: MetaQuotes

Ha a kereskedési műveleteket egy tőzsde- vagy likviditás szolgáltató felé küldi tovább a brókercég, akkor az említett ticket számokon felül egy külső rendszerből származó azonosító is létrejön, amelyet rögzít a rendszer. Az utóbbi azonosítóval lehetséges a műveletek egymáshoz való kapcsolódásának további nyomon követése a platformon kívül is.

A kereskedési műveletek általános sémája

A kereskedési platformról megbízást küldünk a brókernek, hogy a megadott paraméterekkel hajtsa végre az ügyletet [started].

A megbízás helyességét a szerveren ellenőrzik (megfelelő-e az ár, van-e elegendő pénz a számlán stb.). Az ellenőrzésen megfelelt megbízások várják a feldolgozásukat a kereskedési szerveren [placed].

Ezután a megbízással az alábbi lehetőségek valamelyike történhet:

  • végrehajtásra kerül [filled] (automata végrehajtással, vagy egy kereskedőn keresztül);

  • törlődik a lejáratkor [expired];

  • elutasításra kerül [rejected] (pl. ha nincs elegendő pénz, nincs megfelelő ajánlat a piacon, vagy a kereskedő utasítja el);

  • törlésre kerül a kereskedő (a felhasználó) által [canceled];

Egy kereskedés végrehajtási folyamata

Angol nyelvű kép forrása: MetaQuotes

Végül létrejön egy ügylet a piaci megbízás végrehajtásának vagy egy függő megbízás aktiválódásának eredményeként.

Utolsó lépésként, ha az instrumentumon nincs nyitott pozíció, akkor az ügylet megkötése a pozíció megnyílását eredményezi, ha pedig van, akkor az ügylet növelheti vagy csökkentheti a már nyitott pozíció mennyiségét, lezárhatja azt, vagy megfordíthatja annak irányát. Az, hogy a meglévő pozíció mennyisége változik (nettósító rendszer, netting), vagy külön pozíció jön létre (fedezeti rendszer, hedging), a pozícióelszámolási rendszer szabályozza, amelyet külön bejegyzésben részletezek.

Összegzés

Összegzem számodra a bejegyzésben részletezett legfontosabb tudnivalókat.

  • Az MT5 háromféle tranzakció típust ismer: megbízás, ügylet, pozíció (order, deal, position). Egy-egy pozíció teljes története ebből a háromféle összefüggő adatból ismerhető meg.

  • A számlatörténetben hasonló elnevezésű fiókokban találhatók meg ezek az események.

  • Minden nyitási művelet megbízással indul, ügylettel folytatódik, a végső eredmény pedig a pozíció.

  • Egy élő pozíciót egy ellentétes pozícióval lehet zárni, nincs külön zárási művelet.

  • Következő bejegyzésemben a pozícióelszámolási rendszerről írok. Ez a rendszer szabályozza, hogy instrumentumonként csak egyetlen egy, vagy akár több pozíció is létezhet-e.