Rejoignez-nous
ProBacktest/probacktest · proorder

ShortTriggered

ShortTriggered dans ProBacktest et ProOrder est vrai sur la bar où un ordre d'entrée short est exécuté. Utilisez-le pour exécuter une logique d'initialisation une fois par exécution, avec l'index de bar optionnel.

Syntaxe

probuilder
ShortTriggered[N]

Comment ça marche

ShortTriggered renvoie vrai sur la bar où une position short a été ouverte. L'indice optionnel N remonte d'un certain nombre de bars : ShortTriggered[1] vérifie la bar précédente, et ShortTriggered sans indice, équivalent à ShortTriggered[0], vérifie le bar actuel.

C'est utile lorsqu'un ordre short en attente, un Working Order, est exécuté en cours de chandelier et que la stratégie doit savoir que cela s'est produit sur ce bar, par exemple pour placer un stop ou un objectif immédiatement après l'entrée. Contrairement à SHORTONMARKET, qui reste vrai aussi longtemps que le short est conservé, ShortTriggered n'est vrai que sur la bar d'exécution elle-même.

Exemples

Exemple 1, Réagir sur la bar d'exécution précédente (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

C'est le modèle issu de la référence officielle. ShortTriggered[1] est vrai lorsqu'un short a été exécuté exactement un bar plus tôt.

Exemple 2, Placer un stop juste après l'entrée (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

Le ShortTriggered le bloc ne s'exécute que sur le bar d'exécution, qui est le moment naturel pour attacher un stop de protection à la position nouvellement ouverte.

Exemple 3, Compter les exécutions short récentes (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

Vérifier plusieurs indices couvre une courte fenêtre après l'entrée lorsque la stratégie doit agir peu après une exécution plutôt que seulement sur la bar exacte.

Erreurs et pièges courants

  • Bar d'exécution uniquement. ShortTriggered est vrai uniquement sur la bar d'exécution. Pour tester si une position short est actuellement détenue d'une bar à l'autre, utilisez SHORTONMARKET.
  • Côté short uniquement. Elle rapporte les exécutions short. Pour les entrées long, utilisez LongTriggered.
  • Direction de l'index. N compte les bars en arrière dans le passé. ShortTriggered[1] est une bar en arrière, pas une bar en avant.
  • Ordres en attente sur la même bar. La valeur est conçue pour les ordres en attente qui sont exécutés à l'intérieur d'une bougie. Un ordre au marché qui s'ouvre et se ferme dans la même bar peut se comporter différemment, vérifiez donc le timing dans un backtest.
  • LongTriggered, vrai sur la bar où un ordre long est exécuté.
  • SHORTONMARKET, vrai tant qu'une position short est ouverte.
  • ONMARKET, vrai tant qu'une position est ouverte.
  • SELLSHORT, ouvre une position short.
  • EXITSHORT, clôture une position short.
  • SET, STOP, attache les ordres de protection sur la bar d'exécution.