OpenMonth
OpenMonth gibt den Monat zurück, 1 bis 12, in dem der aktuelle Bar eröffnet hat. Verwenden Sie Month für den Monat des Bar-Schlusses und CurrentMonth für den aktuellen Kalender.
Syntax
OpenMonthSo funktioniert es
OpenMonth gibt den Kalendermonat zurück, in dem der verarbeitete Bar eröffnet hat, von 1 für Januar bis 12 für Dezember. Es liest den Zeitstempel der Eröffnung jedes Bars, ändert sich also entlang der Zeitachse, während die Berechnung von Bar zu Bar läuft.
OpenMonth ist das auf der Eröffnung basierende Mitglied des Monats-Trios. Seine Geschwister sind Month, die den Monat des Schlusskurses jedes Bars liest, und CurrentMonth, der den Monat der Uhr im Moment der Codeausführung liest und auf jedem Bar identisch ist. Auf Tages- und kürzeren Zeiteinheiten sind Eröffnungs- und Schlussmonat eines Bars fast immer gleich; der Unterschied zählt vor allem bei Wochen- oder Monatsbars, die eine Monatsgrenze überspannen.
Die Konstante nimmt keine Parameter und keinen Klammer-Offset. Sie passt zu saisonaler Logik, die sich am Monat des Bar-Beginns orientiert, etwa um den ersten Bar eines neuen Monats zu isolieren oder auf eine bestimmte Saison zu filtern.
Beispiele
Beispiel 1, Januar-Eröffnungsflag (Indikator)
// Flag bars that opened in January
iMonth = OpenMonth
IF iMonth = 1 THEN
openedInJan = 1
ELSE
openedInJan = 0
ENDIF
RETURN openedInJanDer Indikator zeichnet 1 auf Bars, deren Eröffnung in den Januar fällt, und 0 in jedem anderen Monat, eine einfache Möglichkeit, den Jahresbeginn im Chart hervorzuheben.
Beispiel 2, Suche nach Eröffnungen im vierten Quartal (ProScreener)
// Match instruments whose latest bar opened in the fourth quarter
q4Open = (OpenMonth >= 10) AND (OpenMonth <= 12)
SCREENER[q4Open AND close > Average[50](close)] (OpenMonth AS "OpenMonth")Der Screener gibt nur Instrumente zurück, deren jüngster Bar im Oktober, November oder Dezember eröffnet hat, wobei der Eröffnungsmonat daneben angezeigt wird.
Beispiel 3, Einstiegsfilter für einen neuen Monat (ProOrder)
// Allow entries only on the first bar of a new month
DEFPARAM CumulateOrders = false
newMonth = OpenMonth <> Month[1]
IF newMonth AND close CROSSES OVER Average[20](close) THEN
BUY 1 CONTRACT AT MARKET
ENDIFDie Bedingung vergleicht den Eröffnungsmonat des aktuellen Bars mit dem Schlussmonat des vorherigen Bars, ist also auf dem ersten Bar nach einem Monatswechsel wahr und ergibt einen Einstiegsfilter, der einmal pro Monat greift.
Häufige Fehler und Stolperfallen
- Open, nicht Close. OpenMonth liest den Monat der Bar-Eröffnung. Für den Close verwenden Sie
Month. Die beiden unterscheiden sich selten, außer auf Bars, die eine Monatsgrenze überspannen. - Nicht der aktuelle Kalender. OpenMonth ist ein Wert pro Bar, der sich entlang des Charts ändert. Für den Monat des Zeitpunkts, an dem der Code läuft, verwenden Sie
CurrentMonth. - Enthält kein Jahr. OpenMonth gibt nur die Monatsnummer zurück, sodass Januar 2025 und Januar 2026 identisch aussehen. Kombinieren Sie es mit
OpenYearoderYearwenn das Jahr relevant ist. - Kein Bracket-Offset.
OpenMonth[1]lässt sich nicht kompilieren. Für den Monat eines früheren Bars verwenden SieMonth[N].
Verwandte Befehle
Month, Monat des Schlusses jedes Bars.CurrentMonth, Monat der Uhr zum Ausführungszeitpunkt.OpenYear, Jahr bei der Eröffnung jedes Bars.OpenDay, Tag des Monats bei der Eröffnung jedes Bars.OpenTime, Eröffnungszeit jedes Bars als HHMMSS-Ganzzahl.Year, vierstelliges Jahr jedes Bars.Day, Tag des Monats jedes Bars.TIME, Schlusszeit jedes Bars als HHMMSS-Ganzzahl.