이 전략은 거래 신호를 식별하기 위해 볼링거 밴드 (BB) 와 상대적 강도 지수 (RSI) 를 사용합니다. 가격이 상부 또는 하부 볼링거 밴드를 통과하고 RSI가 과잉 구매 수준 이상 또는 과잉 판매 수준 아래에있을 때 구매 또는 판매 신호가 생성됩니다. 전략은 극단적인 가격 움직임을 포착하는 것을 목표로하며 트렌드의 강도를 확인하기 위해 RSI를 사용합니다.
볼링거 밴드 RSI 거래 전략은 가격이 극심한 변동을 겪을 때 가격 및 동력 지표를 결합하여 거래 신호를 생성합니다. 전략의 장점은 명확한 논리와 구현 및 최적화 용이성에 있습니다. 그러나 전략의 성능은 매개 변수 선택에 달려 있으며 특정 시장 환경에서 많은 잘못된 신호를 생성 할 수 있습니다. 매개 변수를 최적화하고 다른 지표를 도입하고 실제 거래 비용을 고려함으로써 전략의 견고성과 수익 잠재력을 더욱 향상시킬 수 있습니다.
/*backtest start: 2024-04-23 00:00:00 end: 2024-05-23 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands + RSI Strategy", overlay=true) // Bollinger Bands settings length = input.int(20, title="BB Length") src = close mult = input.float(2.0, title="BB Multiplier") basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // Plot Bollinger Bands plot(basis, color=color.blue, title="Basis") p1 = plot(upper, color=color.red, title="Upper Band") p2 = plot(lower, color=color.green, title="Lower Band") fill(p1, p2, color=color.gray, transp=90) // 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) // Buy and sell conditions buyCondition = (close < lower) and (rsi < rsiOversold) sellCondition = (close > upper) and (rsi > rsiOverbought) // Execute buy and sell orders if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy")