
Die Strategie ist ein hochentwickeltes technisch-analytisches Handelssystem, das die relativ schwachen Indikatoren (RSI) und die Bollinger Bands (BB) kombiniert. Durch die synchronische Nutzung der beiden Indikatoren wird eine hohe Wahrscheinlichkeit für Umkehrmöglichkeiten in den überkauften und überverkauften Bereichen des Marktes gesucht. Die Strategie verwendet einen 20-Zyklus-Moving Average als Basislinie für die Bollinger Bands, um mit einer Doppel-Standard-Differenz auf und ab zu gehen, während die 14-Zyklus-RSI zur Dynamikanalyse verwendet wird, um ein Handelssignal zu erzeugen, wenn der RSI die 30⁄70-Keybreaker überschreitet und der Preis die Bollinger-Bandgrenze erreicht.
Die Kernlogik der Strategie basiert auf der Synergie zweier wichtiger technischer Indikatoren:
Die Strategie baut ein vollständiges Handelssystem auf, das durch die Synergie zwischen dem RSI und dem Brin-Band funktioniert. Sie bietet nicht nur klare Ein- und Ausstiegssignale, sondern auch eine gute Risikokontrolle. Obwohl einige inhärente Risiken bestehen, wird die Strategie durch kontinuierliche Optimierung und Vervollkommnung eine stabile Leistung in verschiedenen Marktumgebungen aufweisen.
/*backtest
start: 2024-10-31 00:00:00
end: 2025-02-18 08:00:00
period: 30m
basePeriod: 30m
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("RSI + Bollinger Bands Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Bollinger Bands Settings
bbLength = input.int(20, title="BB Length")
bbStdDev = input.float(2.0, title="BB Standard Deviation")
basis = ta.sma(close, bbLength)
dev = bbStdDev * ta.stdev(close, bbLength)
upperBB = basis + dev
lowerBB = basis - dev
// Plot Bollinger Bands
plot(basis, color=color.orange, title="BB Basis")
plot(upperBB, color=color.blue, title="Upper Bollinger Band")
plot(lowerBB, color=color.blue, title="Lower Bollinger Band")
fill(plot(upperBB), plot(lowerBB), color=color.blue, transp=90, title="BB Fill")
// RSI Settings
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")
rsi = ta.rsi(close, rsiLength)
// Plot RSI on separate pane
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)
plot(rsi, color=color.purple, title="RSI", linewidth=2, display=display.none) // Hidden on main chart
// Long Condition: RSI crosses above oversold and price touches lower BB
longCondition = ta.crossover(rsi, rsiOversold) and close <= lowerBB
if (longCondition)
strategy.entry("Long", strategy.long)
// Short Condition: RSI crosses below overbought and price touches upper BB
shortCondition = ta.crossunder(rsi, rsiOverbought) and close >= upperBB
if (shortCondition)
strategy.entry("Short", strategy.short)
// Exit Long: RSI crosses above overbought or price crosses above basis
exitLong = ta.crossunder(rsi, rsiOverbought) or close >= basis
if (exitLong)
strategy.close("Long")
// Exit Short: RSI crosses below oversold or price crosses below basis
exitShort = ta.crossover(rsi, rsiOversold) or close <= basis
if (exitShort)
strategy.close("Short")