
Dies ist eine Trendfolgestrategie, die einen gleitenden Durchschnitt über zwei Perioden (21 und 55), den RSI-Momentum-Indikator und das Volumen kombiniert. Diese Strategie analysiert Marktinformationen in drei Dimensionen: Preis, Momentum und Volumen. Während sie die Trendrichtung bestätigt, filtert sie Handelssignale durch RSI- und Volumenindikatoren, um die Handelsgenauigkeit zu verbessern. Die Strategie erfordert, dass, wenn der Preis den kurzfristigen gleitenden Durchschnitt durchbricht und der RSI den gleitenden Durchschnitt durchbricht, das Handelsvolumen steigt, um die Gültigkeit des Trends zu bestätigen.
Die Strategie verwendet einen dreifachen Filtermechanismus:
Gleichzeitig müssen die Kaufbedingungen erfüllt sein:
Die Verkaufsbedingungen können wie folgt aussehen:
Dies ist eine Trendfolgestrategie, die die drei Hauptelemente der technischen Analyse (Preis, Volumen und Dynamik) verwendet. Durch mehrere Filtermechanismen stellt die Strategie nicht nur die Signalzuverlässigkeit sicher, sondern verfügt auch über eine gewisse Risikokontrollfähigkeit. Zwar sind mit dieser Strategie einige inhärente Einschränkungen verbunden, doch ist durch kontinuierliche Optimierung und Verbesserung zu erwarten, dass bei tatsächlichen Transaktionen stabile Renditen erzielt werden. Insbesondere in Märkten mit klaren Trends und ausreichender Liquidität kann die Strategie eine bessere Performance erzielen.
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("21/55 MA with RSI Crossover", overlay=true)
// Inputs for moving averages
ma21_length = input.int(21, title="21-day Moving Average Length", minval=1)
ma55_length = input.int(55, title="55-day Moving Average Length", minval=1)
// RSI settings
rsi_length = input.int(13, title="RSI Length", minval=1)
rsi_avg_length = input.int(13, title="RSI Average Length", minval=1)
// Moving averages
ma21 = ta.sma(close, ma21_length)
ma55 = ta.sma(close, ma55_length)
// Volume settings
vol_ma_length = input.int(21, title="Volume MA Length", minval=1)
// Volume moving average
vol_ma = ta.sma(volume, vol_ma_length)
// RSI calculation
rsi = ta.rsi(close, rsi_length)
rsi_avg = ta.sma(rsi, rsi_avg_length)
// Buy condition
// buy_condition = close > ma21 and ta.crossover(rsi, rsi_avg) and volume > vol_ma
buy_condition = close > ma21 and rsi > rsi_avg and volume > vol_ma
// Sell condition
// sell_condition = close < ma55 or ta.crossunder(rsi, rsi_avg)
sell_condition = ta.crossunder(close, ma55) or ta.crossunder(rsi, rsi_avg)
// Execute trades
if (buy_condition)
strategy.entry("Buy", strategy.long, comment="Buy Signal")
if (sell_condition)
strategy.close("Buy", comment="Sell Signal")
// Plot moving averages for reference
plot(ma21, color=color.blue, title="21-day MA")
plot(ma55, color=color.red, title="55-day MA")
// Plot RSI and RSI average for reference
rsi_plot = input.bool(true, title="Show RSI?", inline="rsi")
plot(rsi_plot ? rsi : na, color=color.green, title="RSI")
plot(rsi_plot ? rsi_avg : na, color=color.orange, title="RSI Average")