Een 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.

Observatie vastleggen vóór je de oorzaak kiest
VeldBewarenDoel
OmgevingSymbool, feed, interval, klok.Dezelfde reeks vergelijken.
ProgrammaVersie, parameters, code indien beschikbaar.Updates van oud gedrag scheiden.
WaarnemingLogtijd, candletijd, open/gesloten.Beschikbaarheid bepalen.
SignaalWaarde, richting, getekende candle, eerst gezien.Geen vervroegde instap toekennen.
VergelijkingDezelfde 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.

Alle vijf benodigde Highs, geen ontbrekende OHLC gereconstrueerd
M5 opentHighWanneer bruikbaar?
10:001,1000De gekozen kandidaat ligt later.
10:051,1010De gekozen kandidaat ligt later.
10:101,1040Sluit 10:15, nog geen rechterburen.
10:151,1030Eerste rechterbuur sluit 10:20.
10:201,1020Tweede 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.

Een gewijzigde Close verandert hetzelfde gemiddeldeTwee fictieve versies voor dezelfde drie voltooide intervallen. Alle vier verschillende gegeven punten en één gemeenschappelijke schaal; geen oorzaak van de revisie verondersteld.REKENVOORBEELDExport A100; 102; 104 → SMA 102Export B100; 102; 101 → SMA 101
Een gewijzigde Close verandert hetzelfde gemiddelde. Twee fictieve versies voor dezelfde drie voltooide intervallen. Alle vier verschillende gegeven punten en één gemeenschappelijke schaal; geen oorzaak van de revisie verondersteld.

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

  1. Bewaar brondata, programma, parameters, tijdstippen en beide outputs; benoem exact de afwijking.
  2. Controleer of vroegere inputs veranderden voordat je een toekomstlek of frauduleuze oorzaak aanwijst.
  3. 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.