La estrategia de negociación del RSI de Laguerre se basa en el filtro de John EHLERS
El indicador central de esta estrategia es el RSI de Laguerre. Su fórmula de cálculo es la siguiente:
L0 = (1-γ)Src + γL0[1] L1 = -γL0 + L0[1] + γL1 [1] L2 = -γL1 + L1[1] + γL2 [1] L3 = -γL2 + L2[1] + γL3 [1]
Aquí γ=1-α, α es un coeficiente ajustable, Src representa el precio. L0 a L3 son 4 indicadores que contienen relaciones recursivas. Sobre esta base, se puede calcular la integral ascendente cu y la integral descendente cd:
cu = (L0>L1? L0-L1 : 0) + (L1>L2? L1-L2 : 0) + (L2>L3? L2-L3 : 0) cd = (L0
Entonces Laguerre RSI se puede calcular utilizando cu y cd:
LaRSI = cu / (cu + cd)
A través de la estructura de filtro recursivo, Laguerre RSI conserva la capacidad de identificación de tendencias de RSI mientras filtra mucho ruido aleatorio, generando señales comerciales más claras y suaves.
Las reglas específicas para el comercio son: Ir largo cuando Laguerre RSI cruza por encima de 20, y ir corto cuando Laguerre RSI cruza por debajo de 80.
Las principales ventajas de la estrategia RSI de Laguerre son:
Filtra eficazmente el ruido del RSI a través de la estructura del filtro de Laguerre, haciendo que las señales comerciales sean más claras y confiables
El coeficiente α ajustable hace que los parámetros de la estrategia sean flexibles para la optimización para adaptarse a más entornos de mercado
Se mantiene la validez a largo plazo del RSI, permitiendo al mismo tiempo la identificación del impulso mediante el filtrado, la integración de tendencias y sobrecompras/sobrevendidas.
Reglas de estrategia sencillas e intuitivas que son fáciles de implementar y funcionan bien en diversos entornos de mercado
Los principales riesgos de esta estrategia son:
Los ajustes inadecuados de α pueden dar lugar a un retraso excesivo o a un filtrado excesivo, por lo que se pierden los cambios de precio
En mercados volátiles pueden producirse pérdidas comerciales frecuentes
Algunas oportunidades alcistas pueden perderse en mercados alcistas sostenidos a largo plazo
Esta estrategia se puede optimizar a partir de los siguientes aspectos:
Utilice algoritmos de aprendizaje automático para optimizar la configuración del coeficiente α
Añadir mecanismos de stop loss para reducir el riesgo de pérdida
Combinar otros indicadores para filtrar señales falsas
Aumentar el modelo de flexibilización cuantitativa para asegurar los beneficios en etapas específicas
La estrategia de Laguerre RSI identifica de manera efectiva las situaciones de sobrecompra y sobreventa a través de mecanismos de filtrado, evitando la interferencia del ruido al emitir señales comerciales.
/*backtest start: 2022-12-12 00:00:00 end: 2023-12-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © mertriver1 // Developer: John EHLERS //@version=3 // Author:Kıvanç Özbilgiç strategy("Laguerre RSI", shorttitle="LaRSI", overlay=false) src = input(title="Source", defval=close) alpha = input(title="Alpha", type=float, minval=0, maxval=1, step=0.1, defval=0.2) colorchange = input(title="Change Color ?", type=bool, defval=false) Date1 = input(true, title = "=== Date Backtesting ===") FromDay1 = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromMonth1 = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromYear1 = input(defval = 2020, title = "From Year", minval = 2017) ToDay1 = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToMonth1 = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToYear1 = input(defval = 9999, title = "To Year", minval = 2017) start1 = timestamp(FromYear1, FromMonth1, FromDay1, 00, 00) finish1 = timestamp(ToYear1, ToMonth1, ToDay1, 23, 59) window1() => time >= start1 and time <= finish1 ? true : false 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 Color = colorchange ? (LaRSI > LaRSI[1] ? green : red) : blue plot(100*LaRSI, title="LaRSI", linewidth=2, color=Color, transp=0) plot(20,linewidth=1, color=maroon, transp=0) plot(80,linewidth=1, color=maroon, transp=0) strategy.entry("Long", true, when = window1() and crossover(cu, cd)) strategy.entry("Short", false, when = window1() and crossunder(cu, cd))