Diese Strategie ist ein Trend folgendes Handelssystem, das den Relative Strength Index (RSI), den gewichteten gleitenden Durchschnitt (WMA) und den exponentiellen gleitenden Durchschnitt (EMA) kombiniert. Durch die Nutzung mehrerer technischer Indikatoren erfasst die Strategie Marktdynamikveränderungen an Trendumkehrpunkten, um Handelssignale zu generieren. Das System verwendet WMA und EMA-Kreuzungen, um die Trendrichtung zu bestätigen und RSI zu integrieren, um Marktbedingungen für eine verbesserte Handelsgenauigkeit zu filtern.
Die Kernlogik der Strategie beruht auf folgenden Schlüsselelementen: 1. Die Berechnung des RSI verwendet eine 14-Perioden-Einstellung zur Messung von Marktüberkauf/Überverkauf 2. Die Überschneidungen der WMA über 45 und der EMA über 89 Zeiträume bestätigen Trendübergänge 3. Eingangsbedingungen: - Langes Signal: WMA überschreitet EMA und RSI<50 - Kurzsignal: WMA unterhalb der EMA und RSI>50 Das System visualisiert die Marktbedingungen durch RSI-Farbveränderungen, die grün, wenn RSI>70 und rot, wenn RSI<30 angezeigt werden. 5. Der blaue Hintergrund ist im Bereich RSI 30-70 eingestellt, um neutrale Zonen zu identifizieren
Dies ist eine Trend-Folge-Strategie, die auf mehreren technischen Indikatoren basiert und RSI, WMA und EMA kombiniert, um Trendumkehrpunkte des Marktes zu erfassen und gleichzeitig die Handelsstabilität zu erhalten.
/*backtest start: 2024-12-17 00:00:00 end: 2025-01-16 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy(title="RSI + WMA + EMA Strategy", shorttitle="RSI Strategy", overlay=true) // RSI Settings rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings") rsiSourceInput = input.source(close, "Source", group="RSI Settings") // WMA and EMA Settings wmaLengthInput = input.int(45, minval=1, title="WMA Length", group="WMA Settings") wmaColorInput = input.color(color.blue, title="WMA Color", group="WMA Settings") emaLengthInput = input.int(89, minval=1, title="EMA Length", group="EMA Settings") emaColorInput = input.color(color.purple, title="EMA Color", group="EMA Settings") // RSI Calculation change = ta.change(rsiSourceInput) up = ta.rma(math.max(change, 0), rsiLengthInput) down = ta.rma(-math.min(change, 0), rsiLengthInput) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) // WMA and EMA Calculation wma = ta.wma(rsi, wmaLengthInput) ema = ta.ema(rsi, emaLengthInput) // RSI Color Logic rsiColor = rsi > 70 ? color.new(color.green, 100 - math.round(rsi)) : rsi < 30 ? color.new(color.red, math.round(rsi)) : color.new(color.blue, 50) // Plot RSI, WMA, and EMA plot(rsi, "RSI", color=rsiColor) plot(wma, title="WMA", color=wmaColorInput, linewidth=2) plot(ema, title="EMA", color=emaColorInput, linewidth=2) // Highlight RSI Area between 30 and 70 bgcolor(rsi >= 30 and rsi <= 70 ? color.new(color.blue, 90) : na) // Entry and Exit Conditions longCondition = ta.crossover(wma, ema) and rsi < 50 shortCondition = ta.crossunder(wma, ema) and rsi > 50 if (longCondition) strategy.entry("Long", strategy.long) alert("Buy Signal: WMA crossed above EMA, RSI < 50", alert.freq_once_per_bar) if (shortCondition) strategy.entry("Short", strategy.short) alert("Sell Signal: WMA crossed below EMA, RSI > 50", alert.freq_once_per_bar) // Optional: Plot Buy/Sell Signals on Chart plotshape(series=longCondition, style=shape.labelup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") plotshape(series=shortCondition, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")