Jetzt beitreten
ProBacktest/probacktest · proorder

%LOSS

Der Befehl %LOSS setzt mit SET STOP %LOSS einen Stop Loss als Prozentsatz unterhalb des durchschnittlichen Positionspreises in ProRealTime™ ProBacktest- und ProOrder-Code.

Syntax

probuilder
SET STOP %LOSS x

Parameter

NameTypStandardBeschreibung
xnumerischkeineProzentualer Abstand vom durchschnittlichen Positionskurs, bei dem der Stop Loss auslöst. Akzeptiert Dezimalstellen, daher 1.5 bedeutet 1.5 Prozent.

So funktioniert es

%LOSS wird kombiniert mit SET STOP nur. Der Befehl definiert einen Stop Loss als relativen Abstand: bei einer Long-Position liegt das Ausstiegsniveau x Prozent unter dem durchschnittlichen Positionspreis, und bei einer Short-Position liegt er x Prozent darüber. Da sich das Niveau aus dem Positionspreis und nicht aus einem festen Kurs ergibt, passt sich dieselbe Codezeile jedem Instrument und jedem Einstiegsniveau an.

Der Befehl ist deklarativ. Sobald er ausgeführt wird, gilt der Stop für die aktuelle Position und für jede künftige Position, die die Strategie eröffnet, bis ein weiterer SET STOP Aufruf ersetzt ihn. Ihn einmal am Ende des Codes zu platzieren ist das übliche Muster. Das Aufrufen von SET STOP %LOSS 0 entfernt den Stop.

Wenn mehrere Orders zu einer Position kumuliert werden, wird der Prozentsatz vom durchschnittlichen Preis der gesamten Position berechnet. Auf IG- und PRT-CFD-Konten hängt die Plattform den Stop an jede einzelne Order an, sodass jede Order ihr eigenes Schutzniveau trägt.

Das Gegenstück auf der Zielseite ist SET TARGET %PROFIT. Die invertierten Kombinationen, ein Stop in der Gewinnzone oder ein Target in der Verlustzone, sind separat dokumentiert unter Set Stop Profit und Set Target Loss.

Beispiele

Beispiel 1, MACD-Einstieg mit 2-Prozent-Stop (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
// Protective stop 2 percent below the average position price
SET STOP %LOSS 2

Die Strategie kauft, wenn die MACD-Linie über null kreuzt. Wie auch immer der Einstiegskurs ausfällt, der Stop liegt immer 2 Prozent darunter.

Beispiel 2, Prozent-Stop auf einer Short-Position (ProOrder)

probuilder
fast = Average[10](close)
slow = Average[40](close)
IF NOT ShortOnMarket AND fast crosses under slow THEN
    SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// For shorts the stop sits 1.5 percent ABOVE the position price
SET STOP %LOSS 1.5

Derselbe Befehl schützt Short-Positionen. Die Plattform spiegelt den Abstand automatisch, sodass im Code kein Vorzeichenwechsel nötig ist.

Beispiel 3, Vollständige Prozent-Klammer um den Einstieg (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

rsiVal = RSI[14](close)
IF NOT OnMarket AND rsiVal < 30 THEN
    BUY 1 CONTRACT AT MARKET
ENDIF

// Risk 1 percent, aim for 2 percent, a fixed 1:2 bracket
SET STOP %LOSS 1
SET TARGET %PROFIT 2

Kombinieren SET STOP %LOSS mit SET TARGET %PROFIT baut ein symmetrisches prozentbasiertes Bracket, das mit dem Kurs des Instruments skaliert.

Häufige Fehler und Stolperfallen

  • Prozent des Kurses, nicht der Equity. SET STOP %LOSS 2 riskiert 2 Prozent des Positionskurses, nicht 2 Prozent des Kontos. Bei einer gehebelten Position kann die Auswirkung auf die Equity weit größer sein. Rechnen Sie sorgfältig um, wenn Sie eine Regel für Risiko pro Trade in diesen Befehl übersetzen.
  • Falsche SET-Paarung. Die dokumentierte Form ist SET STOP %LOSS. Das prozentuale Ziel ist ein anderes Keyword, SET TARGET %PROFIT. Werden die beiden verwechselt, kompiliert der Code nicht oder der Ausstieg liegt auf der falschen Seite des Einstiegs.
  • Das letzte SET STOP gewinnt. %LOSS, $LOSS, PLOSS, %TRAILING und BREAKEVEN schreiben alle in denselben internen Stop-Slot. Nur der letzte SET STOP Aufruf ist aktiv, daher führt ein Wechsel zwischen den Formen von Bar zu Bar zu unberechenbaren Ausstiegen.
  • Platzierung innerhalb bedingter Blöcke. Den Befehl in ein IF die nur auf einem Bar wahr ist, funktioniert dennoch, weil die Einstellung erhalten bleibt, aber eine erneute Ausführung mit einem anderen Wert auf jedem Bar verschiebt den Stop unbemerkt. Formulieren Sie sie ohne Bedingung, sofern die Verschiebung nicht beabsichtigt ist.
  • $LOSS, Stop Loss als fester Geldbetrag.
  • PLOSS, Stop Loss als Abstand in Punkten.
  • %PROFIT, Take Profit als Prozentsatz des Positionskurses.
  • %TRAILING, Trailing Stop als Prozentsatz des Positionskurses.
  • BREAKEVEN, verschiebt den Stop oder das Ziel auf den Einstiegskurs.
  • STOP, ausstehende Stop-Orders und die SET STOP-Familie.
  • Set Target Loss, Ziel in der Verlustzone platziert, die invertierte Form.
  • TRADEPRICE, Einstiegskurs eines bestimmten Trades.
  • POSITIONPRICE, durchschnittlicher Kurs der offenen Position.
  • LONGONMARKET, wahr, solange eine Long-Position offen ist.