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

Tendencia de la media móvil doblemente suavizada siguiendo la estrategia basada en Heikin-Ashi modificada

El autor:¿ Qué pasa?, Fecha: 2024-11-29 15:03:37
Las etiquetas:

img

Resumen general

Esta estrategia es un sistema de seguimiento de tendencias basado en velas Heikin-Ashi modificadas. Al aplicar doble suavización de promedio móvil exponencial (EMA) a las velas Heikin-Ashi tradicionales, reduce efectivamente el ruido del mercado y proporciona señales de tendencia más claras. La estrategia opera en un modo de tendencia larga, manteniendo posiciones durante las tendencias alcistas y permaneciendo fuera del mercado durante las tendencias bajistas, capturando los rendimientos del mercado a través de la detección de tendencias eficientes.

Principios de estrategia

La lógica central incluye los siguientes pasos clave:

  1. Aplanamiento inicial de la EMA de los datos de precios de las OHLC
  2. Cálculo de los candeleros Heikin-Ashi modificados utilizando precios suavizados
  3. Aplanamiento secundario de la EMA de las velas calculadas de Heikin-Ashi
  4. Determinación del cambio de color mediante la comparación de los precios de apertura y cierre suavizados
  5. Generación de señales de compra cuando las velas cambian de rojo a verde y de venta cuando cambian de verde a rojo
  6. Negociación con el 100% del tamaño de las posiciones de capital de la cuenta

Ventajas estratégicas

  1. El doble suavizado reduce significativamente las señales falsas
  2. El enfoque de venta a corto plazo elimina los riesgos de venta a corto plazo
  3. La entrada después de la confirmación de la tendencia mejora la tasa de ganancia
  4. Sistema de señales completo que admite operaciones automatizadas
  5. Selección de plazos flexibles que satisfagan las diferentes necesidades comerciales
  6. Las normas de entrada/salida sencillas y claras facilitan la ejecución
  7. Apoya la gestión del dinero en diferentes condiciones de mercado

Riesgos estratégicos

  1. Posibilidad de grandes retiros en caso de reversión de tendencia
  2. Múltiples señales falsas posibles en mercados variados
  3. La negociación de posiciones completas aumenta el riesgo de capital
  4. Las señales de entrada tardías pueden perder los movimientos iniciales de precios
  5. El rendimiento varía significativamente en diferentes períodos de tiempo

Direcciones para la optimización de la estrategia

  1. Introducir filtros de fuerza de tendencia para reducir las señales falsas en los mercados variados
  2. Implementar el dimensionamiento dinámico de las posiciones para optimizar la utilización del capital
  3. Añadir la funcionalidad de stop loss para controlar el riesgo de extracción
  4. Incorporar indicadores técnicos adicionales para la confirmación de la señal
  5. Desarrollar un sistema de parámetros adaptativos para mejorar la estabilidad de la estrategia

Resumen de las actividades

La estrategia construye un sistema robusto de seguimiento de tendencias utilizando doble suavizado y velas Heikin-Ashi modificadas como sus componentes centrales. El diseño de la estrategia es limpio y sencillo, fácil de entender y ejecutar, al tiempo que proporciona múltiples direcciones de optimización para adaptarse a diferentes entornos de mercado. Aunque tiene ciertos riesgos de retraso y descenso, a través de una gestión adecuada del dinero y medidas de control de riesgos, esta estrategia puede proporcionar a los inversores una herramienta confiable de seguimiento de tendencias.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Smoothed Heiken Ashi Strategy Long Only", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input.int(10, title="EMA Length")
len2 = input.int(10, title="Smoothing Length")
start_date = input(defval=timestamp("2020-01-01"), title="Backtest Start Date")

o = ta.ema(open, len)
c = ta.ema(close, len)
h = ta.ema(high, len)
l = ta.ema(low, len)

haclose = (o + h + l + c) / 4
var float haopen = na
haopen := na(haopen[1]) ? (o + c) / 2 : (haopen[1] + haclose[1]) / 2
hahigh = math.max(h, math.max(haopen, haclose))
halow = math.min(l, math.min(haopen, haclose))

o2 = ta.ema(haopen, len2)
c2 = ta.ema(haclose, len2)
h2 = ta.ema(hahigh, len2)
l2 = ta.ema(halow, len2)

col = o2 > c2 ? color.red : color.lime

// Plot candles without visible wicks
plotcandle(o2, o2, c2, c2, title="Heikin Smoothed", color=col, wickcolor=color.new(col, 100))

// Delayed Buy and Sell signals
colorChange = col != col[1]
buySignal = colorChange[1] and col[1] == color.lime
sellSignal = colorChange[1] and col[1] == color.red

plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.lime, style=shape.triangleup, size=size.small)
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Strategy entry and exit
if (true)
    if (buySignal)
        strategy.entry("Long", strategy.long)
    if (sellSignal)
        strategy.close("Long")

// Add a vertical line at the start date
// if (time == start_date)
//     line.new(x1=bar_index, y1=low, x2=bar_index, y2=high, color=color.blue, width=2)

// Alert conditions
alertcondition(colorChange[1], title="Color Change Alert", message="Heiken Ashi Candle Color Changed")
alertcondition(buySignal, title="Buy Signal Alert", message="Buy Signal: Color changed from Red to Green")
alertcondition(sellSignal, title="Sell Signal Alert", message="Sell Signal: Color changed from Green to Red")

Más.