Word nu lid
ProBacktest/probacktest · proorder

PPROFIT

PPROFIT zet een take profit op een vast aantal punten van de gemiddelde positieprijs in ProBacktest en ProOrder, geschreven als SET TARGET PPROFIT x in een strategie.

Syntaxis

probuilder
SET TARGET PPROFIT x

Parameters

NaamTypeStandaardBeschrijving
xgeheel getal of numerieke expressieverplichtAfstand in punten tussen de gemiddelde positieprijs en het take profit-niveau.

Hoe het werkt

Wanneer de instructie wordt uitgevoerd, registreert de strategie een take profit-niveau x punten aan de winnende kant van de gemiddelde positieprijs, boven de entry bij een long en eronder bij een short. Wanneer de prijs het niveau bereikt, sluit de positie en wordt de winst gerealiseerd.

De afstand is verankerd aan POSITIONPRICE, de gemiddelde instapprijs van de hele positie. Als de strategie contracten toevoegt aan een open positie, verschuift het gemiddelde en schuift het doelniveau mee, waardoor de uitstap ten opzichte van elke afzonderlijke fill anders komt te liggen.

A SET TARGET commando blijft actief totdat het wordt vervangen, dus het hoeft niet elke bar te worden herhaald. Alle doelvarianten delen één interne slot: het aanroepen van SET TARGET PPROFIT na SET TARGET %PROFIT, SET TARGET $PROFIT, of SET TARGET BREAKEVEN overschrijft de eerdere instelling, en alleen de laatste aanroep telt.

Voorbeelden

Voorbeeld 1, MACD-instap met een doel van 50 punten (ProOrder)

probuilder
myMACD = MACD[12,26,9](close)
long = myMACD CROSSES OVER 0

IF NOT LongOnMarket AND long THEN
  BUY 1 CONTRACTS AT MARKET
ENDIF

// Take profit 50 points above the average position price
SET TARGET PPROFIT 50

Een long gaat open wanneer de MACD boven nul kruist, en de trade sluit automatisch zodra de prijs 50 punten boven de gemiddelde instap staat. Dit is het referentievoorbeeld uit de brondocumentatie met herschreven commentaar.

Voorbeeld 2, Doel op basis van punten op een short positie (ProBacktest)

probuilder
short = close CROSSES UNDER average[100](close)

IF NOT shortonmarket AND short THEN
  SELLSHORT 1 CONTRACTS AT MARKET
ENDIF

// Take profit 40 points below the average short entry price
SET TARGET PPROFIT 40

Bij een short positie plaatst dezelfde instructie het doel aan de winstgevende kant onder de instap, waardoor de trade na een daling van 40 punten sluit.

Voorbeeld 3, Met ATR geschaalde combinatie van doel en stop (ProOrder)

probuilder
// Derive both exit distances from volatility, in whole points
atr = AverageTrueRange[14](close)
targetPoints = max(10, round((3 * atr) / pointsize))
stopPoints = max(5, round((1.5 * atr) / pointsize))

IF NOT onmarket AND close > highest[20](high[1]) THEN
  BUY 1 CONTRACTS AT MARKET
ENDIF

SET TARGET PPROFIT targetPoints
SET STOP PLOSS stopPoints

Het doel ligt op drie ATR's afstand en de stop op anderhalve, een vaste twee-op-een-verhouding die haar absolute grootte aanpast aan de huidige volatiliteit.

Veelvoorkomende fouten en valkuilen

  • Vastgezet op het gemiddelde, niet op de laatste fill. Na pyramiding of averaging wordt het doel gemeten vanaf de bijgewerkte POSITIONPRICE. Individuele instappen kunnen daardoor dichter bij of verder van hun eigen uitvoeringsprijs uitstappen dan x punten.
  • Één target-slot. PPROFIT, %PROFIT, $PROFIT, en SET TARGET BREAKEVEN overschrijven elkaar. Alleen de meest recente SET TARGET aanroep is actief, dus varianten per bar mengen levert instabiele exits op.
  • Punten zijn geen geld of procenten. x is een puntenaantal. Een percentagedoel hoort in SET TARGET %PROFIT, een cashdoel in SET TARGET $PROFIT. Een geldbedrag aan PPROFIT doorgeven plaatst het niveau verkeerd met de puntwaarde van het instrument.
  • Aanraken is alleen in backtests gelijk aan een fill. ProBacktest gaat ervan uit dat het doel gevuld wordt op het moment dat de prijs het niveau raakt. In live handel kan een limiet op het uiterste van een beweging niet uitgevoerd worden, dus geteste resultaten overdrijven de fill-kwaliteit op dunne markten.
  • %PROFIT, take profit als percentage van de positieprijs.
  • $PROFIT, take profit als geldbedrag.
  • PLOSS, stop loss in punten, de spiegelinstructie.
  • %LOSS, stop loss als percentage.
  • BREAKEVEN, verplaatst de stop of het target naar de instapprijs.
  • TARGET, overzicht van de familie target-instructies.
  • POSITIONPRICE, de gemiddelde instapprijs waarvan de afstand wordt gemeten.
  • POINTSIZE, de grootte van één punt in prijseenheden.