V tomto článku
Po přečtení dokážete…
- Rozlišit chybu sekvenčního páru od odmítnutí v asynchronní fázi.
- Zrekonstruovat všechny tickety a tři alternativní výsledky původního modelu.
- Přepočítat samostatnou CZK větev zbylé expozice bez dvojího účtování.
Vysvětlení pojmů přímo v článku
Provedení pokynu Lot: jednotka velikosti kontraktu Equity — aktuální hodnota účtu Stop-loss: aktivace a plnění„Zavřít vše“ v MT5 označuje skupinový postup, nikoli záruku současného uzavření celého účtu. Rozhodující jsou skutečná plnění a současné zbývající množství. Odmítnutí, přerušená posloupnost a vypnutí aplikace mohou zanechat různé stavy. Tento článek řeší vestavěné operace; vlastní skript nebo doplněk může mít jiné chování.
Jaký rozsah měl konkrétní příkaz
Zapište celý název funkce: všechny pozice, ziskové, ztrátové, jeden symbol nebo jeden směr. Nabídka závisí na výběru i účtu a skupinové operace vyžadují One Click Trading. Některé varianty se při FIFO nenabízejí. Ověřte konkrétní režim a ACCOUNT_FIFO_CLOSE; vzhled terminálu nedokazuje jejich hodnotu.
Na hedgingu nejdříve probíhá párové Close By; chyba v této sekvenční části přeruší pokračování. Následné běžné výstupy zbylých pozic jsou asynchronní a chyba jednoho nepřerušuje odesílání ostatních. FIFO postup je sekvenční s přerušením při chybě. Tyto fáze nelze sloučit do pravidla „každá chyba zastaví vše“.
Hedging odlišuje protilehlé pozice od jedné nettingové. Pro pár Close By je potřeba stejný symbol; podobný název jiného kontraktu nestačí. Záměna uzavření za reverzaci může vytvořit opačnou expozici. Před operací proto porovnejte zamýšlený rozsah s přesnými pozicemi a pokyny.
Celý původní model pěti ticketů
Fiktivní hedgingový účet bez FIFO má pět pozic, EUR/USD umožňuje Close By. Nejsou částečná plnění, nové vstupy ani další změny. Model neudává rychlost serveru, peněžní výsledek ani součet lotů různých kontraktů.
Na malé obrazovce posouvejte tabulku vodorovně, abyste přečetli všechny sloupce.
| Ticket | Začátek | Výsledek | Zbytek |
|---|---|---|---|
| A | EUR/USD buy 0,10 | Close By s B provedeno | Žádný |
| B | EUR/USD sell 0,10 | Close By s A provedeno | Žádný |
| C | GBP/USD buy 0,20 | Celých 0,20 uzavřeno | Žádný |
| D | USD/JPY sell 0,10 | Odmítnuto, uzavřeno 0 | Sell 0,10 |
| E | XAU/USD buy 0,05 | Celých 0,05 uzavřeno | Žádný |
Odeslané požadavky nejsou počet uzavřených pozic
Pět pozic, jedna však zůstává otevřená
Pro přečtení detailů posouvejte diagram vodorovně nebo jej zvětšete.
Jedna párová operace zde odstranila dva tickety. Potom byly odeslány tři běžné požadavky, ale provedly se jen dva. Konečný počet je 5−2−1−1=1; ne „tři“, protože Close By bylo jedním úkonem, ani „nula“, protože tlačítko slibovalo vše.
Pro každou pozici evidujte symbol, směr, počáteční objem, identifikátor požadavku či pokynu, odpověď, související dealy a zbývající množství. DEAL_ORDER a DEAL_POSITION_ID pomáhají svázat plnění s pokynem a pozicí. Jeden pokyn může mít více fragmentů; každý řádek historie proto neoznačujte za celé uzavření. Čas opatřete pásmem a nejistý výsledek neztotožňujte s potvrzeným odmítnutím.
Dvě další větve stejného výchozího stavu
V první samostatné variantě dostane A+B chybu Close By před plněním a výslovně předpokládáme, že neproběhl žádný výstup. Postup se zastaví ještě před C–E a zůstává všech pět pozic. Není to stejný výsledek jako odmítnuté D po již úspěšném páru. Skutečně chybějící odpověď potřebuje šetření, nikoli předpoklad nulového plnění.
V druhé samostatné variantě A+B už byly uzavřeny, ale aplikace skončila před odesláním C–E. Zůstávají tři původní pozice. Ukončení programu nevrací potvrzené dealy zpět a neurčuje osud požadavků odeslaných těsně předtím. Po synchronizaci proto znovu sestavte skutečný seznam místo opakování dávky z paměti.
Nový ticket může pocházet od EA nebo jiného uživatele a nemusí být selháním původního uzavření. Určete zdroj a čas v historii. U vlastní automatizace ani OrderSend=true nedokazuje provedení: zkontrolujte odpověď a účetní události. K diagnostice není potřeba zkušební živý obchod.
Prázdné pozice a stále čekající pokyny
Čekající pokyny tvoří samostatný seznam a mají vlastní operace zrušení. Fiktivní čekající buy P může přežít uzavření všech pěti pozic a po pozdějším plnění vytvořit novou. Bez potvrzeného zrušení tedy nulový počet pozic neurčuje osud P.
Po synchronizaci čtěte správný účet bez filtru skrývajícího směr nebo instrument. Zaznamenejte čas pozorování, historii a pokyny zvlášť. Jedna prázdná obrazovka nedokazuje, že EA už nikdy neotevře další expozici. U zbylého D ověřte také přijaté SL/TP; pozornost k příčině dávky nesmí nahradit kontrolu současného rizika.
Nová CZK větev: jeden zbytek, dvě skutečnosti
Pro nový čistě aritmetický model zbylé D přidejme vstup USD/JPY 150,00, objem 0,10 lotu, 100000 USD na lot a současný Ask 150,30. Pro ztrátu v JPY používáme pevně 0,16 Kč/JPY; saldo je 100000 Kč. Výsledky dříve uzavřených A,B,C,E jsou pro tuto samostatnou větev již zahrnuty v uvedeném počátečním saldu. Jiné položky a poplatky nepřidáváme.
Short 10000 USD má při Ask 150,30 plovoucí výsledek 10000×(150,00−150,30)=−3000 JPY=−480 Kč. Saldo je stále 100000, equity 99520 Kč. Pokud Ask ve druhém modelovém pozorování vzroste na 150,60, plovoucí výsledek je −6000 JPY=−960 Kč a equity 99040 Kč. Jedna zbývající pozice tedy není malá jen podle počtu ticketů.
Dalších 0,30 JPY znamená dalších 480 Kč ztráty. Pokud by při přesně 150,60 následovalo úplné potvrzené uzavření bez dalších nákladů, saldo by přešlo na 99040 a plovoucí část na nulu; equity by se samotným přesunem znovu nesnížila o 960. Neodhadujeme nyní skutečné plnění, náklady ani převod brokera. Tato vlastní větev nepřidává peněžní výnosy do původního bezcenového modelu A–E.
Zbylý ticket stále mění equity
Tato samostatná peněžní větev nemění původní model počtu pozic ani nepředpovídá cenu provedení.
- Ask 150,30
- −480 Kč plovoucích – −3000 JPY, equity 99520 Kč.
- Ask 150,60
- −960 Kč plovoucích – −6000 JPY, equity 99040 Kč.
- Hypotetický potvrzený výstup 150,60
- Saldo 99040 Kč – Plovoucí část 0, stejná equity; ztráta se neodečítá podruhé.
Kontrola pro příště
- Na odpovídajícím demu zaznamenejte režim, přesný příkaz a celý výchozí seznam. Žádné selhání nevyvolávejte živým obchodem.
- Ke každému ticketu přiřaďte skutečný výsledek. Oddělte fázi Close By, běžné výstupy, odmítnutí, nejasnost a případný nový vstup.
- Ukončete kontrolu dvěma současnými seznamy: pozice a čekající pokyny. Zhodnoťte zbylé objemy i přijatou ochranu a uložte čas ověření. Zde jsme MT5 nativně nespouštěli.
Ověřte si, co jste se naučili
Přibližně 2 minut procvičování.
Zobrazit odpověď a vysvětlení
Správně. Čtyři tickety zmizely potvrzeným plněním; D nikoli.
Další otázky
Odstraní Zavřít vše i všechny čekající pokyny?
Nepovažujte uzavření pozic za potvrzené zrušení čekajících vstupů. Prověřte samostatný seznam, historii a stav zrušení; pozdější plnění může vytvořit novou expozici.
Vrátí vypnutí terminálu provedené výstupy zpět?
Ne. Přeruší pokračování procesu, ale potvrzené dealy neanuluje. Pro už odeslané požadavky určete výsledek serveru a po synchronizaci znovu čtěte objemy.
Proč chybí uzavření všech ziskových pozic?
Zkontrolujte režim účtu, FIFO, výběr a One Click Trading. Dokumentace uvádí omezení některých skupinových funkcí; vlastní doplněk navíc nemusí být stejná operace.
Mohu po chybě automaticky zopakovat stejnou dávku?
Nejdříve obnovte aktuální seznam a výsledky předchozích pokynů. Část pozic mohla zmizet, zmenšit se nebo vzniknout znovu. Nejistota a odmítnutí nejsou stejný stav.
Proč se po modelovém výstupu neodečte 960 Kč z equity znovu?
Ztráta už byla v plovoucí části: 100000−960=99040 Kč. Úplný výstup bez dalších změn přesune výsledek do salda a vymaže plovoucí část, nevytvoří druhou ztrátu.
Zdroje a ověření
- MT5 Help: hromadné uzavírání a rušení pokynů
Přečteny bulk closing, jeho fáze/chyby/přerušení aplikací, omezení FIFO a samostatné bulk deletion. Ne test vlastního doplňku ani živého účtu.
- MetaQuotes: režim konkrétního účtu
Přečteny ACCOUNT_MARGIN_MODE a ACCOUNT_FIFO_CLOSE. Ne globální právní pravidlo nebo skutečný stav klienta.
- MetaQuotes: vazby skutečného plnění
Přečteny DEAL_ORDER, DEAL_POSITION_ID, DEAL_VOLUME a typy vstupu/výstupu. Ne živý export historie.
- MetaQuotes: význam návratu OrderSend
Přečtena definice true a následná kontrola result/retcode/událostí. Ukázkový program ani živé požadavky nebyly spuštěny.
Výpočty používají výslovně uvedené předpoklady. Nenahrazují aktuální tržní údaje ani podmínky poskytovatele.
