
이 전략은 부린 밴드 (Bollinger Bands) 와 상대적으로 약한 지수 (RSI) 를 결합한 자기 적응 거래 시스템이다. 이 전략은 부린 밴드의 가격 채널과 RSI의 오버 바이 오버 셀 신호를 통해 잠재적인 거래 기회를 식별하여 시장의 추세와 변동에 대한 포착을 달성한다. 이 전략은 표준差을 사용하여 거래 범위를 동적으로 조정하고 RSI 지표의 오버 바이 오버 셀 수준을 결합하여 거래 신호를 확인하여 거래의 정확성을 향상시킵니다.
이 전략의 핵심은 부린띠의 상위, 중위, 하위 궤도를 결합한 RSI 지표를 통해 시장의 변동 기회를 포착하는 것이다. 부린띠는 20주기의 이동 평균을 기반으로 2배의 표준 차이를 사용하여 계산된다. RSI는 14주기 계산을 사용하여 70을 초매, 30을 초매 수준으로 설정한다. 가격이 하향 궤도를 접촉하고 RSI가 초매 지역에있을 때, 시스템은 구매 신호를 생성한다. 가격이 궤도를 접촉하고 RSI가 초매 지역에있을 때, 시스템은 판매 신호를 생성한다. 이 이중 확인 메커니즘은 가짜 신호를 효과적으로 감소시킨다.
이 전략은 브린 띠와 RSI의 조합 응용을 통해 비교적 완전한 거래 시스템을 구축한다. 전략의 장점은 시장의 변동에 적응하고 신뢰할 수 있는 거래 신호를 제공하는 데 있습니다. 그러나 여전히 전략의 성능에 대한 시장 환경의 영향을 주의해야 합니다. 제안 된 최적화 방향을 통해 전략의 안정성과 신뢰성이 더욱 향상 될 것으로 예상됩니다. 실제 응용에서는 거래자가 특정 시장 특성에 따라 수치를 조정하고 다른 기술 분석 도구와 결합하여 거래 결정을 할 것을 권장합니다.
/*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")