
Strategi ini menggabungkan dua indikator teknis, yaitu RSI yang relatif kuat dan LRC, yang bertujuan untuk menangkap peluang overbought dan oversold di pasar. Strategi ini akan mengirimkan sinyal beli ketika harga menyentuh garis bawah dari saluran regresi linier dan RSI berada di bawah 30, dan strategi ini akan mengirimkan sinyal jual ketika harga menyentuh garis atas dari saluran regresi linier dan RSI berada di atas 70. Metode ini menggabungkan RSI dan LRC untuk secara efektif mengidentifikasi peluang perdagangan potensial dan mengurangi kemungkinan sinyal palsu.
Inti dari strategi ini adalah indikator RSI dan saluran regresi linier. RSI adalah indikator dinamis yang digunakan untuk mengukur besarnya dan arah perubahan harga baru-baru ini. Pasar dianggap oversold ketika RSI di bawah 30, pasar dianggap oversold ketika RSI di atas 70. Saluran regresi linier adalah indikator pelacakan tren yang terdiri dari satu garis dasar dan dua garis paralel (saluran atas dan saluran bawah).
RSI dan strategi perdagangan saluran regresi linier mencoba untuk menangkap peluang overbought dan oversold di pasar dengan menggabungkan indikator momentum dan indikator pelacakan tren. Keunggulan strategi ini adalah logika yang jelas, mudah diterapkan, dan dapat diterapkan pada berbagai kerangka waktu. Namun, strategi ini juga memiliki beberapa risiko, seperti sinyal palsu, sensitivitas parameter, dan kurangnya manajemen risiko, dll.
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("RSI and Linear Regression Channel Strategy", overlay=true)
// Define input parameters
rsiLength = input(14, title="RSI Length")
channelLength = input(100, title="Linear Regression Channel Length")
rsiBuyThreshold = 30
rsiSellThreshold = 70
// Calculate RSI
rsi = ta.rsi(close, rsiLength)
// Calculate Linear Regression Channel
basis = ta.linreg(close, channelLength, 0)
dev = ta.stdev(close, channelLength)
upperChannel = basis + dev
lowerChannel = basis - dev
// Plot Linear Regression Channel
plot(basis, color=color.blue, title="Basis")
plot(upperChannel, color=color.red, title="Upper Channel")
plot(lowerChannel, color=color.green, title="Lower Channel")
// Entry condition: Price touches lower channel and RSI crosses below buy threshold
longCondition = (close <= lowerChannel) and (rsi < rsiBuyThreshold)
// Exit condition: Price touches upper channel and RSI crosses above sell threshold
shortCondition = (close >= upperChannel) and (rsi > rsiSellThreshold)
// Strategy execution
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.close("Long")
// Plot buy/sell signals on the chart
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")