OpenDay
OpenDay gibt in ProBuilder den Tag des Monats (1 bis 31) zurück, an dem der aktuelle Bar eröffnet hat. Nützlich für Logik, die an bestimmte Kalendertage jedes Monats gebunden ist.
Syntax
OpenDaySo funktioniert es
OpenDay liest den Eröffnungszeitstempel des aktuellen Bars und gibt dessen Tag-im-Monat-Komponente als Ganzzahl zwischen 1 und 31 zurück. Das Schlüsselwort nimmt keine Parameter und benötigt keine Marktdaten, es arbeitet ausschließlich mit dem Datum, das dem Bar anhängt.
Das Schlüsselwort gehört zur Open-Familie, die beschreibt, wann eine Bar eröffnet hat. Das bloße Gegenstück Day beschreibt stattdessen das Schlussdatum des Bars. Auf Intraday- und Tagesbars stimmen beide meist überein, aber auf Wochen- oder Monatsbars oder auf jedem Bar, der über Mitternacht reicht, können Eröffnungs- und Schlusstag abweichen.
Da der Wert ein Tag des Monats ist, sagt er nichts über den Wochentag aus. Eine Bedingung auf OpenDay = 1 löst am ersten im Datenbestand vorhandenen Kalendertag aus, der jeden Monat ein anderer Wochentag sein kann, und kann ganz übersprungen werden, wenn der Erste auf ein Wochenende fällt und an diesem Tag kein Bar öffnet.
Häufige Anwendungen sind Einstiege zum Monatsanfang, monatliche Rebalancing-Ankerpunkte und Untersuchungen des Verhaltens um wiederkehrende Kalendertage wie optionsbezogene Termine.
Beispiele
Beispiel 1, Einen Bar erkennen, der am Monatsersten eröffnet (Indikator)
// Check whether the current bar opened on day 1 of the month
iDay = OpenDay
if iDay = 1 then
// code for bars opening on the first calendar day
firstDay = 1
else
firstDay = 0
endif
RETURN firstDayDer Indikator zeichnet 1 für Bars, die am ersten Tag eines Monats eröffnet haben, und sonst 0, wodurch Kalenderwechsel im Chart sichtbar werden.
Beispiel 2, Einstieg zum Monatsanfang (ProBacktest)
// Buy on the first bar opening in the first three days of each month
startOfMonth = OpenDay <= 3 AND OpenDay[1] > 3
IF startOfMonth AND NOT LONGONMARKET THEN
BUY 1 SHARES AT MARKET
ENDIFDer Vergleich des aktuellen mit dem vorherigen Wert erfasst den Übergang in einen neuen Monat auch dann, wenn Tag 1 auf ein Wochenende fällt und der erste gehandelte Bar an Tag 2 oder 3 eröffnet.
Beispiel 3, Nur früh im Monat screenen (ProScreener)
// Match strong instruments during the first week of the month
earlyMonth = OpenDay <= 7
strong = close > Average[50](close)
SCREENER[earlyMonth AND strong] (OpenDay AS "Open day")Der Screener begrenzt die Ergebnisse auf Bars, die in den ersten sieben Kalendertagen eröffnen, wobei der Eröffnungstag als Ergebnisspalte angezeigt wird.
Häufige Fehler und Stolperfallen
- Eröffnungstag gegenüber Schlusstag. OpenDay bezieht sich auf das Eröffnungsdatum des Bars. Verwandt ist
Dayfolgt dem Schlussdatum und kann auf Bars abweichen, die über Mitternacht oder eine Monatsgrenze reichen. - Tag 1 existiert in den Daten möglicherweise nicht. Wenn der Erste des Monats auf einen handelsfreien Tag fällt, eröffnet an Tag 1 kein Bar. Testen Sie einen kleinen Bereich wie
OpenDay <= 3kombiniert mit einer Übergangsprüfung anstelle exakter Gleichheit. - Kalendertag, nicht Wochentag. Die Werte 1 bis 31 geben den Tag des Monats an. Für Wochentagslogik wie Montagsfilter verwenden Sie
OpenDayOfWeek. - Löst auf jedem passenden Bar aus. Auf Intraday-Charts,
OpenDay = 1ist für alle Bars wahr, die an diesem Tag eröffnen. Kombinieren Sie es mit einem Übergangstest oder einer Zeitbedingung, um nur einmal zu handeln.
Verwandte Befehle
Day, Tag des Monats des Schlussdatums eines Bars, die Geschwisterform von OpenDay.OpenDate, vollständiges Eröffnungsdatum des aktuellen Bars im Format YYYYMMDD.OpenDayOfWeek, Wochentag, an dem der aktuelle Bar eröffnet hat.OpenMonth, Monatsnummer, in der der aktuelle Bar eröffnet hat.OpenYear, Jahr, in dem der aktuelle Bar eröffnet hat.CurrentDayOfWeek, Wochentag der Systemuhr.Today, Datum des aktuellen Bars im Format YYYYMMDD.