Estrategia de seguimiento de tendencia combinada con cruce de SMA y Heikin-Ashi suavizado

SHA SMA EMA
Fecha de creación: 2024-11-29 16:39:12 Última modificación: 2024-11-29 16:39:12
Copiar: 0 Número de Visitas: 434
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencia combinada con cruce de SMA y Heikin-Ashi suavizado

Descripción general

La estrategia es un sistema de seguimiento de tendencias basado en el gráfico Heikin-Ashi de tipo plano y el cruce de las medias móviles simples (SMA). La estrategia utiliza el gráfico Heikin-Ashi después de la suavización de la EMA para identificar los cambios en la tendencia y el cruce de la SMA de 44 ciclos para capturar las principales oportunidades de tendencia en el mercado. La estrategia diseña un mecanismo de gestión de posiciones dinámico que se cierra automáticamente cuando el precio está cerca de la media a largo plazo para evitar el riesgo de fluctuaciones en todo el mercado.

Principio de estrategia

La lógica central de la estrategia incluye tres elementos clave: primero, la conversión de la línea K tradicional en un gráfico de Heikin-Ashi para filtrar el ruido del mercado mediante el cálculo de los promedios aritméticos de los cuatro precios de apertura y caída; segundo, el uso de un EMA de 6 ciclos para el tratamiento suave de Heikin-Ashi, lo que mejora aún más la fiabilidad de la señal; y finalmente, la combinación de un precio de cierre de Heikin-Ashi después de la suavización con un SMA de 44 ciclos, que genera una señal de exceso de movimiento por encima y una de vacío por debajo.

Ventajas estratégicas

  1. Mecanismo de filtración de la señal perfeccionado, reduciendo significativamente la posibilidad de falsas rupturas a través de la doble suavización Heikin-Ashi y EMA
  2. La lógica de seguimiento de tendencias es clara y capta las grandes tendencias de manera efectiva.
  3. Diseño de un mecanismo de suspensión dinámico para salir de la cancha en el momento de ordenar el tablero lateral
  4. La configuración de los parámetros es razonable, la correlación entre el ciclo de la línea media corta de 11 y el ciclo de la línea media larga de 44 cumple con las leyes de funcionamiento del mercado
  5. La visualización es excelente, las señales de transacción son claras e intuitivas.

Riesgo estratégico

  1. En el inicio de una reversión de la tendencia, puede haber un poco de retraso, lo que lleva a un ligero retraso en el tiempo de entrada.
  2. En un entorno de mercado muy volátil, se pueden generar falsas señales de cruce
  3. Son sensibles a la configuración de los parámetros y pueden requerir ajustes específicos para diferentes variedades
  4. Puede haber transacciones frecuentes en un mercado sin una tendencia evidente

Dirección de optimización de la estrategia

  1. Se recomienda agregar filtros de intensidad de tendencia, como el indicador ADX, para abrir posiciones solo cuando la tendencia es evidente
  2. Se puede introducir un mecanismo de confirmación de transacciones que se ajuste a la cantidad y el precio para mejorar la fiabilidad de la señal.
  3. Considere la inclusión de un mecanismo de puntos de retención para evitar el comercio frecuente cerca de precios importantes.
  4. Se puede diseñar un mecanismo de stop loss dinámico que se ajuste automáticamente a la volatilidad del mercado
  5. Se recomienda agregar un módulo de gestión de posiciones para ajustar dinámicamente la proporción de posiciones según la intensidad de la tendencia

Resumir

La estrategia, combinada con el gráfico de Heikin-Ashi y el sistema de líneas medias SMA, construye un sistema de comercio de seguimiento de tendencias sólido. La estrategia tiene un mecanismo de generación de señales perfecto, un control de riesgo razonable y es especialmente adecuada para su aplicación en mercados con características de tendencia evidentes.

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

//@version=5
strategy("Smoothed Heikin Ashi with SMA Strategy", overlay=true)

// Input parameters for SMAs
s1 = input.int(11, title="Short SMA Period")
s2 = input.int(44, title="Long SMA Period")
noPositionThreshold = input.float(0.001, title="No Position Threshold", step=0.0001)

// Calculate the original Heikin-Ashi values
haClose = (open + high + low + close) / 4
var float haOpen = na
haOpen := na(haOpen[1]) ? (open + close) / 2 : (haOpen[1] + haClose[1]) / 2
haHigh = math.max(high, math.max(haOpen, haClose))
haLow = math.min(low, math.min(haOpen, haClose))

// Smoothing using exponential moving averages
smoothLength = input.int(6, title="Smoothing Length")
smoothedHaClose = ta.ema(haClose, smoothLength)
smoothedHaOpen = ta.ema(haOpen, smoothLength)
smoothedHaHigh = ta.ema(haHigh, smoothLength)
smoothedHaLow = ta.ema(haLow, smoothLength)

// Calculate SMAs
smaShort = ta.sma(close, s1)
smaLong = ta.sma(close, s2)

// Plotting the smoothed Heikin-Ashi values
plotcandle(smoothedHaOpen, smoothedHaHigh, smoothedHaLow, smoothedHaClose, color=(smoothedHaClose >= smoothedHaOpen ? color.green : color.red), title="Smoothed Heikin Ashi")
plot(smaShort, color=color.blue, title="SMA Short")
plot(smaLong, color=color.red, title="SMA Long")

// Generate buy/sell signals based on SHA crossing 44 SMA
longCondition = ta.crossover(smoothedHaClose, smaLong)
shortCondition = ta.crossunder(smoothedHaClose, smaLong)
noPositionCondition = math.abs(smoothedHaClose - smaLong) < noPositionThreshold

// Strategy logic
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)
if (noPositionCondition and strategy.position_size != 0)
    strategy.close_all("No Position")

// Plot buy/sell signals
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", size=size.small)
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", size=size.small)
plotshape(series=noPositionCondition and strategy.position_size != 0, location=location.belowbar, color=color.yellow, style=shape.labeldown, text="EXIT", size=size.small)