V tomto článku
Po prečítaní dokážete…
- Rozlíšite ACCOUNT_FIFO_CLOSE od FIFO v analytickom denníku.
- Zostavíte front rovnakého symbolu a po čiastočnom plnení overíte zostávajúci objem.
- Zosúladíte realizovaný a otvorený výsledok bez vytvorenia ďalšieho zisku.
Vysvetlenie pojmov priamo v článku
Hedging: zaistenie expozície Vykonanie pokynu Stop lossAk MT5 odmietne zatvorenie pre FIFO, najprv overte pravidlo skutočného účtu a poradie pozícií presného symbolu. FIFO znamená „prvá dnu, prvá von“: na príslušnom účte môže určovať, ktorú pozíciu možno zatvoriť ako prvú. Nie je to všeobecné pravidlo pre všetkých používateľov MT5. Odmietnutie neopravujte automatickým opakovaním pokynu ani zatvorením iného obchodu bez kontroly plánu.
Ktoré FIFO: pravidlo účtu alebo metóda vo vašej tabuľke?
Vlastnosť ACCOUNT_FIFO_CLOSE pri hodnote true označuje zatváranie pozícií jedného symbolu v poradí ich otvorenia, od najstaršej. Dokumentácia MQL5 uvádza, že mimo hedgingového účtovného režimu má táto vlastnosť hodnotu false. Hodnota ACCOUNT_HEDGE_ALLOWED rieši iné oprávnenie: opačné pozície na rovnakom symbole. Názov účtu preto nenahrádza kontrolu jeho konkrétnych vlastností.
Jazyk rozhrania neurčuje pravidlá účtu. Smerodajné sú poskytovateľ, produkt, zmluva a nastavenie servera. Samostatným významom FIFO je analytické priraďovanie zníženia objemu k starším vstupom v obchodnom denníku. Túto konvenciu možno použiť aj pri jednej spoločnej nettingovej pozícii, ale tabuľka nezmení operácie povolené serverom. Rozdelenie medzi stratégiami vysvetľuje priradenie výsledku dvoch EA. Účtovný model denníka nemiešajte s daňovým posúdením na Slovensku.
Čo zachovať po odmietnutí?
Uložte úplnú odpoveď na konkrétnu požiadavku. Kód 10045, TRADE_RETCODE_FIFO_CLOSE, označuje odmietnutie spojené s aktívnym pravidlom FIFO na účte. Odlišuje sa od kódu 10046 pre zákaz opačných pozícií aj od 10044 pre režim povoľujúci iba zatváranie. Všeobecná hláška „chyba zatvorenia“ tieto situácie nerozlíši. Neodstraňujte preto ochranné úrovne naslepo.
Do záznamu patrí server, bezpečná prezývka účtu, presný symbol, identifikátor pozície, čas otvorenia a aktuálny objem. Nezapisujte heslo ani osobné údaje. Pozície príslušného nástroja zoraďte podľa otvorenia, nie podľa zisku. Ak dva časy vyzerajú rovnako pri zobrazenej presnosti, zachovajte identifikátory a vyjasnite poradie s poskytovateľom. Nevymýšľajte univerzálne pravidlo „nižší ticket vyhráva“.
Ako vyzerá front troch pozícií?
Pôvodný hypotetický USD model. Hedgingový účet má FIFO=true a tri dlhé pozície rovnakého symbolu EUR/USD. Predpokladáme 100 000 EUR na lot a nemenný Bid 1,1030. Ceny aj časy sú syntetické. Vynechávame náklady, sklz a ďalšie udalosti. Ukazujeme úplné zatvorenia; neurčujeme všetky prípustné pravidlá čiastočného výstupu.
Na malej obrazovke posúvajte tabuľku vodorovne, aby ste prečítali všetky stĺpce.
| Pozícia | Otvorenie | Objem | Vstup | Výsledok pri Bid 1,1030 |
|---|---|---|---|---|
| P1 | 08:00 | 0,10 lotu | 1,1000 | 30 USD |
| P2 | 08:05 | 0,20 lotu | 1,1010 | 40 USD |
| P3 | 08:10 | 0,10 lotu | 1,1020 | 10 USD |
Žiadosť o zatvorenie P3 pred P1 poruší modelové poradie. Až keď je úplné zatvorenie P1 potvrdené, nasleduje P2. Má najväčší zisk, ale na začiatku nebola najstaršia. Najmenší objem takisto neurčuje prednosť. Po vykonaní načítajte zostávajúce pozície; starý zoznam nemusí zachytávať aktuálny stav.
Poradie otvorenia, nie poradie ziskov
Na malej obrazovke posúvajte diagram vodorovne alebo ho zväčšite. Vysvetlenie nájdete aj v texte.
Pred zatváraním je spoločný výsledok 80 USD. Po úplnom zatvorení P1 pri nezmenenej cene je 30 USD realizovaných a 50 USD zostáva otvorených. Po zatvorení P2 ide o 70 USD realizovaných a 10 USD otvorených. Súčet zostáva 80 USD; presunutie medzi stĺpcami nevytvorilo ďalší zisk. Skutočné ceny a poplatky sa môžu meniť. Obe kategórie rozlišuje otvorený a realizovaný výsledok.
Nový EUR príklad: odpoveď „čiastočne“ neposúva celý front
Samostatný výučbový príklad nemá byť tvrdením o dostupnosti čiastočných výstupov u vášho poskytovateľa. Predpokladáme, že účet dané čiastočné zatvorenie dovolil a história ho potvrdila. Najstaršia pozícia A má 0,10 lotu a otvorený výsledok +18 EUR. Nasledujú B s 0,20 lotu a −7 EUR a C s 0,10 lotu a +4 EUR. Ide o rovnaký symbol a lineárny výsledok pri nemenných cenách a konverzii, bez nákladov. Spolu je to +15 EUR.
Z A sa preukázateľne zatvorilo iba 0,06 lotu. Realizovaná časť je 18 × 0,06 / 0,10 = 10,80 EUR. Zostáva A s 0,04 lotu a +7,20 EUR; B a C sa nezmenili. Otvorený výsledok je 7,20 − 7 + 4 = 4,20 EUR. Súčet 10,80 + 4,20 zostáva 15 EUR. V zozname sú stále tri otvorené pozície. Označiť celý riadok A za dokončený by skrylo jeho zvyšný objem.
Tri pozície sú stále otvorené. A je naďalej najstaršia; väčší realizovaný výsledok nie je potvrdením úplného zatvorenia.
Na malej obrazovke možno diagram posúvať vodorovne alebo zväčšiť. Hodnoty a záver nájdete aj nižšie v texte.
- A po čiastočnom výstupe
- 0,04 lotu · +7,20 EUR otvorených
- B bez zmeny
- 0,20 lotu · −7 EUR otvorených
- C bez zmeny
- 0,10 lotu · +4 EUR otvorených
- Zosúladený súčet
- 10,80 realizovaných + 4,20 otvorených = 15 EUR
Rozhodujúci rozdiel je medzi plánovaným objemom požiadavky a potvrdeným objemom realizácie. Z vyššieho realizovaného zisku nevyplýva, že môžete preskočiť zvyšok najstaršej pozície. Obnovte stav, overte pravidlá účtu a až potom vyhodnoťte ďalší zamýšľaný krok. Výučbový model vám nedáva pokyn na uzavretie konkrétneho obchodu.
Prečo odmietnutý pokyn nenahradiť automaticky iným?
Vybraný ticket môže patriť samostatnému plánu alebo EA. Zatvorením staršej pozície síce môžete splniť technické poradie, ale zmeniť iný plán a celkovú expozíciu. Najprv určte zamýšľaný symbol, smer, objem a dôsledok. Ak sa plán nezhoduje s podmienkami účtu, riešením môže byť zmena organizácie obchodovania, nie okamžité odoslanie náhradnej transakcie.
Opačný obchod nie je bezpečná obchádzka. V režime hedging môže vytvoriť novú pozíciu a účet ho navyše môže zakazovať. Po nejasnej odpovedi skontrolujte existujúce pozície, príkazy a realizácie. Postup opisuje diagnostika chýb pokynov. Rozlišujte tiež pôvodcu operácie: človeka, EA alebo server. Samotný symbol nepreukáže, ktorý mechanizmus zasiahol.
Front pred odoslaním je iba plán. Medzitým sa môže potvrdiť iná operácia a pôvodný zoznam zostarne. Ukladajte preto plán a potvrdené udalosti oddelene. Ak krok zlyhá, zachovajte odmietnutie a znova načítajte stav; nepokračujte podľa predpokladu, že predchádzajúci ticket už určite zmizol.
Týka sa FIFO aj ochranných úrovní a hromadného zatvárania?
Pomocník MT5 pri účtoch FIFO opisuje naviazané úrovne stop loss a take profit pre pozície rovnakého nástroja. Nastavenie, zmena alebo odstránenie úrovne sa môže preniesť na ostatné pozície, aby server zachoval poradie. Nepredpokladajte preto nezávislú ochranu každého ticketu. Po zmene skontrolujte hodnoty skutočne prijaté pre všetky dotknuté pozície.
Dokumentácia opisuje sekvenčné hromadné zatváranie pri FIFO a prerušenie pri chybe. Názov príkazu „zatvoriť všetko“ nepreukazuje prázdny účet. Zachovajte odpovede a načítajte zostávajúce pozície namiesto opätovného odoslania celého súboru. Nútenú likvidáciu stop-out overte osobitne podľa aktuálneho účtu; náš model troch úplných zatvorení nie je návodom na univerzálne poradie nútených výstupov.
Čo si overiť pri ďalšom cvičení?
- Zachovajte dôkaz. Uložte úplný retcode a vlastnosť ACCOUNT_FIFO_CLOSE pri presnom účte a symbole. Rozlíšte ich od metódy priraďovania v denníku.
- Zostavte aktuálny front. Pri každej pozícii zapíšte otvorenie, smer, objem a prijatú ochranu. Nejasnú odpoveď označte ako nejasnú, nie ako potvrdené zatvorenie.
- Prepočítajte model bez živého pokynu. Overte 30/50 USD po P1 a 10,80/4,20 EUR po čiastočnom A. Prípadné správanie platformy skúšajte až na zodpovedajúcom deme a kontrolujte každú odpoveď.
Overte si, čo ste sa naučili
Cvičenie: približne 3 minúty.
Zobraziť odpoveď a vysvetlenie
Po potvrdení jej úplného zatvorenia znova načítajte zostávajúce pozície a určte ďalšiu.
Ďalšie otázky
Platí FIFO pre každý hedgingový účet v MT5?
Nie. Skontrolujte vlastnosti konkrétneho účtu, povolené operácie a zmluvu. FIFO určuje poradie zatvárania; zákaz opačných pozícií je samostatné obmedzenie. Názov platformy, jazyk ani označenie hedging nezaručujú neobmedzené otváranie a zatváranie. Pri chybe si zachovajte presný retcode a aktuálny stav namiesto domnienky o všeobecnom pravidle pre všetky krajiny.
Zmení metóda FIFO v mojom nettingovom denníku odpoveď servera?
Nie. Denník podľa zvolenej konvencie priraďuje vstupy, výstupy a výsledok. Neurčuje povolené operácie skutočného účtu. Správne vedená analytická tabuľka môže existovať aj pri požiadavke odmietnutej z inej príčiny. Uchovávajte fakty realizácií oddelene od priraďovacieho modelu. Článok vysvetľuje technickú vlastnosť MT5, nie slovenské daňové pravidlo.
Môžem namiesto odmietnutého zatvorenia otvoriť opačný obchod?
Nepovažujte ho za bezpečnú náhradu. V hedgingovom režime môže pribudnúť nová pozícia a účet môže opačné pozície zakazovať. Výsledný objem a riziko potom zodpovedajú inej operácii než zatvorenie vybraného ticketu. Najprv určte zamýšľanú zmenu expozície, overte oprávnenia a pri nejasnej odpovedi zosúlaďte pozície aj históriu.
Potvrdzuje čiastočná realizácia, že ďalšia pozícia je už na rade?
Nie. V našom novom hypotetickom EUR príklade sa zatvorí 0,06 z 0,10 lotu najstaršej A. Zostane 0,04 lotu a A stále existuje. Je to výučbový predpoklad povoleného čiastočného výstupu, nie pravidlo dostupnosti pre všetky účty. Po každej odpovedi skontrolujte potvrdený objem, aktuálny front a prijaté ochranné úrovne; samotný názov hromadného príkazu úplné zatvorenie nepreukazuje.
Zdroje a overenie
- MetaQuotes — Account Properties
ACCOUNT_FIFO_CLOSE: poradie otvorenia podľa symbolu a false mimo hedgingového režimu. ACCOUNT_HEDGE_ALLOWED je samostatná vlastnosť.
- MetaQuotes — Trade Server Return Codes
10045 FIFO_CLOSE, odlišné obmedzenia 10044 CLOSE_ONLY a 10046 HEDGE_PROHIBITED; čiastočné vykonanie 10010 je iná odpoveď.
- MetaQuotes — MT5 Help: Executing Trades
Časti o FIFO, spoločných ochranných úrovniach a sekvenčnom hromadnom zatváraní s prerušením pri chybe. Nie potvrdenie správania konkrétneho poskytovateľa.
Výpočty používajú výslovne uvedené predpoklady. Nenahrádzajú aktuálne trhové údaje ani podmienky poskytovateľa.
