Bli medlem idag
ProBacktest/probacktest · proorder

%TRAILING

Instruktionen %TRAILING sätter en trailing stop som en procentandel av positionspriset med SET STOP %TRAILING i ProRealTime™-kod för ProBacktest och ProOrder.

Syntax

probuilder
SET STOP %TRAILING x

Parametrar

NamnTypStandardBeskrivning
xnumeriskingenProcentuellt avstånd som hålls mellan stoppen och det mest gynnsamma pris som nåtts sedan entry. Decimaler som 1.5 accepteras.

Så fungerar det

%TRAILING kombineras med SET STOP endast. Till skillnad från den statiska SET STOP %LOSS, flyttas trailing-varianten bara i en riktning. För en long position börjar stoppen x procent under positionspriset och stiger närhelst priset gör en ny högsta sedan entryn, och håller alltid x procents avstånd till den högsta nivån. Den rör sig aldrig nedåt. För en short-position är logiken spegelvänd: stoppen följer x procent över det lägsta uppnådda priset.

När instruktionen körts består inställningen och gäller för den aktuella positionen och för alla framtida positioner till dess att en annan SET STOP anropet ersätter det. Ett värde på 0 stänger av trailing stop.

Eftersom avståndet är en procentandel vidgas det absoluta gapet när priset stiger och krymper när det faller, vilket håller skyddet proportionerligt på instrument med stora prisintervall. När den trailade nivån nås stängs positionen till marknadspris som en vanlig stop.

Exempel

Exempel 1, Trendentry skyddat av en trail på 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

Strategin köper rekyler i en uppåttrend och går ur vid styrka. Om exitsignalen aldrig utlöses stänger trailing stoppen positionen efter en nedgång på 1.5 procent från det bästa pris som nåtts.

Exempel 2, Procenttrail på en 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

På short-sidan följer stoppen priset nedåt och endast en uppgång på 2 procent från den lägsta nivån stänger affären.

Exempel 3, Fast stop först, trail efter att affären ligger i vinst (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

Ett vanligt tvåstegsmönster: ett statiskt procentstopp begränsar den initiala risken, därefter ett snävare %TRAILING tar över så snart positionen visar vinst. Omkopplingen är enkelriktad under resten av affären eftersom villkoret förblir sant när det en gång uppnåtts, och varje exekvering behåller samma värde.

Vanliga fel och fallgropar

  • Fel SET-parning. %TRAILING är en stoppinstruktion, så den kombineras med SET STOP endast. SET TARGET %TRAILING är inte en giltig form; mål använder %PROFIT.
  • En stop-plats. %TRAILING, %LOSS, $TRAILING, PLOSS och BREAKEVEN skriver alla till samma interna stop. Den senaste SET STOP anropet vinner, så att blanda en statisk stop och en trailing stop i logik per bar ersätter den ena med den andra istället för att kombinera dem.
  • Barbaserad trailing i backtester. ProBacktest uppdaterar den trailade nivån från bardata, så spikar inom en bar kan hanteras optimistiskt jämfört med live-exekvering tick för tick. Räkna med små skillnader mellan fyllningar i backtest och live.
  • För snäv procentandel. En trail under instrumentets typiska barintervall träffas nästan omedelbart. Jämför x mot genomsnittlig volatilitet, till exempel en procentandel härledd från AverageTrueRange, innan värdet låses.
  • $TRAILING, trailing stop som ett fast penningbelopp.
  • PTRAILING, trailing stop som ett avstånd i punkter.
  • TRAILING, översikt över trailing stop-familjen.
  • %LOSS, statisk stop loss som en procentandel av positionspriset.
  • %PROFIT, take profit som en procentandel av positionspriset.
  • BREAKEVEN, flyttar stoppen eller målet till entrypriset.
  • STOP, väntande stop-ordrar och SET STOP-familjen.
  • TRADEPRICE, entrypriset för en given affär.
  • LONGONMARKET, sant så länge en long-position är öppen.