Rejoignez-nous
ProBacktest/probacktest · proorder

TRAILING

TRAILING définit un trailing stop dans ProBacktest et ProOrder via SET STOP TRAILING x, déplaçant le stop avec le prix à une distance fixe de x points du marché.

Syntaxe

probuilder
SET STOP TRAILING x

Paramètres

NomTypePar défautDescription
xnumériqueaucunDistance en points entre le stop et le prix le plus favorable atteint.

Comment ça marche

Un stop fixe reste là où il a été placé. Un trailing stop suit le trade. SET STOP TRAILING x place le stop loss x points du prix, puis le resserre à mesure que la position gagne : pour un long, le stop monte quand de nouveaux plus hauts se forment, pour un short il descend quand de nouveaux plus bas se forment. Le stop ne fait que se resserrer, un mouvement défavorable ne le repousse jamais.

Le résultat est une sortie intégrée qui laisse courir un trade gagnant tout en plafonnant la part de gain latent qui peut être rendue. Dès que le prix se retourne de x points de son meilleur niveau, la position est fermée. Aucun code manuel de gestion du stop n'est nécessaire, le moteur maintient le niveau bar par bar.

La distance est exprimée en points. Des instructions voisines couvrent d'autres unités, PTRAILING suit en pips, %TRAILING en pourcentage du prix, et $TRAILING dans la devise du compte. Toutes occupent le même emplacement de stop interne que SET STOP LOSS et BREAKEVEN, donc le plus récent SET STOP instruction est celle qui s'applique.

Exemples

Exemple 1, Entrée sur repli protégée par un suivi de 10 points (ProOrder)

probuilder
// Trend and pullback filters
i1 = average(close)[100]
i2 = average(close)[5]

// Enter on a pullback inside a longer uptrend, exit on strength
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

// Safety net: trail the stop 10 points behind the best price
SET STOP TRAILING 10

La stratégie a sa propre règle de sortie, et le trailing stop sert de filet de sécurité permanent 10 points derrière le prix le plus favorable. Cela conserve l'exemple de référence pour cette instruction.

Exemple 2, Distance de suivi dimensionnée par l'ATR (ProBacktest)

probuilder
atr = AverageTrueRange[14](close)
// Trail at twice the ATR, converted into points
trailPoints = ROUND(2 * atr / pointsize)

IF NOT onmarket AND close crosses over average[50](close) THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

SET STOP TRAILING trailPoints

La distance de suivi s'adapte à la volatilité. Dans les marchés calmes, le stop colle au prix, dans les marchés volatils il reste assez éloigné pour éviter d'être sorti par le bruit.

Exemple 3, Suivi activé seulement une fois le trade en profit (ProOrder)

probuilder
IF NOT onmarket AND close > highest[20](high)[1] THEN
  BUY 1 CONTRACT AT MARKET
  SET STOP LOSS 30
ENDIF

// Switch from fixed stop to a tight trail once 20 points in profit
IF longonmarket AND close - tradeprice >= 20 * pointsize THEN
  SET STOP TRAILING 10
ENDIF

Le trade commence avec un stop fixe large. Une fois qu'il a gagné 20 points, le code le remplace par un trailing stop de 10 points, verrouillant l'essentiel du gain tout en laissant de la marge pour courir.

Erreurs et pièges courants

  • Des points, pas de la devise ni des pourcentages. SET STOP TRAILING 10 signifie 10 points. Pour des distances en pips, en pourcentage ou en montant, utilisez PTRAILING, %TRAILING, ou $TRAILING, confondre les unités décale le stop de plusieurs ordres de grandeur sur certains instruments.
  • Un seul emplacement de stop. Les trailing stops, SET STOP LOSS, et BREAKEVEN s'écrasent mutuellement, seule l'instruction la plus récente est active. Un code qui émet un stop fixe à chaque bar après l'instruction de trailing stop désactive silencieusement le suivi.
  • Trop serré pour l'unité de temps. Une distance plus petite que le bruit normal d'une barre à l'autre est touchée presque immédiatement. Dimensionnez la distance en fonction de la volatilité, par exemple avec l'ATR, plutôt que de choisir un petit nombre rond.
  • Les exécutions en backtest sont idéalisées. ProBacktest sort exactement au niveau suivi. L'exécution ProOrder en réel peut le dépasser dans les marchés rapides, les systèmes à trailing stop obtiennent donc généralement des résultats légèrement moins bons en réel que dans le backtest.
  • PTRAILING, trailing stop exprimé en pips.
  • %TRAILING, trailing stop exprimé en pourcentage du prix.
  • $TRAILING, trailing stop exprimé dans la devise du compte.
  • STOP, configuration d'un stop loss fixe avec SET STOP LOSS.
  • BREAKEVEN, déplace le stop ou l'objectif au prix d'entrée.
  • TARGET, configuration du take profit pour la position.
  • TRADEPRICE, prix d'entrée de la position courante.
  • LONGONMARKET, vrai tant qu'une position long est ouverte.