In dit artikel
Na dit artikel kun je…
- Een totaalscore van verplichte foutcategorieën onderscheiden.
- Na een bevestigde annulering de resterende hoeveelheid aansluiten.
- Ontwikkeling, historische evaluatie en realtime observatie gescheiden documenteren.
Begrippen uitgelegd binnen het artikel
Backtesting Handelsplan Orderuitvoering Rekeningwaarde (equity) Liquiditeit PositiegrootteEen historische test is één onderdeel van strategieonderzoek. Eerst leg je regels vast en controleer je de historie. Daarna scheid je ontwikkeling van evaluatie en onderzoek je de daadwerkelijke werking op demo of, uitsluitend als dat verantwoord is, in een begrensde live studie. Deze stappen beantwoorden verschillende vragen. Ze garanderen geen blijvend voordeel of overleving van een rekening.
Waarom één rapport geen volledig proces is
Programmacorrectheid, datakwaliteit, economische resultaten en operationele werking vragen afzonderlijk bewijs. Correcte code kan een verliesgevend idee uitvoeren; een winstgevend rapport kan uit onjuiste code voortkomen. Maak per versie een bewijskaart met vraag, verwachte toestand, waarneming en resterende beperking. Bewaar instap, verlies, geen signaal, bevestigde weigering en restart als aparte gevallen. Ontbrekend bewijs heet “niet gecontroleerd”.
Een fictief rendement van 30% dat uit driehonderd combinaties is gekozen, vraagt onderzoek naar selectie. Het bewijst geen handelsvoordeel. Een strategie backtesten: data, kosten en tijdvolgorde controleren beschrijft hoe je uitvoeringsprijzen en kosten aansluit.
98% totaal sluit een mislukte vereiste categorie niet af
Een hoog totaal vervangt het resultaat van een afzonderlijk vereiste categorie niet.
- Normale werking
- 98/98 slagen – Alle opgegeven toestanden zijn juist geregistreerd.
- Bevestigde weigering
- 0/2 slagen – Beide worden ten onrechte als uitvoering gemarkeerd.
- Totaal
- 98/100 = 98% – Beschrijft de lijst, geen toekomstige betrouwbaarheid.
- Vereiste beslissing
- Nog niet afgerond – Repareer weigering en controleer relevante normale werking opnieuw.
Het fictieve bronbestand telt honderd functionele gevallen met vooraf vastgelegde criteria. Alle 98 normale gevallen registreren de juiste toestand. Beide gevallen met een reeds bevestigde orderweigering falen: het programma markeert ten onrechte uitvoering in plaats van weigering. Totaal 98/100 is 98%, maar de afzonderlijk verplichte categorie weigeringen scoort 0/2.
Herstel die verwerking en herhaal de betrokken controles, inclusief normale werking die door de wijziging kan veranderen. Een ontbrekend netwerkantwoord is hier geen bevestigde weigering: de twee testgevallen leveren expliciet een geweigerde toestand. De aantallen schatten geen toekomstige betrouwbaarheid, brokerkwaliteit of kans op winst. Ieder visueel kader vertegenwoordigt zijn eigen categorie, niet evenveel gevallen.
Regels die een tweede lezer kan reproduceren
Schrijf instap, uitstap, stop, doel en hoeveelheid uit. De fictieve kandidaat gebruikt EMA(50), EMA(200), RSI(14), een gemiddelde over twintig perioden, een stop van 1,5 ATR(14), een doel van 2,5 ATR en 1% gepland risico. Dit is nog geen complete strategie. Wanneer is de bar voltooid, wat betekent aanraken, welke prijszijde geldt en wat gebeurt er als stop en doel binnen dezelfde bar mogelijk zijn?
Leg ook verboden toestanden vast: ontbrekende data, onbekende orderstatus of onvoldoende marge. Gepland stoprisico begrenst het werkelijke verlies niet bij gaps en afwijkende uitvoering. Koppel Positiegrootte aan het echte contract; een formule zonder eenheden is onvoldoende.
Historie kiezen voor de onderzoeksvraag
Noteer provider, product, tijdzone, prijszijden, gaten, codeversie, parameters en uitvoeringsaannames. Bewaar de dataset of een reproduceerbare identificatie, plus handelingen en logs. Een vaste minimumduur voor iedere dagelijkse, M30-, M15- of scalpstrategie bestaat hier niet. De gekozen historie moet de bedoelde vraag en instrumentbeschikbaarheid ondersteunen.
Onderscheid opgenomen MT5-ticks van gegenereerde vervanging. Een andere historie, terminalbuild of rekeningaannames kunnen een rapport veranderen zonder een nieuwe strategieregel. Veel trades bewijzen geen onafhankelijkheid. Vergelijk eerst de concrete runs met Dezelfde backtest, ander resultaat: vergelijk twee vastgelegde runs.
Een evaluatieblok beschermen tegen nieuwe keuzes
Leg een chronologische verdeling vooraf vast; 70/30 is één mogelijk ontwerp. Een lager later resultaat kan selectie, andere omstandigheden, kosten of steekproefruis bevatten. Gebruik de evaluatie niet om regels of datatransformaties te kiezen. Ook normalisatie moet alleen uit ontwikkelgegevens worden geleerd en daarna ongewijzigd op de test worden toegepast.
Stel versie 1.0 wordt op 2024–2025 beoordeeld. Maandagverliezen leiden tot maandaguitsluiting in versie 1.1. De herhaalde uitkomst over 2024–2025 is nu ontwikkelbewijs voor die wijziging. Bewaar beide rapporten en de reden. Het blok hernoemen maakt de eerdere kennis niet ongedaan.
Walk-forward is een volgende afgebakende controle
Een fictieve procedure ontwikkelt op 2018–2021 en evalueert op 2022; daarna ontwikkelt zij op 2019–2022 en evalueert op 2023. Herhaal uitsluitend de vooraf gekozen rolprocedure zonder toekomstige informatie. Vijf tot zeven cycli is een ontwerpkeuze, geen keurmerk.
Definieer wat de maat WFE vergelijkt en welke noemer zij gebruikt. Waarden 0,5–0,75 of onder 0,3 geven geen universeel oordeel. Ook een verandering van 50% bewijst geen oorzaak. Walk-forward: toets de procedure, labelhorizon en vermogensreeks behandelt de versies en opeenvolgende evaluatie. Bevries iedere regel vóór het nieuwe venster; een wijziging na afloop hoort in het onderzoekslog.
Realtime werking, restart en eventueel live onderzoek
Demo of observeren zonder orders kan signaaltijden, rechten, antwoorden en herstel onderzoeken. Bewaar idee-ID, gevraagde hoeveelheid, fills en actieve orders. De MT5-optie Forward onderzoekt het latere deel van een historische periode; dat is iets anders dan toekomstige koersen op demo volgen. Een rustige maand zonder instap controleert geen instap; maanden normale werking testen geen zeldzame restart.
Het bronmodel wil 0,20 lot kopen. Voor verbreking is 0,08 uitgevoerd; de rest is daarna bevestigd geannuleerd. Er zijn voor dit idee geen andere posities of orders. Nogmaals 0,20 uitvoeren levert 0,28 lot: 0,08 of 40% te veel. Alleen het verschil 0,12 uitvoeren brengt het totaal op 0,20. Is annulering onbekend, dan kan de oude rest nog uitgevoerd worden. Eerst de toestand aansluiten, niet blind opnieuw sturen.
Nieuw afzonderlijk EUR-tegenvoorbeeld: een fictief lineair contract betaalt EUR 100 prijs-P/L per lot en per prijseenheid. Geplande hoeveelheid 0,20 en een ongunstige beweging van één eenheid betekenen EUR −20 vóór kosten. De foutieve 0,28 geeft EUR −28: EUR 8 extra verlies. Bij een koerssprong van twee eenheden worden die verliezen EUR 40 en EUR 56. Een vast totaalverliesbudget wordt dus niet beschermd door alleen de oorspronkelijke ordertekst te bewaren. Dit is een rekenscenario, geen actuele contractspecificatie of garantie op een stopprijs.
Als een live studie gerechtvaardigd is, begrens werkelijke eenheden en blootstelling. Een micro-lot betekent niet automatisch een tiende van de doelhoeveelheid. Drie tot zes maanden is slechts een voorbeeldperiode; demo hoeft live fills niet te reproduceren. Geen enkele stap verplicht tot echt geld of vergroting.
Een fictieve breakout door de onderzoeksketen
Alle volgende cijfers zijn toegewezen, geen waargenomen prestatie. De kandidaat op EUR/USD M30 gebruikt het vorige twintigbarshoog voor instap en het vorige tienbarslaag voor uitstap. Timing en fills moeten nog precies worden vastgelegd. Ontwikkeling is 2014–2020 en evaluatie 2021–2023. Stel optimalisatie kiest 23/11 bars en 1,4 ATR stop.
Het model kent ontwikkeling 58% winnaars, profit factor 1,72 en 22% jaarrendement toe; later 54%, 1,51 en 18%. Deze samenvattingen reconstrueren geen tradevolgorde of drawdown. Een volgend demoscenario veronderstelt een halve pip extra uitvoeringkosten; een optioneel live scenario 51% winnaars. Geen daarvan valideert de volgende fase of bepaalt de juiste hoeveelheid. Vergelijk dezelfde signalen, netto uitbetalingen, blootstelling en onzekerheid.
Een dossier dat morgen bruikbaar is
- Bewaar regels met exacte informatietijd, stopformule, hoeveelheid en situaties waarin geen order mag volgen.
- Controleer data, ticks, contractwijzigingen en ontbrekende perioden. Noteer ook wat de gekozen historie niet bestrijkt.
- Leg chronologische splits, criteria en versiebeheer vooraf vast. Beoordeel verplichte foutcategorieën afzonderlijk.
- Test op demo bevroren regels en herstelpaden. Bewaar openstaande controles; verstreken maanden zijn geen bewijs van gereedheid.
- Vergelijk kosten, equity-drawdowns en onzekerheid naast rendement. Twaalf procent in iedere fase is niet automatisch veiliger dan dertig procent ontwikkeling en acht procent evaluatie.
Monte Carlo voor strategieën: bootstrap, stopgrenzen en drawdown kan uitkomsten onder expliciete steekproef- en uitvoeringsaannames verkennen. Het herschikken van bekende trades onthult niet iedere toekomstige gebeurtenis of liquiditeitsfout. Onderzoek mag eindigen met afwijzing of verdere observatie.
Test wat je hebt geleerd
Ongeveer 2 minuten oefenen.
Antwoord en uitleg bekijken
Juist: 98/100 en 0/2 zijn tegelijk waar. Herstel die verwerking en herhaal de betrokken controles.
Andere vragen
Wat voegt het proces toe aan één backtest?
Het scheidt correcte implementatie, data, historische resultaten en realtime werking. De bewijskaart vermeldt ook ontbrekende controles. Een winstcurve repareert de 0/2-foutcategorie niet en de stappen garanderen geen blijvend voordeel.
Hoeveel maanden moet het duren?
Er bestaat geen universele termijn van negen tot vijftien maanden of plicht tot live handelen. Plan relevante waarnemingen en foutpaden. Geen signaal in een maand test geen instap; normale werking test geen restart.
Welke cijfers vergelijk ik tussen fasen?
Vergelijk dezelfde signalen, hoeveelheden, netto uitbetalingen, kosten, blootstelling en equity over beschreven datums. Bewaar ook afwijzingen en gemiste orders. Een grotere drawdown over een langere periode bewijst geen uitvoeringsfout. Vaste verschillen van tien procentpunten, 0,3 profit factor of 0,5R diagnosticeren de oorzaak niet.
Garandeert alle stappen doorlopen live winst?
Nee. Het bewijs beantwoordt afgebakende vragen onder beschreven aannames. Je mag een idee afwijzen of blijven observeren. Een Monte Carlo met herschikte trades verkent zijn model en onthult geen onbekende toekomstige markt- of liquiditeitsgebeurtenissen.
Bronnen en controle
- MetaTrader 5 — Strategy Tester en Forward
Eerder gelezen primaire relevante testerinstellingen: de historische Forward-optie gebruikt een later historisch blok, geen realtime demo. Geen vaste periode of winstgrens overgenomen.
- MetaQuotes — OrderSend en uitvoeringsstatus
Primaire statusuitleg eerder gelezen: acceptatie van een verzoek is geen voltooide uitvoering. Het eigen restartmodel veronderstelt expliciet bevestigde annulering; de API schrijft geen universeel herstelalgoritme voor.
- scikit-learn — Voorkomen van datalekken
Primaire sectie over datalekken en voorbewerking gelezen. Testgegevens horen geen modelkeuzes of aangeleerde transformaties te bepalen. Dit ondersteunt onderzoeksdiscipline, geen toekomstige handelswinst.
De berekeningen gebruiken expliciete aannames. Ze vervangen geen actuele marktgegevens of voorwaarden van de aanbieder.
