Hoe voorkomt een EA dat meerdere posities tegelijk openen?
TL;DR
Een zorgvuldig gebouwde EA telt vóór elke nieuwe order eerst hoeveel van zijn eigen posities al openstaan, en plaatst alleen een trade als dat aantal onder de ingestelde limiet blijft. Hij herkent zijn eigen trades aan een uniek magic number, controleert het aantal open posities in de code en gebruikt meestal een "één-trade-per-bar"-regel zodat dezelfde setup niet bij elke koersbeweging opnieuw vuurt. Zonder die controles zou een robot bij elke binnenkomende tick een positie kunnen openen en je risico ongemerkt vermenigvuldigen. Golden Viper werkt bewust selectief op XAUUSD H4 — grofweg maximaal één setup per dag — en gebruikt geen martingale, grid of averaging, zodat er simpelweg geen stapel gelijktijdige posities ontstaat.
Waarom een EA ongewild posities kan "stapelen"
Om te snappen hoe je stapelen voorkomt, moet je eerst begrijpen hoe een EA draait. Een Expert Advisor "kijkt en beslist" niet één keer per dag; hij wordt door het platform aangeroepen bij elke nieuwe tick — elke minieme prijsverandering die je broker doorstuurt. Op een druk moment in goud zijn dat honderden ticks per minuut. Hoe zo'n programma tick voor tick met de handelsserver praat, staat in de documentatie over geautomatiseerd handelen in MetaTrader.
Stel nu dat de instapregel van de robot een combinatie van trend- en momentumbevestiging is. Zodra die voorwaarde "waar" wordt, blijft ze vaak een tijd waar — soms tientallen ticks lang, want een trend verdwijnt niet binnen één seconde. Een naïeve EA die simpelweg zegt "als de voorwaarde waar is, open dan een koop" plaatst dan bij élke tick opnieuw een order. Het resultaat: in plaats van één bedoelde positie krijg je er vijf, tien of twintig, allemaal vlak na elkaar geopend tegen bijna dezelfde prijs.
Het verschil tussen een signaal en een order
De kern van het probleem is dat een signaal (de markt ziet er goed uit) niet hetzelfde is als een opdracht om te handelen. Een robuuste EA vertaalt een signaal pas naar een order nadat hij een rijtje vragen heeft beantwoord: heb ik al een positie in dit symbool? Heb ik op deze bar al gehandeld? Is mijn maximum aantal posities bereikt? Pas als al die antwoorden groen zijn, gaat de order de deur uit. Ontbreekt die controle, dan verandert één goede marktkans in een ongecontroleerde reeks trades — wat sterk lijkt op overtrading in volatiele markten, alleen nu veroorzaakt door de robot zelf.
De kern: een positiecheck vóór elke order
De belangrijkste beschermlaag is verrassend simpel van idee: tel je eigen open posities en stop zodra de limiet is bereikt. In de praktijk loopt de EA vlak voordat hij wil instappen door de lijst met openstaande posities heen, telt hoeveel daarvan van hemzelf zijn, en vergelijkt dat met een instelbaar maximum — bij een selectieve strategie is dat vaak gewoon één.
Op MT4 gebeurt dat tellen met een lus over alle orders, waarbij de robot per order checkt of het symbool en het magic number kloppen. Op MT5 werkt het net iets anders, met een aparte set functies voor posities; de precieze namen staan in de MQL5-documentatie. Het idee blijft identiek: eerst tellen, dan pas beslissen. Zolang de teller boven je limiet staat, slaat de EA de instap over en wacht hij op de volgende bar.
MT4 en MT5 tellen net iets anders
Het handige is dat je dit gedrag zelf kunt controleren, ongeacht welk platform je gebruikt. Hieronder zie je hoe dezelfde logica op beide platforms is opgebouwd; meer achtergrond over de terminals zelf vind je in de helppagina's van MetaTrader 4.
| Aspect | MetaTrader 4 | MetaTrader 5 |
|---|---|---|
| Open trades tellen | OrdersTotal() in een lus | PositionsTotal() in een lus |
| Een trade selecteren | OrderSelect() | PositionGetTicket() / PositionSelect() |
| Eigen trade herkennen | OrderMagicNumber() | POSITION_MAGIC |
| Symbool controleren | OrderSymbol() | POSITION_SYMBOL |
| Accountmodel | Altijd hedging | Netting óf hedging |
| Meerdere trades per symbool? | Ja, standaard mogelijk | Alleen in hedging-modus |
Onthoud dat de EA op MT4 altíjd zelf moet oppassen, terwijl MT5 in netting-modus een deel van het werk voor hem doet. Op dat verschil komen we zo terug.
Magic number: hoe een robot zijn eigen trades herkent
Een magic number is niets meer dan een uniek stempel dat de EA op elke order zet. Waarom is dat cruciaal? Omdat op één account vaak meer dan één ding tegelijk handelt: misschien draai je twee EA's, of je opent zelf handmatig een trade tussendoor. Zonder magic number zou de robot al die posities meetellen — of erger, proberen te beheren — en dan klopt zijn teller niet meer.
Met een uniek magic number filtert de EA de lijst tot alleen zijn eigen trades en negeert hij jouw handmatige goudtrade of die van een andere robot. Zo weet hij precies hoeveel van zijn eigen posities openstaan, en pas daarop besluit hij of hij mag instappen. Draai je meerdere kopieën op verschillende grafieken, geef elke kopie dan een eigen magic number zodat ze elkaar niet in de weg zitten. Het is de onzichtbare naamplaat die de hele positielogica betrouwbaar maakt.
Eén trade per bar: de nieuwe-bar-detectie
De positieteller is je eerste slot op de deur. De tweede is de nieuwe-bar-detectie. In plaats van de instapregel op elke tick te evalueren, kijkt de EA maar één keer per afgesloten bar. Op de H4-timeframe betekent dat: hij beoordeelt de setup slechts zodra er een verse vier-uursbar opent, en negeert alle ticks daartussenin.
Hoe de robot "weet" dat er een nieuwe bar is
Technisch is dit elegant simpel. De EA onthoudt de openingstijd van de laatste bar waarop hij keek. Bij elke tick vergelijkt hij de openingstijd van de huidige bar met die waarde. Zijn ze gelijk, dan doet hij niets. Verschillen ze, dan is er een nieuwe bar begonnen: hij werkt de opgeslagen tijd bij en mag één keer de instapregel evalueren. Zo kan één setup per definitie maar één keer vuren, hoeveel ticks er ook binnenkomen.
Reken het even door. Een H4-grafiek heeft zes bars per handelsdag (24 uur gedeeld door 4). Met nieuwe-bar-detectie zijn er dus hooguit zes beslismomenten per dag, in plaats van de duizenden ticks die anders langskomen. Combineer je dat met een positieteller die op maximaal één staat, dan is het praktisch onmogelijk dat de robot een stapel trades opbouwt. Deze "hoe vaak evalueer ik eigenlijk"-vraag hangt direct samen met hoe vaak een gold-EA daadwerkelijk handelt: een selectief systeem opent van nature weinig posities.
Netting versus hedging: waarom je accounttype meetelt
Nu terug naar dat verschil. Op MT4 zijn accounts altijd "hedging": elke order wordt een aparte, zelfstandige positie. Open je vijf keer een koop, dan heb je vijf losse posities, en de EA is volledig zelf verantwoordelijk om dat te voorkomen.
MT5 kent twee modellen. In hedging-modus gedraagt het zich als MT4: meerdere posities per symbool zijn mogelijk. In netting-modus bestaat er per symbool maar één netto positie. Stuurt de EA een tweede koop terwijl er al een koop openstaat, dan voegt het platform die samen tot één grotere positie in plaats van er een nieuwe naast te zetten. Op netting-accounts krijg je dus al bescherming op platformniveau — al is dat geen vervanging voor nette positielogica, want een groeiende netto positie is óók extra risico dat je niet bedoeld had. De praktische gevolgen zie je terug in je terminal en staan in de MT5-documentatie.
Rekenvoorbeeld: wat stapelen met je marge en risico doet
Waarom is dit geen theoretische muggenzifterij? Omdat ongewild stapelen razendsnel je account kan opblazen. Laten we het concreet maken met goud rond 2.400 dollar, een positie van 0,10 lot (1 lot = 100 troy ounce) en een hefboom van 1:100.
De marge per positie is dan 100 ounce × 2.400 × 0,10 / 100 = 240 dollar. Beweegt goud 20 dollar tegen je in, dan verlies je per positie 100 × 20 × 0,10 = 200 dollar. Eén bedoelde positie is prima te dragen. Maar kijk wat er gebeurt als een EA zonder positiecheck bij opeenvolgende ticks blijft vuren:
| Situatie | Aantal posities | Totale lots | Benodigde marge | Verlies bij $20 tegen je in |
|---|---|---|---|---|
| Bedoeld (met positiecheck) | 1 | 0,10 | $240 | $200 |
| 5 ticks zonder check | 5 | 0,50 | $1.200 | $1.000 |
| 20 ticks zonder check | 20 | 2,00 | $4.800 | $4.000 |
Op een account van 2.000 dollar is de eerste regel een normale trade, maar de derde is een ramp: 4.800 dollar aan marge past niet eens op je account, dus je krijgt een margin call, en een tegenbeweging van slechts 20 dollar wist het dubbele van je saldo weg. Zo verandert een klein gaatje in de code in een enorme, ongecontroleerde drawdown. Dit is meteen waarom degelijk risicobeheer begint bij het beperken van het aantal gelijktijdige posities, nog vóór je over stops en lotgroottes nadenkt. Hoe je die lotgrootte zelf verstandig schaalt, lees je in het stuk over risicogestuurde lotgrootte bij een EA.
De guard-technieken op een rij
Een professioneel gebouwde robot leunt zelden op één truc. Hij stapelt meerdere beschermlagen, zodat als de een faalt, de ander het opvangt. Dit zijn de belangrijkste:
| Techniek | Hoe het werkt | Rol |
|---|---|---|
| Positieteller + magic number | Telt de eigen open posities; stopt bij de limiet | Kernbescherming |
| Nieuwe-bar-detectie | Evalueert de setup één keer per H4-bar | Voorkomt tick-spam |
| Handels-flag / lock | Zet een vlag na de entry, reset bij een nieuwe bar | Extra vangnet |
| Netting-account | Platform houdt één netto positie per symbool aan | Bescherming op platformniveau |
| Selectieve strategie (max ~1/dag) | Weinig signalen, dus weinig kans op overlap | Ontwerpkeuze |
Naast de positieteller houdt een EA soms een simpele "heb ik op deze bar al gehandeld"-vlag bij: op waar zodra hij instapt, op onwaar bij een nieuwe bar. Zelfs als er heel even geen positie zichtbaar is — bijvoorbeeld tijdens het verwerken van een order — voorkomt die vlag een ongewilde tweede instap. Zo dienen twee onafhankelijke checks hetzelfde doel.
Hoe Golden Viper meerdere posities voorkomt
Golden Viper is vanaf de tekentafel ontworpen om precies dit probleem te vermijden. De robot verhandelt uitsluitend XAUUSD op de H4-timeframe en is bewust selectief: grofweg maximaal één setup per dag. Doordat de strategie op afgesloten H4-bars beslist en zijn eigen open positie telt voordat hij instapt, ontstaat er geen rij gelijktijdige trades. Er zit geen martingale, grid of averaging in — juist die technieken zijn berucht om het opstapelen van posities, en Golden Viper gebruikt ze bewust niet.
In plaats van meer posities te openen om een verlies "goed te maken", beheert de EA de ene trade die hij heeft met een profit-lock op winst en een optionele veiligheidsstop. Hoe zo'n winstbeveiliging werkt, lees je in het artikel over hoe profit-lock-stoporders werken. Belangrijk om te weten: de drie risicomodi — Conservative, Normal en Aggressive — veranderen alleen de grootte van die ene positie, niet het aantal gelijktijdige posities. Welke modus bij jou past, behandelt de gids over het kiezen van de juiste risicomodus voor een gold-EA.
Controleren in plaats van geloven
Je hoeft dit niet op mijn woord aan te nemen. Golden Viper heeft een publiek geverifieerd, live trackrecord op Myfxbook (account 11943038), waar je de daadwerkelijke posities en hun timing kunt nakijken. Wil je liever meelezen zonder de EA zelf te draaien, dan is er ook een kopieersignaal via het MQL5-signaalplatform. Alle details en de aanschaf vind je op de website van Golden Viper. De EA kost eenmalig 199 dollar voor een levenslange licentie — geen abonnement — en het kopieersignaal is los te volgen voor 30 dollar per maand.
Zelf testen en verifiëren
De mooiste manier om zeker te weten dat een EA maar één positie tegelijk opent, is het gewoon zelf te controleren. In de Strategy Tester kun je de robot op historische XAUUSD-data laten draaien en in de visuele modus letterlijk zien hoe hij per bar één beslissing neemt. Een praktische aanpak staat in de gids over een EA testen met de Strategy Tester op XAUUSD H4.
Let daarbij op drie dingen. Ten eerste: opent de robot ooit twee posities binnen dezelfde bar? Dat is een rode vlag. Ten tweede: draai je meerdere kopieën, hebben ze dan allemaal een uniek magic number? Ten derde: gedraagt de EA zich op een MT5-hedging-account net zo netjes als op netting? Heb je alle drie afgevinkt, dan is de positielogica solide. Vergeet daarna niet dat een backtest geen live resultaat is, dus controleer altijd het echte, geverifieerde live resultaat voordat je conclusies trekt.
Tot slot een eerlijke kanttekening: handelen brengt risico met zich mee en verlies is altijd mogelijk. Een positielimiet en een veiligheidsstop beperken je risico, maar een stop garandeert niet dat je exact op je gekozen niveau sluit, en resultaten uit het verleden garanderen niets voor de toekomst. Handel daarom alleen met geld dat je je kunt veroorloven te verliezen.
Veelgestelde vragen
Kan een EA echt bij elke tick een nieuwe positie openen?
Ja, als de code geen positiecheck heeft. De robot wordt op elke tick aangeroepen, en zolang zijn instapvoorwaarde waar blijft, plaatst een naïeve EA telkens opnieuw een order. Daarom bestaan de positieteller en de nieuwe-bar-detectie: ze zorgen dat één signaal ook echt maar één trade wordt.
Wat is een magic number en waarom is het belangrijk?
Een magic number is een uniek stempel dat de EA op zijn eigen orders zet. Daardoor telt hij alleen zijn eigen posities mee en negeert hij jouw handmatige trades of die van een andere robot. Zonder dat stempel klopt de positieteller niet en kan de EA verkeerd besluiten om wél of juist niet te handelen.
Wat is het verschil tussen netting en hedging voor dit probleem?
Op een hedging-account (altijd op MT4, optioneel op MT5) wordt elke order een aparte positie, dus moet de EA zelf oppassen. Op een MT5-netting-account bestaat er per symbool maar één netto positie; een tweede order voegt samen. Netting geeft dus extra bescherming op platformniveau.
Opent Golden Viper meerdere posities tegelijk?
Nee. Golden Viper is selectief op XAUUSD H4 met grofweg maximaal één setup per dag, telt zijn eigen positie voordat hij instapt en gebruikt geen martingale, grid of averaging. Er ontstaat dus geen stapel gelijktijdige trades.
Hoe controleer ik zelf of mijn EA maar één positie tegelijk opent?
Draai hem in de Strategy Tester in de visuele modus en kijk of er ooit twee trades binnen dezelfde bar openen. Controleer daarnaast op een demo-account of het aantal open posities met dit symbool en magic number nooit boven je limiet komt.
Voorkomt een nieuwsfilter dat er meerdere posities openen?
Nee, dat zijn twee verschillende dingen. Sommige EA's gebruiken een nieuwsfilter om rond aankondigingen even niet te handelen, maar dat beperkt het aantal gelijktijdige posities niet. Het stapelen wordt voorkomen door de positieteller en de bar-logica. Golden Viper leunt op die positielogica en op zijn selectieve, op regels gebaseerde aanpak, niet op een nieuwsfilter.
Is meerdere posities tegelijk altijd slecht?
Niet per se — sommige strategieën spreiden bewust over meerdere instrumenten. Maar ongewild stapelen op hetzelfde symbool is bijna altijd schadelijk omdat het je marge en risico ongepland vermenigvuldigt. Het aantal posities hoort een bewuste keuze te zijn, geen ongeluk.
Werkt de positiecheck ook op een VPS of bij verbindingsverlies?
De check draait telkens opnieuw zodra de EA een tick verwerkt, dus na een herverbinding telt hij gewoon opnieuw je open posities voordat hij iets doet. Een stabiele VPS helpt doordat de terminal continu online blijft.
Verandert de risicomodus het aantal gelijktijdige posities?
Nee. De modi Conservative, Normal en Aggressive passen alleen de lotgrootte van de ene positie aan, niet hoeveel posities er tegelijk openstaan. Wil je voorzichtiger handelen, dan kies je een lagere modus; het aantal gelijktijdige trades blijft hetzelfde.
Waar zie ik het echte trackrecord van de EA?
Op Myfxbook onder account 11943038 staat het publiek geverifieerde live resultaat, en er is een kopieersignaal via MQL5. Zo kun je de werkelijke posities en hun timing controleren in plaats van af te gaan op beloftes. Vragen kun je stellen via Telegram @viprasol_help, WhatsApp +31 6 84795250 of support@goldenviperea.com.
