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
SET STOP TRAILING xParametrar
| Namn | Typ | Standard | Beskrivning |
|---|---|---|---|
x | numerisk | ingen | Avstå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)
// 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 10Strategin 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)
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 trailPointsTrailingavstå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)
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
ENDIFAffä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 10betyder 10 punkter. För pips, procent eller kontantavstånd användPTRAILING,%TRAILING, eller$TRAILING, att blanda ihop enheterna placerar stoppen flera storleksordningar fel på vissa instrument. - En stop-plats. Trailing stops,
SET STOP LOSS, ochBREAKEVENskriver ö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.
Relaterade instruktioner
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.