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
[radu_param name=”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!
[radu_param name=”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!
[radu_param name=”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!
[radu_param name=”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.
[radu_param name=”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.
[radu_param name=”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ó.
[radu_param name=”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.
[radu_param name=”Rejtett megbízási vonalak szélessége”], [radu_param name=”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.
[radu_param name=”Rejtett SL vonal színe”] A rejtett üzemmódban kihelyezett stop loss megbízások vonalainak színe.
[radu_param name=”Rejtett TP vonal színe”] A rejtett üzemmódban kihelyezett take profit megbízások vonalainak színe.
[radu_param name=”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
[radu_param name=”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!