A cikket Radulovic Attila írta.

Ebben a kétrészes bejegyzésben bemutatom, hogy a Trader Klub (Risk Manager, Hibrid) szoftvereiben milyen lehetőségeket rejt a pozíciókezelő modul. A modul szolgáltatásaival találkozhatsz még Radu egyénileg készített kereskedőrobotjaiban is.

A modulnak négy szolgáltatása van:

Ebben a bejegyzésben kettőt mutatok be közülük.

Megbízások valós és rejtett kezelése

A pozíciókezelési modul kétféleképpen képes kezelni a pozíciónyitások és zárások árszintjeit: valós és rejtett üzemmódban. Előbbi a hagyományos, bróker számára látható, míg utóbbi a rejtőzködő, csak a felhasználó számára látható módot jelenti. A két fő működési módon felül további kényelmi szolgáltatásokat is nyújt ez a programrész, ezekről is részletesen írok a továbbiakban.

Mi az a rejtőzködés?

A hagyományos, előre beadott megbízások esetén a stop loss, take profit és függő megbízásokat a brókercég hajtja végre. Ehhez természetesen szükséges az, hogy a felhasználó (vagy a robot) előre elküldje és beállítsa ezeket a szinteket a brókercég rendszerében.

A rejtőzködő megbízások ezzel szemben azonnali végrehajtást jelentenek, amelyet a felhasználó, vagy egy program (robot) hajt végre. A rejtőzködés itt konkrétan azt jelenti, hogy a megbízás csupán a felhasználó számára látható a charton – mert kirajzoljuk számára -, ugyanakkor a brókercég csak a végső pillanatban értesül a szándékról. A végső pillanat technikailag a nyitás vagy zárás pillanata lehet.

A rejtőzködés lehetséges előnyei

  • A rejtőzködés során a brókercég nincs tisztában előre a kilépési szintjeinkkel. Sokan úgy vélekednek, hogy a brókercégek gyakran visszaélnek azokkal az információkkal, amelyeket a felhasználók szükségszerűen megosztanak velük.

    Amennyiben úgy gondolod, hogy a brókercéged tisztességtelen módon bánik veled, a rejtőzködő mód használata helyett érdemes másik céget keresned.

  • A kereskedési számlákon gyakran fordulnak elő olyan korlátozások, amelyek nem engednek túl közeli kihelyezéseket az aktuális piachoz. Ezeket a korlátozásokat valamelyest tompítani lehet a rejtett megbízások használatával, mivel rejtett végrehajtás esetén maga a program hajtja végre a parancsokat azokban a kulcspillanatokban, amikor az ár eléri a felhasználó által megjelölt szintet.

A rejtőzködés lehetséges hátrányai

  • A rejtett megbízások lényegében programozott funkciók, melyekhez elvárt a non-stop szoftverműködés. Ez azt jelenti, hogy a számítógépednek, a MetaTrader4 terminálodnak és a benne futó robotodnak is megbízhatóan és folyamatosan kell működnie annak érdekében, hogy az adott kulcspillanatban a végrehajtás sikeres lehessen. A siker záloga továbbá a számítógép stabil áramellátása és internet-hozzáférése is.

    Amennyiben a felsoroltak közül akár egy is sérül, a végrehajtás nem biztos, hogy bekövetkezik. Előre beadott megbízás esetén ilyen probléma nem fordulhat elő, hiszen a megbízás a brókercég szerverén van jegyezve és a cég vállalja a garanciát is annak végrehajtására.

  • Ha több megbízást szeretnél végrehajtani azonos árszinteken, a leggyorsabb cselekvés esetén is könnyen lehet, hogy különböző árakon teljesülnek majd a rejtett megbízásaid. Nem csak gyors, hanem lassú piaci mozgás esetén is tapasztalhatsz eltéréseket a különböző helyzetekben. A brókercéghez beadott megbízások ezzel szemben azonos áron teljesülnek majd.

    Ha a stratégiádban kis távolságokkal dolgozol és fontos számodra több pozíció pontosan egy helyen történő nyitása vagy zárása, a rejtett üzemmód használata nem javasolt.

Működési elv

Nézzük, milyen különbségek vannak a valós és rejtett üzemmód között! Előbbi a hagyományos, bróker számára látható, míg utóbbi a rejtőzködő, csak a felhasználó számára látható módot jelenti.

A valós megbízásoknál ilyesmit látsz a Terminál panelen, illetve a charton:

A pozíció, illetve a függő megbízás nyitási és zárási szintjei a brókercég számára láthatóak (piros színnel bekereteztem őket). Ha bezárod a MetaTrader4-et – és vele együtt a robotot -, akkor ezek a ki- és beszállások a brókercég által mindenképpen végre lesznek hajtva.

A rejtett megbízásoknál ilyesmit látsz a Terminál panelen, illetve a charton:

A pozíció, illetve a függő megbízás nyitási és zárási szintjei a brókercég számára nem láthatóak. Azonnali pozícióknál az SL és TP mezők értéke 0 lesz – ezt piros színnel jelöltem -, függő megbízásnál pedig egyáltalán nincsen előre beadott függő megbízás. Mivel nincsenek előre beadott megbízási szintek, így a charton a MetaTrader4 szokásos pozícióhoz tartozó vonalai sem látszanak. Természetesen szükség van arra, hogy a felhasználó lássa a rejtett (“virtuális”) szinteket, így ezeket a robot rajzolja be a beállított színekkel. Alapértelmezésként a stop loss vonal színe piros, a take profit vonal színe zöld, a függő megbízás színe pedig kék.

Fontos: a beadott ki- és belépési parancsokat a robot tartja nyilván, és a megfelelő pillanatban – vagyis amikor odaér az ár az adott szinthez – a robot maga cselekszik. Pontosan az történik, mintha te ülnél a gép előtt “lesben állva” a cselekvésre várva.

Ha bezárod a MetaTrader4-et – és vele együtt a robotot -, és az árfolyam akkor jut el a cselekvési szintekre, amikor a robot éppen nem fut, akkor ezek a ki- és beszállások nem teljesülnek. Később részletezem azt, hogy mi történik, a később történő programindításkor.

Mire képes a rendszer?

A pozíciókezelési modul legfontosabb szolgáltatása az, hogy külön-külön eldöntheted, hogy mely megbízástípusokat hogyan szeretnéd kezelni. Határozhatsz például úgy, hogy a stop loss szintet nem rejted el, a nyitási és take profit megbízásokat viszont igen. Sőt, ezen kívül még további finombeállításokra nyílik lehetőséged – például szintek mozgatása, túl közeli ár szabályának feloldása stb. -, az alábbi paraméterek segítségével.

Kapcsolódó paraméterek

  • Stop kezelési módszer Ezzel a paraméterrel döntheted el, hogy a stop loss megbízásokat milyen üzemmódban szeretnéd kezelni. Az alábbi lehetőségeid vannak:

    • Csak megbízásos: a szinteket a brókercég hajtja végre, megbízásokkal. Stop loss megbízás kerül kihelyezésre, melyet a brókercég teljesít majd. Ez az alapértelmezett MT4-es működés is.
    • Csak rejtett: a szinteket a robot hajtja végre, rejtőzködve. A program megjeleníti a charton a rejtett szintet, és ha az ár odaér, azonnali pozíciózárással zárja a pozíciót.
    • Megbízásos, de mozgatható: a szinteket a brókercég hajtja végre megbízásokkal, és vízszintes vonalak segítségével a szintek egyszerűen módosíthatók. Kirajzolunk egy vonalat a valódi megbízási szint fölé, és ez a vonal egérrel elhúzható.
    • Kezdetben megbízásos, később rejtett: az első kihelyezésnél a szinteket megbízásként rögzítjük, később azonban rejtett módban kezeljük őket. Röviden megfogalmazva: a kezdeti szint valós megbízással a brókercégnél lesz beállítva, a további módosításokat viszont a program fogja követni. A valós megbízás végig a helyén marad, a rejtett (virtuális) szint viszont mozogni fog.
    • Rejtett akkor, ha túl közel van az ár: a szinteket a brókercég hajtja végre megbízásokkal, de túl közeli ár esetén rejtett módra állunk át. Ez az opció kifejezetten hasznos akkor, ha pl. a brókercég minimum 3 pip eltartást vár el egy bizonyos megbízási szinttől, te pedig szeretnél ennél közelebbi szintet beállítani. A robot automatikusan figyeli, hogy mikor van erre szükség, és az adott pozíció (vagy függő megbízás) vonatkozásában átáll rejtőzködő üzemódra. Fontos, hogy csak az adott pozícióra vonatkozik az átállás!
  • Célár kezelési módszer Ezzel a paraméterrel döntheted el, hogy a take profit megbízásokat milyen üzemmódban szeretnéd kezelni. Az alábbi lehetőségeid vannak:

    • Csak megbízásos: a szinteket a brókercég hajtja végre, megbízásokkal. Take profit megbízás kerül kihelyezésre, melyet a brókercég teljesít majd. Ez az alapértelmezett MT4-es működés is.
    • Csak rejtett: a szinteket a robot hajtja végre, rejtőzködve. A program megjeleníti a charton a rejtett szintet, és ha az ár odaér, azonnali pozíciózárással zárja a pozíciót.
    • Megbízásos, de mozgatható: a szinteket a brókercég hajtja végre megbízásokkal, és vízszintes vonalak segítségével a szintek egyszerűen módosíthatók. Kirajzolunk egy vonalat a valódi megbízási szint fölé, és ez a vonal egérrel elhúzható.
    • Kezdetben megbízásos, később rejtett: az első kihelyezésnél a szinteket megbízásként rögzítjük, később azonban rejtett módban kezeljük őket. Röviden megfogalmazva: a kezdeti szint valós megbízással a brókercégnél lesz beállítva, a további módosításokat viszont a program fogja követni. A valós megbízás végig a helyén marad, a rejtett (virtuális) szint viszont mozogni fog.
    • Rejtett akkor, ha túl közel van az ár: a szinteket a brókercég hajtja végre megbízásokkal, de túl közeli ár esetén rejtett módra állunk át. Ez az opció kifejezetten hasznos akkor, ha pl. a brókercég minimum 3 pip eltartást vár el egy bizonyos megbízási szinttől, te pedig szeretnél ennél közelebbi szintet beállítani. A robot automatikusan figyeli, hogy mikor van erre szükség, és az adott pozíció (vagy függő megbízás) vonatkozásában átáll rejtőzködő üzemódra. Fontos, hogy csak az adott pozícióra vonatkozik az átállás!
  • Megbízás kezelési módszer Ezzel a paraméterrel döntheted el, hogy a nyitási függő megbízásokat milyen üzemmódban szeretnéd kezelni. Az alábbi lehetőségeid vannak:

    • Csak megbízásos: a szinteket a brókercég hajtja végre, megbízásokkal. Függő megbízás kerül kihelyezésre, melyet a brókercég teljesít majd. Ez az alapértelmezett MT4-es működés is.
    • Csak rejtett: a szinteket a robot hajtja végre, rejtőzködve. A program megjeleníti a charton a rejtett szintet, és ha az ár odaér, azonnali pozíciónyitással lép piacra.
    • Megbízásos, de mozgatható: a szinteket a brókercég hajtja végre megbízásokkal, és vízszintes vonalak segítségével a szintek egyszerűen módosíthatók. Kirajzolunk egy vonalat a valódi megbízási szint fölé, és ez a vonal egérrel elhúzható.
    • Rejtett akkor, ha túl közel van az ár: a szinteket a brókercég hajtja végre megbízásokkal, de túl közeli ár esetén rejtett módra állunk át. Ez az opció kifejezetten hasznos akkor, ha pl. a brókercég minimum 3 pip eltartást vár el egy bizonyos megbízási szinttől, te pedig szeretnél ennél közelebbi szintet beállítani. A robot automatikusan figyeli, hogy mikor van erre szükség, és az adott pozíció (vagy függő megbízás) vonatkozásában átáll rejtőzködő üzemódra. Fontos, hogy csak az adott pozícióra vonatkozik az átállás!
  • Rejtett végrehajtás módja A paraméter segítségével dönthetsz arról, hogy a rejtett nyitási és zárási megbízásokat a klasszikus Ask/Bid, vagy a speciális Bid/Bid árfolyamérték figyelésével szeretnéd végrehajtani.

    Az Ask/Bid végrehajtás a megszokott, alapértelmezett viselkedést jelenti: a buy pozíciók esetében a nyitás Ask, a zárás Bid érték figyelése alapján történik, sell pozíciók esetében pedig fordítva.

    A Bid/Bid végrehajtás egy speciális megoldás, ami kizárólag a Bid árfolyamértékeket figyeli.

    Ha tehát egy rejtett buy stop megbízást helyezel ki az 1.12345 szintre és a spread 2.0 pip, akkor a hagyományos Ask/Bid üzemmódban akkor teljesül majd, ha az Ask ár eléri vagy meghaladja az 1.12345-ös szintet, Bid/Bid üzemmódban viszont akkor, amikor a Bid ár haladja meg az 1.12345-ös szintet.

    Fontos: ez a funkció nem tud csodát tenni, azaz nem tudsz vele spreadet spórolni – nem erre való. Egyetlen célja van: mivel egyes stratégiákban a kihelyezett árszinteket mindig a Bid gyertyaadatok alapján helyezünk ki, a spread – és az Ask árfolyam – bezavar ebbe a folyamatba. A Bid/Bid opció segítségével a nyitási és zárási események beindítására nem lesz hatással a spread.

  • A megbízás nyitóára korrigálható? Valós megbízások esetében előfordulhat, hogy a stratégia (vagy a kézi kihelyezés) olyan szintre történne, amely a parancs kiadásakor, vagy a menet közben bekövetkezett piaci változások miatt már nem hajtható végre a piaci szabályok alapján. Ez egyetlen esetben történhet meg: ha túl közel szeretnél megbízást kihelyezni, de ezt a bróker nem engedi.

    Ha ez a paraméter Igen opcióra van állítva, akkor a program a legközelebbi helyes árszintre korrigálja a valós megbízás árszintjét; ha pedig Nem a beállítás, akkor nem történik korrekció és a függő megbízás kihelyezése nem történik meg.

    Megjegyzés: a paraméter nem minden robotban található meg.

  • Speciális zárási sorrend Ez a paraméter a több pozíciót egyszerre nyitva tartó robotok zárási folyamatát képes szabályozni. Az alábbi lehetőségek állnak rendelkezésedre:

    • Nincs: a zárás a ticket számok sorrendjében történik a kisebbtől (régebbi pozíciók) a nagyobbak (újabb pozíciók) felé.
    • Először a nagyobb kötésméret: a zárás a lot méretek sorrendjében történik a legnagyobb lotmérettől a kisebbek felé.
    • Először a nagyobb profit: a zárás a lebegő profitok sorrendjében történik a legnagyobb profittól a kisebbek felé.

    Megjegyzés: a paraméter nem minden robotban található meg. Ha a robotodban nincs ilyen paraméter, akkor a Nincs paraméter szerinti viselkedés lesz a mérvadó.

  • Mozgatható rejtett megbízás vonalak A valós megbízásokra alapértelmezésként nem rajzol vonalobjektumot a program. Ha itt az Igen lehetőség mellett döntesz, akkor a valós megbízási szintek is könnyen mozgathatóak lesznek.

    Megjegyzés: a MetaTrader4-nek van ilyen funkciója, azonban azt az elsők között javaslom letiltani. Ennek az az oka, hogy sokszor kellemetlenséget okoz, hogy egy objektum arrébb mozgatásakor véletlen a megbízásokat mozgatja a program.

  • Rejtett megbízási vonalak szélessége, Rejtett megbízási vonalak stílusa A rejtett nyitási és zárási megbízások vonalainak szélessége és stílusa.

  • Rejtett SL vonal színe A rejtett üzemmódban kihelyezett stop loss megbízások vonalainak színe.

  • Rejtett TP vonal színe A rejtett üzemmódban kihelyezett take profit megbízások vonalainak színe.

  • Rejtett függő megbízás vonal színe A rejtett üzemmódban kihelyezett nyitási függő megbízások vonalainak színe.

Kereskedési napló

A kereskedés során igen sokszor a kereskedési napló rendkívüli szerepet tölt be – a Trader Klub oldalain Gábor itt írt róla részletesen. Egy részletesen és tudatosan vezetett napló megmutatja a hibákat és tükörként funkcionál számodra.

A kereskedési napló funkció automatikusan képes létrehozni kereskedési naplód vázát. A lezárult ügyleteket könnyebben tudod kiértékelni egy táblázatkezelő szoftver – például Microsoft Excel – segítségével, és kézi kereskedés esetén hozzá tudod fűzni saját megjegyzéseidet, a pozíciónyitás előtt felismert hibákat.

Hogyan működik?

A kereskedési napló funkció valós időben és visszateszt során is képes működni. A pozíciók és függő megbízások adatai bezáródásukat követően automatikusan egy egyedi elnevezésű fájlba rögzülnek. Például:

54264519_Risk Manager_EURUSD_100.csv

Ez a napló az 54264519-es számú kereskedési számlán a 100-as mágikus számú Risk Manager által EURUSD instrumentum kezelt pozíciók és megbízások adatait tartalmazza.

A fájlnévben szereplő információk leírása részletesen:

  • Számlaszám: a kereskedési számla száma, amelyen az ügyletek létrejöttek és lezáródtak.

    Például: 12345678

  • Robot neve: a kereskedési robot – ez lehet automata, vagy manuális eszköz is – neve, amely az ügyleteket létrehozta és felügyelte.

    Példa: Risk Manager

    Megjegyzés: előfordulhat, hogy más eszközzel, vagy a MetaTrader4 beépített panelével nyitottál pozíciót, melyet aztán az adott robottal kezeltél. A pozíció ebben az esetben is bekerül a naplóba, de elképzelhető, hogy bizonyos információk hiányozni fognak – hiszen az ügyletet eredetileg nem a program nyitotta.

  • Instrumentum: a termék, amin az ügylet létezett.

    Például: EURUSD, EURUSDm, [DAX30] stb. Pontosan azzal az elnevezéssel, amelyet a brókercég használ.

    Megjegyzés: előfordulhat, hogy más eszközzel, vagy a MetaTrader4 beépített panelével nyitottál pozíciót, melyet aztán az adott robottal kezeltél. A pozíció ebben az esetben is bekerül a naplóba, de elképzelhető, hogy bizonyos információk hiányozni fognak – hiszen az ügyletet eredetileg nem a program nyitotta.

  • Magic szám: az a mágikus szám, amelyen a kereskedési robot fut. Ez a mágikus szám volt a lezárult ügylet azonosítója is.

    Például: 100

    Megjegyzés: a kézzel kötött ügyletek mágikus száma a 0 (nulla).

  • Dátum és időpont: az az időpont, amikor a visszatesztet elindítottad a számítógép helyi ideje alapján.

    Például: 2019_05_06 10_36_39

    Megjegyzés: ez az információ kizárólag a visszateszthez tartozó CSV fájlok nevébe kerül be. Ez azért van így, mert egy visszatesztet akár többször is lefuttathatsz ugyanarra az időszakra, és szeretnénk megkönnyíteni a dolgodat a különböző futtatási esetek megkülönböztetése kapcsán.

    Valós idejű futtatásnál mindig egyetlen egy fájl van, ami nem dátumhoz kötött, azaz folyamatosan bővül.

A kereskedési napló formátuma CSV, azaz Comma Separated Values (vesszővel tagolt értékek). Ez a fájltípus szövegként tartalmazza az összes adatot, amelyekből egy táblázatkezelő program segítségével könnyen oszlopokat varázsolhatsz. A Microsoft Excel esetében az Adatok menüponton belül az Importálás szövegből opciót kell használnod (a menüpont elnevezése és helye szoftververziónként eltérhet). Egy külön fejezetben fogom bemutatni, hogyan tudod importálni a fájlt.

Hol jönnek létre a kereskedési napló CSV fájljai?

A fájlok mindig annak a MetaTrader4 terminálnak a rendszermappájában jönnek létre, amelyben a robotod futtatod.

  • Valós idejű futtatáskor: a Rendszermappa\MQL4\Files\ könyvtárban.

  • Visszateszt futtatáskor: a Rendszermappa\tester\files\ könyvtárban.

Kapcsolódó paraméterek

  • Kereskedési napló Ezzel a paraméterrel döntheted el, hogy szeretnéd-e használni a kereskedési napló funkciót, és ha igen, mikor.

    • Nincs: a kereskedési napló funkció ki van kapcsolva – a program nem rögzíti az ügyleteket azok bezáródásakor.
    • Élőben és visszatesztben is: valós idejű és visszateszti futtatáskor is napló készül az ügyletek bezáródásakor.
    • Csak élőben: valós idejű futtatáskor napló készül az ügyletek bezáródásakor, visszateszti futtatáskor a funkció ki van kapcsolva.
    • Csak teszterben: visszateszti futtatáskor napló készül az ügyletek bezáródásakor, valós idejű futtatáskor a funkció ki van kapcsolva.

Jó tudni

  • Nagyon fontos, hogy a CSV fájlokat soha ne közvetlenül a fenti könyvtárakból nyisd meg! Ha mégis így teszel, a Microsoft Excel kisajátítja a fájl írási jogát, és a robot nem fog tudni írni a fájlba. Vagyis amíg nyitva van az Excel, addig az újonnan záruló pozíciók és megbízások adatai nem kerülhetnek bele a fájlba.

    Javaslom, hogy amikor egy kereskedési CSV fájllal szeretnél dolgozni, másold azt át valahová a számítógépeden. Így a régi helyen is megmarad és a robot írni tudja, te pedig dolgozhatsz az addigi adatokat tartalmazó lemásolt példánnyal.

Hogyan lehet Excelbe importálni a CSV fájl tartalmát?

Az alábbi leírás alatt találsz képeket is, melyek az egyes lépésekhez tartoznak.

  • Első lépésként nyisd meg a Rendszermappa megfelelő könyvtárát, és másold át az érintett fájlt a Rendszermappából egy másik helyre a számítógépeden!

  • Második lépésként indítsd el a Microsoft Excel (vagy más táblázatkezelő) programot, és válaszd az Adatok importálása szövegből lehetőséget – ennek neve szoftververziónként eltérhet.

  • Harmadik lépésként válaszd ki a fájlt, amelyet átmásoltál!

  • Negyedik lépésként válaszd a Tagolt opciót, majd kattintsd be az Adatok fejlécet tartalmaznak opciót, majd kattints a Tovább gombra!

  • Ötödik lépésként pipáld be a Pontosvessző jelölőt, majd kattints a Tovább gombra!

  • Hatodik lépésként kattints a Befejezés gombra! Ha változtatni szeretnél az egyes oszlopok mezőformátumain, itt teheted meg. Alapvetően erre nem lesz szükséged ahhoz, hogy át tudd tekinteni az adatokat.

  • Hetedik lépésként add meg azt a mezőt, amely az importálandó adatok bal felső sarka lesz.

  • Készen vagy, az adatok a rendelkezésedre állnak!