Twee robots en handmatige opdrachten kunnen op een nettingrekening één gedeelde positie veranderen. Haar resultaat identificeert niet automatisch het resultaat van iedere robot. Reconstrueer fills en relaties en kies vervolgens een expliciete analytische verdeelregel. Het model geeft verschillende EA-uitkomsten terwijl de gezamenlijke rekeninguitkomst gelijk blijft. Dit is analyse, geen vervangende brokerhistorie of fiscale waarderingsregel.

Een magic number maakt geen afzonderlijke portefeuille

MT5-netting houdt één positie per symbool waarvan hoeveelheid door volgende fills verandert. Een order kan meerdere deals opleveren. Verschillende programmanamen maken niet ieder een eigen rekening. DEAL_MAGIC en DEAL_REASON geven andere informatie: een label tegenover de geregistreerde oorzaak/herkomst. Magic nul alleen bewijst geen handmatige beslissing.

Een handmatige exit kan hoeveelheid verminderen die A én B hebben opgebouwd. Het sluitlabel vertelt niet welke eerdere instap jouw analyse als gesloten beschouwt. Bewaar de afgesproken mapping tussen programma en identifier, en scheid werkelijke instructiebron van analytische eigenaar. Expert Advisors: regels, risico en eigen posities toetsen behandelt basisselectie; hier onderzoeken we de gedeelde historie.

Deal, order en positie verbinden

Bewaar nummers als identificaties, geen rekenhoeveelheden. Koppel DEAL_ORDER aan order en DEAL_POSITION_ID aan de positiecyclus. POSITION_IDENTIFIER houdt de historiekoppeling vast; het actuele ticket kan bij serverwerk veranderen. Noteer symbool, richting, werkelijk volume, fillprijs en timestamp met zone.

HistorySelectByPosition selecteert gerelateerde orders en deals op identifier. Controleer succes en volledigheid van de export. Een beperkte zichtbare lijst hoeft niet genoeg te zijn; vul een ontbrekende instap niet vanuit een sluitcommentaar in. Bewaar het oorspronkelijke record vóór interpretatie.

Neem Commissie, fees, financiering en resultaat in rekeningvaluta mee. Scheid kasmutaties van koop/verkoop. Bij opgesplitste orders tellen echte fragmenthoeveelheden en prijzen, niet het aangevraagde volume. MQL5-EA begrijpen: events, bufferindex en bevestigde uitvoering behandelt uitvoeringsgebeurtenissen; hier is een gereconcileerde historie de input, geen instructie om een order te plaatsen.

Twee verdeelregels bij dezelfde vier fills

Twee aankopen en twee handmatige exits

Fictief lineair EUR/USD-contract: 100.000 EUR per Lot: contracteenheid, USD-rekening, geen beginpositie. Alle prijzen zijn aangenomen echte modelfills: aankopen op Ask, verkopen op Bid. Vier deals worden volledig in volgorde uitgevoerd. Ieder kost één USD commissie; fees en swap nul. Spread zit al in de fillprijzen en wordt niet opnieuw afgetrokken.

Schuif op een klein scherm door de tabel om alle kolommen te lezen.

Fictieve POSITION_IDENTIFIER 5001
Deal/orderBronFillPositie na fill
7001 / 5001EA ABuy 0,10 op 1,1000Long 0,10
7002 / 5002EA BBuy 0,10 op 1,1020Long 0,20
7003 / 5003HandmatigSell 0,10 op 1,1010Long 0,10
7004 / 5004HandmatigSell 0,10 op 1,1030Geen positie

Na de tweede fill is de gedeelde gemiddelde koopprijs 1,1010. De eerste vermindering realiseert daarmee nul USD prijsresultaat, de tweede twintig. Vier commissies maken het netto cyclusresultaat 20 − 4 = 16 USD. Dit is geen waargenomen live rekening maar een volledige rekenaanname.

Analytische FIFO wijst de oudste hoeveelheid eerst toe. Exit 7003 krijgt A: 10.000 × (1,1010 − 1,1000) = 10 USD. Exit 7004 krijgt B: eveneens tien. Met iedere eigen instapcommissie en bijbehorende exitcommissie krijgen A en B elk acht netto.

Analytische LIFO wijst juist B aan 7003 toe: −10 prijsresultaat. A krijgt via 7004 +30. Na kosten heeft B −12 en A +28, samen opnieuw zestien. Dit zijn onze analyseconventies, geen twee keuzes voor MT5-serverboekhouding of algemene belastingregels. Verander de methode niet stilletjes om een robot beter te laten lijken.

Gelijk totaal, andere toerekening

Het vaste totaal en de verdeelde onderdelenVolledig fictief EUR/USD-model, USD-rekening, vier volledige fills met één dollar commissie elk, zonder fees of swap.REKENVOORBEELDFIFOA8, B8 USDLIFOA28, B−12 USDGehele cyclus16 USD
Het vaste totaal en de verdeelde onderdelen. Volledig fictief EUR/USD-model, USD-rekening, vier volledige fills met één dollar commissie elk, zonder fees of swap.

FIFO 8+8 en LIFO 28−12 geven hetzelfde netto 16. De analyse verandert bronlabels noch brokerhistorie.

FIFO
A8, B8 USD – Oudste hoeveelheid eerst.
LIFO
A28, B−12 USD – Nieuwste hoeveelheid eerst.
Gehele cyclus
16 USD – 20 prijsresultaat minus 4 kosten.

Een open cyclus vraagt ook open waardering

Na7003 neem je Bid 1,1010 aan. De gedeelde nettopositie heeft nul gerealiseerd én nul ongerealiseerd prijsresultaat. Analytische FIFO toont tien gerealiseerd bij A, maar B’s resterende instap 1,1020 geeft tegelijkertijd −10 ongerealiseerd. De prijssom blijft nul. Drie commissies geven bij beide weergaven −3 USD gecombineerd.

Alleen analytisch gerealiseerd vergelijken met het serverveld is tijdens de open cyclus daarom onjuist. Na7004 verdwijnt de open waardering en reconcileert het totaal zestien. Open en gerealiseerd resultaat: sluiten creëert geen tweede winst verklaart deze maatstaven. Gelijke totalen bepalen niet welke conventie bij ieder onderzoeksdoel hoort.

Werkelijke historie kan gedeeltelijke fills, omkeringen, correcties of apart geboekte kosten bevatten. Laat een getroffen toerekening bij ontbrekende gegevens onopgelost. Verzin geen openingsprijs of bron om de som sluitend te maken. De robots moeten intussen nog steeds rekening houden met de echte gezamenlijke blootstelling en limieten.

Eigen EUR-cyclus. Twee fictieve programma’s kopen ieder één eenheid: A op €50, B op €54. Handmatige exits zijn €52 en €56; elk van de vier fills kost €0,50. Prijssom is €4 en netto €2. FIFO geeft A €2−€1 = €1 en B hetzelfde. LIFO geeft B −€2−€1 = −€3 en A €6−€1 = €5; samen opnieuw €2. Na de eerste exit op €52 is FIFO gerealiseerd €2 en B zwevend −€2, met drie maal €0,50 kosten samen −€1,50. Dat verschilt van alleen het al gesloten deel beoordelen.

Voordat je robots rangschikt

  1. Kies één afgeronde cyclus en bewaar de originele export. Koppel fills, orders en identifier en reconcileer echte volumes en kosten. Maak geen live trade alleen voor een voorbeeld.
  2. Leg volume- en kostentoerekening vooraf vast. Houd instructiebron en analytische eigenaar in verschillende kolommen en markeer ontbrekende informatie.
  3. Vergelijk bij een gesloten cyclus het gezamenlijke nettoresultaat met de historie. Bij open cycli combineer gerealiseerd en zwevend op dezelfde waardering. Bewaar beide lezingen in het journaal; toerekening voorspelt geen toekomstige winst.