Word nu lid
ProBacktest/probacktest · proorder

PLOSS

PLOSS zet een stop loss op een vast aantal punten van de gemiddelde positieprijs in ProBacktest en ProOrder, geschreven als SET STOP PLOSS x in een strategie.

Syntaxis

probuilder
SET STOP PLOSS x

Parameters

NaamTypeStandaardBeschrijving
xgeheel getal of numerieke expressieverplichtAfstand in punten tussen de gemiddelde positieprijs en het stopniveau.

Hoe het werkt

Wanneer de instructie wordt uitgevoerd, registreert de strategie een beschermende stop op x punten aan de verliesgevende kant van de gemiddelde positieprijs, onder de instap bij een long en erboven bij een short. Als de prijs dat niveau raakt, wordt de positie tegen de markt gesloten.

De afstand is vastgezet op POSITIONPRICE, de gemiddelde instapprijs van de hele positie, niet op de prijs van de laatste order. Wanneer de strategie contracten toevoegt aan een bestaande positie, verschuift het gemiddelde en verschuift het stopniveau bij de volgende evaluatie mee.

A SET STOP commando blijft actief totdat het wordt vervangen. Het hoeft niet op elke bar herhaald te worden, hoewel het doorgeven van een variabele als x en de regel opnieuw uitvoeren laat de afstand zich aanpassen aan veranderende omstandigheden. Alle stopvarianten delen één interne stopslot, dus het aanroepen van SET STOP PLOSS na SET STOP %LOSS, SET STOP $LOSS, of een trailing variant overschrijft simpelweg de vorige instelling.

Voorbeelden

Voorbeeld 1, MACD-instap met een stop 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

// Stop loss 50 points from the average position price
SET STOP PLOSS 50

Een long gaat open wanneer de MACD boven nul kruist, en de positie wordt beschermd door een stop 50 punten onder de gemiddelde instapprijs. Dit is het referentievoorbeeld uit de brondocumentatie met herschreven commentaar.

Voorbeeld 2, stop 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

// Stop 30 points above the average short entry price
SET STOP PLOSS 30

Voor een short positie plaatst dezelfde instructie de stop aan de andere kant, 30 punten boven de gemiddelde instap, waardoor de trade sluit als de prijs zo ver stijgt.

Voorbeeld 3, stopafstand geschaald naar volatiliteit (ProOrder)

probuilder
// Convert an ATR distance in price units into whole points
atr = AverageTrueRange[14](close)
stopPoints = max(10, round((2 * atr) / pointsize))

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

SET STOP PLOSS stopPoints

De stopafstand volgt de volatiliteit, twee ATR's omgezet in punten met een ondergrens van 10 punten, zodat rustige markten krappe stops krijgen en volatiele markten ruimte om te ademen krijgen.

Veelvoorkomende fouten en valkuilen

  • Vastgezet op het gemiddelde, niet op de laatste fill. Na pyramiding of averaging down wordt de stop gemeten vanaf de nieuwe POSITIONPRICE. Een stop die veilig leek ten opzichte van de eerste instap kan veel dichter bij, of veel verder van, de markt liggen dan verwacht.
  • Één stop-slot. PLOSS, %LOSS, $LOSS, BREAKEVEN, en de trailing varianten schrijven allemaal naar dezelfde interne stop. Alleen de meest recente SET STOP aanroep is actief, dus varianten per bar afwisselen leidt tot onvoorspelbare exits.
  • Punten zijn geen geld of procenten. x is een aantal punten. Gebruik SET STOP %LOSS voor een procentuele afstand en SET STOP $LOSS voor een geldbedrag. Een geldbedrag doorgeven aan PLOSS op een instrument met een kleine puntgrootte levert een absurd ruime stop op.
  • Ideale fills in backtests. ProBacktest voert de stop exact op het berekende niveau uit. Live uitvoering kan er bij gaps of snelle markten voorbij slippen, waardoor gerealiseerde verliezen de geteste x punten.
  • %LOSS, stop loss als percentage van de positieprijs.
  • $LOSS, stop loss als geldbedrag.
  • PPROFIT, take profit in punten, de spiegelinstructie.
  • %PROFIT, take profit als percentage.
  • BREAKEVEN, verplaatst de stop of het target naar de instapprijs.
  • PTRAILING, trailing stop uitgedrukt in punten.
  • POSITIONPRICE, de gemiddelde instapprijs waarvan de afstand wordt gemeten.
  • POINTSIZE, de grootte van één punt in prijseenheden.
  • STOP, overzicht van de familie stop-instructies.