Bli medlem idag
ProBacktest/probacktest · proorder

PROFIT

SET TARGET PROFIT in ProBacktest and ProOrder places a take profit a fixed number of price units from entry. PROFIT syntax, examples, and common errors.

Syntax

probuilder
SET TARGET PROFIT x

Parametrar

NamnTypStandardBeskrivning
xtalingenAvstånd mellan entrypriset och take profit, uttryckt i instrumentets prisenheter. Accepterar literaler, variabler och uttryck.

Så fungerar det

SET TARGET PROFIT deklarerar en väntande take profit-order i förhållande till positionens entrypris. För en long-position ligger exitnivån x prisenheter över entryn; för en short-position ligger den x enheter under. När priset når nivån stängs positionen automatiskt.

Deklarationen är bestående. När den körts förblir den aktiv för den aktuella positionen och för positioner som öppnas senare, till dess att en annan SET TARGET anropet ersätter det. Att placera instruktionen på en egen rad i slutet av koden, utanför varje IF-block, är det vanliga mönstret för ett fast mål som gäller varje affär. Att svepa in den i villkor gör att målet kan ändras under pågående affär, och då är det senaste anropet som definierar den aktiva nivån.

Avståndet mäts i prisenheter, där en enhet är instrumentets POINTSIZE. För procentbaserade eller kontantbaserade mål, använd %PROFIT och $PROFIT varianterna istället för att konvertera manuellt.

Exempel

Exempel 1, MACD-entry med mål på 50 enheter (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
// Close the position once it gains 50 price units
SET TARGET PROFIT 50

En long öppnas när MACD-linjen korsar över noll, och take profit stänger den 50 prisenheter över entryt. Detta är exemplet från den officiella referensen.

Exempel 2, Fast bracket med mål och stop (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

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

// Fixed exit bracket around the entry price
SET TARGET PROFIT 120
SET STOP LOSS 60

Varje position har samma bracket, en take profit 120 enheter över entryt och en stop 60 enheter under. Båda deklarationerna ligger utanför entryblocket så att de gäller för alla affärer.

Exempel 3, Volatilitetsskalat mål (ProOrder)

probuilder
atr = AverageTrueRange[14](close)

IF NOT onmarket AND RSI[14](close) < 30 THEN
  BUY 1 CONTRACT AT MARKET
  // Target distance adapts to recent volatility
  SET TARGET PROFIT ROUND(2 * atr)
ENDIF

Målavståndet räknas om vid entry som två gånger aktuell ATR, så lugna marknader får tätare mål än volatila.

Vanliga fel och fallgropar

  • Prisenheter, inte punkter eller procent. SET TARGET PROFIT mäter dess avstånd i instrumentets prisenheter. För punkter använd SET TARGET PPROFIT, för procent SET TARGET %PROFIT, för kontovaluta SET TARGET $PROFIT. Att blanda ihop enheten ger mål som är vilt för snäva eller för vida.
  • PROFIT läser inte av vinst. Nyckelordet förekommer bara inuti SET-instruktionen. För att läsa det löpande resultatet av en strategi eller position, använd STRATEGYPROFIT eller POSITIONPERF; att skriva IF profit > 0 kompilerar inte.
  • Avstånd, inte nivå. Värdet är en förskjutning från entrypriset, inte ett absolut pris. SET TARGET PROFIT 12000 på ett index som handlas vid 12050 skapar ett mål 12000 enheter bort, inte ett mål vid 12000.
  • Det sista anropet gäller. Konsekutiva SET TARGET anrop skriver över varandra, bara den senaste deklarationen är aktiv. Villkorsblock som utlöses på samma bar kan tyst ersätta ett avsett mål.
  • PPROFIT, take profit-avstånd i punkter.
  • %PROFIT, take profit-avstånd i procent.
  • $PROFIT, take profit-avstånd i kontovalutan.
  • SET, prefix för alla deklarationer för orderhantering.
  • TARGET, take profit-sidan av SET-instruktionen.
  • LOSS, stop loss-avstånd i prisenheter.
  • Set Target Loss, targetorder placerad på ett förlustavstånd från entry.
  • STRATEGYPROFIT, strategins realiserade vinst i kontovalutan.
  • POSITIONPERF, den öppna positionens utveckling.
  • TRADEPRICE, entrypriset för den nuvarande positionen.