Rejoignez-nous
ProBacktest/probacktest · proorder

LOSS

LOSS définit un stop loss avec SET STOP LOSS x dans ProBacktest et ProOrder, fermant un trade perdant dès que le prix s'écarte de x unités de prix contre le prix d'entrée moyen.

Syntaxe

probuilder
SET STOP LOSS x

Paramètres

NomTypePar défautDescription
xnumériqueaucunDistance par rapport au prix moyen de la position, exprimée dans les unités de prix de l'instrument négocié.

Comment ça marche

SET STOP LOSS enregistre un stop de protection auprès du moteur d'exécution. La distance x est mesuré depuis le prix moyen de la position, donc pour une position long le stop se situe au prix d'entrée moins x, et pour une position short à l'entrée plus x. La même valeur positive fonctionne dans les deux directions, le moteur inverse le sens automatiquement.

La distance est exprimée en unités de prix brutes. Sur un instrument coté avec cinq décimales, SET STOP LOSS 0.0050 place le stop à 50 pips. Sur un indice coté en points entiers, la même instruction le placerait à un demi-cent, ce qui est presque certainement faux. Pour des distances en points ou en pips indépendamment de la cotation, SET STOP PLOSS est la variante la plus sûre, et SET STOP %LOSS exprime la distance en pourcentage du prix d'entrée.

L'instruction est déclarative. Une fois exécutée, le stop reste attaché à la position courante et aux positions suivantes jusqu'à ce qu'une autre SET STOP l'instruction la remplace ou SET STOP LOSS 0 l'annule. Il est courant de placer l'instruction juste après l'ordre d'entrée afin que les deux restent toujours synchronisés.

Dans ProBacktest, le stop est évalué par rapport aux plus hauts et plus bas intrabar ; en ProOrder en direct, il repose chez le courtier et peut être exécuté avec du slippage sur les marchés rapides.

Exemples

Exemple 1, Entrée MACD avec un stop à distance fixe (ProOrder)

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

IF NOT LongOnMarket AND long THEN
  BUY 1 CONTRACTS AT MARKET
  // stop placed 0.0050 price units below the average entry price
  SET STOP LOSS 0.0050
ENDIF

Un long s'ouvre lorsque la ligne MACD croise au-dessus de zéro, avec un stop 0.0050 unités de prix sous l'entrée. La valeur convient à un instrument coté avec cinq décimales, comme une paire de devises majeure.

Exemple 2, Distance de stop proportionnée à la volatilité (ProBacktest)

probuilder
// distance adapts to current volatility
atr = AverageTrueRange[14](close)

IF NOT OnMarket AND close crosses over Average[50](close) THEN
  BUY 1 CONTRACT AT MARKET
  SET STOP LOSS 2 * atr
ENDIF

La distance du stop vaut deux ATR, elle s'élargit donc sur les marchés volatils et se resserre sur les marchés calmes. L'expression est recalculée à chaque entrée, maintenant le risque proportionnel aux conditions.

Exemple 3, Stop du côté short (ProOrder)

probuilder
short = close crosses under Average[100](close)

IF NOT ShortOnMarket AND short THEN
  SELLSHORT 1 CONTRACT AT MARKET
  // same positive distance, the engine places it above the short entry
  SET STOP LOSS 0.0080
ENDIF

Pour une position short, le moteur place le stop au-dessus du prix d'entrée moyen. La distance reste un nombre positif, aucun changement de signe n'est nécessaire.

Erreurs et pièges courants

  • Unités de prix, pas points. x est une distance de prix brute. SET STOP LOSS 10 sur une paire de devises à cinq décimales représente 10.0000 en prix, une distance énorme. Pour un stop de 10 pips, écrivez SET STOP LOSS 10 * PipSize ou utilisez SET STOP PLOSS 10.
  • Mesuré depuis l'entrée, pas depuis le prix actuel. Le niveau du stop est ancré au prix moyen de la position. Rappeler l'instruction plus tard ne fait pas suivre le stop depuis la dernière clôture, cela réancre la même distance depuis l'entrée. Un suivi dynamique nécessite $TRAILING, %TRAILING, ou TRAILING variantes.
  • Le réglage persiste. A SET STOP LOSS exécutée une fois continue de s'appliquer à toutes les positions suivantes jusqu'à son remplacement. Une stratégie qui fixe un stop serré dans une branche et oublie de le réinitialiser ailleurs transporte ce stop dans des trades sans rapport.
  • Les exécutions en backtest sont optimistes. ProBacktest suppose que le stop est exécuté exactement à son niveau. En direct, les stops peuvent déborder ce niveau sur les marchés rapides, de sorte que les pertes réalisées peuvent dépasser la distance configurée.
  • %LOSS, stop loss en pourcentage du prix d'entrée.
  • $LOSS, stop loss sous forme de montant en espèces.
  • PLOSS, stop loss sous forme de distance en points.
  • Set Target Loss, sortir d'une position perdante à une distance adverse fixe.
  • Set Stop Profit, stop qui verrouille une distance de profit.
  • STOP, ordres stop en attente pour les entrées et les sorties.
  • TARGET, équivalent take-profit de la famille des stops.
  • BREAKEVEN, déplace le stop ou l'objectif au prix d'entrée.
  • TRADEPRICE, le prix d'entrée de la position courante.
  • TRAILING, trailing stop qui suit le mouvement de prix favorable.