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

OpenYear

OpenYear returnerer året da handelssesjonen for den gjeldende baren åpnet, som et firesifret heltall. Nyttig for årlige filtre i ProBuilder-skript.

Syntaks

probuilder
OpenYear

Nøkkelordet tar ingen parametere. En historikkindeks i hakeparenteser leser tidligere bars, så OpenYear[1] gir åpningsåret til forrige bar.

Slik fungerer det

Hver bar registrerer datoen og tidspunktet den begynte å dannes. OpenYear trekker ut årskomponenten av det åpningsøyeblikket og returnerer den som et firesifret heltall. Verdien er ikke kodet inne i et større datotall, så den kan sammenlignes direkte med litteraler som 2020 uten noen dekoding.

Nøkkelordet tilhører familien av åpningsbaserte datokomponenter, sammen med OpenMonth, OpenDay, og OpenTime, som alle beskriver når baren åpnet. Motparten basert på close er Year, som leser året i bardatoen, og CurrentYear, som leser året fra klokken i stedet for fra noen bar.

Typiske bruksområder er å begrense en backtest til nyere historikk, å dele statistikk opp etter kalenderår, og å oppdage den første baren i et nytt år ved å sammenligne verdien med den forrige baren.

Eksempler

Eksempel 1, Plotte åpningsåret for hver bar (Indikator)

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

Indikatoren returnerer åpningsåret for hver bar, noe som gjør årsskiftene synlige som trinn i den plottede linjen.

Eksempel 2, Begrense en strategi til de siste årene (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

Årsfilteret utelukker eldre historikk fra backtesten selv når et lengre dataområde er lastet inn, slik at resultatene holdes konsentrert om den valgte perioden.

Eksempel 3, Oppdage den første baren i et nytt år (ProScreener)

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

Å sammenligne åpningsåret til den gjeldende baren med det til den forrige baren isolerer den ene baren der året endrer seg.

Vanlige feil og fallgruver

  • Å sammenligne mot fulle datoer. OpenYear returnerer 2023, ikke 20230101. Sammenligning mot YYYYMMDD-literaler evalueres stille til falsk. Sammenligninger av fulle datoer hører til OpenDate eller Today.
  • Åpningsår kontra stengingsår. På bars som strekker seg over midnatt 31. desember, er åpningsåret og sluttåret ulike. Year følger bardatoen mens OpenYear følger åpningen, så de to kan ikke byttes om ved årsskifter.
  • Klokketid kontra bar. CurrentYear leser datamaskinklokken og er den samme på hver bar under en kjøring. OpenYear varierer fra bar til bar. Å bruke CurrentYear i et historisk filter gjør at hele historikken passerer eller faller på én gang.
  • CurrentYear, året for den gjeldende klokkedatoen.
  • Year, året for baren N perioder før den gjeldende.
  • OpenMonth, måneden baren åpnet i.
  • OpenDay, dagen i måneden da baren åpnet.
  • OpenDate, barens fulle åpningsdato i YYYYMMDD-format.
  • OpenTime, åpningstiden for baren som et HHMMSS-heltall.
  • Today, datoen for gjeldende bar i YYYYMMDD-format.