Hoe Detecteer Je Overfitting in EA-Backtests?
TL;DR
Je detecteert overfitting in een EA-backtest door nooit op één in-sample rapport te vertrouwen: splits je data in een optimalisatie- en een out-of-sample periode, draai een walk-forward-analyse en test hoe gevoelig de resultaten zijn voor kleine parameterwijzigingen. Rode vlaggen: een winratio boven de 80-90%, een haast rechte equity curve zonder drawdown, minder dan zo'n 50-100 trades over meerdere jaren, en resultaten die instorten zodra je één instelling met 10% verschuift. Een backtest die dat allemaal overleeft, is nog geen garantie voor de toekomst — maar wel een strategie die je met veel meer vertrouwen naar een demo- en daarna een live-account kunt brengen.
Wat is overfitting in een EA-backtest precies?
Overfitting (ook wel curve-fitting genoemd) betekent dat een strategie zó strak is afgesteld op één specifieke set historische data, dat de resultaten vooral toeval weerspiegelen — niet een structureel voordeel dat ook in de toekomst werkt. Een geoptimaliseerde parameterset kan een verbluffend fraaie backtest opleveren: winratio 88%, profit factor boven de 3, een equity curve die bijna kaarsrecht omhooggaat. Zo'n resultaat meet dan vooral toeval, niet de kwaliteit van de strategie zelf.
De MQL5-documentatie over de Strategy Tester laat zien hoe een backtestrapport wordt opgebouwd uit historische tickdata en je eigen instellingen. Daar zit het risico: hoe meer instelbare variabelen (stopafstanden, tijdvensters, drempelwaarden, filters), hoe groter de kans dat een optimalisatie-algoritme toevallige ruis verwart met een echt patroon. Een strategie met een klein aantal vaste regels heeft dat risico structureel minder: minder vrijheidsgraden om op toeval te fitten.
Waarom dit meer is dan een academische kwestie
Overfitting is een van de meest voorkomende redenen waarom een EA die op papier fantastisch oogt, live geld verliest: de "edge" verdwijnt simpelweg, omdat die nooit buiten de geteste periode heeft bestaan. Zoals de CFTC in haar voorlichting over forexfraude aangeeft, zijn onrealistisch mooie rendementshistories een bekend signaal om zelf na te trekken — en dat geldt evengoed voor je eigen backtest als voor cijfers van een aanbieder.
Waarom XAUUSD-backtests extra gevoelig zijn voor overfitting
Hoge volatiliteit, weinig structurele herhaling
Goud is uitzonderlijk beweeglijk: dagbewegingen van $20 tot $40 zijn normaal en kunnen bij macro-onzekerheid verdubbelen. Dat maakt het verleidelijk een parameter zó nauw af te stellen dat hij precies de uitschieters van bijvoorbeeld 2020 of 2022 opvangt. Het probleem: de aanleiding voor zulke uitschieters — renteverwachtingen, geopolitieke spanning, dollarsterkte — herhaalt zich zelden netjes, dus een strategie die op één schok is fijngeslepen, mist de volgende vaak gewoon.
Beperkte historische diepte per timeframe
Op een H4-grafiek levert zelfs vijf jaar geschiedenis "maar" enkele duizenden bars op — genoeg voor een indruk, niet oneindig veel om op te optimaliseren. Hoe kleiner je databron, hoe makkelijker een algoritme toevallige winstreeksen aanziet voor een robuuste regel. Instanties zoals de AFM roepen particuliere beleggers dan ook op kritisch te blijven op rendementshistories: een korte, gunstige periode zegt weinig over gedrag over een volledige marktcyclus.
Selectiviteit is hier een onderschatte bescherming: een strategie die maximaal ongeveer één setup per dag neemt in plaats van tien, genereert simpelweg minder "kansen" om toevallig goed uit te komen bij het optimaliseren. Hoe dat er in de praktijk uitziet, lees je in hoe vaak een gold-EA doorgaans handelt.
De belangrijkste rode vlaggen in een backtestrapport
Voordat je in walk-forward-analyses en parametertests duikt, pik je een groot deel van het overfitting-risico al met het blote oog eruit. Onderstaande tabel zet de meest voorkomende signalen op een rij.
| Signaal in het rapport | Wat je ziet | Waarschijnlijke betekenis |
|---|---|---|
| Extreem hoge winratio | Winratio boven ongeveer 80-90% over meerdere jaren | Mogelijk fijngeslepen op specifieke historische uitschieters |
| Vlekkeloze equity curve | Bijna rechte lijn omhoog, nauwelijks zichtbare drawdown | Onrealistisch; elke markt kent tegenslag, ook bij een goede strategie |
| Weinig trades | Minder dan ongeveer 50-100 trades over meerdere jaren | Steekproef te klein om statistisch betrouwbaar te zijn |
| Groot aantal vrije parameters | Tien of meer los instelbare drempels, filters of tijdvensters | Veel vrijheidsgraden vergroten de kans op curve-fitting |
| Lage walk-forward-efficiency | Out-of-sample-resultaat ver onder het in-sample-resultaat | Sterke aanwijzing dat de winst vooral op toeval berustte |
| Fragiele parameters | Resultaten kantelen volledig bij een wijziging van 10% | Instelling zat toevallig op een lokale piek in de data |
| Geen spread of slippage meegenomen | Backtestrapport vermeldt geen realistische handelskosten | Resultaat is structureel te optimistisch berekend |
Geen van deze signalen is op zichzelf een doodsvonnis — een winratio van 85% kán legitiem zijn bij een strategie met een heel nauwe stop. Maar zodra je twee of drie vlaggen tegelijk ziet, is dat een sterk signaal om verder te graven voordat je een strategie serieus neemt.
Hoeveel trades heb je nodig voor een betrouwbare test?
Een winratio zegt weinig zonder de steekproefgrootte erbij. Vergelijk twee backtests over dezelfde vijf jaar: de eerste toont 38 trades met winratio 71%, de tweede 340 trades met winratio 57%. Met 38 trades kantelt een handvol uitschieters het resultaat al met enkele procentpunten; bij 340 trades middelt zulke ruis veel sterker uit. Vuistregel: onder zo'n 100 trades over meerdere jaren is voorzichtigheid op zijn plaats, en hoe selectiever een strategie (~1 setup per dag), hoe langer je testperiode moet zijn voor een betekenisvol aantal trades.
In-sample versus out-of-sample: de eerste echte test
De belangrijkste discipline tegen overfitting is simpel te omschrijven, maar wordt vaak overgeslagen: splits je historische data in twee delen. Het eerste deel — in-sample — gebruik je om te bouwen of optimaliseren. Het tweede deel — out-of-sample — laat je volledig links liggen tot de instellingen vaststaan, en gebruik je dan als "blinde" test. Presteert de strategie in dat tweede blok vergelijkbaar met het eerste, dan heb je waarschijnlijk iets robuusts te pakken. Stort de prestatie in, dan was het eerste resultaat vooral toeval.
Worked example: een overfit versus een robuuste backtest
Neem twee hypothetische XAUUSD H4-strategieën, puur ter illustratie, getest over 2019-2023 (in-sample) en vervolgens over 2024 (out-of-sample, dus ongebruikte data):
| Statistiek | Strategie A — in-sample | Strategie A — out-of-sample | Strategie B — in-sample | Strategie B — out-of-sample |
|---|---|---|---|---|
| Winratio | 84% | 41% | 58% | 55% |
| Profit factor | 3,1 | 0,9 | 1,6 | 1,4 |
| Max. drawdown | 6,2% | 19,4% | 11,8% | 13,1% |
| Aantal trades | 412 | 96 | 380 | 89 |
| Walk-forward-efficiency | — | ~25% | — | ~85% |
Strategie A oogt op papier fenomenaal: winratio 84%, profit factor 3,1 over vier jaar. Maar in het out-of-sample jaar zakt de winratio naar 41% en duikt de profit factor onder de 1 — het systeem verliest per saldo geld. Strategie B is minder indrukwekkend (winratio 58%, profit factor 1,6), maar houdt dat niveau grotendeels vast out-of-sample (55%, 1,4). Dat is het patroon dat je wilt zien: een bescheiden maar stabiele edge, in plaats van een resultaat dat instort zodra de data verandert.
De drawdown-kolom vertelt hetzelfde verhaal vanuit een andere hoek: de maximale drawdown van strategie A verdrievoudigt out-of-sample, terwijl die van strategie B nauwelijks verandert. Een drawdown die in de praktijk fors groter uitvalt dan in de backtest is een klassiek teken dat je risicoprofiel niet klopt.
Walk-forward-analyse: overfitting objectief meten
Eén out-of-sample-test is nuttig, maar een walk-forward-analyse is grondiger: je schuift een venster van optimalisatie- en testperiodes stap voor stap door je hele dataset, zodat je meerdere out-of-sample-resultaten krijgt in plaats van één. Praktisch: optimaliseer op jaar 1-2, test blind op jaar 3; optimaliseer daarna op jaar 2-3, test blind op jaar 4; enzovoort.
Om die reeks te beoordelen, gebruik je de walk-forward-efficiency: je out-of-sample-resultaat gedeeld door je in-sample-resultaat, in procenten. Stel dat je in-sample-venster €4.200 nettowinst laat zien en het daaropvolgende out-of-sample-venster €1.050, dan is de efficiency 1.050 / 4.200 = 25%. Vuistregel onder kwantitatieve testers: boven zo'n 50-60% wordt over het algemeen als redelijk gezien, en boven 100% (out-of-sample zelfs beter) is een goed teken. Een efficiency van 25%, zoals bij strategie A hierboven, wijst sterk op overfitting: de instellingen waren te nauw afgesteld op het optimalisatievenster.
De uitleg over geautomatiseerd handelen bij MetaTrader 5 laat zien hoe de Strategy Tester werkt; op MT4 vind je vergelijkbare functionaliteit in de platformhandleiding van MetaTrader 4. Zo'n walk-forward-opzet bouw je handmatig door telkens een ander datavenster te selecteren. Startpunt: tips voor een MT4-backtest op XAUUSD H4 en een EA testen in de Strategy Tester op XAUUSD H4.
Parameterstabiliteit testen: hoe fragiel is de strategie?
Een andere krachtige manier om overfitting te ontmaskeren: pas instellingen één voor één een klein beetje aan — pakweg 10% naar boven en naar beneden — en kijk hoe stabiel de resultaten blijven. Een robuuste strategie verschuift geleidelijk mee: iets minder winst, iets andere drawdown, maar dezelfde orde van grootte. Een overfit strategie "breekt": kleine wijzigingen geven dramatische, onvoorspelbare verschuivingen, omdat de oorspronkelijke instelling toevallig precies op een lokale piek in de data zat.
Onderstaand voorbeeld gebruikt een fictieve, op regels gebaseerde XAUUSD-strategie — geen weergave van een bestaande EA, puur ter illustratie van de testmethode. Twee configuraties zijn getest op hun basiswaarde en op een afwijking van +10% en -10% op één parameter:
| Configuratie | Parameterwaarde | Winratio | Profit factor |
|---|---|---|---|
| Configuratie 1 (fragiel) | Basiswaarde | 81% | 2,8 |
| Configuratie 1 (fragiel) | Basiswaarde +10% | 29% | 0,7 |
| Configuratie 1 (fragiel) | Basiswaarde -10% | 24% | 0,6 |
| Configuratie 2 (robuust) | Basiswaarde | 56% | 1,5 |
| Configuratie 2 (robuust) | Basiswaarde +10% | 53% | 1,4 |
| Configuratie 2 (robuust) | Basiswaarde -10% | 54% | 1,4 |
Configuratie 1 haalt op de basiswaarde een fraaie winratio van 81% — maar bij een verschuiving van slechts 10% zakt dat naar 24-29% en duikt de profit factor onder de 1: een klassiek fragiliteitspatroon, het resultaat hangt aan een naald. Configuratie 2 begint bescheidener (56%), maar blijft binnen een paar procentpunt staan bij dezelfde verschuivingen. Test je dit zelf, verander dan telkens maar één instelling — anders weet je niet welke wijziging de uitslag veroorzaakte.
Van backtest naar demo naar live: je checklist
Een backtest die alle bovenstaande controles doorstaat, is nog geen garantie voor live succes — het is de voorfase die je risico op een pijnlijke verrassing flink verkleint. Bouw de overgang op in duidelijke stappen:
- Out-of-sample bevestiging. Herhaal de test op data die niet is gebruikt om te optimaliseren, zoals hierboven beschreven.
- Walk-forward-check. Loop meerdere vensters door en beoordeel de walk-forward-efficiency, in plaats van te vertrouwen op één los rapport.
- Parametertest. Verschuif kernparameters met 10% en check of de resultaten geleidelijk meebewegen of instorten.
- Demo-periode. Draai de strategie enkele weken tot maanden op een demo-account met realistische spread, en vergelijk met je backtestverwachtingen. Zie de verschillen tussen demo en live bij een EA.
- Onafhankelijke live-verificatie. Kijk ook naar een publiek, extern geverifieerd trackrecord, zoals Myfxbook of een MQL5-signaal — tijdgestempeld en los van jouw eigen instellingen. Zie een MQL5-signaal met echte trades verifiëren en je echte live-resultaten van een EA controleren.
- Realistisch risico. Begin klein: risicogestuurde lotgrootte bij een EA houdt je eerste live-blootstelling behapbaar, ook na een overtuigende backtest.
Golden Viper is gebouwd rond precies dit soort verifieerbaarheid: een op regels gebaseerde XAUUSD-strategie op de H4-timeframe die trend- en momentumbevestiging gebruikt om selectief in te stappen (doorgaans niet meer dan ongeveer één setup per dag), met risicogestuurde lotgrootte in drie modi — Conservative, Normal en Aggressive — en een profit-lock op winst plus een optionele veiligheidsstop. Geen martingale, grid of averaging. De EA kost eenmalig $199 voor een levenslange licentie zonder abonnement, of is te volgen als MQL5-kopieersignaal vanaf $30 per maand. Het publieke, geverifieerde trackrecord op Myfxbook (account 11943038) laat je dezelfde out-of-sample-logica toepassen: geen backtest blind geloven, maar maanden aan onafhankelijk gelogde trades bekijken voordat je zelf instapt. Meer over de EA en het trackrecord vind je op de website van Golden Viper.
Wat een backtest je nooit kan garanderen
Zelfs een backtest die alle bovenstaande tests glansrijk doorstaat, blijft een model van het verleden — geen voorspelling. Spreads veranderen, liquiditeit verschuift, en macro-regimes zoals rentecycli of periodes van extreme risicoaversie kunnen structureel anders zijn dan de periode die je hebt getest. Geen reden om backtesting overboord te gooien — het blijft je beste startpunt — maar wel een reden om het te zien als risicobeheersing, niet als bewijs.
Reken ook met kosten die makkelijk worden vergeten: spread, mogelijke slippage bij snelle marktbewegingen en, bij sommige brokers, swapkosten voor posities die overnacht blijven staan. Een backtest die deze kosten optimistisch inschat, overschat het resultaat structureel — ongeacht hoe overfitting-vrij de strategie verder is. Goed risicomanagement vult dit aan: ook de best geteste strategie kent verliesreeksen, dus positiegrootte en risico per trade blijven net zo belangrijk als de kwaliteit van de backtest zelf.
Handel brengt altijd risico met zich mee, of een strategie nu overfit is of niet: verlies is mogelijk, en resultaten uit het verleden — hoe zorgvuldig getest ook — garanderen niets over de toekomst. Handel daarom alleen met geld dat je kunt missen, en behandel elke indrukwekkende backtest als een hypothese om te toetsen, niet als een belofte.
Veelgestelde vragen
Wat is het verschil tussen overfitting en gewone optimalisatie?
Optimalisatie op zich is niet fout: je zoekt binnen redelijke grenzen naar instellingen die goed werken. Het wordt overfitting zodra zoveel vrije parameters vooral de ruis van één dataset opvangen in plaats van een structureel patroon. Het verschil zie je pas goed bij een test op data die niet is gebruikt om te optimaliseren.
Hoeveel parameters zijn te veel voor een EA?
Er is geen hard getal, maar hoe meer vrij instelbare variabelen een strategie heeft, hoe groter het risico. Twee of drie kernregels zijn inherent minder vatbaar voor curve-fitting dan tien of meer los instelbare drempels en filters. Let vooral op of elke parameter een logische, uitlegbare reden heeft om te bestaan.
Kan een backtest met een winratio boven de 80% wel kloppen?
Ja, dat kan legitiem zijn — bijvoorbeeld bij een strategie met een klein winstdoel en een relatief ruime stop, waarbij je vaak kleine beetjes wint en af en toe een grotere klap incasseert. Maar zo'n hoge winratio verdient extra kritische out-of-sample- en walk-forward-tests, juist omdat dit patroon ook een klassiek overfitting-signaal is.
Wat is walk-forward-analyse in gewone taal?
Je knipt je historische data in stukken, optimaliseert steeds op het ene stuk en test blind op het volgende, en herhaalt dat terwijl je door de tijd "wandelt". Zo krijg je meerdere out-of-sample-resultaten in plaats van één losse test, wat een veel eerlijker beeld geeft.
Is een demo-periode voldoende om overfitting uit te sluiten?
Een demo-periode is een waardevolle extra laag, maar geen vervanging voor out-of-sample-testen en een walk-forward-analyse op historische data — een paar weken of maanden demo is simpelweg een kleine steekproef. Toets eerst je backtest grondig, draai daarna pas een demo als extra bevestiging.
Waarom is de maximale drawdown zo belangrijk, en niet alleen de winst?
Omdat drawdown vertelt hoeveel pijn je onderweg moet verdragen, en overfit strategieën onderschatten dat structureel. Valt de maximale drawdown in een out-of-sample-periode fors hoger uit dan in de geoptimaliseerde periode, dan is je werkelijke risicoprofiel waarschijnlijk groter dan de backtest je deed geloven.
Verhandelt Golden Viper zelf met geoptimaliseerde, instelbare parameters?
Golden Viper is een op regels gebaseerde, selectieve XAUUSD-strategie op de H4-timeframe (doorgaans niet meer dan ongeveer één setup per dag) met drie risicomodi — Conservative, Normal en Aggressive — voor de lotgrootte. De onderliggende signaallogica stel je als gebruiker niet zelf bij; het publieke trackrecord op Myfxbook en het MQL5-signaal laten zien hoe de strategie zich in de praktijk gedraagt.
Waar vind ik hulp als ik twijfel over mijn eigen backtestresultaten?
Leg je in-sample- en out-of-sample-resultaten naast de stappen uit dit artikel. Kom je er met Golden Viper niet uit, dan helpt het supportteam je graag verder via Telegram (@viprasol_help), WhatsApp (+31 6 84795250) of support@goldenviperea.com.
