Chiến lược này tạo ra tín hiệu mua và bán bằng cách sử dụng chỉ số Laguerre RSI và lọc các tín hiệu bằng cách sử dụng chỉ số ADX. Khi Laguerre RSI vượt qua trên hoặc dưới mức mua và bán đã xác định trước và ADX vượt quá ngưỡng đã thiết lập, chiến lược tạo ra tín hiệu mua hoặc bán. Cách tiếp cận này kết hợp một chỉ số nhanh và chậm cho phép nắm bắt kịp thời các cơ hội giao dịch khi sức mạnh xu hướng là đủ trong khi 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à sức mạnh của sự thay đổi giá. Nó dựa trên bộ lọc Laguerre và có khả năng phản ứng nhanh hơn với sự thay đổi giá so với RSI truyền thống. Chiến lược tạo ra tín hiệu bằng cách so sánh Laguerre RSI với mức mua và bán đã xác định trước.
Chỉ số ADX đo cường độ của xu hướng giá, với các giá trị cao hơn cho thấy xu hướng mạnh hơn. Chiến lược đặt ngưỡng ADX để chỉ tham gia giao dịch khi cường độ xu hướng là đủ và ở bên lề khi xu hướng không rõ ràng. Điều này giúp cải thiện độ tin cậy của các tín hiệu và tránh giao dịch thường xuyên.
Chiến lược này sử dụng chéo của Laguerre RSI để kích hoạt tín hiệu mua và bán. Nó đi vào một vị trí dài khi chỉ số vượt qua mức mua và một vị trí ngắn khi nó vượt qua dưới mức bán. Đồng thời, ADX phải ở trên ngưỡng đã đặt trước để xác nhận sức mạnh xu hướng.
RSI Laguerre với ADX lọc chiến lược giao dịch là một phương pháp theo xu hướng. Nó sử dụng một chỉ số nhanh để nắm bắt thay đổi giá trong khi xác nhận sức mạnh xu hướng với một chỉ số chậm. Sự kết hợp này cho phép giao dịch kịp thời khi xu hướng rõ ràng trong khi ở bên lề khi xu hướng không chắc chắn.
/*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))