Esta estrategia se basa en el indicador Fisher Transform diseñado por el maestro de análisis técnico John Ehlers para identificar automáticamente los puntos de reversión de la tendencia de los precios para el comercio largo / corto.
Esta estrategia utiliza la fórmula de transformación de Fisher para estandarizar los precios y generar una secuencia de precios de distribución cercana a la de Gauss. La fórmula de transformación de Fisher es: y = 0.5 * ln ((((1+x) /(1-x)). A través de esta transformación, los extremos de precios se convierten en eventos relativamente raros. Cuando el último valor transformado de Fisher es más alto / más bajo que el período anterior, indica una posible inversión de precios. La estrategia genera señales comerciales basadas en los puntos de inflexión de este indicador.
En concreto, los pasos estratégicos son los siguientes:
La mayor ventaja de esta estrategia es la precisión y puntualidad de sus señales comerciales. Debido a que la secuencia de precios transformada de Fisher se aproxima a una distribución gaussiana, las reversiones de precios pueden identificarse y reaccionar rápidamente por el indicador de Fisher. Esto asegura capturas oportunas de oportunidades de reversión. Además, la propia transformación de Ehlers Fisher también ha sido ampliamente validada para señales de reversión altamente confiables.
El mayor riesgo de esta estrategia es que la secuencia de precios transformada de Fisher puede no estar perfectamente conforme con la distribución teórica de Gauss. Las fluctuaciones anormales del mercado como las brechas pueden hacer que el indicador de Fisher genere señales incorrectas.
Para mitigar este riesgo, podemos considerar la combinación de otros indicadores para el filtrado de señales, evitando operaciones durante mercados anormales. También podemos ajustar los parámetros para reducir la frecuencia y el tamaño de las operaciones.
Esta estrategia puede optimizarse en los siguientes aspectos:
Esta estrategia aprovecha el indicador Ehlers
/*backtest start: 2023-12-08 00:00:00 end: 2024-01-07 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version = 2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 15/12/2016 // Market prices do not have a Gaussian probability density function // as many traders think. Their probability curve is not bell-shaped. // But trader can create a nearly Gaussian PDF for prices by normalizing // them or creating a normalized indicator such as the relative strength // index and applying the Fisher transform. Such a transformed output // creates the peak swings as relatively rare events. // Fisher transform formula is: y = 0.5 * ln ((1+x)/(1-x)) // The sharp turning points of these peak swings clearly and unambiguously // identify price reversals in a timely manner. // // You can change long to short in the Input Settings // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy(title="Fisher Transform Indicator by Ehlers Backtest", shorttitle="Fisher Transform Indicator by Ehlers") Length = input(10, minval=1) reverse = input(false, title="Trade reverse") xHL2 = hl2 xMaxH = highest(xHL2, Length) xMinL = lowest(xHL2,Length) nValue1 = 0.33 * 2 * ((xHL2 - xMinL) / (xMaxH - xMinL) - 0.5) + 0.67 * nz(nValue1[1]) nValue2 = iff(nValue1 > .99, .999, iff(nValue1 < -.99, -.999, nValue1)) nFish = 0.5 * log((1 + nValue2) / (1 - nValue2)) + 0.5 * nz(nFish[1]) pos = iff(nFish > nz(nFish[1]), 1, iff(nFish < nz(nFish[1]), -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(nFish, color=green, title="Fisher") plot(nz(nFish[1]), color=red, title="Trigger")