Bli medlem idag
Datum och tid/probuilder · probacktest · proorder · proscreener

Year

Year returnerar det fyrsiffriga året för en bar i diagrammet, till exempel 2026. Year tar emot en hakparentesförskjutning som Year[10] för att läsa året för en tidigare bar.

Syntax

probuilder
Year[N]

Så fungerar det

Year returnerar kalenderåret för den bar som bearbetas, som ett fyrsiffrigt heltal, till exempel 2026. Den läser datumet som hör till varje bar, så den ändras längs tidsaxeln: barer från 2024 returnerar 2024, barer från 2025 returnerar 2025, och värdet ökar vid varje årsskifte.

Det valfria indexet N väljer en bar i förhållande till den som behandlas. Year[0], eller enbart Year, är den aktuella baren. Ett positivt N ser bakåt: Year[10] är året för baren tio positioner tidigare. Diagrammet måste innehålla tillräckligt med historik för den begärda förskjutningen, annars är värdet odefinierat vid den vänstra kanten. Year fungerar bara på tidsbaserade diagram, där varje bar bär ett datum.

Year är året per bar. Dess motsvarigheter är CurrentYear, som läser klockans år vid exekveringstillfället och är identiskt på varje bar, och OpenYear, som läser året vid varje bars open. Kombinera Year med Month och Day när du behöver testa ett helt kalenderdatum.

Exempel

Exempel 1, År för en tidigare bar (Indikator)

probuilder
// Retrieve the year of the bar exactly 10 periods before the current bar
myYear = Year[10]
RETURN myYear

Indikatorn ritar i varje punkt året för baren tio positioner tillbaka, en trappstegslinje som hoppar vid varje årsgräns, förskjuten tio bars till höger.

Exempel 2, Sökning efter år (ProScreener)

probuilder
// Match instruments whose latest bar falls in 2026
thisYear = Year = 2026
SCREENER[thisYear AND close > Average[50](close)] (Year AS "Year")

Screenern returnerar bara instrument vars senaste bar är daterad 2026, med året visat intill, användbart när ett diagrams sista bar kan ligga efter kalendern.

Exempel 3, Entryspärr vid årsskifte (ProOrder)

probuilder
// Allow entries only on the first bar of a new year
DEFPARAM CumulateOrders = false
newYear = Year > Year[1]
IF newYear AND close CROSSES OVER Average[20](close) THEN
    BUY 1 CONTRACT AT MARKET
ENDIF

Villkoret Year > Year[1] är true på den första baren av ett nytt kalenderår, så strategin använder det som en årlig entrygrind för säsongsidéer.

Vanliga fel och fallgropar

  • Fyrsiffrigt år. Year returnerar ett fullständigt år som 2026, inte en tvåsiffrig form. Jämförelser måste använda hela talet.
  • Endast tidsbaserade diagram. Year behöver bars som bär ett datum. På icke-tidsbaserade diagram är värdet inte meningsfullt.
  • Per bar, inte klockan. Year läser varje bars datum och ändras längs axeln. För året vid det ögonblick koden körs, använd CurrentYear.
  • Offset utanför historiken. Year[N] behöver N barer historik. Nära diagrammets vänstra kant är värdet odefinierat.
  • CurrentYear, klockans år vid exekveringstidpunkten.
  • OpenYear, året vid öppningen av varje bar.
  • Month, månaden för varje bar, kombineras med Year för ett fullständigare datum.
  • Day, dag i månaden för varje bar.
  • DayOfWeek, veckodag för varje bar, 1 för måndag till 7 för söndag.
  • Days, hela dagar som förflutit sedan 1 January 1900 fram till varje bar.
  • TIME, stängningstiden för varje bar som ett HHMMSS-heltal.
  • Timestamp, UNIX-tid för stängningen av varje bar.