OpenYear
OpenYear returnerar det år då den aktuella barens handelssession öppnade, som ett fyrsiffrigt heltal. Användbar för årsfilter i ProBuilder-skript.
Syntax
OpenYearNyckelordet tar inga parametrar. Ett historikindex i hakparenteser läser tidigare barer, så OpenYear[1] ger öppningsåret för föregående bar.
Så fungerar det
Varje bar registrerar datum och tid då den började formas. OpenYear hämtar årskomponenten ur det öppningsögonblicket och returnerar den som ett fyrsiffrigt heltal. Värdet är inte inbäddat i ett större datumtal, så det kan jämföras direkt mot literaler som 2020 utan någon avkodning.
Nyckelordet hör till familjen öppningsbaserade datumkomponenter, tillsammans med OpenMonth, OpenDay, och OpenTime, som alla beskriver när baren öppnade. Den stängningsbaserade motsvarigheten är Year, som läser året i barens datum, och CurrentYear, som läser året från systemklockan snarare än från någon bar.
Typiska användningar är att begränsa ett backtest till färsk historik, att dela upp statistik per kalenderår och att upptäcka den första baren på ett nytt år genom att jämföra värdet mot föregående bar.
Exempel
Exempel 1, rita öppningsåret för varje bar (Indikator)
// Store the year in which the current bar's session opened
yearOpened = OpenYear
RETURN yearOpenedIndikatorn returnerar öppningsåret för varje bar, vilket gör årsgränser synliga som steg i den ritade linjen.
Exempel 2, begränsa en strategi till senare år (ProBacktest)
// 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Årsfiltret utesluter äldre historik från backtestet även när ett längre dataintervall är inläst, vilket håller resultaten fokuserade på den valda perioden.
Exempel 3, upptäcka den första baren på ett nytt år (ProScreener)
// Match instruments printing their first bar of a new calendar year
newYear = OpenYear > OpenYear[1]
SCREENER[newYear] ("New year")Att jämföra öppningsåret för den aktuella baren med föregående bars isolerar den enda bar där året ändras.
Vanliga fel och fallgropar
- Att jämföra mot fullständiga datum. OpenYear returnerar
2023, inte20230101. Att jämföra den mot YYYYMMDD-literaler utvärderas tyst till falskt. Jämförelser med fullständigt datum hör tillOpenDateellerToday. - Öppningsår mot stängningsår. På barer som sträcker sig över midnatt den 31 december skiljer sig öppningsåret från stängningsåret.
Yearföljer barens datum medan OpenYear följer öppningen, så de två är inte utbytbara kring årsgränser. - Klocktid mot bar.
CurrentYearläser datorklockan och är densamma på varje bar under en körning. OpenYear varierar bar för bar. Att använda CurrentYear i ett historiskt filter gör att hela historiken passerar eller faller på en gång.
Relaterade instruktioner
CurrentYear, året för det aktuella klockdatumet.Year, året för baren N perioder före den aktuella.OpenMonth, månaden då baren öppnade.OpenDay, dagen i månaden då baren öppnade.OpenDate, barens fullständiga öppningsdatum i YYYYMMDD-format.OpenTime, barens öppningstid som ett HHMMSS-heltal.Today, datumet för den aktuella baren i formatet YYYYMMDD.