この戦略は,ボリンジャーバンドと相対強度指数 (RSI) を組み合わせた定量的な取引アプローチである.ボリンジャーバンドの価格ブレイクとRSIオーバーバイト/オーバーセールゾーンを調整することによって市場のターニングポイントを把握する.この戦略は20期ボリンジャーバンドと14期RSIを使用し,RSIがオーバーセール領域にある間価格が下帯を下回るとロングポジションに入手し,RSIがオーバーバイト領域にある間価格が上帯を下回るとロングポジションを閉じる.
基本論理は2つの技術指標のシネージに基づいている.ボリンガーバンドは,中帯 (20期SMA) と上部/下部帯 (中間±2標準偏差) で構成され,価格変動とトレンドを反映している.RSIは過買い/過売状況を特定するために価格動向の相対強さを計算する.価格が下部帯に触れたとき,RSIが30以下であるとき,潜在的な過売状況とリバウンド機会を示唆する.価格が上部帯に触れたとき,RSIが70を超えると,潜在的な過買い状況と訂正リスクを示唆する.これらの指標のクロスバリデーションは信号の信頼性を向上させる.
この戦略は,クラシックな技術指標であるボリンジャーバンドとRSIを革新的に組み合わせた定量戦略である.これらの指標の補完効果を通じて,市場のターニングポイントを効果的に把握しながら信号の信頼性を確保する.この戦略は明確な論理とシンプルな計算を特徴づけ,強力な実用性がある.いくつかの固有リスクがあるにもかかわらず,提案された最適化方向性は戦略の安定性と収益性をさらに高めることができる.この戦略はトレンド市場に適しており,投資家に客観的な取引信号参照を提供することができます.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-25 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands + RSI Strategy", overlay=true) // Bollinger Bands length = 20 src = close mult = 2.0 basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // RSI rsiLength = 14 rsiOverbought = 70 rsiOversold = 30 rsiValue = ta.rsi(src, rsiLength) // Plot Bollinger Bands plot(basis, color=color.blue, linewidth=1) plot(upper, color=color.red, linewidth=1) plot(lower, color=color.green, linewidth=1) // Plot Buy/Sell signals buySignal = ta.crossover(close, lower) and rsiValue < rsiOversold sellSignal = ta.crossunder(close, upper) and rsiValue > rsiOverbought plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Strategy Entry/Exit if (buySignal) strategy.entry("Buy", strategy.long) if (sellSignal) strategy.close("Buy") // RSI Plot (not on overlay, for reference) rsiPlot = plot(rsiValue, title="RSI", color=color.purple, linewidth=1, offset=-1) hline(rsiOverbought, "Overbought", color=color.red) hline(rsiOversold, "Oversold", color=color.green)