MQL4 könyv  A kereskedelmi műveletek programozása  A megbízások jellemzői és a kereskedés végrehajtásának szabályai

A megbízások jellemzői és a kereskedés végrehajtás szabályai

Mielőtt elkezdjük a kereskedelmi függvényeket leírni, ismernünk kell, hogy milyen paraméterek jellemzik a piaci árakat, mik a megbízások típusai, és melyek a kereskedés szabályai.

A szimbólumok jellemzői

Először is ismernünk kell, hogy milyen elv szerint alakítják ki a brókercégek az áraikat. Ez az elv abban áll, hogy a bróker felajánl a kereskedőnek egy kettős árat amely árakon a kereskedő kereskedhet.

Two-way quote (kettős ár, kétirányú ár) Két összefüggő piaci ár, amit a bróker felajánl valamely szimbólum pillanatnyi vételi és eladási áraként.

Bid a bróker által felajánlott két összefüggő ár közül az alacsonyabb ár.

Ask a bróker által felajánlott két összefüggő ár közül a magasabb ár.

A függelékben található egy olyan összefoglaló táblázat, ami részletezi a kettős árak alkalmazását a megbízások nyitásakor, zárásakor és módosításakor, valamint a korlátozások meghatározásakor.

Point valamely szimbólum árának egysége (a lehetséges legkisebb árváltozás, az ár utolsó számjegyének értéke).

Spread a kettős ár magasabb és alacsonyabb értéke közötti különbség.

Általában a spread egy rögzített érték. A MetaTrader 4 szimbólumablakban látható charton a Bid értékének változását követhetjük:


68. ábra: egy szokásos szimbólumábra (chart).

68. ábrán egy olyan szimbólumablakot láthatunk, ahol figyelemmel követhetjük a kettős árajánlat változásait, - az aktuális Bid árajánlat a fekete sor (1.3005) és az aktuális Ask árajánlat a piros sor (1.3007). Könnyen észrevehetjük, hogy ebben az esetben a bróker ajánlata 2 pont spreadet tartalmaz. Az Ask ár történelmi változását nem mutatják be az ábrán, de ezt könnyen ki lehet számolni bármely pillanatban.

Megbízástípusok és azok jellemzői

Összességében hat megbízástípus van: két fajta piaci megbízás és négy fajta függőben levő megbízás.

Buy - vétel, egy szimbólum piaci áron történő vételére szóló megbízás.

Sell - eladás, egy szimbólum piaci áron történő eladására szóló megbízás.

Buy Limit - egy függőben levő megbízás, egy olyan vételi megbízás, ami alacsonyabb az aktuális árnál. A megbízást akkor fogják végrehajtani (piacira módosított Buy megbízással) ha az Ask ár a függőben levő megbízásban meghatározott értékre csökken.

Sell Limit- egy függőben levő megbízás, egy olyan eladási megbízás, ami magasabb, mint az aktuális. A megbízást akkor fogják végrehajtani (piacira módosított Sell megbízással) ha a Bid árajánlat a meghatározott értékre emelkedik.

Buy Stop - egy függőben levő megbízás, egy olyan vételi megbízás, ami magasabb az aktuális árnál. A megbízást akkor fogják végrehajtani (piacira módosított Buy megbízással) ha az Ask ár a függőben levő megbízásban meghatározott értékre emelkedik.

Sell Stop - egy függőben levő megbízás, egy olyan eladási megbízás, ami alacsonyabb, mint az aktuális. A megbízást akkor fogják végrehajtani (piacira módosított Sell megbízással) ha a Bid árajánlat a meghatározott értékre csökken.

Lot – a megbízás összegének nagysága.

StopLoss- egy stop megbízás; ez egy olyan ár, amit előre beállított a kereskedő, aminél a megbízása lezárul, ha az szimbólum ármozgása veszteséges irányba fordul.

Take Profit - egy stop megbízás; ez egy olyan ár, amit előre beállított a kereskedő, aminél a megbízás lezárul, ha a szimbólum ára a nyereséges irányban eléri azt.

Kereskedelmi követelmények és korlátozások

Azért, hogy az alkalmazási programjaid korrekt kereskedelmi kéréseket küldjenek (Expert Advisorok és scriptek), tekintetbe kell venned a létező követelményeket és korlátozásokat. Vizsgáljuk meg őket részletesen!

Figyelem!

Minden kereskedelmet korrekt árakon hajtanak végre. Mindegyik végrehajtás a kétirányú ár megfelelő értéke alapján történik.

A fenti szabály minden piaci szereplőre vonatkozó szabály, és azt nem tudják megváltoztatni a kereskedő platform fejlesztői, és a bróker és kereskedő közti megegyezés alapján sem változtatható meg. Például egy megbízást csak az aktuális piaci árnál nyithatnak, és semmilyen másik árnál nem. A korrekt ár különböző kereskedelmi helyzetekben való számítási eljárását lent tárgyaljuk.

Miközben a korrekt árakat kiszámítjuk, meg kell fontolni a szolgáltató (dealing center) korlátozásait. Ezek a korlátozások tartalmazzák a minimális távolságot és a befagyott zónát. Ezek a korlátozások azt jelentik, hogy a brókernek szüksége van némi időre, hogy az új megbízások (nyitó, záró, módosító és stop ajánlatok) előkészületeit megtegye.

A dealing center korlátozza a minimális megengedhető különbséget a piaci ár és a különböző stop megbízások árai között, a különbséget a piaci ár és függőben levő megbízás ára között, és korlátozza a különbséget függőben levő megbízások kért ára és ezen megbízások stop árai között. Például ez azt jelenti, hogy egy piaci megbízás csak akkor elfogadható, ha az abban foglalt stop megbízások távolabb vannak az aktuális piaci ártól az előírt minimális távolságnál. Egy kereskedelmi kérést, ami olyan stop árakat tartalmaz, amik közelebb vannak a piaci árhoz mint a minimális távolság, az ügyfélterminál helytelennek fog tekinteni. A különböző dealing centerek különböző, az adott dealing centerre jellemző korlátozásokat hozhatnak a megengedett távolságra. Általában 1 és 15 pont közötti az ilyen tartományok értéke. A legáltalánosabban használt szimbólumoknál (EUR/USD, GBP/USD, EUR/CHF, , stb.), ez a távolság a legtöbb dealing centerben 3-5 pontot. Különböző szimbólumoknak szintén különböző minimális megengedett távolságaik lehetnek. Például ez az érték az aranynál 50-100 pont lehet. A bármilyen szimbólum minimális távolság értékét bármikor megváltoztathatja a bróker (ez általában megelőzi a fontos kereskedelmi hírek közvetítését).  A maximális  távolságra nincsenek korlátozások.

A befagyott zóna korlátozza azon stop megbízások és függőben lévő megbízások módosításának lehetőséget, amik ebben a zónában vannak. Például, ha a piaci ár 1.3800, és függőben levő nyitási megbízásod van 1.3807-nél, és a bróker 10 pontos befagyott zónát határozott meg, a függőben levő megbízás a befagyott zónában van, vagyis nem tudod törölni és nem tudod módosítani azt. Egy nyugodt piacnál a brókerek általában nem állítanak be befagyott zónát, vagyis ez 0. Azonban a fontos hírek előtt vagy magas volatilitású piacon a bróker beállíthatja a befagyott zóna egy bizonyos értékét. Különböző helyzetekben a különböző brókereknél ez az érték az alapvető szimbólumokon 1-től 30 pontig terjedhet, és magasabb értékű lehet más szimbólumoknál. A brókercég bármikor meg tudja változtatni a befagyott zóna értéket a saját belátása szerint.

Figyelem!

Az árszinteknek azon korlátozását, amik korlátozzák a minimális távolság értékeit és a befagyott zónát a korrekt árak alapján számolják ki.

Megbízások nyitása/zárása

Kereskedelmi megbízás egy adott szimbólum vétele/eladása az aktuális piaci árakon (lásd: Követelmények és korlátozások a kereskedelemben). 

A megbízás nyitásához az OrderSend() függvényt, bezárásához az OrderClose() függvényt használjuk.

Figyelem!

A Buy megbízás korrekt ára a legújabb ismert piaci Ask ár. A Sell megbízás korrekt ára a legújabb ismert piaci Bid ár.

A stop megbízások pozíciójával kapcsolatos korlátozás a megbízás nyitásakor érvényes korrekt záróártól számolandó.

Figyelem!

A StopLoss és Take Profit megbízást nem tudjuk a piaci árhoz közelebb tenni a mint a megengedett minimális távolság.

Például a minimális távolság EURUSD-n 5 pont. Sell megbízást nyitunk Bid=1.2987-en. Az az ár, amelyen ezt a Sell megbízást a nyitás pillanatában le tudnánk zárni a kettős ár alapján Ask=1.2989. A következő stop szintek lesznek a legközelebbiek, amelyeket az aktuális pillanatban megadhatunk, (lásd a 69. ábrát és  Követelmények és korlátozások a kereskedelemben):

Stop Loss = Ask + minimális távolság = 1.2989 + 0.0005 = 1.2994, és

Take Profit = Ask - minimális távolság = 1.2989 - 0.0005 = 1.2984.


69. ábra. A Sell megbízás piaci árhoz legközelibb Stop szintjei.

Ha olyan Sell, Bid=1.2987 árú nyitási megbízást adsz, ahol az előre beállított stop szintek közelebb vannak, mint a fenti értékek (SL=1.2994 és ТР=1.2984), a kereskedelmi kérést vissza fogja utasítani az ügyfélterminál. Azonkívül figyelembe kell venni az árcsúszások (slipage) lehetőségét a megbízások küldése alatt, amikor a megbízás nyitása egy olyan áron történik, ami eltér a kereskedelmi kérésben megadott értéktől. Ha ennél a kérésnél az előre beállított stop szintek a lehető legközelebb vannak a beállított nyitó árhoz, ezt a kérést szintén vissza fogja utasítani az ügyfélterminál, mert ebben az esetben, a kérés nem tartja be a nyitási ár és a stop szintek közül az egyiknek szükséges minimális távolságát. Ez az oka annak, hogy nem ajánlott olyan megbízások nyitása, ahol a stop értékek a nyitási árhoz nagyon közeliek. Éppen ellenkezőleg, ajánlott egy kevés „szabad mozgást” hagyni, vagyis olyan stop értékeket megadni, amelyek 1-2 ponttal távolabb vannak a nyitó ártól számított minimum távolsági értékénél.

A megbízások lezárhatók a kereskedő vagy program által indított kereskedelmi kéréssel, vagy valamely előre beállított stop árszint elérésekor automatikusan lezárulnak.

Figyelem!

Egy Buy megbízás korrekt zárási ára a legújabb ismert Bid piaci ár. Egy Sell megbízás korrekt zárási ára a legújabb ismert Ask piaci ár.

Ha Sell megbízást (69. ábra) az aktuális pillanatban bezárjuk, a záró ár Ask=1.2989 lesz, vagyis a veszteség 2 pont. Ha továbbra is nyitva hagyjuk a megbízást és az ár leesik Ask= 1.2984-re a megbízás 3 pont profittal bezárul annál az árnál. Ha a megbízás nyitva van és a piaci ár növekszik, Ask= 1.2994értékénél a megbízás 7 pont veszteséggel lezárul annál az árnál.

Ha az alkalmazás egy olyan kérést küld, hogy nyisson vagy zárjon egy megbízást az ügyfélterminál egy olyan árnál, ami nem egyezik meg a legújabb ismert piaci árral, az a kérést vissza fogja utasítani.

Figyelem!

A megbízások zárásával kapcsolatos korlátozásokat, a megbízás zárására vonatkozó korrekt piaci ártól számoljuk. A megbízást nem tudjuk bezárni, ha a StopLoss vagy a Take Profit a piaci ártól számított befagyott zónában van.

Például, a 69. ábrán látható megbízást csak akkor lehet lezárni, ha a brókerek által beállított fagyott zóna értéket 4 pont vagy kevesebb a zárás pillanatában. Ebben az esetben ennek a megbízásnak a nyitási ára nem számít. A fagyott zónát a piaci ár alapján számoljuk. Ha ez = 4, a fagyott zóna felső határa = 1.2989 + 0.0004 = 1.2993, míg a fagyott zóna alsó határa = 1.2989 - 0.0004 = 1.2985. Ezek szerint a feltételek szerint, stop megbízás nincs a fagyott zónában, tehát a megbízást le lehet zárni, ha a kereskedő (vagy egy program) egy megfelelő kérést küld a szervernek. Ha a bróker az aktuális pillanatban a fagyott zóna értékét 5-re állítja, a határai 1.2994 és 1.2984. Ebben az esetben mindkét stop megbízás a fagyott zónában található és bele esik a bróker által meghatározott korlátozásba, ezért a megbízást nem lehet lezárni a kereskedő kezdeményezésére vagy a kereskedő program kérésére. Ebben a példában mindkét stop megbízás a fagyott zónába esik. Általános esetben, egy megbízást nem lehet lezárni az ügyfélterminál (a program vagy a kereskedő) kezdeményezésére, ha ennek a megbízásnak legalább egy stop szintje a fagyott zónában van.

Ha egyidejűleg két nyitott, egy Buy és egy Sell megbízásunk van azonos szimbólumon, kétféle módon lehet bezárni őket: be lehet zárni őket egyenként az OrderClose() függvény alkalmazásával,vagy be tudjuk zárni őket egyszerre az OrderCloseBy() használatával. A pénz megtakarítás tekintetében a második út a kívánatosabb, mert meg lehet vele takarítani az egyik bezárandó megbízás spreadjét. A kereskedelmi függvények használatát a később részletesen tárgyalni fogjuk ebben a könyvben.

A függőben levő megbízások elhelyezése és törlése

Egy függőben levő megbízás egy olyan megbízás, amelynek az ára különbözik az aktuális piaci ártól. Függőben levő megbízást az OrderSend() függvénnyel adhatunk. A függőben levő megbízásokat az OrderDelete() függvénnyel törölhetjük.

Figyelem!

A függőben levő Sell Limit és Buy Stop megbízásokat az aktuális piaci árnál magasabbra tesszük, a Buy Limit és Sell Stop megbízásokat pedig az aktuális piaci árnál alacsonyabbra.


A függőben levő megbízás pozíciójával kapcsolatos korlátozást, a korrekt piaci ár és a függőben lévő megbízás nyitó ára alapján számoljuk ki.

Figyelem!

Függőben lévő Buy Limit, Buy Stop, Sell Limit és Sell Stop megbízásokat nem tudunk az aktuális piaci árhoz a minimális távolságnál közelebb tenni.

Például, hogy kiszámítsuk a Buy Stop megbízás minimális megengedett árát, hozzá kell adnia a minimális távolság értékét a legújabb ismert Ask árhoz. Ha a Stop Level= 5, akkor a minimális megengedett ár ahová a függőben levő Buy Stop megbízást adhatjuk 1.3003+0.0005 = 1.3008 lesz (70. ábra). Ez azt jelenti, hogy a Buy Stop megbízást az aktuális pillanatban 1.3008-ra vagy magasabbra tudjuk elhelyezni. Ebben a példában a Buy Stopot 1.3015-nél helyeztük el ami természetesen megengedett.


70. ábra. Függőben levő megbízásokat az aktuális árnál alacsonyabban és magasabban adhatunk.

A függőben levő Buy Stop megbízás 1.3015-ön.

A függőben levő Sell Limit megbízás 1.3012-n.

A függőben levő Sell Stop megbízás 1.2995-ön.

A függőben levő Buy Limit megbízás 1.2993-on.

A fenti példában, minden függőben levő megbízást a nulla bárnál adtunk, a 70. ábrán látható időpillanatban, a minimális távolság a függőben levő megbízások elhelyezésére 5 pont. Sell Stop megbízást adunk a piaci árhoz a lehető legközelebbi áron. Ebben az esetben, Bid = 1.3001 és Sell Stop = 1.2995, most a megbízás és kettős ár megfelelő értéke(Bid) közötti távolság,6 pont (1.3001 - 1.2995), ez több mint a szükséges minimum. Ez azt jelenti, hogy a megnyitásánál (mint minden másik megbízás esetében), a kereskedelmi kérést az ügyfélterminál jóváhagyta és elküldte a szervernek. A szerver szintén ellenőrizte a teljesítés követelményeit és úgy döntött, hogy végrehajtja a függőben levő megbízás elhelyezése iránti kérést (lásd: Követelmények és korlátozások a kereskedelemben).

A stop megbízások pozícióját, amiket csatoltunk a függőben levő megbízásokhoz, szintén korlátozza a minimális távolság:

Figyelem!

Egy függőben levő megbízás csatolt stop szintjeinek pozíciójára vonatkozó korlátozásokat a függőben levő megbízás kért pozíciójából számoljuk, és nincs kapcsolata a megbízás elküldésekori piaci árral. A StopLoss és Take Profit egy függőben levő megbízásban sem lehet közelebb a kért nyitó árhoz, mint a minimális távolság. A StopLoss és Take Profit pozícióit a függőben levő megbízásokban nem korlátozza a fagyott zóna.

A 71. ábrán függőben levő Sell Limit megbízást látunk, ahol a stop megbízásokat olyan közel helyezzük el a kívánt nyitó árhoz amilyen közel csak lehetséges. Ebben az esetben, a kért nyitási ár = 1.2944, StopLoss=1.2949, Take Profit=1.2939. 5 pont minimális távolságnál ezek az értékek megengedettek.


71. ábra. A függőben levő megbízás stop szintjei, a megbízáshoz a lehető legközelebb elhelyezve.

Ebben a példában, Sell Limit függőben levő megbízást 18:07-kor adtuk. A 71. ábrán látható, hogy azután a piaci ár keresztezte az egyik stopmegbízást és azután megint lement. Ez az esemény sehogy nem befolyásolta a függőben levő megbízást: egy stop megbízás csak bezárhatja a nyitott tőzsdei megbízást, ez csak akkor válik hatásossá, amikor a függőben levő megbízás teljesül. Ebben az esetben a függőben lévő megbízás még nem teljesült (mert az aktuális ár nem érte el a beállított nyitó árat), tehát a stop megbízás elérése nem okozott semmilyen változást.

Figyelem!

A függőben levő megbízások törlésével kapcsolatos korlátozásokat a korrekt piaci ár alapján számoljuk ki, ezen megbízások módosítására is ez a szabály vonatkozik. A Buy Limit, Buy Stop, SellLimit és Sell Stop függőben levő megbízásokat nem tudjuk törölni, ha a megbízás beállított nyitó ára a piaci árhoz viszonyított befagyott zónán belül van.

A Sell Limit függőben lévő megbízást a 71. ábra szerint csak akkor tudja törölni az ügyfélterminál, ha a fagyott zóna az ábrázolt pillanatban egyenlő vagy kisebb, mint 8. Ebben az esetben, a fagyott zóna felső széle = 1.2935 +0.0008 = 1.2943. A függőben lévő megbízás nyitó ára 1.2944, ez az ár a fagyott zónán kívülre esik ezért törölhető. Ha a bróker 8 pontnál nagyobbra állítja be a fagyott zóna értékét, akkor a függőben levő Sell Limit megbízást nem tudja törölni az ügyfélterminál, visszautasítja a kereskedelmi kérést.

A függőben levő megbízások módosítása piaci megbízásokra

A függőben levő megbízások piaci megbízásra történő módosítása a szerveren automatikusan történik, úgyhogy nincs erre a műveletre szolgáló függvény (lásd: Követelmények és korlátozások a kereskedelemben).

Figyelem!

A függőben levő Buy Limit és Buy Stop megbízások piaci megbízássá válnak, ha az utoljára ismert Ask ár eléri a függőben levő megbízási árat. A függőben levő Sell Limit és Sell Stop megbízások piaci megbízássá válnak, ha az utoljára ismert Bid ár eléri a függőben levő megbízási árat.

A 70. ábrán lévő függőben levő megbízásokkal kapcsolatban, a következőket mondhatjuk el:

A függőben levő Buy Stop megbízás Buy piaci megbízássá válik, ha az aktuális Ask eléri az 1.3015-ös értéket.

A függőben levő Sell Limit megbízás Sell piaci megbízássá válik, ha az aktuális Bid eléri az 1.3012-es értéket.

A függőben levő Sell Stopot megbízás Sell piaci megbízássá válik, ha az aktuális Bid eléri az 1.2995-ös értéket.

A függőben levő Buy Limit megbízás Buy piaci megbízássá válik, ha az aktuális Ask eléri az 1.2993-as értéket.

Az ezután következő, az ezekkel a megbízásokkal kapcsolatos események  a 72-74. ábrákon követhetők.


72. ábra: A függő megbízásból piaci megbízás lesz.

A továbbiakban a 2 másik függőben levő megbízásból szintén piaci megbízás válik.


73. ábra: A függő megbízásokból piaci megbízás lesz.



74. ábra. A módosult (piaci) megbízások megjelennek a Terminál ablakban.

Jegyezd meg, hogy a 73. ábra a Buy 4210322 megbízás nyitását mutatja (a korábbi függőben levő Buy Stop megbízás). Látható, hogy az a bár, amit 18:55-kor nyílt, nem érinti meg az 1.3015-ös árat. A legmagasabb ár ezen a báron belül 1.3013. Ugyanakkor, a Terminal ablakban (74. ábra) azt látjuk, hogy a függőben levő megbízásból ez alatt a bár alatt lett piaci megbízás, vagyis 18:55-kor.

Itt kell még egyszer hangsúlyozni, hogy a szimbólum ablakban csak a történelmi kettős ár alacsonyabb értékét tüntetik fel, vagyis a Bid ár történelmi változását. Az Ask ár alakulását nem látjuk. Ezért gondolhatod azt, hogy a függőben levő megbízásból valamilyen hiba miatt lett piaci megbízás. Pedig ebben az esetben nincs hiba. Akkor, amikor a Bid ár egyenlő volt 1.3013-mal, az Ask ár 1.3013 + 2 = 1.3015 volt. (2 pont a spread). Így a piaci ár megérintette a beállított megbízási árat és az a függőben levő megbízás automatikusan piaci megbízássá vált. A megbízás végrehajtása a szerveroldalon történt. Közvetlenül azután a szerver megküldte az ezzel kapcsolatos információt az ügyfélterminálnak, és az két helyen is megjelenítette az információt: a szimbólumablakban (grafikusan) és a terminál ablakban (szövegesen).

A hasonló megfigyeléseket tehetünk a Buy Limit 4210411 megbízás végrehajtására vonatkozóan. Bár a grafikusan megjelenített ár érintkezik a függőben levő Buy Limit megbízással 16:37-kor, 16:39-kor és 16:41-kor (72. ábra), a megbízás nem teljesül. Ebben az esetben ennek az oka ugyanaz: a piaci Ask ár nem érintette meg a kért megbízási árat. Azonban a következő báron belül 16:42-kor megérintette azt a szintet. Ennek következtében a függőben levő megbízás piaci megbízásra módosult, tehát Buy Limitet a szimbólumablakban lecserélték Buyra, és az új megbízás megjelenik a Terminál ablakban.

A fenti példában minden megbízást nulla stop megbízás csatolásával adtunk (vagyis stop megbízások nélkül). Azonban a stop megbízások megléte, és a stopmegbízások értékei nem fogják befolyásolni a függőben levő megbízások módosítását piaci megbízásra, őket csak az az esemény tudja piaci megbízásra módosítani, ha a kettős ár megfelelő ára keresztezi vagy megérinti a függőben levő megbízás nyitó árát.

Figyelem!

Egy függőben levő megbízás pici megbízássá módosulását nem befolyásolják a hozzá csatolt stop megbízások.

Egy függőben levő megbízást teljesíthetnek (módosíthatják piaci megbízásra) egy olyan árnál is ami nem azonos a függőben levő megbízás kért nyitó árával. Ez megtörténhet a piaci ár gyors változásánál, amikor a legutóbbi ismert ár a megbízás megnyitása előtt még nem érte el a kért árat, de a következő ár (aminél a megbízás teljesül) már túllépett ezen (75. ábra).


a) két bár közti rés, b) a báron belül létrejövő rés
75. ábra. Függőben levő megbízás teljesülése a résben.

A 75. ábrán láthatjuk a Buy Stop függőben levő megbízás egy lehetséges variációját (az ábrán a megnyitás két fázisát láthatjuk, a megnyitás előttit és megnyitás utánit; a valóságban vagy a Buy Stop, vagy a Buy megbízást láthatjuk, de mindkettőt egyszerre nem). A legújabb ismert ár a rés előtt 1.9584 volt. 19:15-kor valamilyen hír érkezett, melynek hatására a szimbólum árában egy ugrás történt. A hírek kibocsájtása utáni először ismert ár 1.9615. Általában az árak fel, vagy le ugranak fontos hírek után. Ilyen esetben, a bróker nem tudja a megbízást teljesíteni a kért árnál, mert megfelelő árak abban a pillanatban a piacon nincsenek. Ebben az esetben, a függőben levő Buy Limit megbízást 1.9590-en helyeztük el, de ez 1.9615-ös árnál teljesült. Ez abból ered, hogy nem volt az 1.9584-től 1.9615-ig terjedő a tartományon belül semmilyen másik ár.

A szóban forgó események következtében a Buy megbízást egy olyan árnál nyitották, ami 25 ponttal rosszabb lett, mint a függőben Buy Stop megbízás. Hasonló a helyzet (a vártnál kevesebb profit) ha a Sell Stop megbízás esetén az ár leesik. Azonban, ha függőben levő Buy Limit vagy Sell Limit megbízásunk van a rés idején, a megbízás teljesülhet egy olyan árnál is, ami kedvezőbb a kereskedőnek a saját megbízási áránál.

Tudni kell, hogy a rés (a két legközelebbi ár közötti különbség több mint egy pont) meglehetősen gyakori és bármikor előfordulhat. Ha az árrés két bár között képződik, vagyis közvetlenül az új bár első tickje előtt, akkor a rés felismerhető a charton (75. ábra). Azonban, ha az árrés egy báron belül keletkezik, nem tudjuk észlelni ezt a rést vizuálisan (75. b ábra). Ebben az esetben a rés elbújik a báron belül (a gyertyában). A bárokon belüli réseket sem ránézésre, sem semmilyen rendelkezésre álló programjellemző alapján visszamenőleg nem lehet megtalálni, (azonban észlelni lehet a rést, ha használsz egy olyan alkalmazási programot, ami figyeli a beérkező árak közti különbséget).

A megbízások módosítása

A MetaTrader 4 kereskedő platform lehetővé teszi olyan kereskedelmi kérések küldését, amelyek módosítják a piaci és függőben levő megbízások árszintjeit.

(Minden megbízás módosítására az OrderModify() függvényt kell használni).

Figyelem!

Ha egy megbízás már teljesült (megnyílt), akkor csak a stop szinteket lehet módosítani. Nem változtathatjuk meg a nyitó árakat a teljesült megbízásokban.

Nem tudod megváltoztatni egy tőzsdei megbízás nyitó árát, ha a megbízás nyitása már megtörtént. Ezt semmilyen programozói módszerrel nem lehet megtenni. Az egyetlen dolog, amit a megbízással tenni tudsz az, hogy bezárod. Egy tőzsdei megbízást zárni lehet egy kereskedelmi kérés végrehajtásával, amit a program vagy a kereskedő indít, vagy autometikusan bezárul, ha a piaci ár eléri a megadott stop árat.

Figyelem!

A Stop Loss és Take Profit megbízást nem tudjuk a piaci árhoz közelebb tenni, mint a minimális távolság. Egy megbízást nem módosíthatunk, ha a StopLoss vagy a Take Profit piaci ártól számított fagyott zónán belül van.

Jegyezd meg, egy tőzsdei megbízás stop pozícióira vonatkozó korlátozást az aktuális piaci árhoz viszonyítjuk és ennek nincs kapcsolata a megbízás nyitó árával (lásd: Követelmények és korlátozások a kereskedelemben). Ezért a stop szinteket elhelyezhetjük, az aktuális ártól függően a megbízási ár alá vagy fölé. Nézzünk meg egy példát! Mielőtt egy megbízást nyitottunk a stop megbízások a lehető legközelebb vannak a piaci árhoz (69.ábra). Azután a piaci ár változott (1 ponttal növekedett). A 76. ábrán látható pillanatban lehetségessé vált, hogy megváltoztassuk a Take Profit értékét. A Sell megbízások zárása a legújabb ismert Ask árnál történik. A távolság az Ask=1.2990 és az előző Take Profit=1.2984 érték között 6 pont, ez nagyobb, mint a megengedett minimum távolság. A kereskedő (vagy egy program) küldött egy kereskedelmi kérést, hogy növeljék meg a Take Profit értékét 1 ponttal. Ez azzal végződik, hogy csináltunk egy kereskedelmi műveletet, amivel megváltoztattuk a tőzsdei megbízás stop pozícióját (Take Profit=1.2984 értékről az új 1.2985 értékre).

Ha a Sell megbízás módosítására olyan kereskedelmi kérés adunk, ahol valamelyik stop szint közelebb van az Ask piaci árhoz, mint a minimális távolság, ezt a kereskedelmi kérést visszautasítja az ügyfélterminál és a megbízást nem hajtja végre.


76. ábra: A megbízás módosítása, a stop megbízás a lehető legközelebb van a piaci árhoz.

A megbízások módosítási szabálya a stop megbízások aktuális árhoz viszonyított távolságát korlátozza, de nem korlátozza a nyitási ártól való távolságot. Ezért stop megbízásokat bármilyen árra adhatunk, amelynek az aktuálisártól való távolsága nagyobb, mint a korlátozó távolság (ha a megbízás módosításának pillanatában, a stop megbízás a fagyott zónán kívül van). 77. ábrán látunk még egy megbízás módosítást: ebben az esetben a stop megbízások jóval a korlátozó minimális távolságon kívül vannak.


77. ábra: A megbízás módosítása, a stop megbízást a minimális távolságon túl adjuk.

A függőben levő megbízások módosítása

A minden megbízást, így a függőben levő megbízást is az OrderModify() függvénnyel módosítunk.

Figyelem!

Egy függőben levő megbízás módosítása azt jelenti, hogy megváltoztatjuk a függőben levő megbízás nyitó árát és az előre meghatározott stop szinteket. A függőben levő megbízások pozíciójának módosításával kapcsolatos korlátozásokat az aktuális piaci ár alapján számoljuk ki, a függőben levő megbízás nyitó árára alkalmazva. A függőben levő megbízás stop pozícióira vonatkozó korlátozást a függőben levő megbízás kért nyitó ára alapján számoljuk, és ezeknek nincs kapcsoltuk a piaci árakkal.


Figyelem!

A függőben levő Buy Limit és Buy Stop megbízást nem tudjuk a piaci Ask árhoz közelebb tenni, mint a minimális Stop Level. A függőben levő Sell Limit és Sell Stop megbízást nem tudjuk a piaci Bid árhoz közelebb tenni, mint a minimális Stop Level. Egy függőben levő megbízás StopLoss/Take Profitját nem tehetjük a kért megbízás nyitó árához közelebb, mint a minimális Stop Level.

Figyelem!

A függőben levő Buy Limit és Buy Stop megbízást nem tudjuk módosítani, ha a módosítandó nyitó ár a piaci Ask ártól számított fagyott zónán belül van. A függőben levő Sell Limit és Sell Stop megbízást nem tudjuk módosítani, ha a módosítandó nyitó ár a piaci Bid ártól számított fagyott zónán belül van. A függőben levő StopLoss és Take Profit megbízások pozícióit nem korlátozza a fagyott zóna (Freeze Level).

Jegyezd meg: egy függőben levő megbízás kért ára vonatkozó korlátozást a piaci ártól számoljuk, míg a függőben levő megbízás stop szintjeire vonatkozó korlátozást a kért nyitó ártól (lásd: Követelmények és korlátozások a kereskedelemben).

Például, a függőben levő Buy Limit megbízást a következő paraméterekkel helyeztük el: kért ár=1. 2969, StopLoss=1.2964, Take Profit=1.2974. A piaci ár aktuális értéke Ask=1.2983. A megbízást 14 pont (1.2983-1.2969) távolságra helyeztük el a piaci ártól, ami messze felülmúlja a megengedett minimális távolságot. A stop megbízások 5 pont távolságra vannak a kért árról, ami nem kisebb, mint a minimális távolság, úgyhogy ez megengedett.


78. ábra. Függőben levő Buy Limit megbízás csatolt stop szintekkel a nyitási megbízáshoz a lehető legközelebb elhelyezve.

Ha a kereskedő meg akarja változtatnia a Buy Limit megbízás nyitási árát valamilyen irányban, ebben az esetben egyidejűleg meg kell változtatni a megfelelő stop pozíciót is (vagy törölni azt, nulla értéket beállítani). Különben a távolság a megbízás és a csatolt stop szint között kevesebb lehet a megengedett minimum távolságnál. A kereskedő úgy döntött, hogy módosítja a megbízást, úgy, hogy az 5 pont távolságot megtartja a megbízás és a Take Profit között, míg a StopLoss értéke változatlan maradt (79. ábra).


79. ábra. Módosított Buy Limit megbízás (a kért árat és a Take Profit szintet megváltoztatják).

Ha a kereskedőnek a piaci árhoz a lehető legközelibb Buy Limit függőben levő megbízást kell adnia, ebben az esetben (80. ábra), a kért ár megengedett értéke Ask-5pont = 1.2985-0.0005 = 1.2980. Ebben a példában a stop megbízások a korlátozó minimális távolságon kívül esnek.


80. ábra.Buy Limit megbízás módosítása a lehető legközelebb a piaci árhoz.


Követelmények és korlátozások a kereskedelemben függelékben található egy olyan összefoglaló táblázat, ami részletezi a kettős árak alkalmazását a megbízások nyitásakor, zárásakor és módosításakor, valamint a korlátozások meghatározásakor.