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

Tendencia media móvil Heikin-Ashi de varios plazos siguiendo el sistema de negociación

El autor:¿ Qué pasa?, Fecha: 2025-01-06 16:20:56
Las etiquetas:El EMAEl MACDH.A.La SMAComprarVender

img

Resumen general

Esta estrategia es un sistema de seguimiento de tendencias de varios marcos de tiempo basado en velas de Heikin-Ashi y cruces de promedio móvil exponencial (EMA). Combina las propiedades de suavizado de las velas de Heikin-Ashi con las capacidades de seguimiento de tendencias de promedios móviles en diferentes marcos de tiempo, utilizando el MACD como un filtro adicional para capturar con precisión las tendencias del mercado. La estrategia emplea un diseño de marcos de tiempo jerárquico, calculando y validando señales en marcos de tiempo de 60 minutos, 180 minutos y 15 minutos.

Principios de estrategia

La lógica central incluye varios componentes clave:

  1. Cálculo de Heikin-Ashi: suaviza los datos de precios originales mediante cálculos OHLC especiales para reducir el ruido del mercado.
  2. Sistema de EMA de margen de tiempo múltiple: Calcula la EMA de Heikin-Ashi en margen de tiempo de 180 minutos, formando señales de cruce con EMA lenta en margen de tiempo de 60 minutos.
  3. Filtro MACD: Calcula el indicador MACD en un marco de tiempo de 15 minutos para validar las señales de negociación.
  4. Reglas de generación de señales: genera señales de compra cuando la EMA de Heikin-Ashi rápida cruza por encima de la EMA lenta con confirmación MACD (si está habilitada); inversa para las señales de venta.

Ventajas estratégicas

  1. Fuerte suavización de la señal: las velas Heikin-Ashi reducen eficazmente las señales falsas.
  2. Validación de marcos de tiempo múltiples: el uso de marcos de tiempo diferentes aumenta la confiabilidad de la señal.
  3. Seguimiento efectivo de la tendencia: el sistema cruzado de la EMA capta eficazmente las tendencias a medio y largo plazo.
  4. Mecanismo de filtrado flexible: el filtro MACD opcional proporciona una confirmación adicional de la señal.
  5. Fuerte adaptabilidad a los parámetros: se pueden optimizar varios parámetros clave para diferentes características del mercado.

Riesgos estratégicos

  1. Riesgo de mercado agitado: puede generar frecuentes señales falsas de ruptura en los mercados laterales.
  2. Riesgo de retraso: la validación de marcos de tiempo múltiples puede dar lugar a entradas ligeramente retrasadas.
  3. Sensibilidad de los parámetros: las diferentes combinaciones de parámetros pueden dar lugar a variaciones significativas en el rendimiento.
  4. Dependencia del entorno del mercado: la estrategia tiene un mejor rendimiento en mercados de fuerte tendencia, puede tener un rendimiento inferior en otras condiciones.

Direcciones de optimización

  1. Añadir un filtro de volatilidad: introducir ATR o bandas de Bollinger para la evaluación de la volatilidad del mercado.
  2. Optimizar la selección de los plazos: ajustar las combinaciones de plazos en función de las características específicas del instrumento.
  3. Mejorar el mecanismo de suspensión de pérdidas: añadir suspensiones posteriores o suspensiones dinámicas basadas en la volatilidad.
  4. Mejorar el tamaño de las posiciones: ajustar dinámicamente los tamaños de las posiciones en función de la fuerza de la señal y la volatilidad del mercado.
  5. Incluir análisis del entorno del mercado: añadir indicadores de fuerza de tendencia para diferenciar las condiciones del mercado.

Resumen de las actividades

Esta estrategia construye una tendencia completa siguiendo el sistema de negociación utilizando sistemas de Heikin-Ashi y EMA de múltiples plazos combinados con el filtrado MACD. El diseño considera a fondo la fiabilidad de la señal y la estabilidad del sistema, capaz de adaptarse a diferentes entornos de mercado a través de la optimización de parámetros y mecanismos de control de riesgos.


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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tradingbauhaus

//@version=5
strategy("Heikin Ashi Candle Time Frame @tradingbauhaus", shorttitle="Heikin Ashi Candle Time Frame @tradingbauhaus", overlay=true)

// Inputs
res = input.timeframe(title="Heikin Ashi Candle Time Frame", defval="60")
hshift = input.int(1, title="Heikin Ashi Candle Time Frame Shift")
res1 = input.timeframe(title="Heikin Ashi EMA Time Frame", defval="180")
mhshift = input.int(0, title="Heikin Ashi EMA Time Frame Shift")
fama = input.int(1, title="Heikin Ashi EMA Period")
test = input.int(1, title="Heikin Ashi EMA Shift")
sloma = input.int(30, title="Slow EMA Period")
slomas = input.int(1, title="Slow EMA Shift")
macdf = input.bool(false, title="With MACD filter")
res2 = input.timeframe(title="MACD Time Frame", defval="15")
macds = input.int(1, title="MACD Shift")

// Heikin Ashi calculation
var float ha_open = na
ha_close = (open + high + low + close) / 4
ha_open := na(ha_open[1]) ? (open + close) / 2 : (ha_open[1] + ha_close[1]) / 2
ha_high = math.max(high, math.max(ha_open, ha_close))
ha_low = math.min(low, math.min(ha_open, ha_close))

// Adjusted Heikin Ashi Close for different timeframes
mha_close = request.security(syminfo.tickerid, res1, ha_close[mhshift])

// MACD calculation
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
macdl = request.security(syminfo.tickerid, res2, macdLine[macds])
macdsl = request.security(syminfo.tickerid, res2, signalLine[macds])

// Moving Averages
fma = ta.ema(mha_close[test], fama)
sma = ta.ema(ha_close[slomas], sloma)
plot(fma, title="Heikin Ashi EMA", color=color.green, linewidth=2)
plot(sma, title="Slow EMA", color=color.red, linewidth=2)

// Strategy Logic
golong = ta.crossover(fma, sma) and (macdl > macdsl or not macdf)
goshort = ta.crossunder(fma, sma) and (macdl < macdsl or not macdf)

// Plot Shapes for Buy/Sell Signals
plotshape(golong, color=color.green, text="Buy", style=shape.triangleup, location=location.belowbar)
plotshape(goshort, color=color.red, text="SELL", style=shape.triangledown, location=location.abovebar)

// Strategy Orders
strategy.entry("Long", strategy.long, when=golong)
strategy.close("Long", when=goshort)
strategy.entry("Short", strategy.short, when=goshort)
strategy.close("Short", when=golong)

// Alerts
alertcondition(golong, "Heikin Ashi BUY", "")
alertcondition(goshort, "Heikin Ashi SELL", "")




Relacionados

Más.