$TRAILING
Der Befehl $TRAILING setzt einen Trailing Stop als festen Geldabstand in der Instrumentenwährung mit SET STOP $TRAILING in ProBacktest und ProOrder.
Syntax
SET STOP $TRAILING xParameter
| Name | Typ | Standard | Beschreibung |
|---|---|---|---|
x | numerisch | keine | Maximal zulässige Rückgabe vom besten Preis seit dem Einstieg, ausgedrückt in der Währung des gehandelten Instruments. |
So funktioniert es
$TRAILING kombiniert sich mit SET STOP nur. Es verhält sich wie SET STOP $LOSS mit einem Unterschied: der Referenzkurs rastet nach. Bei einer Long-Position läuft der Stop unterhalb des höchsten seit dem Einstieg erreichten Kurses nach, in einem Abstand entsprechend x Währungseinheiten bei der gegebenen Position Size, und er bewegt sich nie nach unten. Bei einer Short-Position zieht er oberhalb des tiefsten erreichten Kurses nach. Wenn der Kurs um den vollen Abstand zurückläuft, wird die Position geschlossen.
Der Geldbetrag wird über die Position Size und den Punktwert des Instruments in einen Preisabstand umgerechnet, sodass derselbe x ergibt eine engere Preisspur bei einer größeren Position. Die Einstellung gilt für die aktuelle und alle künftigen Positionen, bis ein weiterer SET STOP Aufruf überschreibt ihn, und ein Wert von 0 deaktiviert es.
Der praktische Effekt ist eine Obergrenze dafür, wie viel offenen Gewinn der Trade zurückgeben kann, gemessen in kontorelevanten Größen statt in Punkten oder Prozent.
Beispiele
Beispiel 1, Pullback-Einstieg mit einem Trail von 100 Währungseinheiten (ProBacktest)
// Moving averages framing the pullback
i1 = Average[100](close)
i2 = Average[5](close)
// Uptrend pullback with three rising lows
tradeinitiate = Close > i1 AND Close < i2 AND Low[3] > Low[2] AND Low[2] > Low[1] AND Low[1] > Low
IF NOT LongOnMarket AND tradeinitiate THEN
BUY 1 CONTRACTS AT MARKET
// Give the trade at most 100 of retracement from its best price
SET STOP $TRAILING 100
ENDIFDie Strategie kauft Rücksetzer in einem Aufwärtstrend. Ab dem Einstieg folgt der Stop dem höchsten erreichten Preis und steigt nach einem Rücksetzer im Wert von 100 Währungseinheiten aus.
Beispiel 2, Geld-Trail bei einem Short-Breakout (ProOrder)
support = Lowest[20](low)
IF NOT ShortOnMarket AND close crosses under support[1] THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// The stop trails above the lows, exit after a 75 currency-unit bounce
SET STOP $TRAILING 75Auf der Short-Seite folgt der Trail dem Preis nach unten; nur eine Gegenbewegung im Wert von 75 Währungseinheiten gegen die Position löst den Ausstieg aus.
Beispiel 3, Zuerst statischer Geld-Stop, Trail nach Aktivierung (ProOrder)
DEFPARAM CumulateOrders = false
IF NOT OnMarket AND close crosses over Highest[20](high)[1] THEN
BUY 1 CONTRACT AT MARKET
// Fixed risk while the breakout proves itself
SET STOP $LOSS 120
ENDIF
// Once the trade is 100 ahead in money terms, switch to a trail
IF LongOnMarket AND (close - TRADEPRICE) * POINTVALUE / POINTSIZE >= 100 THEN
SET STOP $TRAILING 60
ENDIFEin zweistufiger Ausstieg, vollständig in Geld ausgedrückt: eine statische Risikogrenze von 120 beim Einstieg, ersetzt durch eine nachlaufende Rückgabe von 60, sobald der offene Gewinn 100 erreicht. Die Umrechnung verwendet POINTVALUE und POINTSIZE um die Preisbewegung in Währung für eine Position von einem Kontrakt umzurechnen.
Häufige Fehler und Stolperfallen
- Falsche SET-Paarung.
$TRAILINGist eine Stop-Anweisung und wird kombiniert mitSET STOPnur. Es gibt keinSET TARGET $TRAILING; Gewinnziele verwenden$PROFIT. - Geld, nicht Punkte.
SET STOP $TRAILING 100erlaubt eine Rückgabe im Wert von 100 Währungseinheiten, nicht 100 Punkten. Die Punkte-Variante istPTRAILING, und eine Verwechslung der beiden verändert den Stop-Abstand um den Punktwert des Instruments. - Die Position Size skaliert den Trail neu. Da der Geldabstand über die Position verteilt wird, halbiert eine Verdopplung der Stückzahl die Preislücke. Änderungen der Positionsgröße können einen komfortablen Trail in einen verwandeln, der innerhalb des normalen Bar-Rauschens liegt.
- Ein Stop-Platz.
$TRAILING,%TRAILING,$LOSS,PLOSSundBREAKEVENüberschreiben denselben internen Stop; nur der letzteSET STOPAufruf ist aktiv. Ein Wechsel zwischen ihnen von Bar zu Bar führt zu unberechenbaren Ausstiegen. - Backtest-Granularität. ProBacktest aktualisiert das nachgezogene Niveau aus Bar-Daten. Die Live-Ausführung zieht Tick für Tick nach, sodass Live-Ausstiege bei schnellen Bars leicht von den im Backtest ermittelten abweichen können.
Verwandte Befehle
%TRAILING, Trailing Stop als Prozentsatz des Positionskurses.PTRAILING, Trailing Stop als Abstand in Punkten.TRAILING, Überblick über die Trailing-Stop-Familie.$LOSS, statischer Stop Loss als fester Geldbetrag.$PROFIT, Take Profit als fester Geldbetrag.BREAKEVEN, verschiebt den Stop oder das Ziel auf den Einstiegskurs.STOP, ausstehende Stop-Orders und die SET STOP-Familie.POINTVALUE, Währungswert eines Punkts, verwendet bei der Umrechnung von Geld in Kurs.LONGONMARKET, wahr, solange eine Long-Position offen ist.