TomorrowOpen
TomorrowOpen retarde un ordre ProBacktest ou ProOrder jusqu'à l'ouverture du jour de bourse suivant, comme dans BUY 1 CONTRACT AT MARKET TomorrowOpen pour les stratégies journalières.
Syntaxe
AT MARKET TomorrowOpenComment ça marche
Par défaut, un ordre au marché envoyé par une stratégie s'exécute au prochain prix disponible. Ajouter TomorrowOpen reporte l'exécution à l'ouverture de la séance suivante. Les conditions sont toujours évaluées sur le bar actuel, seule l'exécution est déplacée au premier prix de la séance suivante.
Le modificateur convient aux stratégies construites autour des données de clôture journalières. Un signal calculé sur le bar journalier terminé ne peut pas raisonnablement être exécuté à cette même clôture, et une exécution quelque part dans la séance overnight n'est pas non plus ce que vise un modèle de fin de journée. Exécuter à l'ouverture officielle du jour suivant garde le backtest honnête et correspond à la façon dont de tels systèmes sont tradés manuellement.
TomorrowOpen diffère de NextBarOpen dans l'unité du délai. NextBarOpen attend l'ouverture de la bar suivante dans l'unité de temps du graphique, quelle que soit cette unité de temps. TomorrowOpen attend toujours l'ouverture de la prochaine séance, même si plusieurs bars intraday se produisent entre-temps. Sur un graphique journalier, les deux coïncident.
Exemples
Exemple 1, Entrer en long à l'ouverture du jour suivant (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
ENDIFLa condition est vérifiée sur le bar journalier terminé, et lorsqu'elle est satisfaite, un contrat est acheté au prix d'ouverture du jour suivant. Cela reprend l'exemple de référence de l'instruction.
Exemple 2, Sortir à l'ouverture suivante plutôt qu'en overnight (ProBacktest)
// Leave the trade at tomorrow's open once momentum fades
exitSignal = close < close[3]
IF LongOnMarket AND exitSignal THEN
SELL AT MARKET TomorrowOpen
ENDIFPlutôt que de liquider la position dans la clôture ou dans la séance overnight, la sortie est programmée pour la fixation d'ouverture du jour suivant, où les stratégies journalières traitent habituellement.
Exemple 3, Entrée short sur une clôture journalière faible (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
ENDIFUne clôture sous le plus bas des 10 jours précédents déclenche un short qui s'ouvre au premier prix de la séance suivante, avec un stop de protection de 40 points attaché.
Erreurs et pièges courants
- Ordres au marché uniquement. Le modificateur étend
AT MARKET. Il ne se combine pas avec les ordres en attenteSTOPouLIMITniveaux de prix, ces formes d'ordre portent leur propre logique de déclenchement. - Mauvaise unité de décalage sur les graphiques intraday. Sur un graphique intraday
TomorrowOpenattend le jour suivant, pas la bar suivante. Un code qui vise un décalage d'une seule bar nécessiteNextBarOpenà la place. Sur les graphiques journaliers, la distinction disparaît. - Le signal peut devenir obsolète pendant la nuit. Les conditions sont évaluées sur la clôture courante, mais l'exécution a lieu après le gap overnight. Un gap défavorable important exécute l'ordre malgré tout, le risque de gap doit donc être géré par la position size ou par le stop, et non par la condition d'entrée.
- Erreurs de portée. Comme le mot-clé appartient au moteur d'ordres, les indicateurs et screeners qui mentionnent
TomorrowOpenne compilent pas. La logique de signal peut vivre dans un indicateur, mais la ligne d'ordre doit rester dans le code de la stratégie.
Instructions liées
NextBarOpen, décale l'exécution à l'ouverture du bar suivant dans l'unité de temps du graphique.BUY, ouvre une position long ou la renforce.SELLSHORT, ouvre une position short ou la renforce.SELL, clôture une position long.EXITSHORT, clôture une position short.MARKET, exécution immédiate au prix courant.LONGONMARKET, vrai tant qu'une position long est ouverte.DEFPARAM, paramètres au niveau de la stratégie tels que CumulateOrders.