Jetzt beitreten
Datum und Uhrzeit/probuilder · probacktest · proorder · proscreener

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

probuilder
Month[N]

Parameter

NameTypStandardBeschreibung
NGanzzahl0Bar-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)

probuilder
// Read the closing month of the previous bar
lastMonth = Month[1]
IF lastMonth = 12 THEN
  itWereChristmasMonth = 1
ELSE
  itWereChristmasMonth = 0
ENDIF
RETURN itWereChristmasMonth

Der 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)

probuilder
// 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
ENDIF

Die 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)

probuilder
// 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 OpenMonth wenn 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 = 0 stimmen 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 <= 4 trifft nie zu, die korrekte Form ist Month >= 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].
  • 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.