Iscriviti ora
ProBacktest/probacktest · proorder

ShortTriggered

ShortTriggered in ProBacktest e ProOrder è vero sul bar in cui un ordine di ingresso short viene eseguito. Usalo per eseguire logica di impostazione una volta per esecuzione, con l'indice di bar opzionale.

Sintassi

probuilder
ShortTriggered[N]

Come funziona

ShortTriggered restituisce true sul bar in cui è stata aperta una posizione short. L'indice opzionale N guarda indietro un certo numero di bars: ShortTriggered[1] controlla la bar precedente, e ShortTriggered senza indice, equivalente a ShortTriggered[0], controlla il bar corrente.

È utile quando un ordine short pendente, un Working Order, viene eseguito a metà di una candela e la strategia deve sapere che è avvenuto su quel bar, per esempio per impostare uno stop o un target subito dopo l'ingresso. A differenza di SHORTONMARKET, che resta vero per tutto il tempo in cui lo short è mantenuto, ShortTriggered è vero solo sulla bar di esecuzione stessa.

Esempi

Esempio 1, Reagire sul bar di esecuzione precedente (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

Questo è il pattern della documentazione ufficiale. ShortTriggered[1] è vero quando uno short è stato eseguito esattamente un bar prima.

Esempio 2, Impostare uno stop subito dopo l'ingresso (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

Il ShortTriggered blocco viene eseguito solo sul bar di esecuzione, che è il momento naturale per applicare uno stop protettivo alla nuova posizione.

Esempio 3, Contare le esecuzioni short recenti (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

Controllare più indici copre una breve finestra dopo l'ingresso, quando la strategia deve agire poco dopo un'esecuzione e non solo sul bar esatto.

Errori e insidie comuni

  • Solo il bar di esecuzione. ShortTriggered è vero solo sulla bar di esecuzione. Per verificare se una posizione short è aperta tra le bar, usa SHORTONMARKET.
  • Solo lato short. Riporta le esecuzioni short. Per gli ingressi long usa LongTriggered.
  • Direzione dell'indice. N conta i bar indietro nel passato. ShortTriggered[1] è una bar indietro, non una bar avanti.
  • Ordini pendenti sullo stesso bar. Il valore è pensato per ordini pendenti che vengono eseguiti all'interno di una candela. Un ordine a mercato che apre e chiude nello stesso bar può comportarsi in modo diverso, quindi verifica il timing in un backtest.
  • LongTriggered, vero sul bar in cui un ordine long viene eseguito.
  • SHORTONMARKET, vero mentre una posizione short è aperta.
  • ONMARKET, vero mentre una qualsiasi posizione è aperta.
  • SELLSHORT, apre una posizione short.
  • EXITSHORT, chiude una posizione short.
  • SET, STOP, collega gli ordini protettivi alla barra di esecuzione.