Rejoignez-nous
ProBacktest/probacktest · proorder

STOP (pending)

STOP (pending) place un ordre stop en attente dans ProBacktest et ProOrder, entrant ou sortant lorsque le prix atteint le niveau du stop, comme dans BUY 1 LOT AT x STOP.

Syntaxe

probuilder
BUY quantity CONTRACT AT price STOP
SELLSHORT quantity CONTRACT AT price STOP
SELL AT price STOP
EXITSHORT AT price STOP

Paramètres

NomTypePar défautDescription
quantityentieraucunNombre de contrats, de lots ou d'actions pour les ordres d'entrée. Omis sur SELL et EXITSHORT, qui clôturent toute la position.
pricenumériqueaucunLe niveau de déclenchement. Un buy stop se situe au-dessus du prix actuel, un sell stop en dessous.

Comment ça marche

Un AT price STOP ordre reste inactif jusqu'à ce que le marché traite au niveau de déclenchement ou le franchisse. Un buy stop placé au-dessus du prix courant est exécuté quand le prix monte jusqu'au niveau, ce qui convient aux entrées en breakout. Un sell stop placé sous le prix courant est exécuté quand le prix descend jusqu'au niveau, ce qui convient aux sorties de protection ou aux entrées short en breakout.

L'ordre est en attente, pas persistant. Il ne reste valable que jusqu'à la clôture du bar suivant. Si le niveau n'est pas atteint, l'ordre expire et doit être replacé au bar suivant pour que le setup reste actif. Les stratégies placent donc généralement l'ordre à l'intérieur d'une condition qui reste vraie tant que le setup est valide.

Désambiguïsation : ProBuilder a deux usages distincts du mot STOP. Cette page traite de la forme ordre en attente, BUY ... AT price STOP, qui crée un ordre à un niveau de prix absolu. Le mot-clé distinct de money management documenté à STOP configure un stop loss comme une distance par rapport au prix d'entrée, par exemple SET STOP LOSS 20. Les deux peuvent coexister dans une même stratégie, mais elles sont compilées et gérées différemment.

Exemples

Exemple 1, Signal MACD avec un buy stop au-dessus de la clôture (ProOrder)

probuilder
myMACD = MACD[12,26,9](close)
long = myMACD crosses over 0

IF long THEN
  // Enter only if price confirms by rising 10 points above the signal close
  BUY 1 LOT AT close + 10 STOP
ENDIF

Le croisement du MACD arme le setup, mais la position ne s'ouvre que si le prix monte ensuite de 10 points au-dessus de la clôture du bar de signal. Sans ce mouvement de confirmation, l'ordre en attente expire.

Exemple 2, Sell stop comme sortie de protection fixe (ProBacktest)

probuilder
IF longonmarket THEN
  // Re-place the exit order on every bar, 20 points below entry
  SELL AT tradeprice - 20 * pointsize STOP
ENDIF

Tant qu'une position long est ouverte, un sell stop se situe 20 points sous le prix d'entrée. Comme les ordres en attente expirent après un bar, l'ordre est replacé à chaque bar où la position reste ouverte.

Exemple 3, Breakout au-dessus du plus haut de 20 bars (ProOrder)

probuilder
periodHigh = highest[20](high)

IF NOT onmarket THEN
  // Buy stop one tick above the recent high
  BUY 1 CONTRACT AT periodHigh + ticksize STOP
ENDIF

Une entrée en breakout classique. Le buy stop suit le plus haut glissant de 20 bars et n'est exécuté que si le prix le dépasse à la hausse.

Erreurs et pièges courants

  • Durée de vie d'un bar. Un ordre stop en attente n'est valable que jusqu'à la fin du bar suivant. Les stratégies qui placent l'ordre une seule fois en supposant qu'il persiste perdent silencieusement le setup. Replacez l'ordre à chaque bar tant que la condition reste vraie.
  • Déclenchement du mauvais côté du prix. Un buy stop doit se situer au-dessus du prix actuel et un sell stop en dessous. Un ordre placé du mauvais côté est traité comme immédiatement exécutable ou rejeté, ce qui correspond rarement à la logique voulue.
  • Confondre les deux mots-clés STOP. BUY 1 CONTRACT AT 7500 STOP est un ordre d'entrée à un niveau absolu. SET STOP LOSS 20 est une protection de position à distance relative. Confondre les syntaxes est une source fréquente d'erreurs de compilation, voir les STOP page pour le formulaire de gestion du capital.
  • Optimisme des exécutions en backtest. ProBacktest exécute les ordres stop exactement au niveau de déclenchement. L'exécution en réel via ProOrder peut déraper au-delà du niveau sur les marchés rapides, les résultats en réel tendent donc à être légèrement moins bons que le backtest pour les entrées stop.
  • STOP, le mot-clé stop loss de money management utilisé dans SET STOP LOSS.
  • LIMIT, ordre en attente exécuté à un prix favorable plutôt qu'à un niveau de breakout.
  • 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.
  • TARGET, configuration du take profit pour une position ouverte.
  • LongTriggered, vrai sur le bar où un ordre long en attente a été exécuté.
  • ShortTriggered, vrai sur le bar où un ordre short en attente a été exécuté.