Bli medlem idag
ProBacktest/probacktest · proorder

LOSS

LOSS sätter en stop loss med SET STOP LOSS x i ProBacktest och ProOrder, och stänger en förlustaffär när priset rör sig x prisenheter mot det genomsnittliga entrypriset.

Syntax

probuilder
SET STOP LOSS x

Parametrar

NamnTypStandardBeskrivning
xnumeriskingenAvstånd från positionens genomsnittspris, uttryckt i det handlade instrumentets prisenheter.

Så fungerar det

SET STOP LOSS registrerar ett skyddande stopp hos exekveringsmotorn. Avståndet x mäts från positionens genomsnittspris, så för en long-position ligger stop-nivån vid entry minus x, och för en short-position vid entry plus x. Samma positiva värde fungerar för båda riktningarna, motorn vänder sidan automatiskt.

Avståndet anges i råa prisenheter. På ett instrument som kvoteras med fem decimaler, SET STOP LOSS 0.0050 placerar stoppen 50 pip bort. På ett index som kvoteras i hela punkter skulle samma instruktion placera den en halv cent bort, vilket nästan säkert är fel. För avstånd i punkter eller pip oavsett kvotering, SET STOP PLOSS är den säkrare varianten, och SET STOP %LOSS uttrycker avståndet som en procentandel av entrypriset.

Instruktionen är deklarativ. När den har körts förblir stoppen kopplad till den aktuella positionen och till efterföljande positioner till dess att en annan SET STOP satsen ersätter den eller SET STOP LOSS 0 avbryter den. Det är vanligt att placera satsen direkt efter entryordern så att de två alltid är synkroniserade.

I ProBacktest utvärderas stoppen mot högsta och lägsta nivåer inom baren, i live-ProOrder ligger den hos mäklaren och kan fyllas med slippage på snabba marknader.

Exempel

Exempel 1, MACD-entry med stopp på fast avstånd (ProOrder)

probuilder
myMACD = MACD[12,26,9](close)
long = myMACD crosses over 0

IF NOT LongOnMarket AND long THEN
  BUY 1 CONTRACTS AT MARKET
  // stop placed 0.0050 price units below the average entry price
  SET STOP LOSS 0.0050
ENDIF

En long öppnas när MACD-linjen korsar över noll, med ett stopp 0.0050 prisenheter under entryn. Värdet passar ett instrument som kvoteras med fem decimaler, till exempel ett större valutapar.

Exempel 2, Volatilitetsskalat stoppavstånd (ProBacktest)

probuilder
// distance adapts to current volatility
atr = AverageTrueRange[14](close)

IF NOT OnMarket AND close crosses over Average[50](close) THEN
  BUY 1 CONTRACT AT MARKET
  SET STOP LOSS 2 * atr
ENDIF

Stoppavståndet är två ATR, så det vidgas på volatila marknader och dras åt på lugna. Uttrycket räknas om vid varje entry, vilket håller risken proportionell mot förhållandena.

Exempel 3, Stopp på short-sidan (ProOrder)

probuilder
short = close crosses under Average[100](close)

IF NOT ShortOnMarket AND short THEN
  SELLSHORT 1 CONTRACT AT MARKET
  // same positive distance, the engine places it above the short entry
  SET STOP LOSS 0.0080
ENDIF

För en short-position placerar motorn stoppen över det genomsnittliga entrypriset. Avståndet förblir ett positivt tal, ingen teckenändring behövs.

Vanliga fel och fallgropar

  • Prisenheter, inte punkter. x är ett rått prisavstånd. SET STOP LOSS 10 på ett valutapar med fem decimaler betyder 10.0000 i pris, ett enormt avstånd. För en stopp på 10 pip skriv SET STOP LOSS 10 * PipSize eller använd SET STOP PLOSS 10.
  • Mäts från entryn, inte från aktuellt pris. Stoppnivån är ankrad till positionens genomsnittspris. Att anropa instruktionen igen senare trailar inte stoppen från den senaste stängningskursen, utan ankrar om samma avstånd från entryn. Trailing kräver $TRAILING, %TRAILING, eller TRAILING varianter.
  • Inställningen kvarstår. A SET STOP LOSS som exekverats en gång fortsätter att gälla för varje senare position till den ersätts. En strategi som sätter en snäv stopp i en gren och glömmer att återställa den någon annanstans tar med sig den stoppen in i orelaterade affärer.
  • Fills i backtest är optimistiska. ProBacktest antar att stoppen fylls exakt på sin nivå. Live-stoppar kan glida förbi nivån på snabba marknader, så realiserade förluster kan överstiga det inställda avståndet.
  • %LOSS, stop loss som en procentandel av entrypriset.
  • $LOSS, stop loss som ett kontantbelopp.
  • PLOSS, stop loss som ett avstånd i punkter.
  • Set Target Loss, lämna en förlustposition vid ett fast negativt avstånd.
  • Set Stop Profit, stopp som låser in ett vinstavstånd.
  • STOP, väntande stopporder för entries och exits.
  • TARGET, take profit-motsvarigheten i stoppfamiljen.
  • BREAKEVEN, flyttar stoppen eller målet till entrypriset.
  • TRADEPRICE, entrypriset för den nuvarande positionen.
  • TRAILING, trailing stop som följer gynnsam prisrörelse.