Hoe voorkomt een EA dat meerdere posities tegelijk openen?
TL;DR
Een goed 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, checkt het aantal open posities in de code en gebruikt meestal een "één-trade-per-bar"-regel, zodat dezelfde setup niet bij elke koersbeweging opnieuw afvuurt. Zonder die controles kan een robot bij elke binnenkomende tick een nieuwe positie openen, waardoor je risico ongemerkt oploopt. Golden Viper werkt bewust selectief op XAUUSD H4, grofweg maximaal één setup per dag, en gebruikt geen martingale, grid of averaging. Daardoor ontstaat er simpelweg geen stapel gelijktijdige posities.
Waarom een EA ongewild posities kan "stapelen"
Om te snappen hoe je stapelen voorkomt, helpt het eerst te begrijpen hoe een EA eigenlijk draait. Een Expert Advisor "kijkt en beslist" niet simpelweg één keer per dag: het platform roept hem aan bij elke nieuwe tick, dus bij elke minieme prijsverandering die je broker doorstuurt. Op een druk moment in goud zijn dat al gauw honderden ticks per minuut. Hoe zo'n programma tick voor tick met de handelsserver communiceert, staat beschreven in de documentatie over geautomatiseerd handelen in MetaTrader.
Stel dat de instapregel van de robot een combinatie van trend- en momentumbevestiging is. Zodra die voorwaarde "waar" wordt, blijft ze meestal een tijdje 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. Zo krijg je in plaats van één bedoelde positie ineens 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 zit hem erin dat een signaal (de markt ziet er goed uit) iets anders is dan een opdracht om te handelen. Een robuuste EA vertaalt een signaal pas naar een order nadat hij een rijtje vragen heeft afgevinkt: 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 zomaar in een ongecontroleerde reeks trades, iets wat sterk lijkt op overtrading in volatiele markten, alleen dan veroorzaakt door de robot zelf.
De kern: een positiecheck vóór elke order
De belangrijkste beschermlaag is verrassend simpel van opzet: 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, 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. MT5 doet het net iets anders, met een aparte set functies voor posities; de precieze namen staan in de MQL5-documentatie. Het idee blijft hetzelfde: eerst tellen, dan pas beslissen. Staat de teller op of boven je limiet, dan slaat de EA de instap over en wacht hij gewoon op de volgende bar.
MT4 en MT5 tellen net iets anders
Fijn 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 staat 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 dus: op MT4 moet de EA altíjd zelf oppassen, terwijl MT5 in netting-modus een deel van dat werk overneemt. Daar komen we zo op 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 zo belangrijk? Omdat er op één account vaak meer dan één ding tegelijk handelt: misschien draai je twee EA's naast elkaar, of open je zelf tussendoor handmatig een trade. Zonder magic number zou de robot al die posities meetellen, of erger nog, proberen te beheren, en dan klopt zijn teller simpelweg 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 besluit hij pas daarop 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 eigenlijk 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 bij elke tick te evalueren, kijkt de EA maar één keer per afgesloten bar. Op de H4-timeframe betekent dat concreet: hij beoordeelt de setup pas zodra er een verse vier-uursbar opent, en negeert alle ticks daartussenin.
Hoe de robot "weet" dat er een nieuwe bar is
Technisch gezien is dit verrassend 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 afvuren, hoeveel ticks er ook binnenkomen.
Reken het even door: een H4-grafiek telt zes bars per handelsdag (24 uur gedeeld door 4). Met nieuwe-bar-detectie zijn er dus hooguit zes beslismomenten per dag, tegenover de duizenden ticks die anders langskomen. Combineer je dat met een positieteller die op maximaal één staat, dan wordt het praktisch onmogelijk dat de robot een stapel trades opbouwt. Deze "hoe vaak evalueer ik eigenlijk"-vraag hangt trouwens direct samen met hoe vaak een gold-EA daadwerkelijk handelt: een selectief systeem opent van nature simpelweg weinig posities.
Netting versus hedging: waarom je accounttype meetelt
Terug naar dat verschil. Op MT4 zijn accounts altijd "hedging": elke order wordt een aparte, zelfstandige positie. Open je vijf keer een koop, dan zit je met vijf losse posities, en is de EA helemaal 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; een groeiende netto positie is óók extra risico dat je niet bedoeld had. De praktische gevolgen zie je terug in je terminal en staan beschreven in de MT5-documentatie.
Rekenvoorbeeld: wat stapelen met je marge en risico doet
Is dit geen theoretische muggenzifterij? Nee, want ongewild stapelen kan je account razendsnel 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 komt dan uit op 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 eens wat er gebeurt als een EA zonder positiecheck bij opeenvolgende ticks blijft afvuren:
| 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 gewoon een normale trade, maar de derde is een ramp: 4.800 dollar aan marge past niet eens op je account, dus volgt 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. Precies daarom begint degelijk risicobeheer 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 alleen. Hij stapelt meerdere beschermlagen op elkaar, zodat als de ene faalt, de andere 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 ook 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 alsnog een ongewilde tweede instap. Zo dienen twee onafhankelijke checks precies 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. Martingale, grid of averaging zit er niet in; juist die technieken staan bekend 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, lees je in de gids over het kiezen van de juiste risicomodus voor een gold-EA.
Controleren in plaats van geloven
Je hoeft dit niet zomaar 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 dus, en het kopieersignaal is los te volgen voor 30 dollar per maand.
Zelf testen en verifiëren
De simpelste 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. Eerst: opent de robot ooit twee posities binnen dezelfde bar? Dat is een rode vlag. Dan: draai je meerdere kopieën, hebben ze allemaal een uniek magic number? En tot slot: gedraagt de EA zich op een MT5-hedging-account net zo netjes als op netting? Heb je alle drie afgevinkt, dan mag je de positielogica solide noemen. Vergeet daarna niet dat een backtest geen live resultaat is, dus controleer altijd het echte, geverifieerde live resultaat voordat je conclusies trekt.
Tot slot nog 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 zeggen niets over 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. Precies daarom bestaan de positieteller en de nieuwe-bar-detectie: samen zorgen ze 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 meer, 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 daar zelf op letten. Op een MT5-netting-account bestaat er per symbool maar één netto positie; een tweede order wordt gewoon samengevoegd. Netting biedt 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 opengaan. Controleer daarnaast op een demo-account of het aantal open posities met dit symbool en magic number nooit boven je limiet uitkomt.
Voorkomt een nieuwsfilter dat er meerdere posities openen?
Nee, dat zijn twee losse dingen. Sommige EA's gebruiken een nieuwsfilter om rond aankondigingen even niet te handelen, maar dat beperkt het aantal gelijktijdige posities niet. Stapelen wordt voorkomen door de positieteller en de bar-logica. Golden Viper leunt op die positielogica en op zijn selectieve, regelgebaseerde 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 weer je open posities voordat hij iets doet. Een stabiele VPS helpt daarbij, 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 die ene positie aan, niet hoeveel posities er tegelijk openstaan. Wil je voorzichtiger handelen, kies dan een lagere modus; het aantal gelijktijdige trades blijft sowieso 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 controleer je de werkelijke posities en hun timing zelf, in plaats van af te gaan op beloftes. Vragen stel je via Telegram @viprasol_help, WhatsApp +31 6 84795250 of support@goldenviperea.com.
