
Die Strategie ist ein adaptives Handelssystem, das Bollinger Bands und einen relativ schwachen Index (RSI) kombiniert. Die Strategie identifiziert potenzielle Handelsmöglichkeiten durch die Bollinger Bands-Preiskanäle und die Überkauf-Überverkauf-Signale des RSI, um die Markttrends und -Volatilitäten zu erfassen. Die Strategie verwendet die Standarddifferenz, um die Handelszonen dynamisch anzupassen, und die Überkauf-Überverkauf-Ebene des RSI, um die Handelssignale zu bestätigen, um die Genauigkeit des Handels zu verbessern.
Der Kern der Strategie besteht darin, die Chancen für die Marktschwankungen zu erfassen, indem der Brin-Band in Kombination mit dem RSI-Indikator in den oberen, mittleren und unteren Orbitalen eingesetzt wird. Der Brin-Band basiert auf einem 20-Zyklus-Moving Average und berechnet die 2-fache Standarddifferenz. Der RSI wird mit 14 Zyklen berechnet und 70 als Überkauf und 30 als Überverkauf eingestellt.
Die Strategie baut durch die Kombination von Brin-Bands und RSI ein relativ vollständiges Handelssystem auf. Die Strategie hat den Vorteil, dass sie sich an Marktfluktuationen anpasst und zuverlässige Handelssignale liefert, aber den Einfluss der Marktumgebung auf die Strategie-Performance berücksichtigt werden muss. Die Stabilität und Zuverlässigkeit der Strategie wird durch die empfohlene Optimierungsrichtung voraussichtlich weiter verbessert. In der praktischen Anwendung wird empfohlen, dass Händler ihre Handelsentscheidungen an die spezifischen Markteigenschaften anpassen und in Kombination mit anderen Instrumenten der technischen Analyse treffen.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands and RSI Strategy with Buy/Sell Signals", overlay=true)
// Input settings
bb_length = input.int(20, title="Bollinger Bands Length", minval=1)
bb_mult = input.float(2.0, title="Bollinger Bands Multiplier", minval=0.1)
rsi_length = input.int(14, title="RSI Length", minval=1)
rsi_overbought = input.int(70, title="RSI Overbought Level", minval=50)
rsi_oversold = input.int(30, title="RSI Oversold Level", minval=1)
// Bollinger Bands calculation
basis = ta.sma(close, bb_length)
dev = bb_mult * ta.stdev(close, bb_length)
upper_band = basis + dev
lower_band = basis - dev
// RSI calculation
rsi = ta.rsi(close, rsi_length)
// Buy signal: Price touches lower Bollinger Band and RSI is oversold
buy_signal = ta.crossover(close, lower_band) and rsi < rsi_oversold
// Sell signal: Price touches upper Bollinger Band and RSI is overbought
sell_signal = ta.crossunder(close, upper_band) and rsi > rsi_overbought
// Execute orders
if (buy_signal)
strategy.entry("Buy", strategy.long)
if (sell_signal)
strategy.close("Buy")
// Plotting Bollinger Bands and RSI
plot(upper_band, color=color.red, linewidth=2, title="Upper Band")
plot(lower_band, color=color.green, linewidth=2, title="Lower Band")
plot(basis, color=color.blue, linewidth=1, title="Middle Band")
hline(rsi_overbought, "Overbought", color=color.red, linestyle=hline.style_dashed)
hline(rsi_oversold, "Oversold", color=color.green, linestyle=hline.style_dashed)
plot(rsi, "RSI", color=color.orange)
// Add Buy/Sell signals on the chart
plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")