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
SET STOP PTRAILING xParameter
| Name | Typ | Standard | Beschreibung |
|---|---|---|---|
x | Zahl | keine | Abstand 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)
// 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 10Die 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)
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 25Es 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)
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 15Bei 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, undSET STOP BREAKEVENschreiben 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.
Verwandte Befehle
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.