Jetzt beitreten
ProBacktest/probacktest · proorder

PTRAILING

SET STOP PTRAILING in ProBacktest and ProOrder sets a trailing stop that follows price at a fixed distance in points. PTRAILING syntax, examples, and gotchas.

Syntax

probuilder
SET STOP PTRAILING x

Parameter

NameTypStandardBeschreibung
xZahlkeineAbstand in Punkten zwischen dem Marktkurs und dem Trailing Stop. Akzeptiert Literale, Variablen und Ausdrücke.

So funktioniert es

SET STOP PTRAILING deklariert eine dynamische Stop-Order, die dem Markt mit einem festen Punktabstand folgt. Bei einer Long-Position liegt der Stop x Punkte unter dem höchsten seit dem Einstieg erreichten Kurs; macht der Kurs ein neues High, steigt der Stop mit, und fällt der Kurs, hält der Stop sein Niveau. Die Position wird geschlossen, sobald der Kurs x Punkte von seinem besten Niveau zurückläuft. Short-Positionen spiegeln dieses Verhalten oberhalb des Marktes.

Wie alle SET-Deklarationen ist die Anweisung dauerhaft. Einmal deklariert, üblicherweise in einer eigenen Zeile außerhalb jedes IF-Blocks, gilt sie für die aktuelle Position und für jede spätere Position, bis eine andere SET STOP -Aufruf ersetzt es.

Der Abstand wird in Punkten gemessen. Die verwandten Varianten decken andere Einheiten ab: SET STOP TRAILING für Preiseinheiten, SET STOP %TRAILING für Prozent, und SET STOP $TRAILING für die Kontowährung.

Beispiele

Beispiel 1, Trailing Stop bei einem Pullback-Einstieg (ProBacktest)

probuilder
// Trend filter and short-term average
i1 = average(close)[100]
i2 = average(close)[5]

// Enter on a three-bar pullback inside an uptrend
tradeinitiate = Close > i1 AND Close < i2 AND Low[3] > Low[2] AND Low[2] > Low[1] AND Low[1] > Low
tradeclose = Close > Close[1]

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

IF LongOnMarket AND tradeclose THEN
    SELL AT MARKET
ENDIF

// Protective stop trails 10 points behind price
SET STOP PTRAILING 10

Die Strategie kauft Pullbacks über dem 100-Bar-Durchschnitt und steigt bei Stärke aus, während der Trailing Stop jeden Rücksetzer auf 10 Punkte begrenzt. Dies ist das Beispiel aus der offiziellen Referenz.

Beispiel 2, Breakout-Einstieg, geschützt durch einen punktbasierten Trail (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

// Enter on a 20-bar breakout
IF NOT onmarket AND close > highest[20](high)[1] THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

// Let the trade run, exit after a 25-point retracement
SET STOP PTRAILING 25

Es wird kein festes Ziel verwendet. Der Trailing Stop ist der einzige Ausstieg, sodass der Trade offen bleibt, solange der Kurs weiter steigt, ohne einen Pullback von 25 Punkten.

Beispiel 3, Eine Short-Position nachziehen (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

// Short when price loses the 50-bar average
IF NOT onmarket AND close CROSSES UNDER Average[50](close) THEN
  SELLSHORT 1 CONTRACT AT MARKET
ENDIF

// Stop trails 15 points above the falling price
SET STOP PTRAILING 15

Bei einem Short liegt der Stop über dem Markt und zieht nach unten nach, während der Kurs neue Tiefs macht, und schließt den Trade nach einer Gegenbewegung von 15 Punkten.

Häufige Fehler und Stolperfallen

  • Punkte, nicht Kurseinheiten oder Prozent. PTRAILING zieht in Punkten nach, TRAILING in Kurseinheiten, %TRAILING in Prozent und $TRAILING in Kontowährung. Die falsche Variante bei einem Instrument mit kleiner Punktgröße zu wählen erzeugt einen Stop, der praktisch am Markt liegt oder absurd weit entfernt ist.
  • Ein Stop-Slot pro Position. SET STOP PTRAILING, SET STOP LOSS, und SET STOP BREAKEVEN schreiben alle in denselben internen Stop, und der letzte Aufruf gewinnt. Ein Wechsel zwischen ihnen von Bar zu Bar führt zu unsteten Ausstiegen; wählen Sie pro Trade eine einzige Stop-Regel.
  • Backtests füllen Trailing Stops optimistisch. ProBacktest bewertet den Trail auf Bar-Daten und nimmt saubere Fills auf dem Stop-Niveau an. Die Live-Ausführung in schnellen Märkten rutscht durch das Niveau hindurch, sodass Live-Ergebnisse bei engen Trails systematisch schlechter sind als die Simulation.
  • Ein zu enger Trail wird zum sofortigen Ausstieg. Ein Abstand, der kleiner ist als das normale Rauschen von Bar zu Bar des Instruments, schließt die meisten Trades innerhalb weniger Bars. Bemessen Sie den Abstand anhand gemessener Volatilität, zum Beispiel ein Vielfaches des ATR in Punkte umgerechnet, statt anhand eines festen Schätzwerts.
  • TRAILING, Trailing-Stop-Abstand in Kurseinheiten.
  • %TRAILING, Trailing-Stop-Abstand in Prozent.
  • $TRAILING, Trailing-Stop-Abstand in Kontowährung.
  • SET, Präfix aller Deklarationen zur Orderverwaltung.
  • STOP, die Schutzstop-Seite des SET-Befehls.
  • BREAKEVEN, verschiebt den Stop oder das Ziel auf den Einstiegskurs.
  • PLOSS, fester Stop-Loss-Abstand in Punkten.
  • TRADEPRICE, der Einstiegskurs der aktuellen Position.
  • POINTSIZE, der Wert eines Punkts des Instruments.
  • LONGONMARKET, wahr, solange eine Long-Position offen ist.