이 거래 전략은 상대적 강도 지수 (RSI) 와 가격 움직임 사이의 분리를 기반으로 하며, 잠재적인 트렌드 역전 기회를 포착하는 것을 목표로 한다. 이 전략은 상승과 하락의 분리를 모두 감지하고 이에 따라 구매 및 판매 신호를 생성한다. RSI와 가격 사이에 분리가 발생하면 현재 트렌드가 역전될 가능성이 있음을 나타내고, 트레이더들에게 잠재적인 거래 기회를 제공한다.
RSI 미연에 기반한 트렌드 역전 거래 전략은 RSI 지표와 가격 움직임 사이의 미연을 식별함으로써 잠재적 인 트렌드 역전 기회를 포착하는 것을 목표로합니다. 전략은 사용하기 쉽고 여러 금융 시장에 적용됩니다. 그러나 거래자는 잘못된 신호, 지연성 및 매개 변수 민감성과 같은 위험을 인식해야합니다. 다른 지표와 결합하여 매개 변수를 동적으로 조정하고 위험 관리를 통합하고 다중 시간 프레임 분석을 수행함으로써 전략의 견고성과 수익 잠재력을 더욱 향상시킬 수 있습니다.
/*backtest start: 2024-04-01 00:00:00 end: 2024-04-30 23:59:59 period: 3h basePeriod: 15m exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI Divergence Strategy", overlay=true) // Input parameters rsiLength = input.int(14, title="RSI Length") rsiOverbought = input.int(70, title="RSI Overbought Level") rsiOversold = input.int(30, title="RSI Oversold Level") lookback = input.int(5, title="Lookback Period for Divergence") // Calculate RSI rsi = ta.rsi(close, rsiLength) // Function to detect bullish divergence bullishDivergence(price, rsi, lookback) => var bool bullDiv = false for i = 1 to lookback if (low[i] < low and rsi[i] > rsi) bullDiv := true bullDiv // Function to detect bearish divergence bearishDivergence(price, rsi, lookback) => var bool bearDiv = false for i = 1 to lookback if (high[i] > high and rsi[i] < rsi) bearDiv := true bearDiv // Detect bullish and bearish divergence bullDiv = bullishDivergence(close, rsi, lookback) bearDiv = bearishDivergence(close, rsi, lookback) // Plot RSI hline(rsiOverbought, "Overbought", color=color.red) hline(rsiOversold, "Oversold", color=color.green) plot(rsi, title="RSI", color=color.blue) // Generate buy signal on bullish divergence if (bullDiv and ta.crossover(rsi, rsiOversold)) strategy.entry("Buy", strategy.long) // Generate sell signal on bearish divergence if (bearDiv and ta.crossunder(rsi, rsiOverbought)) strategy.entry("Sell", strategy.short) // Plot buy/sell signals on chart plotshape(series=bullDiv, location=location.belowbar, color=color.green, style=shape.labelup, text="Bull Div") plotshape(series=bearDiv, location=location.abovebar, color=color.red, style=shape.labeldown, text="Bear Div")