Strategie zur schrittweisen Stop-Loss-Bewegung

Schriftsteller:ChaoZhang, Datum: 2023-11-13 17:29:41
Tags:

img

Übersicht

Die Strategie der allmählichen Stop-Loss-Bewegung ist eine einfache, aber sehr nützliche Strategie, die Sie daran erinnert, den Stop-Loss allmählich nach oben zu bewegen, wenn die Preise steigen.

Grundsätze

Die Strategie setzt zunächst den anfänglichen Stop-Loss auf 95% des Einstiegspreises bei der Einnahme einer Long-Position. Sie definiert dann mehrere höhere Stop-Loss-Level bei 100%, 105%, 110% usw. des Einstiegspreises. Die Strategie überprüft, ob das niedrigste Tief der letzten 7 Tage das vorherige Stop-Loss-Level durchbrochen hat. Wenn ja, wird der Stop-Loss auf dieses höhere Niveau gesetzt.

Insbesondere definiert die Strategie 8 Stop-Loss-Level bei 95%, 100%, 105%, 110%, 115%, 120%, 125%, 130% des Einstiegspreises. Sie überprüft, ob das niedrigste Tief der letzten 7 Tage über dem nächsten Stop-Loss-Level liegt. Wenn ja, wird der Stop-Loss auf dieses höhere Niveau gesetzt.

Zum Beispiel, wenn der Einstiegspreis $100 beträgt, beträgt der anfängliche Stop Loss $95. Wenn das niedrigste Tief der letzten 7 Tage auf $105 steigt, über dem nächsten Stop Loss von $100, wird der Stop Loss auf $100 festgelegt. Wenn er weiter auf $115 steigt, wird der Stop Loss auf $105 festgelegt und so weiter.

Wenn die Preise steigen, steigt auch der Stop-Loss allmählich, wodurch ein allmählicher Stop-Loss zum Schutz einiger Gewinne realisiert wird.

Vorteile

Der größte Vorteil dieser allmählichen Stop-Loss-Strategie besteht darin, dass sie den Stop-Loss allmählich nach oben bewegen kann, wenn die Preise steigen, um einige Gewinne zu schützen und zu vermeiden, dass der Stop-Loss getroffen wird und alle Gewinne sofort verloren gehen.

Im Vergleich zu regulären Trailing Stops erzeugt der allmähliche Stop Loss bei Backtests keine überoptimistischen Ergebnisse. Weil regelmäßige Trailing Stops den Stop Loss sofort nach unten bewegen, wenn sich die Preise zurückziehen, überspringen Sie den Drawdown-Prozess und gehen Sie direkt in den nächsten Anstieg. Aber der Drawdown kann beim tatsächlichen Handel nicht übersprungen werden. Dies macht regelmäßige Trailing Stops nicht in der Lage, die gleichen Ergebnisse beim Live-Handel wie bei Backtests zu erzielen.

Die allmähliche Stop-Loss-Strategie bewegt den Stop-Loss Schritt für Schritt nach oben, so dass sie den tatsächlichen Prozess der Stop-Loss-Bewegung im Live-Handel realistischer in Backtests widerspiegeln kann und zu optimistische Ergebnisse vermeidet.

Auch diese Strategie bietet Anweisungen, wann der Stop-Loss geändert werden soll, so dass Händler ihn manuell ändern können.

Risiken

Das größte Risiko dieser Strategie besteht darin, dass die Stop-Loss-Bewegung möglicherweise nicht mit extrem schnellen Preisanstiegen mithalten kann. Wenn die Preise in einem sehr kurzen Zeitraum stark steigen und mehrere Stop-Loss-Level übersteigen, kann sich der Stop-Loss nur langsam nach oben bewegen und die Gewinne nicht rechtzeitig schützen.

Ein weiteres Risiko besteht darin, dass Händler den Zeitpunkt der Stop-Loss-Modifikationen verpassen oder verzögern können. Die Strategie enthält nur Anweisungen, wann der Stop-Loss geändert werden soll. Die tatsächliche Anpassung beruht immer noch auf manuellen Operationen des Händlers. Vernachlässigung oder Verzögerung der Modifikationen kann dazu führen, dass der Stop-Loss getroffen wird.

Verbesserungen

Die Strategie kann wie folgt verbessert werden:

  1. Optimierung der Stop-Loss-Prozentsatz-Einstellungen, um die Volatilität bestimmter Handelsinstrumente besser anzupassen.

  2. Optimieren Sie den Lookback-Period-Parameter für das niedrigste Tief, z. B. 5 oder 10 Tage, um sich an verschiedene Volatilitäten anzupassen.

  3. Erhöhen Sie die Anzahl der Stop-Loss-Levels für eine allmählichere Bewegung.

  4. Fügen Sie Logik hinzu, um auch ein nachlassendes Gewinnniveau zu erhöhen.

  5. Automation der Stop-Loss-Modifikationsvorgänge zur Verringerung von Schwierigkeits- und Verzögerungsrisiken.

  6. Hinzufügen von Warnungen für Stop-Loss-Verstöße, um zu vermeiden, dass Händler solche Ereignisse verpassen.

Schlussfolgerung

Die allmähliche Stop-Loss-Bewegung ist eine einfache, aber nützliche Strategieidee. Sie kann den Stop-Loss allmählich nach oben bewegen, wenn die Preise steigen, um die Gewinne zu schützen und dabei überoptimistische Rücktestergebnisse zu vermeiden. Im Vergleich zu regelmäßigen Trailing-Stops ist sie für den tatsächlichen Handel geeigneter und einfacher plattformübergreifend umzusetzen. Durch die Optimierung von Parametern wie Stop-Loss-Prozentsätzen, niedrigsten Lookback-Perioden, Anzahl der Stop-Levels usw. kann sie an verschiedene Handelsinstrumente angepasst werden.


/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

///Moving Stops Script///
///by ShanghaiCryto///

///A simple, but very useful, script that reminds you to move up your stop losses as price trends upwards. ///
///The sma entry is just stock code to demonstrate how the stop works.///
///Doesn't throw off your backtesting the way a trailing stop does.///


strategy("Move Up Stops", overlay=true)

longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

first_stop = strategy.position_avg_price * .95
second_stop = strategy.position_avg_price 
third_stop = strategy.position_avg_price * 1.05
fourth_stop = strategy.position_avg_price * 1.1
fifth_stop = strategy.position_avg_price * 1.15
sixth_stop = strategy.position_avg_price * 1.2
seventh_stop = strategy.position_avg_price * 1.25
eighth_stop = strategy.position_avg_price * 1.3

move_trigger = lowest(low,7)

first_check = na
first_check := move_trigger > second_stop ? second_stop : first_stop

second_check = na
second_check := move_trigger > third_stop ? third_stop : first_check

third_check = na
third_check := move_trigger > fourth_stop ? fourth_stop : second_check

fourth_check = na
fourth_check := move_trigger > fifth_stop ? fifth_stop : third_check

fifth_check = na
fifth_check := move_trigger > sixth_stop ? sixth_stop : fourth_check

sixth_check = na
sixth_check := move_trigger > seventh_stop ? seventh_stop : fifth_check

stop_level = na
stop_level := move_trigger > eighth_stop ? eighth_stop : sixth_check

strategy.exit("Stop Loss","My Long Entry Id", stop=stop_level)

plot(stop_level, color=red)

Mehr