Bli medlem i dag
Dato og tid/probuilder · probacktest · proorder · proscreener

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

probuilder
OpenDate

Slik 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)

probuilder
// Store and plot the opening date of the current bar
myOpenDate = OpenDate
RETURN myOpenDate

Indikatoren 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)

probuilder
// 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
ENDIF

Fordi 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)

probuilder
// 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
ENDIF

Breakout-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, og OpenDay, som returnerer komponentene direkte.
  • Fulle åttesifrede literaler er påkrevd. Sammenligninger må bruke komplette YYYYMMDD-verdier. En betingelse som OpenDate = 0708 treffer aldri fordi den lagrede verdien alltid inkluderer året.
  • 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.