Bli medlem idag
ProBacktest/probacktest · proorder

TRAILING

TRAILING sätter en trailing stop i ProBacktest och ProOrder via SET STOP TRAILING x, och flyttar stoppen med priset på ett fast avstånd av x punkter från marknaden.

Syntax

probuilder
SET STOP TRAILING x

Parametrar

NamnTypStandardBeskrivning
xnumeriskingenAvstånd i punkter mellan stoppen och det mest förmånliga pris som nåtts.

Så fungerar det

Ett fast stopp ligger kvar där det placerades. En trailing stop följer affären. SET STOP TRAILING x placerar stoppen x punkter från priset och drar sedan åt den stegvis när positionen går med vinst: för en long stiger stoppen när nya högsta sätts, för en short faller den när nya lägsta sätts. Stoppen dras bara åt, en ogynnsam rörelse skjuter aldrig tillbaka den.

Resultatet är en inbyggd exit som låter en vinnande affär löpa samtidigt som den begränsar hur mycket öppen vinst som kan ges tillbaka. När priset vänder med x punkter från sin bästa nivå stängs positionen. Ingen manuell kod för stophantering behövs, motorn uppdaterar nivån bar för bar.

Avståndet uttrycks i punkter. Syskoninstruktioner täcker andra enheter, PTRAILING trailar i pips, %TRAILING i procent av priset, och $TRAILING i kontovaluta. Alla upptar samma interna stoppslot som SET STOP LOSS och BREAKEVEN, så den senaste SET STOP satsen är den som gäller.

Exempel

Exempel 1, Rekylentry skyddat av en trail på 10 punkter (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

Strategin har sin egen exitregel, och trailing stoppen fungerar som ett permanent skyddsnät 10 punkter bakom det mest förmånliga priset. Detta bevarar referensexemplet för instruktionen.

Exempel 2, ATR-skalat trailingavstånd (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

Trailingavståndet anpassar sig till volatiliteten. På lugna marknader ligger stoppen tätt intill priset, på volatila marknader håller den tillräckligt stort avstånd för att inte skakas ut av brus.

Exempel 3, Trail som aktiveras först när affären ligger i vinst (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

Affären inleds med en bred fast stop. När den har tjänat 20 punkter ersätter koden den med en trailing stop på 10 punkter, vilket låser in det mesta av vinsten samtidigt som utrymme lämnas att löpa vidare.

Vanliga fel och fallgropar

  • Punkter, inte valuta eller procent. SET STOP TRAILING 10 betyder 10 punkter. För pips, procent eller kontantavstånd använd PTRAILING, %TRAILING, eller $TRAILING, att blanda ihop enheterna placerar stoppen flera storleksordningar fel på vissa instrument.
  • En stop-plats. Trailing stops, SET STOP LOSS, och BREAKEVEN skriver över varandra, bara det senaste uttrycket är aktivt. Kod som utfärdar ett fast stop på varje bar efter trailing-uttrycket inaktiverar i tysthet trailingen.
  • För snävt för tidsramen. Ett avstånd som är mindre än det normala bruset mellan barer träffas nästan omedelbart. Skala avståndet efter volatiliteten, till exempel med ATR, i stället för att välja ett litet jämnt tal.
  • Fyllningar i backtest är idealiserade. ProBacktest går ur exakt på den trailade nivån. Live-exekvering i ProOrder kan glida förbi den på snabba marknader, så system med trailing stop presterar vanligtvis något sämre live än i backtesten.
  • PTRAILING, trailing stop uttryckt i pips.
  • %TRAILING, trailing stop uttryckt i procent av priset.
  • $TRAILING, trailing stop uttryckt i kontovaluta.
  • STOP, fast stop loss-konfiguration med SET STOP LOSS.
  • BREAKEVEN, flyttar stoppen eller målet till entrypriset.
  • TARGET, take profit-konfiguration för positionen.
  • TRADEPRICE, entrypriset för den nuvarande positionen.
  • LONGONMARKET, sant så länge en long-position är öppen.