CurrentMinute
CurrentMinute gibt die Minute der Uhr zum Ausführungszeitpunkt zurück, 0 bis 59, auf jedem Bar des Charts identisch. Verwenden Sie Minute, um die Minute des Schlusses jedes Bars zu lesen.
Syntax
CurrentMinuteSo funktioniert es
CurrentMinute liest die Uhr zum Zeitpunkt der Codeausführung und gibt die Minute innerhalb der aktuellen Stunde zurück, von 0 bis 59. Referenz ist die Zeitzone des Marktes des Instruments, die von der des lokalen Rechners abweichen kann. Die Konstante nimmt keine Parameter und keinen Klammer-Offset an.
Der Wert gehört zur Current-Familie der Datums- und Zeitkonstanten, die den Moment der Ausführung beschreiben und nicht einen Bar im Chart. Jeder Bar einer Berechnung sieht daher dieselbe Zahl: Ein um 14:20 aktualisierter Indikator gibt auf jedem historischen Bar 20 zurück. Das Gegenstück pro Bar ist Minute, der die Minute des Schlusses jeder verarbeiteten Bar zurückgibt und sich entlang der Zeitachse ändert. Auf historische Daten angewandte Session-Filter gehören zu Minute oder TIME; CurrentMinute beschreibt die aktuelle Uhrzeit.
In einem live laufenden ProOrder-System ist CurrentMinute sinnvoll, da der Code in Echtzeit ausgeführt wird, während die Bars eintreffen. In einem Backtest spiegelt es die Minute wider, in der der Test läuft, was es für historische Einstiegs- oder Ausstiegsbedingungen unbrauchbar macht.
Beispiele
Beispiel 1, Markierung zum Stundenbeginn (Indikator)
// Set the flag when the script executes in the first minute of an hour
IF (CurrentMinute = 0) THEN
onTheHour = 1
ELSE
onTheHour = 0
ENDIF
RETURN onTheHourDer Indikator zeichnet über den gesamten Chart 1, wenn er zwischen Minute 0 und Minute 0 der aktuellen Stunde neu berechnet wird, und 0 zu jedem anderen Zeitpunkt innerhalb der Stunde.
Beispiel 2, Scan zu einer festgelegten Minute (ProScreener)
// Return matches only during the first half of the current hour
inFirstHalf = CurrentMinute < 30
SCREENER[inFirstHalf AND close > Average[20](close)] (close AS "Close")Der Screener gibt eine leere Liste zurück, sobald die Uhr Minute 30 überschreitet, eine Möglichkeit, einen geplanten Scan in der zweiten Hälfte jeder Stunde still zu halten.
Beispiel 3, Minutengenau ausgerichteter Einstieg (ProOrder)
// Only allow entries near the top of the hour
DEFPARAM CumulateOrders = false
readyToTrade = CurrentMinute <= 5
IF readyToTrade AND close CROSSES OVER Average[20](close) THEN
BUY 1 CONTRACT AT MARKET
ENDIFIm Live-Betrieb nimmt das System nur Signale in den ersten fünf Minuten der Stunde an. Backtests können diesen Zweig nicht sinnvoll durchlaufen, da CurrentMinute auf jedem Bar die Minute des Testlaufs enthält.
Häufige Fehler und Stolperfallen
- Auf jedem Bar derselbe Wert. CurrentMinute beschreibt die Uhr, nicht den Chart, daher ist eine Bedingung wie
CurrentMinute = 0ist für die gesamte Berechnung auf einmal true oder false. Zeitlogik pro Bar benötigtMinuteoderTIME. - Blinder Fleck im Backtest. In einem Backtest gibt CurrentMinute die Minute zurück, in der der Test ausgeführt wird, sodass darauf aufgebaute Filter pauschal durchlassen oder pauschal blockieren und Ergebnisse erzeugen, die dem Live-Verhalten nicht entsprechen.
- Zeitzone des Marktes, nicht Ortszeit. Die Minute bezieht sich auf den Markt des Instruments. Das Ablesen der Uhr berücksichtigt den lokalen Zeitversatz des Betrachters nicht.
- Kein Bracket-Offset.
CurrentMinute[1]lässt sich nicht kompilieren. Nur Konstanten pro Bar wieMinute[N]akzeptieren einen Index.
Verwandte Befehle
Minute, Minute des Schlusses jedes Bars, das bar-bezogene Gegenstück zu dieser Konstante.OpenMinute, Minute bei der Eröffnung jedes Bars.CurrentHour, Stunde der Uhr zum Ausführungszeitpunkt.CurrentSecond, Sekunde der Uhr zum Ausführungszeitpunkt.CurrentTime, vollständige Uhrzeit bei Ausführung als HHMMSS-Ganzzahl.CurrentYear, Jahr der Uhr zum Ausführungszeitpunkt.TIME, Schlusszeit jedes Bars als HHMMSS-Ganzzahl.Timestamp, UNIX-Zeit des Schlusses jedes Bars.