Jetzt beitreten
ProBacktest/probacktest · proorder

PLOSS

PLOSS setzt in ProBacktest und ProOrder einen Stop Loss in einem festen Punktabstand vom durchschnittlichen Positionskurs, in einer Strategie geschrieben als SET STOP PLOSS x.

Syntax

probuilder
SET STOP PLOSS x

Parameter

NameTypStandardBeschreibung
xGanzzahl oder numerischer AusdruckerforderlichAbstand in Punkten zwischen dem durchschnittlichen Positionskurs und dem Stop-Niveau.

So funktioniert es

Wenn der Befehl ausgeführt wird, registriert die Strategie einen Schutzstop bei x Punkte auf der Verlustseite des durchschnittlichen Positionspreises, unterhalb des Einstiegs bei einem Long und oberhalb bei einem Short. Erreicht der Kurs dieses Niveau, wird die Position zum Markt geschlossen.

Der Abstand ist an POSITIONPRICE verankert, den durchschnittlichen Einstiegskurs der gesamten Position, nicht an den Kurs der letzten Order. Wenn die Strategie einer bestehenden Position Kontrakte hinzufügt, verschiebt sich der Durchschnitt und das Stop-Niveau verschiebt sich bei der nächsten Auswertung mit.

A SET STOP Befehl bleibt aktiv, bis er ersetzt wird. Er muss nicht auf jedem Bar wiederholt werden, auch wenn die Übergabe einer Variablen als x und das erneute Ausführen der Zeile lässt den Abstand sich an veränderte Bedingungen anpassen. Alle Stop-Varianten teilen einen internen Stop-Slot, daher bewirkt der Aufruf von SET STOP PLOSS nach SET STOP %LOSS, SET STOP $LOSS, oder eine trailing Variante überschreibt einfach die vorherige Einstellung.

Beispiele

Beispiel 1, MACD-Einstieg mit einem Stop von 50 Punkten (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

Ein long wird eröffnet, wenn der MACD über Null kreuzt, und die Position wird durch einen Stop 50 Punkte unter dem durchschnittlichen Einstiegskurs geschützt. Dies ist das Referenzbeispiel aus der Originaldokumentation mit neu geschriebenen Kommentaren.

Beispiel 2, Punktbasierter Stop auf einer short Position (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

Bei einer short Position platziert derselbe Befehl den Stop auf der anderen Seite, 30 Punkte über dem durchschnittlichen Einstieg, und schließt den Trade, wenn der Kurs so weit steigt.

Beispiel 3, Volatilitätsskalierter Stop-Abstand (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

Der Stop-Abstand folgt der Volatilität, zwei ATRs in Punkte umgerechnet mit einer Untergrenze von 10 Punkten, sodass ruhige Märkte enge Stops erhalten und volatile Märkte Luft zum Atmen.

Häufige Fehler und Stolperfallen

  • Am Durchschnitt verankert, nicht an der letzten Ausführung. Nach Pyramidieren oder Nachkaufen wird der Stop vom neuen POSITIONPRICE aus gemessen. Ein Stop, der relativ zum ersten Einstieg sicher aussah, kann deutlich näher am oder weiter vom Markt liegen als erwartet.
  • Ein Stop-Platz. PLOSS, %LOSS, $LOSS, BREAKEVEN, und die Trailing-Varianten schreiben alle auf denselben internen Stop. Nur der letzte SET STOP Aufruf ist aktiv, daher führt ein Wechsel der Varianten pro Bar zu unberechenbaren Ausstiegen.
  • Punkte sind nicht Geld oder Prozent. x ist eine Punktanzahl. Verwenden Sie SET STOP %LOSS für einen prozentualen Abstand und SET STOP $LOSS für einen Geldbetrag. Die Übergabe eines Geldbetrags an PLOSS bei einem Instrument mit kleiner Punktgröße erzeugt einen absurd weiten Stop.
  • Ideale Ausführungen in backtests. ProBacktest führt den Stop genau auf dem berechneten Niveau aus. Die Live-Ausführung kann bei Gaps oder schnellen Märkten darüber hinausrutschen, sodass realisierte Verluste die getesteten x Punkte.
  • %LOSS, Stop Loss als Prozentsatz des Positionskurses.
  • $LOSS, Stop Loss als Geldbetrag.
  • PPROFIT, Take Profit in Punkten, der Spiegelbefehl.
  • %PROFIT, Take Profit in Prozent.
  • BREAKEVEN, verschiebt den Stop oder das Ziel auf den Einstiegskurs.
  • PTRAILING, Trailing Stop ausgedrückt in Punkten.
  • POSITIONPRICE, der durchschnittliche Einstiegskurs, von dem aus der Abstand gemessen wird.
  • POINTSIZE, die Größe eines Punkts in Kurseinheiten.
  • STOP, Überblick über die Familie der Stop-Befehle.