Word nu lid
Datum en tijd/probuilder · probacktest · proorder · proscreener

CurrentYear

CurrentYear geeft het viercijferige jaar van de klok op het moment van uitvoering, identiek op elke bar van de grafiek. Gebruik Year om het jaar van het slot van elke bar te lezen.

Syntaxis

probuilder
CurrentYear

Hoe het werkt

CurrentYear leest de klok op het moment dat de code wordt uitgevoerd en geeft het kalenderjaar als een viercijferige integer, zoals 2026. De referentie is de tijdzone van de markt van het instrument, die kan afwijken van de lokale machine. De constante neemt geen parameters en geen offset tussen rechte haken.

De waarde hoort tot de Current-familie van datum- en tijdconstanten, die het moment van uitvoering beschrijven en niet een bar op de grafiek. Elke bar van een berekening ziet daarom hetzelfde getal: een indicator die in 2026 wordt ververst, geeft 2026 op elke historische bar. De tegenhanger per bar is Year, die het jaar van de close van elke verwerkte bar geeft en meebeweegt langs de tijdas. Segmentatie van historische data per jaar hoort bij Year; CurrentYear beschrijft de kalender nu.

In een live ProOrder-systeem is CurrentYear zinvol, omdat de code in realtime wordt uitgevoerd terwijl bars binnenkomen. In een backtest weerspiegelt het het jaar waarin de test wordt uitgevoerd, wat het ongeschikt maakt voor historische jaargebonden voorwaarden.

Voorbeelden

Voorbeeld 1, Label met het huidige jaar (Indicator)

probuilder
// Retrieve the year of the clock at execution time
iYear = CurrentYear
RETURN iYear AS "this is the current year"

De indicator plot een vlakke lijn op het huidige jaar over de hele grafiek, bij elke herberekening van het script verversd naar het jaar van de kloktijd.

Voorbeeld 2, Scan met jaarfilter (ProScreener)

probuilder
// Return matches only from a chosen year onward
recentEnough = CurrentYear >= 2026
SCREENER[recentEnough AND close > Average[50](close)] (close AS "Close")

De screener rapporteert alleen resultaten zodra de klok 2026 of later bereikt, een eenvoudige kalenderpoort op een geplande scan.

Voorbeeld 3, Stop op basis van het jaar (ProOrder)

probuilder
// Stop the strategy at the turn of a chosen year
DEFPARAM CumulateOrders = false
IF CurrentYear >= 2027 THEN
    QUIT
ENDIF
IF close CROSSES OVER Average[20](close) THEN
    BUY 1 CONTRACT AT MARKET
ENDIF

Live legt het systeem zichzelf stil zodra de kalender 2027 ingaat. Backtests kunnen deze tak niet zinvol doorlopen, omdat CurrentYear op elke bar het jaar van de testrun bevat.

Veelvoorkomende fouten en valkuilen

  • Dezelfde waarde op elke bar. CurrentYear beschrijft de kalender, niet de grafiek, dus een conditie zoals CurrentYear = 2026 is waar of onwaar voor de hele berekening in één keer. Jaarlogica per bar vereist Year.
  • Blinde vlek in de backtest. In een backtest geeft CurrentYear het jaar waarin de test wordt uitgevoerd, dus jaarfilters die erop zijn gebouwd laten alles door of blokkeren alles en leveren resultaten op die niet overeenkomen met live gedrag.
  • Tijdzone van de markt, niet de lokale tijd. Het jaar is gerefereerd aan de markt van het instrument en corrigeert niet voor de lokale afwijking van de kijker.
  • Geen offset tussen haakjes. CurrentYear[1] compileert niet. Alleen constanten per bar zoals Year[N] accepteren een index.
  • Year, viercijferig jaar van het slot van elke bar, de variant per bar van deze constante.
  • OpenYear, jaar bij de open van elke bar.
  • CurrentMonth, maand van de klok op het moment van uitvoering.
  • CurrentHour, uur van de klok op het moment van uitvoering.
  • CurrentTime, volledige kloktijd bij uitvoering als geheel getal in HHMMSS.
  • Month, maand van elke bar.
  • Day, dag van de maand van elke bar.
  • TIME, sluitingstijd van elke bar als geheel getal in HHMMSS.