Today
Today gibt das Datum eines Bars N Handelstage vor dem aktuellen als YYYYMMDD-Ganzzahl zurück. Today[0] liefert in ProBuilder-Skripten das Datum des aktuellen Tages.
Syntax
Today
Today[N]Parameter
| Name | Typ | Standard | Beschreibung |
|---|---|---|---|
| N | Ganzzahl | 0 | Anzahl der Handelsperioden vor dem aktuellen Bar. 0 ist der aktuelle Tag; N muss nicht-negativ sein. |
So funktioniert es
Today gibt Daten als kompakte ganze Zahlen im YYYYMMDD-Format aus, aus dem 1. März 2024 wird also 20240301. Ohne Index, oder mit Today[0], gibt das Schlüsselwort das Datum des aktuellen Handelstags zurück. Mit einem positiven Index geht es durch die Chart-Historie zurück: Today[10] ist das Datum des Bars 10 Handelsperioden vor dem aktuellen.
Der Index zählt nur Handelstage. Wochenenden und Markt-Feiertage erscheinen nicht in den Daten, werden also übersprungen statt gezählt, und Today[5] an einem Montag reicht typischerweise mehr als fünf Kalendertage zurück.
Da YYYYMMDD-Ganzzahlen mit der Zeit größer werden, sortieren sie mit normalen Vergleichsoperatoren korrekt. Today >= 20240301 ist ein gültiger Weg, Logik auf Daten ab dem 1. März 2024 zu beschränken. Was das Format nicht unterstützt, ist Kalenderarithmetik: die Differenz zwischen zwei YYYYMMDD-Werten ist keine Anzahl von Tagen, weshalb Messungen verstrichener Zeit stattdessen Timestamp stattdessen.
Beispiele
Beispiel 1, Ein Datum zehn Handelstage zurück lesen (Indikator)
// Date of the bar 10 trading days before the current one
previousDate = Today[10]
RETURN previousDateDer Indikator gibt das YYYYMMDD-Datum des Bars zehn Handelsperioden früher zurück und überspringt dabei Wochenenden und Feiertage.
Beispiel 2, Eine Strategie ab einem festen Datum aktivieren (ProBacktest)
// Ignore all signals before 1 March 2024
IF Today >= 20240301 THEN
IF close CROSSES OVER Average[20](close) THEN
BUY 1 SHARES AT MARKET
ENDIF
ENDIFDer Datumsfilter beschränkt den Backtest auf Bars am oder nach dem gewählten Tag, selbst wenn eine viel längere Historie im Chart geladen ist.
Beispiel 3, Den ersten Bar eines neuen Tages erkennen (ProScreener)
// Match instruments whose current bar starts a new calendar date
newDay = Today > Today[1]
SCREENER[newDay] ("New date")Da YYYYMMDD-Werte mit der Zeit zunehmen, isoliert ein Datum des aktuellen Bars, das das vorherige übersteigt, den ersten Bar jedes neuen Tages.
Häufige Fehler und Stolperfallen
- Datumssubtraktion ist keine Tageszählung.
20240301 - 20240229entspricht72, nicht 1. YYYYMMDD-Ganzzahlen sind positionsbasierte Zusammensetzungen, daher sind Differenzen über Monats- oder Jahresgrenzen hinweg bedeutungslos. Zeitdauern erfordernTimestamp. - Der Index zählt Handelstage. Handelsfreie Tage fehlen in den Daten, daher
Today[5]greift fünf Bars der Tagesreihe zurück, nicht fünf Kalendertage. Um Feiertage herum wächst der Kalenderabstand weiter. - Indizierung über die geladene Historie hinaus. Wenn N die Anzahl der im Chart verfügbaren Bars übersteigt, hat die Abfrage keine Daten zum Lesen und das Ergebnis ist unbrauchbar. Halten Sie N innerhalb des geladenen Bereichs oder sichern Sie sich gegen frühe Bars ab.
- Zweistellige Abkürzungen schlagen fehl. Datumsangaben müssen vollständig geschrieben werden,
20240301, niemals240301. Abgeschnittene Literale vergleichen gegen die falsche Größenordnung, und die Bedingung verhält sich unbemerkt falsch.
Verwandte Befehle
Yesterday, Datum des Tages vor einem gegebenen Bar.Day, Tageskomponente des Bar-Datums.Month, Monatskomponente des Bar-Datums.Year, Jahreskomponente des Bar-Datums.DayOfWeek, Wochentag des Bars als Zahl.OpenDate, Datum, an dem der Bar eröffnet hat, im Format YYYYMMDD.TIME, Schlusszeit eines Bars im Format HHMMSS.Days, Anzahl der seit 1900 vergangenen Tage für lineare Tagesberechnungen.