TomorrowOpen
TomorrowOpen verzögert eine ProBacktest- oder ProOrder-Order bis zur Eröffnung des nächsten Handelstages, wie in BUY 1 CONTRACT AT MARKET TomorrowOpen für tägliche Strategien.
Syntax
AT MARKET TomorrowOpenSo funktioniert es
Standardmäßig wird eine von einer Strategie gesendete Market-Order zum nächsten verfügbaren Kurs ausgeführt. Das Anhängen von TomorrowOpen verschiebt die Ausführung auf die Eröffnung des nächsten Handelstages. Die Bedingungen werden weiterhin im aktuellen Bar geprüft, nur die Ausführung verschiebt sich auf den ersten Kurs der nächsten Sitzung.
Der Modifikator passt zu Strategien, die auf täglichen Schlusskursdaten aufbauen. Ein Signal, das auf dem fertigen Tages-Bar berechnet wurde, kann realistischerweise nicht zu genau diesem Schlusskurs ausgeführt werden, und eine Ausführung irgendwo innerhalb der Nachtsession ist ebenfalls nicht das, was ein End-of-Day-Modell beabsichtigt. Die Ausführung zur offiziellen Eröffnung des nächsten Tages hält den Backtest ehrlich und entspricht der Art, wie solche Systeme manuell gehandelt werden.
TomorrowOpen unterscheidet sich von NextBarOpen in der Einheit der Verzögerung. NextBarOpen wartet auf die Eröffnung der nächsten Bar in der Zeiteinheit des Charts, welche Zeiteinheit das auch ist. TomorrowOpen wartet immer auf die Eröffnung des nächsten Handelstages, selbst wenn dazwischen mehrere Intraday-Bars auftreten. Auf einem Tageschart fallen beide zusammen.
Beispiele
Beispiel 1, Einen Long zur Eröffnung des nächsten Tages eingehen (ProOrder)
// Signal: close above the 50-day average, evaluated at end of day
LongConditions = close > average[50](close)
IF NOT LongOnMarket AND LongConditions THEN
BUY 1 CONTRACT AT MARKET TomorrowOpen
ENDIFDie Bedingung wird auf dem abgeschlossenen Tages-Bar geprüft, und wenn sie zutrifft, wird ein Kontrakt zum Eröffnungskurs des folgenden Tages gekauft. Dies entspricht dem Referenzbeispiel für diesen Befehl.
Beispiel 2, Zur nächsten Eröffnung statt über Nacht aussteigen (ProBacktest)
// Leave the trade at tomorrow's open once momentum fades
exitSignal = close < close[3]
IF LongOnMarket AND exitSignal THEN
SELL AT MARKET TomorrowOpen
ENDIFAnstatt die Position in den Schluss oder die Nachtsession zu werfen, wird der Ausstieg für die Eröffnungsauktion des nächsten Tages geplant, wo tägliche Strategien typischerweise handeln.
Beispiel 3, Short-Einstieg bei einem schwachen Tagesschluss (ProOrder)
// Short setups detected on the daily close, filled at the next open
weakClose = close < lowest[10](low)[1]
IF NOT onmarket AND weakClose THEN
SELLSHORT 1 CONTRACT AT MARKET TomorrowOpen
SET STOP LOSS 40
ENDIFEin Schlusskurs unter dem vorherigen 10-Tage-Tief löst einen Short aus, der zum ersten Kurs der nächsten Session eröffnet wird, mit einem angehängten Schutzstop von 40 Punkten.
Häufige Fehler und Stolperfallen
- Nur Market-Orders. Der Modifikator erweitert
AT MARKET. Es kombiniert sich nicht mit Pending-STOPoderLIMITPreisniveaus, diese Orderformen haben ihre eigene Auslöselogik. - Falsche Verzögerungseinheit auf Intraday-Charts. In einem Intraday-Chart
TomorrowOpenwartet auf den nächsten Tag, nicht auf den nächsten Bar. Code, der eine Verzögerung von einem Bar beabsichtigt, benötigtNextBarOpenstattdessen. Auf Tages-Charts entfällt der Unterschied. - Das Signal kann über Nacht veralten. Bedingungen werden am aktuellen Schlusskurs ausgewertet, die Ausführung erfolgt jedoch nach dem Übernacht-Gap. Ein großes ungünstiges Gap führt die Order trotzdem aus, daher muss das Gap-Risiko über das Position Sizing oder den Stop gehandhabt werden, nicht über die Einstiegsbedingung.
- Gültigkeitsbereichsfehler. Da das Schlüsselwort zur Order-Engine gehört, gilt für Indikatoren und Screener mit Verweis auf
TomorrowOpenlassen sich nicht kompilieren. Signallogik kann in einem Indikator stehen, aber die Order-Zeile muss im Strategie-Code bleiben.
Verwandte Befehle
NextBarOpen, verzögert die Ausführung auf die Eröffnung des nächsten Bars in der Chart-Zeiteinheit.BUY, eröffnet eine Long-Position oder baut sie aus.SELLSHORT, eröffnet eine Short-Position oder baut sie aus.SELL, schließt eine Long-Position.EXITSHORT, schließt eine Short-Position.MARKET, sofortige Ausführung zum aktuellen Kurs.LONGONMARKET, wahr, solange eine Long-Position offen ist.DEFPARAM, Parameter auf Strategieebene wie CumulateOrders.