V tomto článku
Po prečítaní dokážete…
- Prepojíte deals, pokyny a identifikátor spoločnej pozície.
- Zosúladíte realizovaný výsledok, otvorené ocenenie a náklady pri jednej cene.
- Rozdelíte centový zvyšok EUR nákladu podľa vopred určeného pravidla.
Vysvetlenie pojmov priamo v článku
Expert Advisor (EA) Lot: jednotka kontraktu Provízia za obchodNa účte netting môžu dva roboty aj ručné pokyny meniť jednu spoločnú pozíciu daného symbolu. Jej výsledok sám neurčuje výsledok každého robota Expert Advisor. Najprv zrekonštruujte realizácie a ich väzby, potom výslovne zvoľte analytické pravidlo priradenia. Rovnaký súčet účtu môže robotom priradiť odlišné výsledky. Taký rozpis nenahrádza históriu poskytovateľa ani neurčuje daňovú metódu.
Prečo magic number nerozdelí spoločnú pozíciu?
Netting v MT5 vedie jednu spoločnú pozíciu na symbol. Ďalšie realizácie môžu meniť jej objem a smer. Rozlišujte pokyn, jeho jednotlivé realizácie čiže deals a aktuálnu pozíciu. Jeden pokyn môže mať viac čiastočných realizácií. Rozdielne názvy programov nevytvoria v spoločnom účte samostatné portfóliá.
DEAL_MAGIC je magic number realizácie; DEAL_REASON označuje jej dôvod alebo zdroj. Nejde o tú istú vlastnosť. Samotná nula v magic number nestačí na záver o ručnom rozhodnutí. Uchovajte súvisiace záznamy a vlastnú mapu programov a identifikátorov. Ak ručný výstup zníži pozíciu vybudovanú A aj B, jeho označenie nepovie, ktorý skorší objem považujete vo výkaze za uzatvorený.
Výber analytického vlastníka vyžaduje pravidlo. Nezmeňte pri tom pôvod ručného pokynu na „obchod robota“. Základy Expert Advisor vysvetľujú výber spravovaných obchodov; tu rekonštruujeme spoločnú históriu. Oprávnenie zasiahnuť do pozície a priradenie už dosiahnutého výsledku sú dve odlišné úlohy.
Ako spojiť deal, pokyn a pozíciu bez hádania?
Čísla záznamov ukladajte ako identifikátory, nie sumy určené na aritmetiku. DEAL_ORDER spojte s pokynom a DEAL_POSITION_ID s identifikátorom pozície. POSITION_IDENTIFIER prepája históriu počas jej života; aktuálny POSITION_TICKET sa môže zmeniť pri servisnej operácii servera. Zachovajte symbol, smer, skutočný objem, realizačnú cenu a čas každého plnenia.
HistorySelectByPosition vyberá históriu pokynov a realizácií podľa identifikátora pozície. Skontrolujte úspech načítania a úplnosť získaného výrezu. Zoznam v jednom okne nemusí obsahovať všetko potrebné. Navyše výber jednej realizácie cez HistoryDealSelect podľa dokumentácie zmení dostupný zoznam. Pri programovom exporte si preto overte, či váš postup omylom nezúžil predchádzajúci výber. Nejde o dôkaz, že konkrétny export je chybný.
Zahrňte provízie, ďalšie poplatky, financovanie a výsledok v mene účtu. Bilančné operácie oddeľte od nákupných a predajných realizácií. Pri rozdelenom pokyne použite skutočné čiastočné objemy a ceny; požadovaný objem nenahrádza realizovaný. Nepripisujte chýbajúci vstup robotovi iba z komentára výstupu. Pôvodnú históriu uchovajte oddelene od vlastného analytického hárka.
Ako jeden účet vytvorí dva odlišné výsledky robotov?
Pôvodný model: dva nákupy a dva ručné výstupy
Predpokladajme vymyslený lineárny EUR/USD kontrakt s 100 000 EUR na lot, USD účet a nulovú počiatočnú pozíciu. Všetky uvedené ceny sú realizácie: nákupy na predpokladanom Ask a predaje na Bid. Štyri deals sa vykonajú celé v uvedenom poradí. Každý stojí 1 USD provízie; iné poplatky aj swap sú nulové. Spread obsiahnutý v realizačných cenách znova neodpočítavame. Nejde o trhové dáta ani pozorovaný účet.
Na malej obrazovke posúvajte tabuľku vodorovne, aby ste prečítali všetky stĺpce.
| Deal / pokyn | Zdroj | Realizácia | Pozícia po nej |
|---|---|---|---|
| 7001 / 5001 | Robot A | Nákup 0,10 na 1,1000 | Long 0,10 |
| 7002 / 5002 | Robot B | Nákup 0,10 na 1,1020 | Long 0,20 |
| 7003 / 5003 | Ručný výstup | Predaj 0,10 na 1,1010 | Long 0,10 |
| 7004 / 5004 | Ručný výstup | Predaj 0,10 na 1,1030 | Bez pozície |
Spoločný nákupný priemer po druhom plnení je 1,1010. V modeli prvé zníženie realizuje cenový výsledok 0 USD a druhé 20 USD. Po štyroch províziách dostaneme 20 − 4 = 16 USD čistého výsledku. Súčet platí pre úplne uzavretý cyklus a dané predpoklady.
Analytické FIFO priradí výstup najstaršiemu objemu. Deal 7003 pripadne A: 10 000 × (1,1010 − 1,1000) = 10 USD. Deal 7004 pripadne B: 10 000 × (1,1030 − 1,1020) = 10 USD. Každému priradíme jeho vstupnú províziu a výstupnú províziu jeho objemu. A aj B tak majú po 8 USD.
Analytické LIFO uzatvára najnovší objem. B dostane z 7003 cenový výsledok −10 USD, A z 7004 výsledok 30 USD. Po nákladoch má B −12 USD a A 28 USD; spolu opäť 16 USD. FIFO a LIFO sú tu naše analytické pravidlá. Nepredstavujú dve možnosti účtovania servera MT5 ani univerzálne daňové pravidlo. Nemeňte ich potichu podľa toho, ktorý robot práve vyzerá úspešnejšie.
Rovnaký súčet účtu, iné priradenie
Na malej obrazovke posúvajte diagram vodorovne alebo ho zväčšite. Vysvetlenie nájdete aj v texte.
Prečo sa realizovaný výsledok po prvom výstupe líši?
Po deale 7003 predpokladajme aktuálny Bid 1,1010. Spoločná pozícia modelu má realizovaný cenový výsledok 0 USD aj otvorené ocenenie 0 USD. FIFO však realizuje A zisk 10 USD a ponecháva B otvorenú stratu 10 USD. Spolu je 10 − 10 = 0 USD. Porovnanie len uzatvoreného analytického výsledku s jedným realizovaným poľom servera by počas otvoreného cyklu zavádzalo.
Po troch plneniach provízie dosahujú 3 USD. Obe zobrazenia preto pri tej istej cene dávajú kombinovaný výsledok −3 USD. Po úplnom uzatvorení dealom 7004 otvorené ocenenie zanikne a celkové priradenie je 16 USD. Realizovaný a otvorený výsledok treba porovnávať pri rovnakej oceňovacej cene a čase. Rovnaký súčet sám nevyberie vhodné pravidlo pre váš účel.
Nový EUR príklad: komu patrí posledný cent nákladu?
Samostatný vymyslený lineárny kontrakt má ceny v EUR za jednotku. A kúpi 1 jednotku za 100 EUR a B kúpi 2 za rovnakých 100 EUR. Následne sa tri jednotky predajú v troch realizáciách po jednej za 101 EUR. Pre celý cyklus predpokladáme jediný osobitne zaúčtovaný náklad 1 EUR, žiadne ďalšie provízie, swap ani sklz. Cenový výsledok je 3 EUR a čistý výsledok účtu 2 EUR.
Náklad analyticky rozdeľujeme rovnomerne na tri jednotky. Presne ide o 1/3 EUR na každú. Ak každú samostatne zaokrúhlime na 0,33 EUR, rozdelíme iba 0,99 EUR a nesprávne vykážeme čistý súčet 2,01 EUR. Nejde o ďalší zisk. V analytickom rozpise chýba jeden cent nákladu.
Uložte presný podiel aj centovú úpravu. Správny súčet vyžaduje úplný náklad; vhodné priradenie navyše vyžaduje deklarovanú metódu.
Na malej obrazovke možno diagram posúvať vodorovne alebo zväčšiť. Hodnoty a záver nájdete aj nižšie v texte.
- Zaokrúhlenie každého podielu
- 3 × 0,33 = 0,99 EUR · chýba cent nákladu
- Nesprávny čistý súčet
- 3 − 0,99 = 2,01 EUR · výpis má 2 EUR
- Zvyšný cent najstaršej jednotke A
- A náklad 0,34 · B spolu 0,66 EUR
- Správny čistý súčet
- A 0,66 + B 1,34 = 2 EUR
Pre tento model zvolíme FIFO a vopred určené pravidlo: zvyšný cent priradíme najstaršej jednotke, pri zhode času použijeme stabilný identifikátor. A dostane náklad 0,34 EUR, B za dve jednotky spolu 0,66 EUR. Čisté výsledky sú A 0,66 EUR a B 1,34 EUR, spolu 2 EUR. Ak by sme cent priradili B, získali by sme A 0,67 EUR a B 1,33 EUR; súčet by zostal správny, rozdelenie iné.
Uchovajte presný výpočet aj centovú úpravu v osobitnom stĺpci a deklarujte pravidlo pred hodnotením. Neodvodzujte z tohto zaokrúhľovania reálny cenník, rozpis poplatkov poskytovateľa ani slovenské daňové vykazovanie. Ak skutočný výpis obsahuje iný náklad alebo jeho priradenie nie je doložené, nevyplňte ho týmto vymysleným modelom.
Čo pripraviť pred hodnotením dvoch robotov?
- Vyberte ukončený cyklus jedného symbolu. Uchovajte pôvodný export, spojte deals s pokynmi a identifikátorom pozície, zosúlaďte objemy a všetky náklady. Neotvárajte živý obchod iba na výrobu príkladu.
- Vopred určte priradenie objemov a nákladov. Zdroj pokynu držte oddelene od analytického vlastníka objemu. Pripravte aj pravidlo pre centové zvyšky. Označte každú zmenu metódy.
- Porovnajte úplný výsledok. Pri otvorenom cykle spojte realizované a otvorené ocenenie pri jednej cene. Chýbajúce vstupy, korekcie, reverzácie či osobitné náklady nechajte nevyriešené s vysvetlením. Nevymýšľajte cenu, aby vyšiel súčet.
Zhodný výsledok účtu nepotvrdzuje správnosť každého priradenia. Výkaz má vysvetliť správanie robotov; nezaručuje budúcu výkonnosť. Limity jednotlivých robotov aj kontrola účtu sa naďalej musia vzťahovať na skutočnú spoločnú expozíciu.
Overte si, čo ste sa naučili
Cvičenie: približne 2 minúty.
Zobraziť odpoveď a vysvetlenie
Správne: 10 − 10 − 3 = −3 USD. Zodpovedá nule cenového výsledku spoločnej pozície mínus trom províziám.
Ďalšie otázky
Ukazuje magic number výstupu robota, ktorý vytvoril zisk?
Sám na to nestačí. Označenie realizácie pomáha zistiť zdroj pokynu, ale ručný výstup môže zmenšiť spoločnú pozíciu vybudovanú viacerými robotmi. Najprv spojte skutočné deals s pokynmi a identifikátorom pozície a zrekonštruujte vstupné objemy. Priradenie výstupu A alebo B vyžaduje analytické pravidlo. Ručný pokyn nepreznačujte na pokyn robota. Zdroj, analytického vlastníka a metódu nákladov uchovajte oddelene.
Je FIFO v príklade pravidlo poskytovateľa alebo daňová metóda?
Nie. FIFO a LIFO tu demonštrujú dve výslovne zvolené analytické pravidlá priradenia objemu. Nie sú dvoma účtovnými metódami servera MT5 ani univerzálnym daňovým pravidlom. Pôvodný výpis uchovajte oddelene. Pri porovnávaní robotov používajte konzistentnú deklarovanú metódu. Pre vykazovanie overte príslušné doklady a jurisdikciu; slovenčina ani účet v EUR neurčujú daňovú rezidenciu. Zhodných 16 USD nepotvrdzuje vhodnosť každého rozpisu na každý účel.
Prečo sa realizovaný výsledok po prvom výstupe líši od servera?
Po 7003 je spoločný priemer aj výstupná cena 1,1010, takže model realizuje nulový cenový výsledok. FIFO priradí výstup staršiemu objemu A a vykáže 10 USD zisku. Zostávajúci objem B má pri tej istej cene otvorenú stratu 10 USD. Spolu je cenový výsledok nula a po troch províziách −3 USD. Porovnávajte realizovanú aj otvorenú zložku pri rovnakom ocenení, nie len už zatvorenú časť.
Môžem chýbajúci vstup odvodiť z komentára výstupu?
Samotný komentár neodôvodňuje vymyslenie chýbajúceho plnenia, ceny ani zdroja pokynu. Priradenie nechajte nevyriešené a uveďte dôvod. Overte rozsah získanej histórie, väzby pokynov a pozície, skutočné čiastočné objemy aj samostatné náklady a bilančné operácie. Doplnenie hypotetického vstupu môže vynútiť pekný súčet, ale nepodloží výsledok robota. Zaznamenaná medzera je užitočnejšia než nepravdivo úplná tabuľka.
Zdroje a overenie
- MetaQuotes — MT5 Basic Principles
Pokyn, realizácia a pozícia; viac plnení na pokyn a jedna spoločná pozícia na symbol v režime netting.
- MetaQuotes — MQL5 Deal Properties
DEAL_ORDER,DEAL_POSITION_ID,DEAL_MAGIC,DEAL_REASON,skutočný objem,cena a oddelené nákladové polia.
- MetaQuotes — MQL5 Position Properties
Stabilný POSITION_IDENTIFIER a väzby histórie; POSITION_TICKET sa môže zmeniť.
- MetaQuotes — MQL5 HistorySelectByPosition
Výber pokynov a deals podľa identifikátora, návrat úspechu a zmena zoznamu po výbere konkrétneho dealu.
Výpočty používajú výslovne uvedené predpoklady. Nenahrádzajú aktuálne trhové údaje ani podmienky poskytovateľa.
