Estrategia de backtesting del indicador de transformación de Fisher


Fecha de creación: 2024-01-25 14:22:36 Última modificación: 2024-01-25 14:22:36
Copiar: 0 Número de Visitas: 772
1
Seguir
1617
Seguidores

Estrategia de backtesting del indicador de transformación de Fisher

Descripción general

La estrategia es una estrategia de retroalimentación basada en el indicador de conversión de Fisher. La fórmula de conversión de Fisher puede convertir los datos de precios en una distribución ortogonal para identificar los extremos y los puntos de inflexión de los precios. La estrategia se combina con el indicador de conversión de Fisher para determinar la tendencia de los precios y lograr el comercio automatizado.

Principio de estrategia

  1. Cálculo de los indicadores HL2
  2. Calcula el máximo valor xMaxH y el mínimo valor xMinL de HL2 en el último período de Length
  3. Calcular el índice de conversión de Fisher:
    • nValue1 es el valor del ciclo anterior de 0,33 × (estandarizado HL2) + 0,67 × nValue1
    • nValue2 limita nValue1 entre -0.99 y 0.99
    • Conversión de nFish a una función aritmética de nValue2
  4. Determina si nFish es positivo o negativo y determina la dirección de la posición
  5. La señal de posición possig, si se establece un comercio inverso, la posición se retira
  6. Entrada: Possig=1 hacer más, possig=-1 hacer vacío

Análisis de las ventajas estratégicas

  1. El índice de conversión de Fisher identifica los puntos máximos y los puntos de inflexión de los precios para determinar con precisión las tendencias
  2. La combinación de la vibración del filtro del indicador HL2 mejora la tasa de éxito
  3. Se puede configurar el comercio inverso para adaptarse a diferentes entornos de mercado
  4. Automatización de las transacciones, sin necesidad de juicio humano, reduciendo los costos de las transacciones

Análisis de riesgos

  1. El índice de conversión de Fisher está rezagado y puede haber perdido cambios de precios en la línea corta.
  2. El riesgo de que la tendencia se detenga es alto
  3. La incorrecta configuración de inversiones puede conducir a transacciones sistemáticamente erróneas.
  4. Sin considerar la verificación a través de ciclos de tiempo, existe cierto riesgo de falsos positivos

Resolver el riesgo:

  1. Ajuste adecuado de los parámetros para reducir la latencia
  2. Aumentar el stop loss y controlar las pérdidas individuales
  3. Optimizar el filtro de inversiones en combinación con otros indicadores
  4. Aumentar la tendencia, el nivel de precios, la verificación múltiple y el rango de frecuencia.

Dirección de optimización de la estrategia

  1. En combinación con filtros de indicadores de tendencias, asegúrese de que las grandes tendencias sean consistentes
  2. Aumentar el índice de banda para mejorar la precisión de los cambios de precio
  3. Verificación en varios ciclos de tiempo para evitar falsos positivos
  4. Ajuste dinámico de las pérdidas
  5. Parámetros de optimización, maximización de las ganancias y factores de rentabilidad

Estas estrategias de optimización pueden mejorar aún más la rentabilidad de las estrategias, el bloqueo de ganancias y el control de riesgos para obtener resultados comerciales más estables y eficientes.

Resumir

La estrategia de retroalimentación del indicador de cambio de Fisher integra el indicador de cambio de Fisher para determinar los puntos de inflexión y la dirección de la tendencia. La estrategia es precisa, con un alto grado de automatización, y puede obtener resultados de transacciones estables y eficientes a través de la optimización de los parámetros. Pero también existe cierto riesgo de retraso, falso positivo, etc. Se necesita la introducción de un mecanismo de verificación múltiple y un método de ajuste dinámico para optimizar aún más la estrategia para que sea más flexible y robusta.

Código Fuente de la Estrategia
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v2.0 22/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. 
//
//  For signal used zero. 
// 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")
hline(1, color=white)
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 > 0, 1,
	   iff(nFish < 0, -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")