En la carga de los recursos... Cargando...

Tendencia del umbral dinámico de Fisher Transform siguiendo la estrategia

El autor:¿ Qué pasa?, Fecha: 2024-06-17 15:01:19
Las etiquetas:

img

Resumen general

La estrategia de seguimiento de tendencias de umbral dinámico de Fisher Transform utiliza el indicador de Fisher Transform para identificar cambios en las tendencias de precios. La estrategia utiliza la Transformación de Fisher para normalizar los precios a una escala estándar, lo que facilita la detección de posibles puntos de inversión de tendencias. Al ajustar dinámicamente los umbrales, la estrategia se adapta a diferentes condiciones del mercado y mejora la precisión del reconocimiento de tendencias. Cuando el valor de Fisher Transform cruza umbrales positivos o negativos, la estrategia genera señales de compra o venta para seguir las tendencias del mercado.

Principio de la estrategia

  1. Calcular el valor de la transformación de Fisher: Basado en los precios históricos altos y bajos, normalizar el precio actual para obtener un valor de la transformación de Fisher entre -0,999 y 0,999.
  2. Umbral dinámico: ajusta dinámicamente el umbral de las señales de compra y venta en función de la volatilidad histórica del valor de la transformación de Fisher para adaptarse a los diferentes estados del mercado.
  3. Determinación de tendencias: Determinación de cambios en las tendencias de precios mediante la comparación del valor actual de la transformación de Fisher con los valores de los dos períodos anteriores.
  4. Se generará una señal de compra cuando el valor de la transformación de Fisher cruce el umbral negativo desde abajo, y generará una señal de venta cuando el valor de la transformación de Fisher cruce el umbral positivo desde arriba.

Análisis de ventajas

  1. Ajuste dinámico del umbral: ajustar de forma adaptativa los umbrales de compra y venta en función de la volatilidad del mercado para mejorar la precisión del juicio de tendencia.
  2. Seguimiento de tendencias: El juicio de tendencias del indicador Fisher Transform permite capturar eficazmente las tendencias del mercado y las operaciones de seguimiento de tendencias.
  3. Reducción del ruido de los precios: La transformación de Fisher normaliza los precios, ayudando a reducir el impacto del ruido de los precios en el juicio de la tendencia.
  4. Display gráfico intuitivo: La estrategia traza la curva de la transformación de Fisher y las líneas de umbral en el gráfico, lo que permite a los operadores observar visualmente las tendencias del mercado y las señales de compra / venta.

Análisis de riesgos

  1. Riesgo de optimización de parámetros: el rendimiento de la estrategia depende de la selección de parámetros como el período de transformación de Fisher y el método de cálculo de umbral dinámico.
  2. Retraso en el reconocimiento de tendencias: El indicador Fisher Transform tiene un cierto retraso en la evaluación de las tendencias de precios, que pueden pasar por alto algunos movimientos de tendencia.
  3. Mal desempeño en mercados inestables: en condiciones de mercado inestables, los cambios frecuentes de tendencia pueden hacer que la estrategia genere más señales falsas, lo que conduce a un rendimiento comercial subóptimo.
  4. Riesgo de mercado extremo: en condiciones de mercado extremas (como cambios rápidos y sustanciales), el indicador Fisher Transform puede fallar, causando que la estrategia tome decisiones comerciales incorrectas.

Dirección de optimización

  1. Optimización de parámetros: Optimizar parámetros clave como el período de transformación de Fisher y el método de cálculo de umbral dinámico para mejorar la adaptabilidad de la estrategia a diferentes estados del mercado.
  2. Filtración de señales: Además del reconocimiento de tendencias, introducir otros indicadores técnicos o indicadores de sentimiento del mercado para confirmar las señales comerciales y mejorar la fiabilidad de las señales.
  3. Stop-loss y take-profit: Establecer normas razonables de stop-loss y take-profit para controlar el riesgo de una operación única y mejorar la relación riesgo-beneficio de la estrategia.
  4. Gestión de posiciones: ajustar dinámicamente el tamaño de las posiciones en función de factores como la fuerza de la tendencia del mercado y la volatilidad de los precios para reducir el riesgo de tenencia.

Resumen de las actividades

La estrategia Fisher Transform Dynamic Threshold Trend Following identifica los cambios en las tendencias de precios utilizando el indicador Fisher Transform y los umbrales dinámicos, adaptándose a diferentes estados del mercado. La estrategia captura de manera efectiva las tendencias del mercado y permite el comercio de tendencia. Sus ventajas incluyen ajuste dinámico del umbral, reducción de la interferencia de ruido de precios y visualización intuitiva del gráfico. Sin embargo, también enfrenta desafíos como el riesgo de optimización de parámetros, el retraso en el reconocimiento de tendencias, el mal rendimiento en mercados agitados y el riesgo de mercado extremo. A través de medidas como optimización de parámetros, filtrado de señales, stop-loss y take-profit y gestión de posiciones, la robustez y rentabilidad de la estrategia pueden mejorarse aún más.


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Qiuboneminer -  Fisher Transform", overlay=true)

// Parámetros
Len = input.int(10, minval=1)
mult1 = input.int(1, minval=1)
threshold = 2.6

// Función Fisher Transform
fish(Length, timeMultiplier) =>
    var float nValue1 = na
    var float nFish = na
    xHL2 = hl2
    xMaxH = ta.highest(xHL2, Length * timeMultiplier)
    xMinL = ta.lowest(xHL2, Length * timeMultiplier)
    nValue1 := 0.33 * 2 * ((xHL2 - xMinL) / (xMaxH - xMinL) - 0.5) + 0.67 * nz(nValue1[1])
    nValue2 = if nValue1 > 0.99
        0.999
    else if nValue1 < -0.99
        -0.999
    else
        nValue1
    nFish := 0.5 * math.log((1 + nValue2) / (1 - nValue2)) + 0.5 * nz(nFish[1])
    nFish

// Cálculo del Fisher Transform para mult1
Fisher1 = fish(Len, mult1)

// Condiciones de entrada y salida
longCondition = Fisher1 > nz(Fisher1[1]) and nz(Fisher1[1]) <= nz(Fisher1[2]) and Fisher1 < -threshold
shortCondition = Fisher1 < nz(Fisher1[1]) and nz(Fisher1[1]) >= nz(Fisher1[2]) and Fisher1 > threshold

// Estrategia de entrada
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Ploteo del Fisher Transform
plot(Fisher1, color=(Fisher1 > nz(Fisher1[1]) ? color.rgb(34, 255, 0) : color.rgb(255, 0, 212)), title="Fisher TF:1")

// Ploteo de líneas de umbral
hline(threshold, "Umbral Superior", color=color.rgb(255, 0, 0), linestyle=hline.style_dotted)
hline(-threshold, "Umbral Inferior", color=#008704, linestyle=hline.style_dotted)


Más.