Bli medlem idag
ProBacktest/probacktest · proorder

Set Stop Profit

Set Stop Profit placerar en stop på ett bestämt vinstavstånd från entry i ProBacktest och ProOrder, i punkter, procent, valuta eller prisenheter, och låser in vinster.

Syntax

probuilder
SET STOP PPROFIT x
SET STOP %PROFIT x
SET STOP $PROFIT x
SET STOP PROFIT x

Parametrar

NamnTypStandardBeskrivning
xtalingenVinstavstånd mellan entrypriset och stoppen, i den enhet som varianten anger, punkter, procent, kontovaluta eller prisenheter.

Så fungerar det

En normal SET STOP LOSS placerar stoppen på förlustsidan av entryn. Set Stop Profit inverterar det: stoppen placeras på ett vinstavstånd från entryn, över entryn för en long-position och under den för en short. När den är aktiv kan positionen inte längre stängas med förlust, om priset går tillbaka till stoppnivån avslutas affären med x enheter vinst säkrad.

Kommandot är en generalisering av SET STOP BREAKEVEN, vilket är specialfallet att låsa exakt noll. Set Stop Profit låser i stället ett valt positivt belopp. De fyra varianterna skiljer sig bara i hur avståndet mäts: PPROFIT räknar punkter, %PROFIT en procentandel av entrypriset, $PROFIT ett belopp i kontovalutan och PROFIT prisenheter av instrumentet.

Timingen är den avgörande detaljen. En stop som placeras på vinstsidan av entryn är bara meningsfull när priset redan har rört sig förbi den nivån. Anropas den för tidigt ligger stoppnivån på fel sida av det aktuella priset och positionen stängs omedelbart. Instruktionen ligger därför alltid bakom ett villkor som kontrollerar både en öppen position och en tillräcklig öppen vinst.

Exempel

Exempel 1, Låsa 10 punkter när affären har löpt (ProOrder)

probuilder
// After 20 points of gain, guarantee at least 10 points of profit
IF longonmarket AND close - tradeprice >= 20 * pointsize THEN
  SET STOP PPROFIT 10
ENDIF

När long är 20 punkter i vinst flyttas stoppen till 10 punkter över entry. Affären kan nu inte sluta sämre än 10 punkter i plus. Den SET STOP PPROFIT 10 anrop följer exemplet från den officiella referensen, inkapslat i de nödvändiga skydden.

Exempel 2, Procentbaserad vinstlåsning (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

IF NOT onmarket AND close CROSSES OVER Average[50](close) THEN
  BUY 1 CONTRACT AT MARKET
  SET STOP %LOSS 1
ENDIF

// Once up 2 percent, lock in 1 percent of profit
IF longonmarket AND close >= tradeprice * 1.02 THEN
  SET STOP %PROFIT 1
ENDIF

Affären startar med en vanlig stop loss på 1 procent. Efter en vinst på 2 procent flyttas stoppen till vinstsidan och säkrar 1 procent, vilket ersätter den initiala stoppen.

Exempel 3, Stegvis vinstlåsning i prisenheter (ProBacktest)

probuilder
// Raise the locked profit in steps as the trade extends
IF longonmarket THEN
  gain = close - tradeprice
  IF gain >= 100 THEN
    SET STOP PROFIT 50
  ELSIF gain >= 50 THEN
    SET STOP PROFIT 20
  ENDIF
ENDIF

Det låsta beloppet räknas upp med den öppna vinsten, 20 enheter säkrade efter en rörelse på 50 enheter, 50 enheter efter en rörelse på 100 enheter. Att ordna villkoren från störst till minst håller den högsta låsningen aktiv.

Vanliga fel och fallgropar

  • Anropad innan vinsten finns. Om den öppna vinsten är mindre än x ligger stoppnivån bortom aktuellt pris och positionen stängs omedelbart. Kombinera alltid kommandot med ett villkor på den öppna vinsten, till exempel close - tradeprice >= threshold.
  • En stop-plats. Set Stop Profit skriver till samma interna stop som SET STOP LOSS, trailing-varianterna, och SET STOP BREAKEVEN. Det senaste anropet vinner, så att blanda vinstlås med en trailing stop på varannan bar ger oberäkneliga exits.
  • Enheter blandas ihop mellan varianterna. PPROFIT är punkter, %PROFIT procent, $PROFIT kontovaluta, PROFIT prisenheter. På instrument där punktstorlek och prisenhet skiljer sig placerar den felaktiga varianten låsningen långt från den avsedda nivån.
  • Låst vinst är inte garanterad live. Backtests fyller stoppen exakt på dess nivå. Live kan stoppar slira i snabba marknader, så den realiserade vinsten kan bli något lägre än det låsta beloppet.
  • Set Target Loss, det spegelvända kommandot, ett mål placerat på ett förlustavstånd.
  • SET, prefix för alla deklarationer för orderhantering.
  • STOP, den skyddande stop-sidan av SET-instruktionen.
  • PPROFIT, vinstavstånd mätt i punkter.
  • %PROFIT, vinstavstånd mätt i procent.
  • $PROFIT, vinstavstånd mätt i kontovalutan.
  • PROFIT, vinstavstånd mätt i prisenheter.
  • BREAKEVEN, låser exakt noll, specialfallet av det här kommandot.
  • TRADEPRICE, entrypriset för den nuvarande positionen.