Month
Month gibt in ProBuilder die Monatsnummer (1 bis 12) des Schlussdatums einer Bar zurück. Verwenden Sie den [N]-Versatz für saisonale Filter und Handelslogik nach Monat des Jahres.
Syntax
Month[N]Parameter
| Name | Typ | Standard | Beschreibung |
|---|---|---|---|
| N | Ganzzahl | 0 | Bar-Versatz. 0 liest die aktuelle Bar, 1 die vorherige Bar und so weiter. Wird er weggelassen, wird die aktuelle Bar gelesen. |
So funktioniert es
Month extrahiert die Monatskomponente aus dem Datum, das einem Bar zugeordnet ist. Der Wert stammt vom Schluss-Zeitstempel des Bars, ein Wochenbar, der am 30. Juni öffnet und am 4. Juli schließt, meldet daher Month = 7. Das verwandte Schlüsselwort OpenMonth liest das Eröffnungsdatum desselben Bars und würde in diesem Fall 6 melden. Auf den meisten Intraday- und Tagesbars stimmen beide überein, aber sie können auf jedem Bar abweichen, der eine Monatsgrenze überspannt.
Der zurückgegebene Wert ist eine ganze Zahl von 1 (Januar) bis 12 (Dezember). Es sind keine Marktdaten beteiligt, das Schlüsselwort arbeitet rein mit dem Zeitstempel, der an jede Bar angehängt ist, daher funktioniert es bei jedem Instrument identisch.
Der [N] Offset liest den Monat früherer Bars. Month[1] ist der Monat des Schlusskurses des vorherigen Bars, was eine einfache Möglichkeit ist, einen Monatswechsel zu erkennen: wenn Month <> Month[1] der aktuelle Bar der erste ist, der in einem neuen Monat schließt.
Typische Verwendungen sind saisonale Studien, das Ausschließen bestimmter Monate aus einem Backtest und das Auslösen monatlicher Rebalancing-Logik.
Beispiele
Beispiel 1, Prüfen, ob die vorherige Bar im Dezember geschlossen hat (Indikator)
// Read the closing month of the previous bar
lastMonth = Month[1]
IF lastMonth = 12 THEN
itWereChristmasMonth = 1
ELSE
itWereChristmasMonth = 0
ENDIF
RETURN itWereChristmasMonthDer Indikator zeichnet 1, wenn die vorherige Bar im Dezember schloss, und sonst 0. Die [1] Offset verschiebt die Abfrage einen Bar zurück.
Beispiel 2, Saisonales Nur-Long-Fenster (ProBacktest)
// Only hold longs from November through April
inSeason = Month >= 11 OR Month <= 4
IF inSeason AND close CROSSES OVER Average[100](close) THEN
BUY 1 SHARES AT MARKET
ENDIF
IF NOT inSeason AND LONGONMARKET THEN
SELL AT MARKET
ENDIFDie Strategie nimmt Trendeinstiege nur im Fenster von November bis April vor und löst jeden offenen Long auf, sobald der Kalender die Saison verlässt. Beachten Sie die OR-Verknüpfung, das Fenster läuft über das Jahresende hinweg.
Beispiel 3, Auf einen Januar-Schluss screenen (ProScreener)
// Match instruments whose latest bar closed in January above its 200-bar average
inJanuary = Month = 1
aboveTrend = close > Average[200](close)
SCREENER[inJanuary AND aboveTrend] (Month AS "Month")Der Screener gibt Instrumente zurück, die auf Bars, die im Januar geschlossen haben, über ihrem langen Durchschnitt handeln, und zeigt die Monatsnummer als Ergebnisspalte an.
Häufige Fehler und Stolperfallen
- Schlussdatum, nicht Eröffnungsdatum. Month liest den Schlusszeitstempel des Bars. Wochen- oder Monats-Bars, die eine Monatsgrenze überspannen, melden den späteren Monat. Verwenden Sie
OpenMonthwenn das Eröffnungsdatum das maßgebliche ist. - Monate beginnen bei 1. Der Bereich reicht von 1 bis 12, es gibt keinen Monat 0. Bedingungen wie
Month = 0stimmen nie überein, und Off-by-one-Umrechnungen aus nullbasierten Systemen erzeugen stille Logikfehler. - Fenster über das Jahresende benötigen OR. Eine Saison wie November bis April überspannt die Jahresgrenze.
Month >= 11 AND Month <= 4trifft nie zu, die korrekte Form istMonth >= 11 OR Month <= 4. - Monatswechsel erkennen. Ein Vergleich mit einer Konstante löst auf jedem Bar dieses Monats aus. Um einmal pro Monat zu handeln, vergleichen Sie aufeinanderfolgende Bars mit
Month <> Month[1].
Verwandte Befehle
OpenMonth, Monat des Eröffnungsdatums der aktuellen Bar, die Schwesterform von Month.CurrentMonth, Monat der Systemuhr statt eines Bar-Zeitstempels.Day, Tag des Monats des Schlussdatums eines Bars.Year, Jahr des Schlussdatums einer Bar.Today, Datum des aktuellen Bars im Format YYYYMMDD.Hour, Stundenkomponente der Schlusszeit einer Bar.DayOfWeek, Wochentag des Schlussdatums eines Bars.