Esta estratégia gera sinais de compra e venda usando o indicador Laguerre RSI e filtra os sinais usando o indicador ADX. Quando o Laguerre RSI cruza acima ou abaixo dos níveis de compra e venda predefinidos e o ADX está acima de um limite definido, a estratégia produz sinais de compra ou venda.
O Laguerre RSI é um indicador de momento usado para medir a velocidade e a força das mudanças de preços. Ele é baseado no filtro Laguerre e é mais sensível às mudanças de preço em comparação com o RSI tradicional.
O indicador ADX mede a força de uma tendência de preços, com valores mais altos indicando uma tendência mais forte. A estratégia estabelece um limiar ADX para entrar em negociações apenas quando a força da tendência é suficiente e para ficar à margem quando a tendência não é clara. Isso ajuda a melhorar a confiabilidade dos sinais e evitar negociações frequentes.
A estratégia usa cruzamento do RSI de Laguerre para desencadear sinais de compra e venda. Ele entra em uma posição longa quando o indicador cruza acima do nível de compra e uma posição curta quando cruza abaixo do nível de venda. Ao mesmo tempo, o ADX deve estar acima do limiar pré-definido para confirmar a força da tendência. Este design de dupla condição visa capturar oportunidades de negociação em tendências fortes.
O Laguerre RSI com estratégia de negociação filtrada por ADX é uma abordagem de tendência. Ele utiliza um indicador rápido para capturar mudanças de preço enquanto confirma a força da tendência com um indicador lento. Esta combinação permite negociação oportuna quando a tendência é clara enquanto permanece à margem quando a tendência é incerta. As vantagens da estratégia estão em sua simplicidade e ampla aplicabilidade, mas também tem problemas como negociação frequente e controle de risco insuficiente.
/*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))