Year
Year gibt das vierstellige Jahr eines bars im Chart zurück, etwa 2026. Year akzeptiert einen Klammer-Offset wie Year[10], um das Jahr eines früheren bars zu lesen.
Syntax
Year[N]So funktioniert es
Year gibt das Kalenderjahr des verarbeiteten Bars zurück, als vierstellige Ganzzahl wie 2026. Es liest das Datum, das an jedem Bar hängt, und ändert sich daher entlang der Zeitachse: Bars aus 2024 geben 2024 zurück, Bars aus 2025 geben 2025 zurück, und der Wert erhöht sich bei jedem Jahreswechsel.
Der optionale Index N wählt einen Bar relativ zu dem gerade verarbeiteten aus. Year[0], oder einfach Year, ist die aktuelle Bar. Ein positiver N blickt zurück: Year[10] ist das Jahr des Bars zehn Positionen früher. Der Chart muss genug Historie für den angeforderten Offset enthalten, sonst ist der Wert am linken Rand undefiniert. Year funktioniert nur auf zeitbasierten Charts, bei denen jeder Bar ein Datum trägt.
Year ist das Jahr pro Bar. Seine Geschwister sind CurrentYear, das das Jahr der Uhr zum Ausführungszeitpunkt liest und auf jeder Bar identisch ist, und OpenYear, der das Jahr bei der Eröffnung jedes Bars liest. Kombinieren Sie Year mit Month und Day wenn Sie ein vollständiges Kalenderdatum prüfen müssen.
Beispiele
Beispiel 1, Jahr eines früheren bars (Indikator)
// Retrieve the year of the bar exactly 10 periods before the current bar
myYear = Year[10]
RETURN myYearDer Indikator zeichnet an jedem Punkt das Jahr des bars zehn Positionen zurück, eine Stufenlinie, die an jeder Jahresgrenze springt, um zehn bars nach rechts verschoben.
Beispiel 2, Scan nach Jahr (ProScreener)
// Match instruments whose latest bar falls in 2026
thisYear = Year = 2026
SCREENER[thisYear AND close > Average[50](close)] (Year AS "Year")Der Screener gibt nur Instrumente zurück, deren jüngster Bar auf 2026 datiert ist, mit dem Jahr daneben angezeigt, nützlich, wenn der letzte Bar eines Charts hinter dem Kalender zurückliegen kann.
Beispiel 3, Einstiegssperre beim Jahreswechsel (ProOrder)
// 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
ENDIFDie Bedingung Year > Year[1] ist auf dem ersten Bar eines neuen Kalenderjahres true, daher nutzt die Strategie es als jährliches Einstiegstor für saisonale Ideen.
Häufige Fehler und Stolperfallen
- Vierstelliges Jahr. Year gibt ein vollständiges Jahr wie 2026 zurück, keine zweistellige Form. Vergleiche müssen die ganze Zahl verwenden.
- Nur zeitbasierte Charts. Year benötigt bars, die ein Datum tragen. Auf nicht zeitbasierten Charts ist der Wert nicht aussagekräftig.
- Pro Bar, nicht die Uhr. Year liest das Datum jedes Bars und ändert sich entlang der Achse. Für das Jahr des Zeitpunkts, an dem der Code läuft, verwenden Sie
CurrentYear. - Offset jenseits der Historie.
Year[N]benötigtNBars Historie. Am linken Rand des Charts ist der Wert undefiniert.
Verwandte Befehle
CurrentYear, Jahr der Uhr zum Ausführungszeitpunkt.OpenYear, Jahr bei der Eröffnung jedes Bars.Month, Monat jedes bars, kombiniert mit Year für ein vollständigeres Datum.Day, Tag des Monats jedes Bars.DayOfWeek, Wochentag jedes Bars, 1 für Montag bis 7 für Sonntag.Days, vollständige Tage, die seit dem 1. Januar 1900 bis zu jedem Bar vergangen sind.TIME, Schlusszeit jedes Bars als HHMMSS-Ganzzahl.Timestamp, UNIX-Zeit des Schlusses jedes Bars.