In dit artikel
Na dit artikel kun je…
- Deals aan orders en de gedeelde positie koppelen zonder een winsteigenaar te raden.
- Instructiebron onderscheiden van analytisch toegewezen hoeveelheid.
- Gerealiseerde en open resultaten met kosten onder een expliciete conventie reconciliëren.
Begrippen uitgelegd binnen het artikel
Expert Advisor (EA) Lot: contracteenheid Commissie Gerealiseerd resultaatTwee 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.
| Deal/order | Bron | Fill | Positie na fill |
|---|---|---|---|
| 7001 / 5001 | EA A | Buy 0,10 op 1,1000 | Long 0,10 |
| 7002 / 5002 | EA B | Buy 0,10 op 1,1020 | Long 0,20 |
| 7003 / 5003 | Handmatig | Sell 0,10 op 1,1010 | Long 0,10 |
| 7004 / 5004 | Handmatig | Sell 0,10 op 1,1030 | Geen 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
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
- 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.
- Leg volume- en kostentoerekening vooraf vast. Houd instructiebron en analytische eigenaar in verschillende kolommen en markeer ontbrekende informatie.
- 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.
Test wat je hebt geleerd
Ongeveer 2 minuten oefenen.
Antwoord en uitleg bekijken
Juist:10−10−3=−3, gelijk aan nul gedeeld prijsresultaat minus drie commissies.
Andere vragen
Identificeert closing magic de robot die de winst verdiende?
Niet volledig. Een handmatige vermindering kan hoeveelheid van meerdere EA’s raken. Koppel eerst echte fills en instappen, bewaar instructiebron en kies expliciete toerekening. Maak van een handmatige exit geen EA-opdracht om de analyse te laten passen.
Is dit FIFO een broker- of belastingregel?
Nee. FIFO en LIFO zijn hier analyseconventies voor hoeveelheid en kosten, geen alternatieve MT5-servermethoden of algemene fiscale voorschriften. Bewaar originele historie apart en gebruik relevante rechts-/rapportageregels voor verplichtingen.
Waarom verschilt gerealiseerd na de eerste exit?
De gedeelde gemiddelde instap is 1,1010 en de eerste exit ook: nul prijsresultaat. FIFO wijst A+10 toe, maar B heeft tegelijkertijd−10 zwevend. Samen nul, na drie commissies−3. Alleen het gesloten deel vergelijken mist de resterende waardering.
Kan ik een ontbrekende instap uit een exitcommentaar aanvullen?
Een commentaar rechtvaardigt geen verzonnen fill, prijs of bron. Controleer historiebereik, koppelingen tussen orders en positie-identificaties en deelvolumes en laat ontbrekende toerekening onopgelost. Een sluitende som met onbewezen inputs is geen betrouwbare reconstructie.
Bronnen en controle
- MetaTrader 5 — Basic Principles
Eerder rechtstreeks gelezen nettingpositie en order-/dealonderscheid hergebruikt. De analyse verdeelt één gedeelde cyclus, geen afzonderlijke serverportefeuilles.
- MQL5 — Deal Properties
Direct gecontroleerde magic, reason, order- en positiekoppelingen en aparte kostenvelden. Magic nul bewijst geen handmatige winstbron.
- MQL5 — Position Properties
Direct gelezen identifier tegenover veranderlijk ticket. De algemene één-positieformulering is hier uitdrukkelijk tot netting beperkt.
- MQL5 — HistorySelectByPosition
Direct gelezen selectie op positie-identifier en succescontrole. Geen echte export of native EA uitgevoerd; ontbrekende gegevens worden niet gereconstrueerd uit commentaar.
De berekeningen gebruiken expliciete aannames. Ze vervangen geen actuele marktgegevens of voorwaarden van de aanbieder.
