Krypto-Pullback-Handelsstrategie auf der Grundlage von Stochastic RSI und EMA Crossover

Schriftsteller:ChaoZhang, Datum: 2024-03-08 16: 44:51
Tags:

img

Strategieübersicht

Diese Strategie kombiniert Stochastic RSI und EMA, um Trends zu erkennen und Handelssignale zu überprüfen. Wenn der Preis über EMA20 auf zwischen EMA9 und EMA14 zurückschreitet und der Stochastic RSI unter dem Überverkaufsniveau liegt, wird ein Long-Signal generiert; wenn der Preis unter EMA20 auf zwischen EMA9 und EMA14 zurückschreitet und der Stochastic RSI über dem Überkaufsniveau liegt, wird ein Short-Signal generiert.

Strategieprinzipien

  1. Verwenden Sie die Funktion ta.ema, um 3 EMA mit verschiedenen Perioden zu berechnen, nämlich EMA9, EMA14 und EMA20, um den Trendzustand des Preises zu bestimmen.
  2. Verwenden Sie die Ta.rsi-Funktion, um den RSI-Indikator zu berechnen, und verwenden Sie dann die Ta.stoch-Funktion, um den RSI in den Stochastic RSI-Indikator umzuwandeln, um festzustellen, ob der Preis überkauft oder überverkauft ist.
  3. Wenn der Schlusskurs > EMA20 und der Schlusskurs < EMA9 und EMA14, sowie der Stochastic RSI < Überverkaufsniveau, wird ein Long-Signal ausgelöst und ein Kaufgeschäft ausgeführt.
  4. Wenn der Schlusskurs < EMA20 und der Schlusskurs > EMA9 und EMA14, sowie der Stochastic RSI > überkauft sind, wird ein Kurzsignal ausgelöst und eine Verkaufsaktion ausgeführt.

Der Kerngedanke dieser Strategie besteht darin, den stochastischen RSI zu verwenden, um festzustellen, ob der Kursrückgang im Haupttrend (dargestellt durch EMA20) ein angemessenes Überkauf- oder Überverkaufsgebiet erreicht hat, während der schnelle EMA und der mittlere EMA zur Überprüfung der Stärke des Rückgangs verwendet werden. Wenn der Preis durch den schnellen EMA und den mittleren EMA bricht, kann der Rückgang enden und der Trend umgekehrt werden, was nicht geeignet ist, eine Position einzugehen. Nur wenn der Preis zwischen EMA9 und EMA14 zurücktritt, wird davon ausgegangen, dass eine Position in die Richtung des Trends eingegeben wird. Diese mehrbedingte Verifizierungsmethode kann die Signalqualität effektiv verbessern und Fehleinschätzungen reduzieren.

Strategische Vorteile

  1. Kombiniert Trendindikatoren (EMA) und Oszillatorindikatoren (RSI), um den Trend und den Überkauf/Überverkauf besser zu erfassen.
  2. Der Stochastische RSI wird übernommen, der im Vergleich zum ursprünglichen RSI-Indikator zwei Vorteile aufweist: einer ist eine erhöhte Glatzheit des Indikators und der andere vermeidet, dass der Indikator lange an extremen Werten festhält.
  3. Die mehrbedingte Überprüfung kann viele falsche Signale effektiv filtern und die Zuverlässigkeit der Signale verbessern.
  4. Die Code-Logik ist klar und einfach, leicht zu verstehen und zu ändern und kann als Vorlage für Anfänger verwendet werden.

Strategische Risiken

  1. Nicht geeignet für seitliche Märkte, da sich die EMA häufig kreuzen, was zu vielen falschen Signalen führen kann.
  2. Wenn der Trend sehr stark ist und der Preis einseitig steigt oder fällt, verpasst diese Strategie viele Chancen, da der Rückschritt sehr flach ist.
  3. Die Auswahl der EMA-Parameter hat einen großen Einfluss auf die Strategie und muss für verschiedene Sorten und Zeiträume gesondert angepasst werden.
  4. Die Stochastischen RSI-Parameter müssen auch an die tatsächliche Situation angepasst werden, und die aktuellen Standardwerte funktionieren möglicherweise nicht gut bei einigen Sorten.

Optimierungsrichtlinien

  1. Es sollte in Erwägung gezogen werden, den ATR-Indikator einzuführen, um die Überkauf- und Überverkaufswerte dynamisch an unterschiedliche Volatilitätsniveaus anzupassen.
  2. Hinzufügen von mehreren EMAs mit unterschiedlichen Perioden, um die Position der Kursrückgänge genauer zu beschreiben.
  3. Es müssen auch Stop-Loss und Take-Profit berücksichtigt werden, wobei Prozentsatz-Stop-Loss oder ATR-Stop-Loss und Trailing-Stop-Loss zum Schutz der Gewinne verwendet werden.
  4. Candlestick-Muster wie Pinbars und Engulfing-Muster können verwendet werden, um Trendumkehrungen als zusätzliche Bedingungen zur Verbesserung der Genauigkeit zu beurteilen.

Zusammenfassung

Diese Strategie verwendet den Stochastic RSI in Kombination mit der EMA-Mehrbedingungen-Verifikation, um das Risiko effektiv zu kontrollieren, während Trendrückgänge erfasst werden. Die Gesamtidee ist einfach und leicht zu verstehen, geeignet für Anfänger, die es lernen und verwenden können. Die Strategie selbst hat jedoch auch einige Einschränkungen, wie schlechte Performance in seitlichen Märkten, unzureichendes Verständnis von Trendbewegungen usw., die flexibel an die tatsächliche Situation angepasst werden müssen. In Zukunft kann auch die Optimierung und Verbesserung der Strategie aus Aspekten wie dynamischen Parametern, mehr Indikatorenverifizierung und Geldmanagement berücksichtigt werden, um robustere Renditen zu erzielen. Im Allgemeinen kann diese Strategie als Grundvorlage dienen, die modifiziert und erweitert werden kann, und ist ein guter Ausgangspunkt für Lernmaterial.


/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Crypto-EMA_Pullback=-", overlay=true,initial_capital = 10000000,default_qty_type=strategy.percent_of_equity, default_qty_value=10.0, pyramiding = 10)

// Inputs
lengthRsi = input(14, title="RSI Length")
k = input(3, title="Stoch %K")
d = input(3, title="Stoch %D")
lengthStoch = input(14, title="Stochastic RSI Length")
overSold = input(25, title="Oversold Level")
overBought = input(85, title="Overbought Level")
emaFastLength = input(9, title="Fast EMA Length")
emaMediumLength = input(14, title="Medium EMA Length")
emaSlowLength = input(20, title="Slow EMA Length")

// Calculating EMAs
emaFast = ta.ema(close, emaFastLength)
emaMedium = ta.ema(close, emaMediumLength)
emaSlow = ta.ema(close, emaSlowLength)

// Calculating the RSI and Stoch RSI
rsi = ta.rsi(close, lengthRsi)
stochRsiK = ta.sma(ta.stoch(rsi, rsi, rsi, lengthStoch), k)
stochRsiD = ta.sma(stochRsiK, d)

// Entry Conditions
bullishCondition = close > emaSlow and close < emaFast and close < emaMedium and stochRsiK < overSold
bearishCondition = close < emaSlow and close > emaFast and close > emaMedium and stochRsiK > overBought

// Strategy Execution
if (bullishCondition)
    strategy.entry("Long", strategy.long)

if (bearishCondition)
    strategy.entry("Short", strategy.short)

// Plotting
plot(emaFast, color=color.blue, title="Fast EMA")
plot(emaMedium, color=color.orange, title="Medium EMA")
plot(emaSlow, color=color.red, title="Slow EMA")
hline(overSold, "Oversold", color=color.green)
hline(overBought, "Overbought", color=color.red)


Mehr