Word nu lid
ProBacktest/probacktest · proorder

%TRAILING

De instructie %TRAILING stelt een trailing stop in als percentage van de positieprijs met SET STOP %TRAILING in ProRealTime™ ProBacktest- en ProOrder-code.

Syntaxis

probuilder
SET STOP %TRAILING x

Parameters

NaamTypeStandaardBeschrijving
xnumeriekgeenProcentuele afstand die wordt aangehouden tussen de stop en de gunstigste koers die sinds de instap is bereikt. Decimalen zoals 1.5 worden geaccepteerd.

Hoe het werkt

%TRAILING combineert met SET STOP alleen. Anders dan de statische SET STOP %LOSS, de trailing variant schuift alleen mee. Bij een long positie begint de stop x procent onder de positiekoers en stijgt zodra de koers sinds de instap een nieuwe high maakt, waarbij de x procent afstand tot die high. Hij beweegt nooit omlaag. Voor een short positie is de logica gespiegeld: de stop volgt x procent boven de laagste bereikte prijs.

Zodra de instructie wordt uitgevoerd, blijft de instelling bestaan en geldt hij voor de huidige positie en voor alle toekomstige posities totdat een andere SET STOP aanroep vervangt die. Een waarde van 0 schakelt de trailing stop uit.

Omdat de afstand een percentage is, wordt het absolute gat groter als de prijs stijgt en kleiner als hij daalt, waardoor de bescherming proportioneel blijft bij instrumenten met grote prijsbereiken. Wanneer het meegetrokken niveau wordt geraakt, sluit de positie tegen de marktprijs zoals bij een gewone stop.

Voorbeelden

Voorbeeld 1, Trendinstap beschermd door een trail van 1.5 procent (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

De strategie koopt pullbacks in een uptrend en stapt uit bij sterkte. Als het exitsignaal nooit afgaat, sluit de trailing stop de positie na een terugval van 1.5 procent vanaf de beste bereikte prijs.

Voorbeeld 2, Procentuele trail op een short breakdown (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

Aan de short-zijde volgt de stop de prijs naar beneden en alleen een opleving van 2 procent vanaf de low sluit de trade.

Voorbeeld 3, Eerst een vaste stop, daarna trailen zodra de trade in winst staat (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

Een gangbaar tweefasenpatroon: een statische procentuele stop begrenst het initiële risico, daarna een strakkere %TRAILING neemt het over zodra de positie winst laat zien. De omschakeling geldt in één richting voor de rest van de trade, omdat de voorwaarde waar blijft zodra die is bereikt, en elke uitvoering dezelfde waarde houdt.

Veelvoorkomende fouten en valkuilen

  • Verkeerde SET-combinatie. %TRAILING is een stop-instructie, dus combineert het met SET STOP alleen. SET TARGET %TRAILING is geen geldige vorm; targets gebruiken %PROFIT.
  • Één stop-slot. %TRAILING, %LOSS, $TRAILING, PLOSS en BREAKEVEN schrijven allemaal naar dezelfde interne stop. De meest recente SET STOP aanroep wint, dus het mengen van een statische stop en een trailing stop in logica per bar vervangt de een door de ander in plaats van ze te combineren.
  • Trailing op basis van bars in backtests. ProBacktest werkt het meegetrokken niveau bij op basis van bar-data, dus intrabar-spikes kunnen optimistisch worden behandeld in vergelijking met live uitvoering tick voor tick. Verwacht kleine verschillen tussen backtest- en live fills.
  • Een te krap percentage. Een trailing stop onder de typische bar range van het instrument wordt vrijwel direct geraakt. Vergelijk x tegen de gemiddelde volatiliteit, bijvoorbeeld een percentage afgeleid van AverageTrueRange, voordat de waarde wordt vastgezet.
  • $TRAILING, trailing stop als vast geldbedrag.
  • PTRAILING, trailing stop als afstand in punten.
  • TRAILING, overzicht van de trailing stop-familie.
  • %LOSS, statische stop loss als percentage van de positieprijs.
  • %PROFIT, take profit als percentage van de positieprijs.
  • BREAKEVEN, verplaatst de stop of het target naar de instapprijs.
  • STOP, pending stoporders en de SET STOP-familie.
  • TRADEPRICE, instapprijs van een bepaalde trade.
  • LONGONMARKET, waar zolang er een long positie open is.