
该交易策略基于相对强弱指标(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")