
Стратегия использует Laguerre RSI, чтобы генерировать сигнал “купить” и “продавать”, и фильтрует его в сочетании с ADX. Стратегия генерирует сигнал “купить” и “продавать”, когда Laguerre RSI превышает заданный уровень “купить” и ADX превышает заданный порог. Этот метод, который сочетает в себе быстрые и медленные индикаторы, позволяет вовремя ловить торговые возможности при достаточно высокой интенсивности тренда, избегая торговли в условиях неопределенности тренда.
Laguerre RSI - динамический индикатор, используемый для измерения скорости и интенсивности изменения цены. Он основан на фильтре Лагуэрра и более чувствителен к реакции на изменение цены, чем традиционный RSI. Стратегия создает соответствующий сигнал, сравнивая RSI Лагуэрра с заданным уровнем покупки и продажи.
Индекс ADX измеряет силу ценовых тенденций, и чем больше числовые значения, тем сильнее тенденция. Стратегия заключается в том, чтобы установить порог ADX, открывать позиции, когда достигается интенсивность тенденции, а оставаться в стороне, когда тенденция не очевидна. Это помогает повысить надежность сигнала и избежать частых торгов.
Стратегия использует перекрестный Laguerre RSI для запуска сигнала о покупке и продаже, открывая позиции, когда индикатор пересекает уровень покупки, и открывая позиции, когда он пересекает уровень продажи. В то же время, ADX должен быть выше заданного порога, чтобы подтвердить силу тренда.
Laguerre RSI в сочетании с ADX-фильтрацией является методом отслеживания тенденций. Он использует быстрые индикаторы, чтобы улавливать изменения в ценах, а также подтверждает силу тенденции с помощью медленных индикаторов. Эта комбинация позволяет торговать вовремя, когда тенденция ясна, и оставаться в стороне, когда тенденция не ясна.
/*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))