Iscriviti ora
Data e ora/probuilder · probacktest · proorder · proscreener

OpenDate

OpenDate restituisce la data in cui un bar ha aperto in formato YYYYMMDD in ProBuilder. Usalo per ancorare operazioni o analisi a date di calendario esatte su qualsiasi timeframe del grafico.

Sintassi

probuilder
OpenDate

Come funziona

OpenDate legge il timestamp di apertura del bar corrente e restituisce la sua data come un unico numero intero in formato YYYYMMDD. Un bar che ha aperto l'8 luglio 2026 produce 20260708. Anno, mese e giorno sono compattati in un unico valore, il che rende banali i confronti cronologici: un OpenDate numericamente maggiore corrisponde sempre a una data successiva.

La parola chiave non accetta parametri. Si riferisce all'ora di apertura della bar, mentre le parole chiave di data semplici come Today descrivono la data di chiusura del bar. Sui bars giornalieri le due normalmente coincidono, ma sui bars settimanali, mensili o che attraversano più sessioni le date di apertura e di chiusura possono differire, quindi la scelta della keyword è importante.

Poiché il formato comprime tre campi in un solo numero, estrarre un componente richiede dell'aritmetica. Le singole parti sono disponibili anche direttamente tramite OpenYear, OpenMonth, e OpenDay, che è solitamente l'approccio più chiaro.

Gli usi tipici sono limitare un backtest a un intervallo di date, ancorare i calcoli a una data di evento nota e disattivare un sistema live dopo una data di scadenza fissa.

Esempi

Esempio 1, Visualizzare la data di apertura di ogni bar (Indicatore)

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

L'indicatore restituisce la data di apertura di ogni bar come numero YYYYMMDD, un modo rapido per verificare a quale data di calendario appartiene un bar.

Esempio 2, Limitare un backtest a una data di inizio (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

Poiché i numeri YYYYMMDD si ordinano cronologicamente, un singolo confronto con il valore letterale 20240102 esclude ogni bar che ha aperto prima di quella data.

Esempio 3, Disattivare un sistema dopo una data di scadenza (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

L'ingresso in breakout resta attivo solo finché la data di apertura del bar è anteriore alla scadenza, un modo semplice per limitare nel tempo una strategia live.

Errori e insidie comuni

  • Un numero, non un oggetto data. OpenDate restituisce un numero intero. L'aritmetica sulle date, come aggiungere 7, non produce la data della settimana successiva, aggiunge semplicemente 7 al numero e si rompe ai confini del mese. Usa i confronti, non l'aritmetica.
  • Data di apertura rispetto a data di chiusura. OpenDate descrive quando la barra si è aperta. Sulle barre settimanali o mensili la data di chiusura può cadere in un mese o in un anno diverso. Confronta con Today, che segue la data della barra alla chiusura.
  • L'estrazione dei componenti è indiretta. Estrarre il mese da 20260708 richiede divisione e arrotondamento. Preferisci OpenYear, OpenMonth, e OpenDay, che restituiscono direttamente i componenti.
  • Sono richiesti valori letterali completi a otto cifre. I confronti devono usare valori YYYYMMDD completi. Una condizione come OpenDate = 0708 non corrisponde mai perché il valore memorizzato include sempre l'anno.
  • Today, data del bar corrente in formato YYYYMMDD, riferita alla chiusura.
  • OpenDay, giorno del mese in cui si è aperta la bar corrente.
  • OpenMonth, numero del mese in cui si è aperta la bar corrente.
  • OpenYear, anno in cui si è aperta la bar corrente.
  • OpenTime, ora di apertura del bar corrente in formato HHMMSS.
  • OpenHour, ora in cui si è aperta la bar corrente.
  • Timestamp, timestamp di chiusura del bar in secondi dal 1970.
  • OpenTimestamp, timestamp di apertura del bar in secondi dal 1970.