Rejoignez-nous
ProBacktest/probacktest · proorder

%LOSS

L'instruction %LOSS définit un stop loss en pourcentage sous le prix moyen de la position avec SET STOP %LOSS dans le code ProRealTime™ ProBacktest et ProOrder.

Syntaxe

probuilder
SET STOP %LOSS x

Paramètres

NomTypePar défautDescription
xnumériqueaucunDistance en pourcentage par rapport au prix moyen de la position à laquelle le stop loss se déclenche. Accepte les décimales, donc 1.5 signifie 1.5 pour cent.

Comment ça marche

%LOSS se combine avec SET STOP uniquement. L'instruction définit un stop loss comme une distance relative : pour une position long, le niveau de sortie se situe x pour cent sous le prix moyen de la position, et pour une position short il se situe x pour cent au-dessus. Comme le niveau découle du prix de la position et non d'un prix fixe, la même ligne de code s'adapte à n'importe quel instrument et à n'importe quel niveau d'entrée.

L'instruction est déclarative. Une fois exécutée, le stop s'applique à la position actuelle et à toute position future ouverte par la stratégie, jusqu'à ce qu'une autre SET STOP l'appel le remplace. Le placer une seule fois vers la fin du code est l'usage habituel. Appeler SET STOP %LOSS 0 supprime le stop loss.

Lorsque plusieurs ordres sont cumulés en une seule position, le pourcentage est calculé à partir du prix moyen de l'ensemble de la position. Sur les comptes IG et PRT-CFD, la plateforme attache le stop à chaque ordre individuel, de sorte que chaque ordre porte son propre niveau de protection.

L'équivalent côté objectif est SET TARGET %PROFIT. Les combinaisons inversées, un stop placé dans la zone de gain ou un objectif placé dans la zone de perte, sont documentées séparément sous Set Stop Profit et Set Target Loss.

Exemples

Exemple 1, Entrée MACD avec un stop à 2 pour cent (ProBacktest)

probuilder
myMACD = MACD[12,26,9](close)
long = myMACD crosses over 0
IF NOT LongOnMarket AND long THEN
    BUY 1 CONTRACTS AT MARKET
ENDIF
// Protective stop 2 percent below the average position price
SET STOP %LOSS 2

La stratégie achète lorsque la ligne MACD croise au-dessus de zéro. Quel que soit le prix d'entrée obtenu, le stop se situe toujours 2 pour cent en dessous.

Exemple 2, Stop en pourcentage sur une position short (ProOrder)

probuilder
fast = Average[10](close)
slow = Average[40](close)
IF NOT ShortOnMarket AND fast crosses under slow THEN
    SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// For shorts the stop sits 1.5 percent ABOVE the position price
SET STOP %LOSS 1.5

La même instruction protège les positions short. La plateforme reflète automatiquement la distance, aucun changement de signe n'est donc nécessaire dans le code.

Exemple 3, Encadrement complet en pourcentage autour de l'entrée (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

rsiVal = RSI[14](close)
IF NOT OnMarket AND rsiVal < 30 THEN
    BUY 1 CONTRACT AT MARKET
ENDIF

// Risk 1 percent, aim for 2 percent, a fixed 1:2 bracket
SET STOP %LOSS 1
SET TARGET %PROFIT 2

Combiner SET STOP %LOSS avec SET TARGET %PROFIT construit un encadrement symétrique en pourcentage qui s'adapte au prix de l'instrument.

Erreurs et pièges courants

  • Pourcentage du prix, pas de l'equity. SET STOP %LOSS 2 risque 2 pour cent du prix de la position, pas 2 pour cent du compte. Sur une position à effet de levier, l'impact sur l'equity peut être bien plus important. Convertissez avec soin lorsque vous traduisez une règle de risque par trade en cette instruction.
  • Mauvais appariement de SET. La forme documentée est SET STOP %LOSS. L'objectif en pourcentage est un mot-clé différent, SET TARGET %PROFIT. Les confondre entraîne soit un échec de compilation, soit une sortie du mauvais côté de l'entrée.
  • Le dernier SET STOP l'emporte. %LOSS, $LOSS, PLOSS, %TRAILING et BREAKEVEN écrivent tous dans le même emplacement de stop interne. Seul le plus récent SET STOP appel est actif, de sorte qu'alterner entre les formes bar par bar conduit à des sorties erratiques.
  • Placement à l'intérieur de blocs conditionnels. Encapsuler l'instruction dans un IF qui n'est vraie que sur un seul bar fonctionne quand même, car le réglage persiste, mais la réexécuter avec une valeur différente à chaque bar redéfinit silencieusement le niveau du stop. Gardez-la inconditionnelle sauf si ce recalcul est voulu.
  • $LOSS, stop loss sous forme de montant fixe en argent.
  • PLOSS, stop loss sous forme de distance en points.
  • %PROFIT, take profit en pourcentage du prix de la position.
  • %TRAILING, trailing stop en pourcentage du prix de la position.
  • BREAKEVEN, déplace le stop ou l'objectif au prix d'entrée.
  • STOP, ordres stop en attente et la famille SET STOP.
  • Set Target Loss, objectif placé dans la zone de perte, la forme inversée.
  • TRADEPRICE, prix d'entrée d'un trade donné.
  • POSITIONPRICE, prix moyen de la position ouverte.
  • LONGONMARKET, vrai tant qu'une position long est ouverte.