Estrategia comercial de Ehlers basada en la transformación de Fisher


Fecha de creación: 2024-01-08 16:51:10 Última modificación: 2024-01-08 16:51:10
Copiar: 1 Número de Visitas: 1062
1
Seguir
1664
Seguidores

Estrategia comercial de Ehlers basada en la transformación de Fisher

Descripción general

Esta estrategia se basa en el índice de conversión de Fisher diseñado por el maestro del análisis técnico John Ehlers, que permite identificar automáticamente los puntos de reversión de la tendencia de los precios y realizar operaciones automáticas en posiciones largas y cortas. Su mayor ventaja reside en la precisión y la puntualidad de la identificación de las reversiones de precios.

Principio de estrategia

Esta estrategia utiliza la fórmula de la conversión de Fisher para estandarizar los precios y generar una secuencia de precios con una distribución de Gauss aproximada. La fórmula de la conversión de Fisher es: y = 0.5 * ln (((1+x) / ((1-x))). Mediante esta conversión, se puede convertir el valor máximo del precio en un evento relativamente más raro.

En concreto, las etapas de la estrategia son las siguientes:

  1. Calcular el precio medio HL2;
  2. Calcule el máximo valor xMaxH y el mínimo valor xMinL en el período de Length;
  3. Calcule el precio estandarizado nValue1=(xHL2 - xMinL) / (xMaxH - xMinL) - 0.5;
  4. El nValue1 se procesa de forma suave y se obtiene nValue2, evitando tomar extremos;
  5. Aplica la fórmula de conversión de Fisher a nValue2 y obtienes el indicador de conversión de Fisher nFish;
  6. Comparar el valor de nFish con el valor de la operación anterior para determinar si se ha producido un giro y establecer la dirección de la operación.
  7. La dirección de la posición vacía de la POS es la dirección en la que se emite la señal de operación.

Análisis de las ventajas

La mayor ventaja de esta estrategia reside en la precisión y la puntualidad de sus señales de negociación. Dado que la secuencia de precios generada por la conversión de Fisher es aproximadamente compatible con la distribución de Gauss, el indicador de la conversión de Fisher puede identificar rápidamente y reaccionar cuando se produce una reversión de precios. Esto garantiza la captura oportuna de oportunidades de reversión.

Análisis de riesgos

El mayor riesgo de esta estrategia es que la secuencia de precios después de la conversión de Fisher no siempre es exactamente la distribución de Gauss de la racionalidad. Cuando el mercado presenta una fluctuación anormal, como la ruptura, el salto, etc., puede causar que el indicador de la conversión de Fisher emita una señal errónea.

Para reducir este riesgo, se puede considerar la posibilidad de filtrar las señales de negociación en combinación con otros indicadores, para evitar seguir operando en momentos de anomalías en el mercado. O se pueden ajustar los parámetros adecuadamente, reduciendo la frecuencia de negociación y el tamaño de las pérdidas individuales.

Dirección de optimización

Esta estrategia puede ser optimizada en los siguientes aspectos:

  1. Optimizar los parámetros de longitud para encontrar la combinación óptima de parámetros en diferentes condiciones de mercado;
  2. Aumentar los mecanismos de suspensión de pérdidas para limitar las pérdidas individuales.
  3. Aumentar el filtro de transacciones para evitar transacciones erróneas en mercados anormales;
  4. Combinar estrategias con otros indicadores para mejorar la precisión de la señal.

Resumir

Esta estrategia se basa en el indicador de conversión de Fisher diseñado por Ehlers, que permite identificar rápidamente y con precisión los puntos de reversión de los precios para aprovechar las oportunidades comerciales a tiempo. Su mayor ventaja reside en la precisión y la puntualidad de las señales comerciales.

Código Fuente de la Estrategia
/*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")