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.
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.
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)