
Chiến lược này sử dụng chỉ số Laguerre RSI để tạo ra tín hiệu mua và bán và kết hợp với chỉ số ADX để lọc tín hiệu. Chiến lược sẽ tạo ra tín hiệu mua và bán khi Laguerre RSI vượt quá mức mua dự kiến và ADX cao hơn ngưỡng đặt. Phương pháp kết hợp các chỉ số nhanh và chậm này có thể nắm bắt cơ hội giao dịch kịp thời khi xu hướng đủ mạnh, đồng thời tránh giao dịch khi xu hướng không rõ ràng.
Laguerre RSI là một chỉ số động lực được sử dụng để đo tốc độ và cường độ của sự thay đổi giá. Nó dựa trên bộ lọc Laguerre, phản ứng của RSI đối với sự thay đổi giá nhạy cảm hơn so với RSI truyền thống. Chiến lược tạo ra tín hiệu tương ứng bằng cách so sánh RSI Laguerre với mức mua bán dự kiến.
Chỉ số ADX đo lường cường độ của xu hướng giá, số lượng lớn hơn cho thấy xu hướng mạnh hơn. Chiến lược này được thực hiện bằng cách thiết lập ngưỡng ADX, mở vị trí khi xu hướng đạt đến mức độ mạnh, và chờ đợi khi xu hướng không rõ ràng. Điều này giúp tăng độ tin cậy của tín hiệu và tránh giao dịch thường xuyên.
Chiến lược sử dụng giao thoa của Laguerre RSI để kích hoạt tín hiệu mua và bán, mở nhiều vị trí khi chỉ số trên đi qua mức mua và mở vị trí trống khi đi qua mức bán. Đồng thời, ADX cần cao hơn ngưỡng dự kiến để xác nhận cường độ của xu hướng.
Laguerre RSI kết hợp với ADX lọc chiến lược giao dịch, là một phương pháp theo dõi xu hướng. Nó sử dụng chỉ số nhanh để nắm bắt sự thay đổi giá cả, đồng thời thông qua chỉ số chậm để xác nhận sức mạnh của xu hướng.
/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('Laguerre RSI with Buy/Sell Signals and ADX Filter', shorttitle='LaRSI_ADX Signals', overlay=false)
// Kullanıcı girdileri
src = input(title='Source', defval=close)
alpha = input.float(title='Alpha', minval=0, maxval=1, step=0.1, defval=0.2)
buyLevel = input(20, title='Buy Level')
sellLevel = input(80, title='Sell Level')
adxLength = input(14, title='ADX Length')
adxSmoothing = input(14, title='ADX Smoothing')
adxLevel = input(20, title='ADX Level') // adxLevel tanımlamasını ekledik
// ADX hesaplaması
[diPlus, diMinus, adx] = ta.dmi(adxLength, adxSmoothing)
// Laguerre RSI hesaplamaları
gamma = 1 - alpha
L0 = 0.0
L0 := (1 - gamma) * src + gamma * nz(L0[1])
L1 = 0.0
L1 := -gamma * L0 + nz(L0[1]) + gamma * nz(L1[1])
L2 = 0.0
L2 := -gamma * L1 + nz(L1[1]) + gamma * nz(L2[1])
L3 = 0.0
L3 := -gamma * L2 + nz(L2[1]) + gamma * nz(L3[1])
cu = (L0 > L1 ? L0 - L1 : 0) + (L1 > L2 ? L1 - L2 : 0) + (L2 > L3 ? L2 - L3 : 0)
cd = (L0 < L1 ? L1 - L0 : 0) + (L1 < L2 ? L2 - L1 : 0) + (L2 < L3 ? L3 - L2 : 0)
temp = cu + cd == 0 ? -1 : cu + cd
LaRSI = temp == -1 ? 0 : cu / temp
// Alım ve satım sinyalleri
longCondition = ta.crossover(100 * LaRSI, buyLevel) and adx > adxLevel
shortCondition = ta.crossunder(100 * LaRSI, sellLevel) and adx > adxLevel
// Strateji giriş ve çıkışları
strategy.entry('Long', strategy.long, when=longCondition)
strategy.entry('Short', strategy.short, when=shortCondition)
// Göstergeleri çizme
plot(100 * LaRSI, title='LaRSI', linewidth=2, color=color.new(color.blue, 0))
hline(buyLevel, title='Buy Level', color=color.new(color.green, 0), linestyle=hline.style_dotted)
hline(sellLevel, title='Sell Level', color=color.new(color.red, 0), linestyle=hline.style_dotted)
plot(adx, title='ADX', color=color.new(color.orange, 0))