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

OpenYear

OpenYear restituisce l'anno in cui si è aperta la sessione di trading della bar corrente, come intero a quattro cifre. Utile per filtri annuali negli script ProBuilder.

Sintassi

probuilder
OpenYear

La parola chiave non accetta parametri. Un indice storico tra parentesi quadre legge le bar precedenti, quindi OpenYear[1] restituisce l'anno di apertura della bar precedente.

Come funziona

Ogni bar registra la data e l'ora in cui ha iniziato a formarsi. OpenYear estrae la componente dell'anno da quel momento di apertura e la restituisce come intero di quattro cifre. Il valore non è codificato all'interno di un numero di data più grande, quindi può essere confrontato direttamente con letterali come 2020 senza alcuna decodifica.

La parola chiave appartiene alla famiglia dei componenti di data basati sull'apertura, insieme a OpenMonth, OpenDay, e OpenTime, che descrivono tutte il momento di apertura della bar. La controparte basata sulla chiusura è Year, che legge l'anno della data della bar, e CurrentYear, che legge l'anno dell'orologio di sistema invece che di un bar.

Gli usi tipici includono limitare un backtest allo storico recente, suddividere le statistiche per anno di calendario e rilevare la prima bar di un nuovo anno confrontando il valore con quello della bar precedente.

Esempi

Esempio 1, tracciare l'anno di apertura di ogni bar (Indicatore)

probuilder
// Store the year in which the current bar's session opened
yearOpened = OpenYear
RETURN yearOpened

L'indicatore restituisce l'anno di apertura di ogni bar, il che rende visibili i confini tra gli anni come gradini nella linea tracciata.

Esempio 2, limitare una strategia agli anni recenti (ProBacktest)

probuilder
// Only evaluate entries on bars that opened in 2020 or later
IF OpenYear >= 2020 THEN
  IF close CROSSES OVER Average[100](close) THEN
    BUY 1 SHARES AT MARKET
  ENDIF
ENDIF

Il filtro sull'anno esclude lo storico più vecchio dal backtest anche quando è caricato un intervallo di dati più lungo, mantenendo i risultati focalizzati sul periodo scelto.

Esempio 3, rilevare la prima bar di un nuovo anno (ProScreener)

probuilder
// Match instruments printing their first bar of a new calendar year
newYear = OpenYear > OpenYear[1]
SCREENER[newYear] ("New year")

Confrontare l'anno di apertura della bar corrente con quello della bar precedente isola la singola bar in cui cambia l'anno.

Errori e insidie comuni

  • Confrontare con date complete. OpenYear restituisce 2023, non 20230101. Confrontarlo con letterali YYYYMMDD risulta silenziosamente falso. I confronti su data completa spettano a OpenDate o Today.
  • Anno di apertura rispetto a quello di chiusura. Sulle bar che attraversano la mezzanotte del 31 dicembre, l'anno di apertura e l'anno di chiusura differiscono. Year segue la data del bar mentre OpenYear segue l'apertura, quindi i due non sono interscambiabili attorno al cambio d'anno.
  • Orologio rispetto alla bar. CurrentYear legge l'orologio del computer ed è lo stesso su ogni bar durante un'esecuzione. OpenYear varia bar per bar. Usare CurrentYear in un filtro storico fa passare o fallire l'intero storico in un colpo solo.
  • CurrentYear, anno della data attuale dell'orologio.
  • Year, anno della bar N periodi prima di quella corrente.
  • OpenMonth, mese in cui si è aperta la bar.
  • OpenDay, giorno del mese in cui si è aperta la bar.
  • OpenDate, data completa di apertura della bar in formato YYYYMMDD.
  • OpenTime, orario di apertura della bar come intero HHMMSS.
  • Today, data della bar corrente in formato YYYYMMDD.