Tracking-Stop-Loss-Strategie basierend auf einem dynamischen doppelten gleitenden Durchschnitt


Erstellungsdatum: 2024-02-26 11:13:17 zuletzt geändert: 2024-02-26 11:13:17
Kopie: 0 Klicks: 594
1
konzentrieren Sie sich auf
1617
Anhänger

Tracking-Stop-Loss-Strategie basierend auf einem dynamischen doppelten gleitenden Durchschnitt

Überblick

Die Strategie ist eine dynamische Stop-Loss-Tracking-Strategie, basierend auf der doppelten EMA-Mittellinie. Sie verwendet die 9- und 20-Tage-Linie, um die Richtung des Markttrends zu bestimmen, kombiniert mit dem RSI-Indikator, der den Falschbruch filtert. Gleichzeitig werden die ATR-Indikatoren verwendet, um die dynamischen Stop-Loss- und Stop-Outs zu berechnen.

Strategieprinzip

Die Strategie nutzt die 9-Tage-EMA als kurzfristige Durchschnittslinie und die 20-Tage-EMA als mittelfristige Durchschnittslinie, um die Preisentwicklung zu bestimmen. Wenn der Preis die kurzfristige Durchschnittslinie überschreitet und der Schlusskurs über dem Höchstwert des Vortages liegt, während der RSI über 30 liegt, macht er einen Plus; wenn der Preis die kurzfristige Durchschnittslinie unterschreitet und der Schlusskurs unter dem Vortagsmindestwert liegt, während der RSI unter 70 liegt, macht er einen Minus.

Die Stop-Loss-Berechnung ist auf den Schlusskurs minus das 1,5-fache des ATR-Wertes festgelegt. Die Stop-Loss-Berechnung ist auf den Schlusskurs plus das ATR-Wert multipliziert mit dem Stop-Factor. Die Trend-Tracking-Stopp-Berechnung wird gleichzeitig mit dem 2-fachen des ATR-Wertes festgelegt.

Strategische Vorteile

  1. Verwenden Sie die doppelte EMA, um die wichtigsten Markttrends zu beurteilen und sich nicht von den Geräuschen zu überfordern
  2. Eintrittsgenauigkeit erhöht durch die Kombination von RSI-Filter und Falschbruch
  3. Dynamische Stop-Loss-Stopps, die je nach Marktschwankungen angepasst werden können
  4. Trend-Stop-Loss, um die Gewinne zu maximieren

Risikoanalyse

  1. Die EMA-Grenze ist nachlässig und könnte kurzfristige Chancen verpassen
  2. Fehlende Einstellung der RSI-Parameter kann zu verpassten Einstiegsmöglichkeiten führen
  3. Die Stop-Loss-Stop-Ratio ist falsch eingestellt und kann zu locker oder zu streng sein
  4. Der Stop-Loss könnte bei starken Schwankungen überschritten werden.

Optimierungsrichtung

  1. Testen Sie EMA-Kombinationen mit verschiedenen Parametern, um die optimale Parameter zu finden
  2. Optimierung der RSI-Parameter und der Beziehung zwischen Einstiegsgenauigkeit und Gewinnung von Chancen
  3. Versuche verschiedene Stop-Loss-Stopp-Relationen und finde die optimale Konfiguration
  4. Hinzufügen von mehr Filterbedingungen, um die Wahrscheinlichkeit zu verringern, dass ein Stop-Loss durchbrochen wird

Zusammenfassen

Die Strategie ist insgesamt eine eher stabile Mittel-Lang-Linie-Positionsstrategie. Sie kombiniert die wichtigsten Trends des Marktes mit der Beurteilung der Doppel-EMA, um zu vermeiden, dass die Entscheidungen von dem kurzfristigen Marktrauschen beeinflusst werden. Die Aufnahme des RSI-Indikators filtert auch zu einem gewissen Grad falsche Durchbrüche.

Strategiequellcode
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("CJTrade", overlay=true)

short = ema(close, 9)
medium = ema(close, 20)
long = ema(close, 50)
very_long = ema(close, 200)

plot(short, color=color.gray, linewidth=1)
plot(medium, color=color.red, linewidth=1)
plot(long, color=color.black, linewidth=1)
plot(very_long, color=color.blue, linewidth=1)

rsiValue = rsi(close, 14)

near20EMA = close > medium - atr(14)

longCond = crossover(close[1], short) and close >= high[1] and rsiValue < 70 and near20EMA
shortCond = crossunder(close[1], short) and close <= low[1] and rsiValue > 30 and near20EMA

strategy.entry("Long", strategy.long, when=longCond)
strategy.entry("Short", strategy.short, when=shortCond)

atrValue = atr(14)
stopLossLevel = close - atrValue * 1.5

// Dynamic take profit level based on ATR
takeProfitMultiplier = input(2, title="Take Profit Multiplier", minval=0.1, maxval=10, step=0.1)
takeProfitLevel = close + atrValue * takeProfitMultiplier

// Trailing stop loss for long positions
longTrailingStop = close - atrValue * 2
strategy.exit("LongTrailingStop", from_entry="Long", loss=longTrailingStop)

// Trailing stop loss for short positions
shortTrailingStop = close + atrValue * 2
strategy.exit("ShortTrailingStop", from_entry="Short", loss=shortTrailingStop)

strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=stopLossLevel, profit=takeProfitLevel)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=stopLossLevel, profit=takeProfitLevel)