MQL4 könyv   A kereskedelmi műveletek programozása

A kereskedelmi műveletek programozása

Amikor kereskedelmi műveleteket programozunk, ismernünk kell azokat a követelményeket és korlátozásokat, amelyek egy szabályos megbízást jellemeznek, szintén ismerni kell a kereskedelmi megbízás végrehajtás technológiájának sajátos jegyeit. Ez a rész a kereskedés végrehajtásának részletes leírását nyújtja, és sok olyan példát tartalmaz, amelyek megmagyarázzák a kereskedelmi függvények célját és alaki követelményeit. Ez a rész tartalmaz néhány kész, korlátozottan alkalmazható scriptet.

  • A kereskedés gyakorlati végrehajtása
    A kereskedő vagy az MQL4 program csak akkor hajthatja végre a kereskedést, ha kereskedési kérését bejegyzik a kereskedelmi szerveren. A közvetítő a kereskedelmi szerver és egy program között az ügyfélterminál. A helytelen kéréseket viszza fogja utasítani az ügyfélterminál, ezért betekintést kell nyernünk a kereskedés általános rendjébe.
  • A megbízások jellemzői és a kereskedés végrehajtási
    A kereskedelmi megbízások kezeléséhez kereskedési utasításokat használunk. Ezekben az utasításokban többszörös paramétereket kell megadnunk, ezek egy részét az aktuális ár és a kereskedelem iránya határozza meg, más része a kereskedelem szimbólumától függ. Azokat a megbízásokat, amelyeket a kereskedelmi szerverre küld az ügyfélterminál, ott valós idejű módban ellenőrizni fogják, hogy megfelelnek-e az aktuális piaci helyzetnek és a számlaegyenlegnek. Ezért meg kell ismernünk a kereskedés végrehajtásának szabályait.
  • Megbízások nyitása és elhelyezése
    A legfontosabb kereskedői függvény az OrderSend(). Ez ez a függvény, amit arra használunk, hogy piaci megbízás nyitási és függőben lévő megbízás elhelyezési kéréseket küldjön a kereskedelmi szervernek. Azonnal megadhatjuk a StopLoss és TakeProfit szükséges értékeit. Ezeknek a paramétereknek a helytelen értékei hibás működéshez vezethetnek. Fontos, hogy ezeket a hibákat megfelelően feldolgozzuk. A MarketInfo() függvény lehetővé teszi, hogy ezeket a hibákat minimalizáljuk.
  • Megbízások zárása és törlése. Az OrderSelect() függvény
    A piaci megbízások az OrderClose() függvénnyel zárhatjuk le, és a függőben levő megbízásokat az OrderDelete() fügvénnyel törölhetjük. Amikor egy megbízás záró vagy törlő kérést küldünk, meg kell adni ennek a megbízásnak a jegyszámát (ticket). A szükséges magbízást az OrderSelect() függvénnyel fogjuk kiválasztani. Azonkívül, ha két ellentétes megbízásunk van egy szimbólumon, egyidejűleg be tudjuk zárni őket, egyiket a másik által az OrderCloseBy() függvénnyel. Ha ilyen kereskedelmi müveletet hajtunk végre, az egyik spreadet meg fogjuk spórolni.
  • A megbízások módosítása A  TakeProfit és StopLoss szinteket az OrderModify() függvénnyel módosíthatjuk. A függőben levő megbízások esetén a kért nyitó ár szintén megváltoztatható. Nem módosítható azonban a függőben levő megbízás mérete. A piac és függőben levő megbízások módosítására szintén vonatkoznak bizonyos követelmények, amelyeket be kell tartani. Nagyon ajánlott, hogy ha végrehajtunk egy kereskedelmi kérést értékeljük annak az eredményét és kezeljük a hibákat.