Ak 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.

Najstaršia pozícia a najväčší zisk sú rozdielne kritériá
PozíciaOtvorenieObjemVstupVýsledok pri Bid 1,1030
P108:000,10 lotu1,100030 USD
P208:050,20 lotu1,101040 USD
P308:100,10 lotu1,102010 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

Poradie otvorenia, nie poradie ziskovAutorský model FIFO: P1 o 08:00, P2 o 08:05, P3 o 08:10. Úplné zatvorenia nasledujú P1, P2, P3 po potvrdení predchádzajúceho výsledku.P1 · 08:000.10 lotPrvá: zisk 30 USDP2 · 08:050.20 lotĎalšia: zisk 40 USDP3 · 08:100.10 lotPosledná: zisk 10 USDŽiadosť o zatvorenie P3 pred P1 model odmietne.Autorský model — hypotetické hodnoty.
Autorský model FIFO: P1 o 08:00, P2 o 08:05, P3 o 08:10. Úplné zatvorenia nasledujú P1, P2, P3 po potvrdení predchádzajúceho výsledku.

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.

Čiastočné plnenie: A stále zostáva vo fronteSamostatný hypotetický EUR model. Potvrdené zatvorenie 0,06 z 0,10 lotu A pri nemenných cenách a bez nákladov. Dostupnosť čiastočného výstupu je predpoklad, nie univerzálne pravidlo.MODELOVÝ VÝPOČETA po čiastočnom výstupe0,04 lotu · +7,20 EURotvorenýchB bez zmeny0,20 lotu · −7 EURotvorenýchC bez zmeny0,10 lotu · +4 EURotvorenýchZosúladený súčet10,80 realizovaných +4,20 otvorených = 15 EUR
Čiastočné plnenie: A stále zostáva vo fronte. Samostatný hypotetický EUR model. Potvrdené zatvorenie 0,06 z 0,10 lotu A pri nemenných cenách a bez nákladov. Dostupnosť čiastočného výstupu je predpoklad, nie univerzálne pravidlo.

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í?

  1. 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.
  2. 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.
  3. 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ď.