
この戦略は,ブリン帯と比較的強い指標 ((RSI)) を組み合わせた量化取引戦略である.戦略は,ブリン帯の価格突破とRSIの超買い区域の組み合わせによって市場の転換点を捕捉し,そのようにトレンドの把握を実現する.戦略は20周期のブリン帯と14周期のRSIの指標を採用し,価格がブリン帯を突破して下線し,RSIが超売り区域にいるときは多額の取引をする.価格がブリン帯を突破して上線し,RSIが超買い区域にいるときは平仓する.
戦略の核心的な論理は,2つの技術指標の協同作用に基づいています. ブリン帯は中軌 ((20周期単調移動平均) と上下軌 ((中軌±2倍標準差) で構成され,価格の波動範囲とトレンドを反映します. RSI指標は,価格変化の相対的な強さを計算することによって,市場のオーバーバイのオーバーセルの状態を判断します. 価格がブリン帯の下軌を触れてRSIが30を下回ると,市場がオーバーセルの可能性があることを示す反発の機会があります. 価格がブリン帯の軌道に触れてRSIが70を超えると,市場がオーバーバイの可能性があることを示すリスクがあります.
これは,クラシックな技術指標ブリン・バンドとRSIを革新的組み合わせに活用した量化戦略である.この2つの指標の互補作用により,信号の信頼性が保証され,市場転換点を効果的に把握することが可能である.戦略の論理は明確で,計算は簡単で,強力な実用性がある.いくつかの固有のリスクがあるものの,提案された最適化方向によって,戦略の安定性と収益性をさらに向上させることができる.この戦略は,傾向が顕著な市場で適用され,投資家に客観的な取引信号参照を提供することができる.
/*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)