OpenDate
OpenDate returnerer datoen en bar åpnet, i YYYYMMDD-format, i ProBuilder. Bruk den til å feste handler eller analyser til eksakte kalenderdatoer på enhver tidsramme.
Syntaks
OpenDateSlik fungerer det
OpenDate leser åpningstidsstempelet for gjeldende bar og returnerer datoen som ett heltall i YYYYMMDD-form. En bar som åpnet 8. juli 2026 gir 20260708. År, måned og dag er pakket inn i én enkelt verdi, noe som gjør kronologiske sammenligninger trivielle: en numerisk større OpenDate er alltid en senere dato.
Nøkkelordet tar ingen parametere. Det refererer til åpningstiden til baren, mens rene datonøkkelord som Today beskriver barens lukkedato. På dagsbarer stemmer de to normalt, men på uke-, måneds- eller sesjonsspennende barer kan åpnings- og lukkedatoen være forskjellige, så valget av nøkkelord har betydning.
Fordi formatet pakker tre felt inn i ett tall, krever det aritmetikk å trekke ut en komponent. De enkelte delene er også tilgjengelige direkte gjennom OpenYear, OpenMonth, og OpenDay, som vanligvis er den klareste tilnærmingen.
Typiske bruksområder er å begrense en backtest til et datointervall, å feste beregninger til en kjent hendelsesdato, og å deaktivere et live system etter en fast utløpsdato.
Eksempler
Eksempel 1, Vis åpningsdatoen for hver bar (Indikator)
// Store and plot the opening date of the current bar
myOpenDate = OpenDate
RETURN myOpenDateIndikatoren returnerer åpningsdatoen for hver bar som et YYYYMMDD-tall, en rask måte å bekrefte hvilken kalenderdato en gitt bar hører til.
Eksempel 2, Begrens en backtest til en startdato (ProBacktest)
// Ignore all history before 2 January 2024
IF OpenDate >= 20240102 THEN
IF close CROSSES OVER Average[50](close) THEN
BUY 1 SHARES AT MARKET
ENDIF
ENDIFFordi YYYYMMDD-tall sorteres kronologisk, utelukker én enkelt sammenligning mot literalen 20240102 hver bar som åpnet før den datoen.
Eksempel 3, Deaktiver et system etter en utløpsdato (ProOrder)
// Stop opening new positions from 1 December 2026 onward
expired = OpenDate >= 20261201
IF NOT expired AND close CROSSES OVER Highest[20](close[1]) THEN
BUY 1 SHARES AT MARKET
ENDIFBreakout-inngangen holder seg aktiv bare så lenge barens åpningsdato er før grensen, en enkel måte å tidsbegrense en live strategi.
Vanlige feil og fallgruver
- Et tall, ikke et datoobjekt. OpenDate returnerer et heltall. Datoaritmetikk som å legge til 7 gir ikke datoen én uke senere, det legger bare 7 til tallet og bryter sammen ved månedsskifter. Bruk sammenligninger, ikke aritmetikk.
- Åpningsdato mot stengningsdato. OpenDate beskriver når baren åpnet. På uke- eller månedsbars kan lukkedatoen falle i en annen måned eller et annet år. Sammenlign med
Today, som følger barens dato ved close. - Uttrekking av komponenter er indirekte. Å hente måneden ut av 20260708 krever divisjon og avrunding. Foretrekk
OpenYear,OpenMonth, ogOpenDay, som returnerer komponentene direkte. - Fulle åttesifrede literaler er påkrevd. Sammenligninger må bruke komplette YYYYMMDD-verdier. En betingelse som
OpenDate = 0708treffer aldri fordi den lagrede verdien alltid inkluderer året.
Relaterte instruksjoner
Today, datoen for gjeldende bar i YYYYMMDD-format, etter stengningen.OpenDay, dagen i måneden da gjeldende bar åpnet.OpenMonth, månedsnummeret da gjeldende bar åpnet.OpenYear, året da gjeldende bar åpnet.OpenTime, åpningstiden for gjeldende bar i HHMMSS-format.OpenHour, timen da gjeldende bar åpnet.Timestamp, tidsstempel for barens stengning i sekunder siden 1970.OpenTimestamp, tidsstempel for barens åpning i sekunder siden 1970.