Bli medlem idag
ProBacktest/probacktest · proorder

$TRAILING

Instruktionen $TRAILING sätter en trailing stop som ett fast penningavstånd i instrumentets valuta med SET STOP $TRAILING i ProBacktest och ProOrder.

Syntax

probuilder
SET STOP $TRAILING x

Parametrar

NamnTypStandardBeskrivning
xnumeriskingenMaximal tillåten återlämning från det bästa priset sedan entry, uttryckt i det handlade instrumentets valuta.

Så fungerar det

$TRAILING kombineras med SET STOP enbart. Den beter sig som SET STOP $LOSS med en skillnad: referenspriset flyttas bara i en riktning. För en long-position följer stoppet under det högsta pris som nåtts sedan entry, på ett avstånd motsvarande x valutaenheter givet position size, och den rör sig aldrig nedåt. För en short-position trailar den ovanför det lägsta pris som nåtts. När priset rekylerar hela avståndet stängs positionen.

Beloppet omsätts till ett prisavstånd via position size och instrumentets punktvärde, så samma x ger ett snävare prisavstånd på en större position. Inställningen gäller för den aktuella och alla framtida positioner till dess att ett annat SET STOP anropet åsidosätter det, och ett värde på 0 inaktiverar den.

Den praktiska effekten är ett tak för hur mycket öppen vinst affären kan lämna tillbaka, mätt i kontorelevanta termer snarare än i punkter eller procent.

Exempel

Exempel 1, Rekylentry med en trail på 100 valutaenheter (ProBacktest)

probuilder
// Moving averages framing the pullback
i1 = Average[100](close)
i2 = Average[5](close)

// Uptrend pullback with three rising lows
tradeinitiate = Close > i1 AND Close < i2 AND Low[3] > Low[2] AND Low[2] > Low[1] AND Low[1] > Low

IF NOT LongOnMarket AND tradeinitiate THEN
    BUY 1 CONTRACTS AT MARKET
    // Give the trade at most 100 of retracement from its best price
    SET STOP $TRAILING 100
ENDIF

Strategin köper rekyler i en uppåttrend. Från entry och framåt följer stoppen det högsta pris som nåtts och går ur efter en rekyl värd 100 valutaenheter.

Exempel 2, Penningtrail på en short-breakout (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 above the lows, exit after a 75 currency-unit bounce
SET STOP $TRAILING 75

På short-sidan följer trailen priset nedåt; endast en uppgång värd 75 valutaenheter mot positionen utlöser exiten.

Exempel 3, Statisk penningstop först, trail efter aktivering (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

IF NOT OnMarket AND close crosses over Highest[20](high)[1] THEN
    BUY 1 CONTRACT AT MARKET
    // Fixed risk while the breakout proves itself
    SET STOP $LOSS 120
ENDIF

// Once the trade is 100 ahead in money terms, switch to a trail
IF LongOnMarket AND (close - TRADEPRICE) * POINTVALUE / POINTSIZE >= 100 THEN
    SET STOP $TRAILING 60
ENDIF

En tvåfasad exit uttryckt helt i pengar: ett statiskt risktak på 120 vid entry, som ersätts av ett trailing-återtag på 60 när den öppna vinsten når 100. Omvandlingen använder POINTVALUE och POINTSIZE för att omvandla prisrörelsen till valuta för en position med ett kontrakt.

Vanliga fel och fallgropar

  • Fel SET-parning. $TRAILING är en stoppinstruktion och kombineras med SET STOP endast. Det finns ingen SET TARGET $TRAILING; vinstmål använder $PROFIT.
  • Pengar, inte punkter. SET STOP $TRAILING 100 tillåter ett återlämnande värt 100 valutaenheter, inte 100 punkter. Punktvarianten är PTRAILING, och att blanda ihop de två ändrar stoppavståndet med instrumentets punktvärde.
  • Position size skalar om trailen. Eftersom penningavståndet fördelas över positionen halveras prisgapet när kvantiteten fördubblas. Ändrad position size kan förvandla en bekväm trail till en som ligger inom normalt barbrus.
  • En stop-plats. $TRAILING, %TRAILING, $LOSS, PLOSS och BREAKEVEN skriver över samma interna stopp; endast det senaste SET STOP anropet är aktivt. Att växla mellan dem per bar ger oberäkneliga exits.
  • Granularitet i backtest. ProBacktest uppdaterar den trailade nivån från bardata. Live-exekvering trailar tick för tick, så live-exiter kan skilja sig något från backtestade på snabba barer.
  • %TRAILING, trailing stop som en procentandel av positionspriset.
  • PTRAILING, trailing stop som ett avstånd i punkter.
  • TRAILING, översikt över trailing stop-familjen.
  • $LOSS, statisk stop loss som ett fast penningbelopp.
  • $PROFIT, take profit som ett fast penningbelopp.
  • BREAKEVEN, flyttar stoppen eller målet till entrypriset.
  • STOP, väntande stop-ordrar och SET STOP-familjen.
  • POINTVALUE, valutavärdet av en punkt, används vid omvandling från pengar till pris.
  • LONGONMARKET, sant så länge en long-position är öppen.