Únete hoy
ProBacktest/probacktest · proorder

ShortTriggered

ShortTriggered en ProBacktest y ProOrder es verdadero en el bar en que se ejecuta una orden de entrada short. Úsalo para ejecutar lógica de preparación una vez por ejecución, con el índice de bar opcional.

Sintaxis

probuilder
ShortTriggered[N]

Cómo funciona

ShortTriggered devuelve verdadero en la bar en la que se abrió una posición short. El índice opcional N mira atrás un número de bars: ShortTriggered[1] comprueba el bar anterior, y ShortTriggered sin índice, equivalente a ShortTriggered[0], comprueba el bar actual.

Resulta útil cuando una orden short pendiente, una Working Order, se ejecuta a mitad de una vela y la estrategia necesita saber que ocurrió en ese bar, por ejemplo para fijar un stop o un objetivo inmediatamente después de la entrada. A diferencia de SHORTONMARKET, que permanece verdadero mientras se mantenga el short, ShortTriggered es cierto solo en el propio bar de ejecución.

Ejemplos

Ejemplo 1, Reaccionar en el bar de ejecución anterior (ProOrder)

probuilder
// Run logic if a short was opened on the previous bar
IF ShortTriggered[1] THEN
    // actions to take one bar after the short filled
ENDIF

Este es el patrón de la referencia oficial. ShortTriggered[1] es verdadero cuando un short se ejecutó exactamente una barra antes.

Ejemplo 2, Fijar un stop justo después de la entrada (ProOrder)

probuilder
DEFPARAM CumulateOrders = false
// Enter short on a break of the 20-bar low, then place a protective stop
IF NOT ShortOnMarket AND close CROSSES UNDER Lowest[20](low) THEN
    SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// On the bar the short fills, attach a stop above the entry
IF ShortTriggered THEN
    SET STOP LOSS 20
ENDIF

El ShortTriggered bloque se ejecuta solo en el bar de la ejecución, que es el momento natural para adjuntar un stop de protección a la nueva posición.

Ejemplo 3, Contar las ejecuciones short recientes (ProBacktest)

probuilder
// Detect a short fill within the last three bars
recentShort = ShortTriggered[0] OR ShortTriggered[1] OR ShortTriggered[2]
IF recentShort THEN
    // a short was opened within the last three bars
ENDIF

Comprobar varios índices cubre una ventana corta después de la entrada cuando la estrategia necesita actuar poco después de una ejecución y no solo en el bar exacto.

Errores y trampas habituales

  • Solo el bar de ejecución. ShortTriggered es cierto solo en la bar de ejecución. Para comprobar si actualmente se mantiene un short entre bars, usa SHORTONMARKET.
  • Solo el lado short. Informa de ejecuciones short. Para entradas long usa LongTriggered.
  • Dirección del índice. N cuenta bars hacia atrás en el pasado. ShortTriggered[1] es un bar atrás, no un bar adelante.
  • Órdenes pendientes en el mismo bar. El valor está diseñado para órdenes pendientes que se ejecutan dentro de una vela. Una orden a mercado que se abre y se cierra en el mismo bar puede comportarse de forma distinta, así que verifica la sincronización en un backtest.
  • LongTriggered, verdadero en el bar en que se ejecuta una orden long.
  • SHORTONMARKET, verdadero mientras hay una posición short abierta.
  • ONMARKET, verdadero mientras hay alguna posición abierta.
  • SELLSHORT, abre una posición short.
  • EXITSHORT, cierra una posición short.
  • SET, STOP, adjunta las órdenes de protección en la bar de ejecución.