OpenDate
OpenDate geeft de datum waarop een bar opende in YYYYMMDD-formaat in ProBuilder. Gebruik het om trades of analyses vast te pinnen op exacte kalenderdatums op elk grafiektijdframe.
Syntaxis
OpenDateHoe het werkt
OpenDate leest het openingstijdstempel van de huidige bar en geeft de datum als één geheel getal in YYYYMMDD-vorm. Een bar die opende op 8 juli 2026 levert 20260708. Jaar, maand en dag zijn in één waarde samengepakt, wat chronologische vergelijkingen triviaal maakt: een numeriek grotere OpenDate is altijd een latere datum.
Het keyword neemt geen parameters. Het verwijst naar de openingstijd van de bar, terwijl kale datumkeywords zoals Today beschrijven de slotdatum van de bar. Op dagbars komen de twee normaal overeen, maar op week-, maand- of sessie-overspannende bars kunnen de open- en slotdatum verschillen, dus de keuze van het keyword is van belang.
Omdat het formaat drie velden in één getal verpakt, is er rekenwerk nodig om een component te extraheren. De afzonderlijke delen zijn ook direct beschikbaar via OpenYear, OpenMonth, en OpenDay, wat meestal de duidelijkere aanpak is.
Typische toepassingen zijn een backtest beperken tot een datumbereik, berekeningen ankeren aan een bekende gebeurtenisdatum, en een live systeem uitschakelen na een vaste vervaldatum.
Voorbeelden
Voorbeeld 1, De openingsdatum van elke bar weergeven (Indicator)
// Store and plot the opening date of the current bar
myOpenDate = OpenDate
RETURN myOpenDateDe indicator geeft de openingsdatum van elke bar als een YYYYMMDD-getal, een snelle manier om te controleren bij welke kalenderdatum een bar hoort.
Voorbeeld 2, Een backtest beperken tot een startdatum (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
ENDIFOmdat YYYYMMDD-getallen chronologisch sorteren, sluit één vergelijking met de literal 20240102 elke bar uit die vóór die datum opende.
Voorbeeld 3, Een systeem deactiveren na een vervaldatum (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
ENDIFDe breakout-instap blijft alleen actief zolang de openingsdatum van de bar vóór de afkapdatum ligt, een eenvoudige manier om een live strategie in tijd te begrenzen.
Veelvoorkomende fouten en valkuilen
- Een getal, geen datumobject. OpenDate geeft een geheel getal. Datumrekenen zoals 7 optellen levert niet de datum een week later op, het telt alleen 7 bij het getal op en gaat stuk op maandgrenzen. Gebruik vergelijkingen, geen rekenkunde.
- Openingsdatum versus slotdatum. OpenDate beschrijft wanneer de bar opende. Bij week- of maandbars kan de slotdatum in een andere maand of een ander jaar vallen. Vergelijk met
Today, die de datum van de bar bij close volgt. - Het uitlezen van componenten is indirect. De maand uit 20260708 halen vereist delen en afronden. Gebruik liever
OpenYear,OpenMonth, enOpenDay, die de componenten direct retourneren. - Volledige literals van acht cijfers vereist. Vergelijkingen moeten volledige YYYYMMDD-waarden gebruiken. Een conditie als
OpenDate = 0708matcht nooit omdat de opgeslagen waarde altijd het jaar bevat.
Gerelateerde instructies
Today, datum van de huidige bar in YYYYMMDD-formaat, volgens de close.OpenDay, dag van de maand waarop de huidige bar is geopend.OpenMonth, maandnummer waarin de huidige bar is geopend.OpenYear, jaar waarin de huidige bar is geopend.OpenTime, openingstijd van de huidige bar in HHMMSS-formaat.OpenHour, uur waarop de huidige bar is geopend.Timestamp, tijdstempel van de close van de bar in seconden sinds 1970.OpenTimestamp, tijdstempel van de open van de bar in seconden sinds 1970.