In dit artikel
Na dit artikel kun je…
- Tekentijd, bevestigingstijd en mogelijke uitvoering afzonderlijk vastleggen.
- Gewijzigde historische inputs onderscheiden van afhankelijkheid van later toegevoegde observaties.
- Een begrensd observatielog en een juiste append-test opzetten.
Begrippen uitgelegd binnen het artikel
Eenvoudig voortschrijdend gemiddelde (SMA) Handelslogboek Backtesting HandelsplanEen markering die vandaag bij een historische bodem staat, bewijst niet dat zij daar toen al zichtbaar was. Bewaar zowel de getekende candle als het eerste tijdstip waarop het signaal bekend kon zijn. Onderzoek veranderde beelden met opgeslagen inputs; één afwijking of een korte stabiele periode verklaart niet al het gedrag van een indicator.
Berekening, tekening en beschikbaarheid verschillen
Pine-documentatie onderscheidt historische en realtimeberekening. Een open candle kan veranderen. Een pivotmarkering kan pas na latere bevestiging bij een oudere candle worden getekend. Het sluiten van de grafiekcandle sluit niet automatisch de hogere-intervalcandle die het script gebruikt.
Vraag eerst naar de bedoelde regel: voorlopig of bevestigd, benodigde inputs en mogelijke latere verplaatsing. ‘Non-repaint’ is op zichzelf geen volledige specificatie. Een veranderd beeld vraagt uitleg, maar bewijst niet automatisch misleiding, toekomstlek of geldverlies.
Onderzoek het concrete mechanisme
MetaQuotes waarschuwt dat het laatste ZigZag-segment kan veranderen bij nieuwe data. Parameters en implementatie bepalen de constructie; vervang dat niet door een universele procentregel. Ook bij andere tools, zoals Parabolic SAR: toestand, AF, begrenzing en omkeer, moet je voorlopig en bevestigd gedrag apart vastleggen.
MQL5 documenteert dat prev_calculated op nul wordt gezet wanneer diepere historie wordt geladen of gaten worden gevuld. Een opgeslagen indicatorbuffer garandeert dus geen eeuwige onveranderlijkheid. Bewaar inputexport en programmaversie vóór je een verschil na herstart als bewuste herschrijving beschrijft.
Een toekomstlek ontstaat wanneer een test een beslissing eerder toekent dan de benodigde informatie beschikbaar was. Een later herkend punt terugtekenen is een tekenconventie; dat punt als vroeger uitvoerbaar signaal behandelen veroorzaakt de timingfout. Beoordeel herkenningstijd en uitvoeringsprijs apart.
Bewaar waarnemingen die de latere grafiek niet overschrijft
Kies één instrument en configuratie. Voeg nieuwe logregels toe zonder oudere regels passend te maken bij het nieuwste beeld. Een screenshot toont instrument en tijdas en ondersteunt een input-/outputexport, maar vervangt die niet. Gebruik dezelfde bewijslast bij beoordeling van Forex-signalen kopen: welk resultaat kun jij echt behalen?.
Schuif op een klein scherm door de tabel om alle kolommen te lezen.
| Veld | Bewaren | Doel |
|---|---|---|
| Omgeving | Symbool, feed, interval, klok. | Dezelfde reeks vergelijken. |
| Programma | Versie, parameters, code indien beschikbaar. | Updates van oud gedrag scheiden. |
| Waarneming | Logtijd, candletijd, open/gesloten. | Beschikbaarheid bepalen. |
| Signaal | Waarde, richting, getekende candle, eerst gezien. | Geen vervroegde instap toekennen. |
| Vergelijking | Dezelfde velden na sluiten en herladen. | Precies benoemen wat veranderde. |
Observeer tijdens vorming, na het sluiten van de grafiekcandle, na eventueel vereiste hogere-intervalsluiting en na herladen. Verander één onderdeel tegelijk. Noteer ontbrekende observatieperioden: een niet-opgeslagen signaal bewijst niet dat geen signaal verscheen.
Een pivot van 10:10 is pas om 10:25 bekend
Onze fictieve M5-regel vereist een High strikt hoger dan die van twee voltooide candles links én rechts; gelijkheid faalt. Tijden zijn openingstijden, data zijn continu en zonder gaten. Het is een toegewezen model, geen controle van een genoemd commercieel product.
Schuif op een klein scherm door de tabel om alle kolommen te lezen.
| M5 opent | High | Wanneer bruikbaar? |
|---|---|---|
| 10:00 | 1,1000 | De gekozen kandidaat ligt later. |
| 10:05 | 1,1010 | De gekozen kandidaat ligt later. |
| 10:10 | 1,1040 | Sluit 10:15, nog geen rechterburen. |
| 10:15 | 1,1030 | Eerste rechterbuur sluit 10:20. |
| 10:20 | 1,1020 | Tweede rechterbuur sluit 10:25: bevestigd. |
High 1,1040 is hoger dan alle vier buren. Om 10:25 kan een markering bij 10:10 verschijnen. De informatie kwam tien minuten na de sluiting of vijftien na de opening van die candle beschikbaar. Dat zijn verschillende referentietijden voor dezelfde gebeurtenis.
Neem als expliciete aanname dat de eerste mogelijke verkoop-Bid na bevestiging 1,1018 was. De vroegere High 1,1040 als instap kiezen voegt 0,0022 of 22 pips toe bij pip 0,0001. Voor blootstelling 10.000 EUR is dat 22 USD verschil in prijsresultaat vóór kosten. Er is geen uitstap gegeven: dit is geen berekende transactiewinst.
Verander alleen de High van 10:20 naar 1,1045: de geselecteerde 1,1040 kwalificeert niet. Gelijkheid op 1,1040 faalt eveneens. De hogere buur is niet automatisch een bevestigde nieuwe pivot; daarvoor ontbreken zijn eigen vereiste rechterburen.
Een ander resultaat na herladen kan door andere inputs komen
Een opgeslagen export bevat voltooide Closes 100, 102 en 104: SMA(3) = 102. Een latere export voor dezelfde momenten bevat 100, 102 en 101: SMA(3) = 101. De laatste input is gewijzigd, niet de SMA-formule. Ook een berekening die uitsluitend toenmalige data gebruikt kan daardoor anders uitkomen.
De SMA gaat van 102 naar 101 door een andere laatste input. Onderzoek die revisie apart; dit bewijst noch een toekomstlek noch volledige programmavaliditeit.
- Export A
- 100; 102; 104 → SMA 102 – Exact bewaarde oude reeks.
- Export B
- 100; 102; 101 → SMA 101 – De laatste input daalde 3, gemiddelde daalt 1.
Vergelijk timestamps, prijsvelden, exportconsistentie, instellingen en programmaversie. Een test met toegevoegde toekomstige observaties vereist ongewijzigde eerdere inputs. Dit voorbeeld wijst op een afzonderlijke datadiagnose en bewijst niet dat het hele programma correct is of waarom de bronprijs werd aangepast.
Aanvullen, serveralerts en replay beantwoorden andere vragen
Bereken een voltooide prefix, voeg latere waarnemingen toe zonder vroegere prijzen te wijzigen en vergelijk eerder als definitief gepresenteerde outputs. Een speelgoedregel deelt iedere prijs door het maximum van de hele geladen dataset. Bij 100 en 110 is de eerste output 100/110 = 0,9091; na toevoegen van 120 wordt het 100/120 = 0,8333. De eerdere prijs bleef honderd. De daling met ongeveer 0,0758 onthult toekomstige afhankelijkheid, ook zonder negatieve array-index.
Een versie met het maximum tot en met het betreffende tijdstip geeft voor de eerste waarde in beide berekeningen 1. Dat verschilt van de twee gereviseerde exports in het diagram. Eén geslaagde prefixcontrole bewijst niet alle codepaden.
TradingView bewaart voor een serveralert een kopie van script en instellingen bij creatie. Latere grafiekwijzigingen veranderen die kopie niet. Bewaar alertconfiguratie, triggerfrequentie en berichttijd. Bestaande serveralerts blijven tijdens Bar Replay op realtimegegevens werken; ze zijn geen berichten uit het afgespeelde verleden.
Om 10:15 op M5 is de uurcandle 10:00–11:00 nog open. Haar uiteindelijke High is niet beschikbaar omdat een M5-candle sloot. Pine-lookaheadinstellingen en reeksverschuivingen vereisen gezamenlijke beoordeling. Ga pas na deze timingcontrole verder met Een strategie backtesten: data, kosten en tijdvolgorde controleren en Walk-forward: toets de procedure, labelhorizon en vermogensreeks.
Eigen EUR-datacontrole. Een afzonderlijk fictief EUR-product heeft exports met dezelfde momenten: €50, €52, €54 tegenover €50, €52, €51. Dezelfde SMA(3) daalt van €52 naar €51 door een prijsrevisie van −€3, gedeeld door drie. Dat is geen afgeleid handelsverlies. Een apart aangenomen koop van vijf eenheden op €52,10 en verkoop op €51 met €1 kosten verliest €6,50; daarvoor zijn expliciete fills nodig.
Rapporteer een begrensde bevinding
- Bewaar brondata, programma, parameters, tijdstippen en beide outputs; benoem exact de afwijking.
- Controleer of vroegere inputs veranderden voordat je een toekomstlek of frauduleuze oorzaak aanwijst.
- Ken beslissingen aan de werkelijke herkenningstijd toe en toets fills en kosten vervolgens afzonderlijk.
Vijf rustige minuten, vijftig candles of twee weken bewijzen geen blijvende stabiliteit of winstgevendheid. Kan de beschikbaarheid niet worden vastgesteld, ken dan geen historische trades aan de markering toe. Een betrouwbaar Handelslogboek bewaart ook de onzekerheid; stabiele signalen bepalen nog geen Backtesting-uitkomst na uitvoeringskosten.
Test wat je hebt geleerd
Ongeveer 2 minuten oefenen.
Antwoord en uitleg bekijken
Juist: vergelijk de inputs eerst, daarna het programma onder vergelijkbare omstandigheden.
Andere vragen
Bewijst een veranderde indicator oplichting?
Nee. Stel de bedoelde werking, inputs, versie en instellingen vast. Veranderende open candles, latere bevestiging en gewijzigde historie zijn andere mechanismen. Bewaar beide records vóór je een oorzaak kiest; non-repaint is geen volledige specificatie.
Maakt een gesloten grafiekcandle elk signaal definitief?
Nee. Onze strikte M5-pivot vereist twee latere voltooide buren; hogere-intervalinputs kunnen ook nog open zijn. De candle van 10:10 sluit om 10:15, de bevestiging komt pas om 10:25.
Bewijst een korte onveranderde observatie dat nooit wordt hertekend?
Nee. Een test kan een concreet verschil tonen maar niet alle latere gedragingen uitsluiten. Bewaar eerdere inputs ongewijzigd voor een append-test en rapporteer de getoetste scope. Gereviseerde inputs vereisen een aparte diagnose.
Bewijst stabiele signaalregistratie winstgevendheid?
Nee. Beschikbaarheid en stabiliteit bepalen geen fills, kosten of nettoresultaat. Toets dat met een volledige handelsregel. Een vast aantal candles of een demoperiode certificeert geen voordeel.
Bronnen en controle
- TradingView Pine — Repainting
Eerder direct gelezen historische/realtimeverschillen en terugplaatsen van later herkende pivots hergebruikt. De M5-regel hier is expliciet eigen oefenmateriaal, geen audit van alle indicatoren.
- MQL5 — OnCalculate
Direct gelezen parameters en reset van prev_calculated bij diepere of aangevulde historie. Geen garantie op onveranderlijke buffers uit het bestaan van een export afgeleid.
- MetaTrader5 — ZigZag
Officiële geïndexeerde uitleg gelezen over veranderlijk laatste segment. Implementatie en parameters bepalen gedrag; geen universele procentinstelling aangenomen.
- TradingView Pine — Alerts
Direct gelezen serverkopie bij creatie en realtimewerking. Een aangepaste grafiek verandert de bestaande kopie niet; alertfrequentie afzonderlijk vastleggen.
- TradingView — How do I turn Bar Replay on?
Officiële geïndexeerde beperkingen gelezen: serveralerts blijven realtime werken. Verkeerde eerste titel-URL onbereikbaar; daarna correcte bron gevonden. Geen historische brokerfills uit replay afgeleid.
De berekeningen gebruiken expliciete aannames. Ze vervangen geen actuele marktgegevens of voorwaarden van de aanbieder.
