
Die Strategie ist ein trendfolgendes Handelssystem, das den Relative Strength Index (RSI), den Weighted Moving Average (WMA) und den Exponential Moving Average (EMA) kombiniert. Die Strategie identifiziert Markttrendänderungen, indem sie die Position des RSI-Werts und den Übergang von WMA und EMA überwacht und so Kauf- und Verkaufssignale generiert. Diese Kombinationsmethode berücksichtigt nicht nur die überkauften und überverkauften Bedingungen des Marktes, sondern kombiniert auch die Trendbeurteilung von gleitenden Durchschnitten verschiedener Zeiträume, wodurch Wendepunkte des Marktes genauer erfasst werden können.
Die Kernlogik der Strategie basiert auf den folgenden Schlüsselelementen:
Diese Strategie erstellt ein relativ vollständiges Trendverfolgungssystem durch die Kombination dreier technischer Indikatoren: RSI, WMA und EMA. Der Hauptvorteil der Strategie liegt in der Zuverlässigkeit ihrer Signale und ihrer Möglichkeiten zur Risikokontrolle. Gleichzeitig müssen wir jedoch auch auf das Risiko falscher Signale in volatilen Märkten achten. Durch das Hinzufügen von Optimierungsmaßnahmen wie Volatilitätsfilterung und Trendstärkebestätigung können die Stabilität und Rentabilität der Strategie weiter verbessert werden. Insgesamt handelt es sich hierbei um eine Handelsstrategie mit praktischem Wert, die sich insbesondere für mittel- und langfristige Trendhändler eignet.
/*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)
// Plot RSI, WMA, and EMA
plot(rsi, "RSI", color=#7E57C2)
plot(wma, title="WMA", color=wmaColorInput, linewidth=2)
plot(ema, title="EMA", color=emaColorInput, linewidth=2)
// 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)
if (shortCondition)
strategy.entry("Short", strategy.short)
// 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")