TomorrowOpen
TomorrowOpen retrasa una orden de ProBacktest o ProOrder hasta la apertura del siguiente día de negociación, como en BUY 1 CONTRACT AT MARKET TomorrowOpen para estrategias diarias.
Sintaxis
AT MARKET TomorrowOpenCómo funciona
Por defecto, una orden a mercado enviada por una estrategia se ejecuta al siguiente precio disponible. Añadir TomorrowOpen retrasa la ejecución hasta la apertura del siguiente día de negociación. Las condiciones se siguen evaluando en el bar actual, solo la ejecución se mueve al primer precio de la siguiente sesión.
El modificador es adecuado para estrategias construidas en torno a los datos de cierre diarios. Una señal calculada en la bar diaria terminada no puede ejecutarse de forma realista en ese mismo cierre, y ejecutarla en algún punto de la sesión nocturna tampoco es lo que pretende un modelo de fin de día. Ejecutar en la apertura oficial del día siguiente mantiene honesto el backtest y coincide con la forma en que esos sistemas se operan manualmente.
TomorrowOpen difiere de NextBarOpen en la unidad de retardo. NextBarOpen espera la apertura de la siguiente bar en el marco temporal del gráfico, sea cual sea ese marco temporal. TomorrowOpen siempre espera a la apertura del siguiente día de negociación, aunque haya varias barras intraday en medio. En un gráfico diario ambos coinciden.
Ejemplos
Ejemplo 1, Entrar en long en la apertura del día siguiente (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 condición se comprueba en la bar diaria completada y, cuando se cumple, se compra un contrato al precio de apertura del día siguiente. Esto refleja el ejemplo de referencia de la instrucción.
Ejemplo 2, Salir en la siguiente apertura en lugar de durante la noche (ProBacktest)
// Leave the trade at tomorrow's open once momentum fades
exitSignal = close < close[3]
IF LongOnMarket AND exitSignal THEN
SELL AT MARKET TomorrowOpen
ENDIFEn lugar de soltar la posición en el cierre o en la sesión nocturna, la salida se programa para la subasta de apertura del día siguiente, donde suelen operar las estrategias diarias.
Ejemplo 3, Entrada short en un cierre diario débil (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
ENDIFUn cierre por debajo del mínimo de los 10 días anteriores desencadena un short que se abre al primer precio de la siguiente sesión, con un stop de protección de 40 puntos asociado.
Errores y trampas habituales
- Solo órdenes a mercado. El modificador amplía
AT MARKET. No se combina con órdenes pendientesSTOPoLIMITniveles de precio, esas formas de orden llevan su propia lógica de activación. - Unidad de retardo incorrecta en gráficos intraday. En un gráfico intraday
TomorrowOpenespera al día siguiente, no a la siguiente bar. El código que pretende un retardo de una bar necesitaNextBarOpenen su lugar. En gráficos diarios la distinción desaparece. - La señal puede quedar obsoleta durante la noche. Las condiciones se evalúan en el cierre actual, pero la ejecución se produce después del gap nocturno. Un gap adverso grande ejecuta la orden de todos modos, por lo que el riesgo de gap debe gestionarse mediante el position sizing o el stop, no mediante la condición de entrada.
- Errores de ámbito. Como la palabra clave pertenece al motor de órdenes, los indicadores y screeners que mencionan
TomorrowOpenno compilan. La lógica de señales puede vivir en un indicador, pero la línea de la orden debe permanecer en el código de la estrategia.
Instrucciones relacionadas
NextBarOpen, retrasa la ejecución hasta la apertura de la siguiente bar en el marco temporal del gráfico.BUY, abre o amplía una posición long.SELLSHORT, abre o amplía una posición short.SELL, cierra una posición long.EXITSHORT, cierra una posición short.MARKET, ejecución inmediata al precio actual.LONGONMARKET, verdadero mientras hay una posición long abierta.DEFPARAM, parámetros a nivel de estrategia como CumulateOrders.