Na úč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.

Vymyslená história jedného cyklu POSITION_IDENTIFIER = 5001
Deal / pokynZdrojRealizáciaPozícia po nej
7001 / 5001Robot ANákup 0,10 na 1,1000Long 0,10
7002 / 5002Robot BNákup 0,10 na 1,1020Long 0,20
7003 / 5003Ručný výstupPredaj 0,10 na 1,1010Long 0,10
7004 / 5004Ručný výstupPredaj 0,10 na 1,1030Bez 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

Rovnaký súčet účtu, iné priradenieUzatvorený cyklus: cenový výsledok 20 USD, provízie 4 USD, čistý výsledok 16 USD. FIFO: A 8, B 8. LIFO: A 28, B mínus 12. Analytické pravidlá nenahrádzajú históriu servera.Rovnaký súčet účtu, iné priradenieSpoločný účet: 20 USD cenový výsledok − 4 USD provízia = 16 USD.FIFO: najstarší objemA: +8 USDB: +8 USD8 + 8 = 16 USDLIFO: najnovší objemA: +28 USDB: −12 USD28 − 12 = 16 USDVlastný model • štyri realizácie • pozícia uzavretá
Záver: obe pravidlá zosúladia 16 USD za uzavretý cyklus, ale robotom priradia iné výsledky. Ide o analytické priradenie, nie dve účtovné metódy servera.

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.

Centový zvyšok nie je nový ziskVymyslený EUR model: tri jednotky kúpené za 100 a predané za 101 EUR, jediný náklad celého cyklu 1 EUR. Presne 1/3 EUR na jednotku. FIFO; ostatné náklady nula.MODELOVÝ VÝPOČETZaokrúhlenie každého podielu3 × 0,33 = 0,99 EUR ·chýba cent nákladuNesprávny čistý súčet3 − 0,99 = 2,01 EUR ·výpis má 2 EURZvyšný cent najstaršej jednotkeAA náklad 0,34 · B spolu0,66 EURSprávny čistý súčetA 0,66 + B 1,34 = 2 EUR
Centový zvyšok nie je nový zisk. Vymyslený EUR model: tri jednotky kúpené za 100 a predané za 101 EUR, jediný náklad celého cyklu 1 EUR. Presne 1/3 EUR na jednotku. FIFO; ostatné náklady nula.

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?

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