Rejoignez-nous
ProBacktest/probacktest · proorder

%TRAILING

L'instruction %TRAILING définit un trailing stop en pourcentage du prix de la position avec SET STOP %TRAILING dans le code ProRealTime™ ProBacktest et ProOrder.

Syntaxe

probuilder
SET STOP %TRAILING x

Paramètres

NomTypePar défautDescription
xnumériqueaucunDistance en pourcentage maintenue entre le stop et le prix le plus favorable atteint depuis l'entrée. Les décimales telles que 1.5 sont acceptés.

Comment ça marche

%TRAILING se combine avec SET STOP uniquement. Contrairement à la version statique SET STOP %LOSS, la variante trailing ne recule jamais. Pour une position long, le stop commence x pour cent sous le prix de la position et monte chaque fois que le prix fait un nouveau plus haut depuis l'entrée, en conservant toujours la x pour cent d'écart par rapport à ce plus haut. Il ne descend jamais. Pour une position short, la logique est inversée : le stop suit x pour cent au-dessus du plus bas prix atteint.

Une fois l'instruction exécutée, le réglage persiste et s'applique à la position en cours et à toutes les positions futures jusqu'à ce qu'un autre SET STOP appel la remplace. Une valeur de 0 désactive le trailing stop.

Comme la distance est un pourcentage, l'écart absolu s'élargit quand le prix monte et se resserre quand il baisse, ce qui garde la protection proportionnelle sur les instruments à large amplitude de prix. Lorsque le niveau suivi est atteint, la position est clôturée au marché comme avec un stop ordinaire.

Exemples

Exemple 1, Entrée de tendance protégée par un suivi de 1.5 pour cent (ProBacktest)

probuilder
// Long-term and short-term moving averages
i1 = Average[100](close)
i2 = Average[5](close)

// Enter on a pullback inside an uptrend, after three rising lows
tradeinitiate = Close > i1 AND Close < i2 AND Low[3] > Low[2] AND Low[2] > Low[1] AND Low[1] > Low
tradeclose = Close > Close[1]

IF NOT LongOnMarket AND tradeinitiate THEN
    BUY 1 CONTRACTS AT MARKET
ENDIF

IF LongOnMarket AND tradeclose THEN
    SELL AT MARKET
ENDIF

// Trail the stop 1.5 percent below the highest price since entry
SET STOP %TRAILING 1.5

La stratégie achète les replis dans une tendance haussière et sort sur la force. Si le signal de sortie ne se déclenche jamais, le trailing stop clôture la position après un recul de 1.5 pour cent depuis le meilleur prix atteint.

Exemple 2, Suivi en pourcentage sur une cassure baissière en short (ProOrder)

probuilder
support = Lowest[20](low)
IF NOT ShortOnMarket AND close crosses under support[1] THEN
    SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// The stop trails 2 percent above the lowest price since entry
SET STOP %TRAILING 2

Du côté short, le stop suit le prix vers le bas et seul un rebond de 2 pour cent depuis le plus bas clôture le trade.

Exemple 3, Stop fixe d'abord, suivi une fois le trade en profit (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

IF NOT OnMarket AND RSI[14](close) < 30 THEN
    BUY 1 CONTRACT AT MARKET
    // Static protection while the trade develops
    SET STOP %LOSS 1
ENDIF

// Switch to a tighter trailing stop once price is 1 percent ahead
IF LongOnMarket AND close >= TRADEPRICE * 1.01 THEN
    SET STOP %TRAILING 0.5
ENDIF

Un schéma courant en deux phases : un stop fixe en pourcentage plafonne le risque initial, puis un %TRAILING prend le relais dès que la position est en gain. Le basculement est définitif pour le reste du trade, car la condition reste vraie une fois atteinte, et chaque exécution conserve la même valeur.

Erreurs et pièges courants

  • Mauvais appariement de SET. %TRAILING est une instruction de stop, elle se combine donc avec SET STOP uniquement. SET TARGET %TRAILING n'est pas une forme valide ; les objectifs utilisent %PROFIT.
  • Un seul emplacement de stop. %TRAILING, %LOSS, $TRAILING, PLOSS et BREAKEVEN écrivent tous dans le même stop interne. Le plus récent SET STOP appel l'emporte, donc mélanger un stop fixe et un trailing stop dans une logique évaluée à chaque bar remplace l'un par l'autre au lieu de les combiner.
  • Suivi basé sur les barres dans les backtests. ProBacktest met à jour le niveau suivi à partir des données de barres, les pics intrabar peuvent donc être traités de façon optimiste par rapport à une exécution réelle tick par tick. Attendez-vous à de petites différences entre les exécutions en backtest et en réel.
  • Un pourcentage trop serré. Un trailing stop inférieur à l'amplitude de bar typique de l'instrument est touché presque immédiatement. Comparez x par rapport à la volatilité moyenne, par exemple un pourcentage dérivé de AverageTrueRange, avant de figer la valeur.
  • $TRAILING, trailing stop sous forme de montant fixe en argent.
  • PTRAILING, trailing stop sous forme de distance en points.
  • TRAILING, vue d'ensemble de la famille trailing stop.
  • %LOSS, stop loss statique en pourcentage du prix de la position.
  • %PROFIT, take profit 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.
  • TRADEPRICE, prix d'entrée d'un trade donné.
  • LONGONMARKET, vrai tant qu'une position long est ouverte.