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
SET TARGET PROFIT xParameters
| Naam | Type | Standaard | Beschrijving |
|---|---|---|---|
x | getal | geen | Afstand 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)
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 50Een 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)
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 60Elke 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)
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)
ENDIFDe 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 PROFITmeet de afstand in prijseenheden van het instrument. Voor punten gebruik jeSET TARGET PPROFIT, voor procentSET TARGET %PROFIT, voor accountvalutaSET 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 > 0compileert niet. - Afstand, geen niveau. De waarde is een offset ten opzichte van de instapprijs, geen absolute prijs.
SET TARGET PROFIT 12000op een index die op 12050 handelt maakt een doel op 12000 eenheden afstand, niet een doel op 12000. - De laatste aanroep wint. Opeenvolgende
SET TARGETaanroepen overschrijven elkaar, alleen de meest recente declaratie is actief. Conditionele blokken die op dezelfde bar vuren kunnen stilzwijgend een bedoelde target vervangen.
Gerelateerde instructies
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.