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:
A MetaTrader4-ben három fő megbízástípus létezik: a nyitási (függő), a stop loss és a take profit megbízás. A valós, illetve rejtett üzemmód lehetővé teszi, hogy eldöntsd, a három szint közül melyeket szeretnéd rejtve kezelni úgy, hogy a brókercég ne láthassa azokat előre.
Tovább... A modul képes automatikusan létrehozni a kereskedési naplót, amelyben minden pozíció és függő megbízás bekerül. Az szokásos alapadatokon kívül további információk is mentésre kerülnek.
Tovább... A modul képes minden kereskedési műveletről képernyőképet készíteni – legyen az nyitás, teljesülés, zárás vagy stop loss módosítás.
Tovább... A modul értesítési szolgáltatásai biztosítják, hogy az általad választott módokon értesülj a nyitási, teljesülési és zárási eseményekről.
Tovább...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!