이 전략은 볼링거 밴드와 상대적 강도 지수 (RSI) 를 결합한 적응형 거래 시스템이다. 이 전략은 시장 추세와 변동성을 파악하기 위해 볼링거 밴드
이 전략의 핵심은 RSI 지표와 연동하여 볼링거 밴드 (Bollinger Bands) 상위, 중위, 하위 대역을 통해 시장 변동성 기회를 포착하는 것입니다. 볼링거 밴드는 상위 및 하위 대역에 대한 2 개의 표준 편차와 함께 20 기간 이동 평균을 기반으로합니다. RSI는 70을 과잉 구매 수준과 30을 과잉 판매 수준으로 14 기간 계산을 사용합니다. 가격이 하위 대역에 닿고 RSI가 과잉 판매 영역에있을 때 구매 신호가 생성됩니다. 가격이 상위 대역에 닿고 RSI가 과잉 구매 영역에있을 때 판매 신호가 발생합니다. 이 이중 확인 메커니즘은 잘못된 신호를 효과적으로 감소시킵니다.
이 전략은 볼링거 밴드 (Bollinger Bands) 와 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")