Bli medlem idag
ProBacktest/probacktest · proorder

%LOSS

Instruktionen %LOSS sätter en stop loss som en procentandel under positionens genomsnittspris med SET STOP %LOSS i ProRealTime™ ProBacktest- och ProOrder-kod.

Syntax

probuilder
SET STOP %LOSS x

Parametrar

NamnTypStandardBeskrivning
xnumeriskingenProcentuellt avstånd från det genomsnittliga positionspriset där stop loss utlöses. Accepterar decimaler, så 1.5 betyder 1.5 procent.

Så fungerar det

%LOSS kombineras med SET STOP endast. Instruktionen definierar en stop loss som ett relativt avstånd: för en long-position ligger exitnivån x procent under genomsnittligt positionspris, och för en short-position ligger den x procent över den. Eftersom nivån härleds från positionspriset snarare än ett fast pris anpassar sig samma kodrad till vilket instrument och vilken entrynivå som helst.

Instruktionen är deklarativ. När den väl körs gäller stoppet för den aktuella positionen och för varje framtida position strategin öppnar, till dess att ett annat SET STOP anropet ersätter den. Att placera den en gång nära slutet av koden är det vanliga mönstret. Att anropa SET STOP %LOSS 0 tar bort stoppen.

När flera order kumuleras till en position beräknas procentandelen från hela positionens genomsnittspris. På IG- och PRT-CFD-konton kopplar plattformen stoppen till varje enskild order, så varje order bär sin egen skyddsnivå.

Motsvarigheten på målsidan är SET TARGET %PROFIT. De inverterade kombinationerna, en stop placerad i vinstzonen eller ett mål placerat i förlustzonen, dokumenteras separat under Set Stop Profit och Set Target Loss.

Exempel

Exempel 1, MACD-entry med 2 procents stopp (ProBacktest)

probuilder
myMACD = MACD[12,26,9](close)
long = myMACD crosses over 0
IF NOT LongOnMarket AND long THEN
    BUY 1 CONTRACTS AT MARKET
ENDIF
// Protective stop 2 percent below the average position price
SET STOP %LOSS 2

Strategin köper när MACD-linjen korsar över noll. Vad entrypriset än blir ligger stoppen alltid 2 procent under det.

Exempel 2, Procentstopp på en short-position (ProOrder)

probuilder
fast = Average[10](close)
slow = Average[40](close)
IF NOT ShortOnMarket AND fast crosses under slow THEN
    SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// For shorts the stop sits 1.5 percent ABOVE the position price
SET STOP %LOSS 1.5

Samma instruktion skyddar short-positioner. Plattformen speglar avståndet automatiskt, så ingen teckenändring behövs i koden.

Exempel 3, Fullständig procentbracket runt entryn (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

rsiVal = RSI[14](close)
IF NOT OnMarket AND rsiVal < 30 THEN
    BUY 1 CONTRACT AT MARKET
ENDIF

// Risk 1 percent, aim for 2 percent, a fixed 1:2 bracket
SET STOP %LOSS 1
SET TARGET %PROFIT 2

Att kombinera SET STOP %LOSS med SET TARGET %PROFIT bygger en symmetrisk procentbaserad bracket som skalar med instrumentets pris.

Vanliga fel och fallgropar

  • Procent av priset, inte av equity. SET STOP %LOSS 2 riskerar 2 procent av positionspriset, inte 2 procent av kontot. På en belånad position kan effekten på equity bli betydligt större. Räkna om noga när en regel för risk per affär översätts till den här instruktionen.
  • Fel SET-parning. Den dokumenterade formen är SET STOP %LOSS. Det procentuella målet är ett annat nyckelord, SET TARGET %PROFIT. Att blanda ihop de två leder antingen till att koden inte kompilerar eller till en exit på fel sida av entrynivån.
  • Sista SET STOP vinner. %LOSS, $LOSS, PLOSS, %TRAILING och BREAKEVEN skriver alla till samma interna stop-plats. Endast den senaste SET STOP anropet är aktivt, så att växla mellan formerna bar för bar leder till oberäkneliga exits.
  • Placering inuti villkorsblock. Att omsluta instruktionen i en IF som bara är sann på en bar fungerar fortfarande, eftersom inställningen består, men att köra om den med ett nytt värde varje bar prissätter stoppen om i tysthet. Håll den villkorslös om inte omprissättningen är avsiktlig.
  • $LOSS, stop loss som ett fast penningbelopp.
  • PLOSS, stop loss som ett avstånd i punkter.
  • %PROFIT, take profit som en procentandel av positionspriset.
  • %TRAILING, trailing stop som en procentandel av positionspriset.
  • BREAKEVEN, flyttar stoppen eller målet till entrypriset.
  • STOP, väntande stop-ordrar och SET STOP-familjen.
  • Set Target Loss, target placerad i förlustzonen, den inverterade formen.
  • TRADEPRICE, entrypriset för en given affär.
  • POSITIONPRICE, genomsnittspriset för den öppna positionen.
  • LONGONMARKET, sant så länge en long-position är öppen.