Word nu lid
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.

Syntaxis

probuilder
SET TARGET PROFIT x

Parameters

NaamTypeStandaardBeschrijving
xgetalgeenAfstand tussen de instapprijs en de take profit, uitgedrukt in prijseenheden van het instrument. Accepteert literalen, variabelen en expressies.

Hoe het werkt

SET TARGET PROFIT declareert een openstaand take profit-order ten opzichte van de instapkoers van de positie. Bij een long positie ligt het uitstapniveau x prijseenheden boven de instap; bij een short positie x eenheden eronder. Zodra de koers het niveau bereikt, sluit de positie automatisch.

De declaratie is persistent. Zodra hij is uitgevoerd, blijft hij actief voor de huidige positie en voor later geopende posities, totdat een andere SET TARGET aanroep hem vervangt. De instructie op een eigen regel aan het eind van de code zetten, buiten elk IF-blok, is het gebruikelijke patroon voor een vast target dat voor elke trade geldt. Hem in voorwaarden verpakken laat het target tijdens de trade veranderen, en dan bepaalt de meest recente aanroep het actieve niveau.

De afstand wordt gemeten in prijseenheden, waarbij één eenheid de POINTSIZE van het instrument is. Gebruik voor doelen op basis van procenten of geld de %PROFIT en $PROFIT varianten in plaats van handmatig te converteren.

Voorbeelden

Voorbeeld 1, MACD-instap met een doel van 50 eenheden (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

Een long gaat open wanneer de MACD-lijn boven nul kruist, en de take profit sluit hem 50 prijseenheden boven de instap. Dit is het voorbeeld uit de officiële referentie.

Voorbeeld 2, Vaste combinatie van doel en 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

Elke positie krijgt dezelfde combinatie, een take profit 120 eenheden boven de instap en een stop 60 eenheden eronder. Beide declaraties staan buiten het instapblok zodat ze voor alle trades gelden.

Voorbeeld 3, Met volatiliteit geschaald doel (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

De doelafstand wordt bij de instap opnieuw berekend als tweemaal de huidige ATR, dus rustige markten krijgen nauwere doelen dan volatiele.

Veelvoorkomende fouten en valkuilen

  • Prijseenheden, geen punten of procenten. SET TARGET PROFIT meet de afstand in prijseenheden van het instrument. Voor punten gebruik je SET TARGET PPROFIT, voor procent SET TARGET %PROFIT, voor accountvaluta SET TARGET $PROFIT. De eenheid verwarren levert targets op die veel te krap of veel te ruim zijn.
  • PROFIT leest geen winst uit. Het keyword komt alleen voor binnen de SET-instructie. Gebruik STRATEGYPROFIT of POSITIONPERF om het lopende resultaat van een strategie of positie te lezen; schrijven naar IF profit > 0 compileert niet.
  • Afstand, geen niveau. De waarde is een offset ten opzichte van de instapprijs, geen absolute prijs. SET TARGET PROFIT 12000 op een index die op 12050 handelt maakt een doel op 12000 eenheden afstand, niet een doel op 12000.
  • De laatste aanroep wint. Opeenvolgende SET TARGET aanroepen overschrijven elkaar, alleen de meest recente declaratie is actief. Conditionele blokken die op dezelfde bar vuren kunnen stilzwijgend een bedoelde target vervangen.
  • PPROFIT, take profit-afstand in punten.
  • %PROFIT, take profit-afstand in procent.
  • $PROFIT, take profit-afstand in de accountvaluta.
  • SET, voorvoegsel van alle declaraties voor orderbeheer.
  • TARGET, de take profit-kant van de SET-instructie.
  • LOSS, stop loss-afstand in prijseenheden.
  • Set Target Loss, targetorder geplaatst op een verliesafstand van de instap.
  • STRATEGYPROFIT, gerealiseerde winst van de strategie in de accountvaluta.
  • POSITIONPERF, prestatie van de open positie.
  • TRADEPRICE, de instapprijs van de huidige positie.