
Esta estrategia utiliza la tecnología Heiken-Ashley para filtrar las señales de cruce de línea uniforme y los indicadores MACD, y para construir una estrategia de seguimiento de tendencias. La estrategia puede capturar las tendencias del mercado en diferentes períodos de tiempo, generar señales de negociación utilizando cruces de línea uniforme, y luego filtrar las señales falsas a través de indicadores MACD, mostrando una mayor rentabilidad en las pruebas de retorno.
La estrategia se basa en tres indicadores técnicos:
La técnica de Heiken-Ashley. La técnica de Heiken-Ashley consiste en modificar el precio de cierre para construir un hilo de silicio sin sombra. Esto puede mostrar con mayor claridad la tendencia real de los precios y filtrar el exceso de ruido del mercado.
El EMA rápido se utiliza para capturar tendencias a corto plazo, el EMA lento se utiliza para determinar la dirección de las tendencias a largo plazo. Cuando el EMA rápido atraviesa el EMA lento, genera una señal de compra; cuando el EMA rápido atraviesa el EMA lento, genera una señal de venta.
El indicador MACD. El indicador se combina con el EMA rápido y lento, y es una señal de alza cuando la línea principal del MACD está por encima de la línea de la señal, y es una señal de baja cuando la línea principal está por debajo de la línea de la señal.
Las señales de negociación de esta estrategia provienen de los EMA rápidos y los EMA lentos. Para filtrar las señales falsas, la estrategia introduce el indicador MACD para el juicio auxiliar, y solo genera la señal de negociación final cuando el indicador MACD emite una señal de identidad, lo que reduce considerablemente la probabilidad de una transacción errónea.
Concretamente, una señal de compra se genera cuando la línea principal MACD se encuentra por encima de la línea de señal (un indicador de crecimiento) y la línea principal MACD se encuentra por encima de la línea de señal (un indicador de crecimiento).
Este filtro, que combina el cruce equilíneo con el MACD, permite identificar los puntos de inflexión clave del mercado y capturar las tendencias de los precios.
Esta estrategia tiene las siguientes ventajas destacadas:
La probabilidad de captura de señales de tendencia se ha mejorado considerablemente. La aplicación de la tecnología Heiken-Ashley permite determinar las tendencias con mayor claridad. El sistema de cruce de dos líneas equiláreas también es muy eficiente para generar señales, y la combinación con el filtrado MACD es más confiable.
El MACD, como indicador auxiliar de juicio, puede evitar el riesgo de parada de pérdidas hasta cierto punto y reducir efectivamente las pérdidas de liquidación de posiciones.
Hay más parámetros ajustables. El ciclo de Heiken-Ashley, el ciclo rápido y lento del sistema de medias, los parámetros del MACD, etc., se pueden ajustar según el mercado, para que la estrategia se adapte mejor a diferentes situaciones.
La implementación es sencilla y clara. El precio se expresa en Heiken-Ashley y se determina con indicadores de uso común. La implementación es fácil de programar, el código es sencillo y fácil de entender.
La estrategia de seguimiento de tendencias permite que el capital funcione en la dirección dominante del mercado la mayor parte del tiempo, lo que genera beneficios con el uso eficiente de la cantidad de capital.
También hay algunos riesgos potenciales de esta estrategia:
Las pérdidas más grandes pueden ocurrir cuando el mercado fluctúa fuertemente. Cuando los precios se disparan fuertemente o se revierten rápidamente en el corto plazo, las medidas de suspensión de pérdidas pueden romperse y causar pérdidas más grandes de las esperadas.
El MACD también puede generar errores como indicador auxiliar, lo que puede conducir a una estrategia errónea de creación de posiciones o de posición baja.
La configuración de los parámetros es demasiado rígida. Una combinación fija de parámetros no siempre puede adaptarse a un mercado cambiante y puede perder una buena oportunidad de negociación.
La frecuencia de las operaciones puede ser excesiva. Las estrategias para construir posiciones siguiendo tendencias pueden generar operaciones frecuentes, aumentar los costos de las operaciones y perder puntos de deslizamiento.
Para evitar y reducir los riesgos mencionados, se pueden tomar las siguientes medidas:
Establezca un límite de pérdidas para limitar las pérdidas individuales. Al mismo tiempo, no busque excesivamente las pérdidas y controle el tamaño de la posición.
Ajuste los parámetros del MACD para reducir la probabilidad de que los indicadores auxiliares emitan una señal errónea. También se pueden introducir otros indicadores para una verificación múltiple.
Establecer un mecanismo de optimización de parámetros. Utilizando métodos como el aprendizaje automático de la máquina para optimizar la combinación de parámetros y hacer que las estrategias sean más adaptables.
La liberación adecuada de las condiciones de activación de las señales de negociación reduce la frecuencia de las operaciones. También se puede configurar el mínimo de variación de precios para activar las operaciones.
Esta estrategia también tiene un gran margen de mejora, que puede comenzar en los siguientes aspectos:
Optimización de los períodos de Haykanush. Se pueden probar períodos de tiempo más largos o más cortos para encontrar períodos de tiempo que reflejen mejor las tendencias del mercado.
Ajuste de parámetros de un sistema lineal. Modificar los parámetros de ciclo de la EMA para encontrar la combinación óptima de parámetros.
Optimización de múltiples parámetros del indicador MACD. Ajuste los parámetros de la línea de media lenta y la línea de señal del MACD para encontrar el parámetro óptimo.
El aumento de los módulos de gestión de riesgos estratégicos. Establece reglas de stop loss y stop loss más científicas, también se pueden agregar módulos como control de posición y administración de fondos.
Añadir más indicadores auxiliares. Por ejemplo, la introducción de otros indicadores como KD, RSI para la verificación de múltiples factores, para mejorar la calidad de la señal.
Aplicación de técnicas de aprendizaje automático. Métodos como redes neuronales, algoritmos genéticos, etc. para optimizar los parámetros de la estrategia en tiempo real y hacer que la estrategia sea más adaptable.
A través de una combinación iterativa de indicadores técnicos, la optimización continua de los parámetros y el fortalecimiento de los módulos de control de riesgos, esta estrategia puede ser mejorada y obtener ganancias más estables y eficientes.
Esta estrategia combina Heiken-Ashley y el sistema de cruce de línea uniforme para capturar las tendencias del mercado, filtrar con el indicador MACD, identificar con eficacia los puntos de inflexión clave y generar señales de negociación de alta fiabilidad. La estrategia tiene un excelente rendimiento de retroalimentación, una alta probabilidad de ganancias, un bajo riesgo de retirada y una gran capacidad de ajuste.
/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
//Heikin Ashi Strategy V1 by nachobuey
strategy("Heikin Ashi Strategy V2",shorttitle="HAS V2",overlay=true)
res = input(title="Heikin Ashi Candle Time Frame", defval="15")
hshift = input(0,title="Heikin Ashi Candle Time Frame Shift")
//res1 = input(title="Heikin Ashi EMA Time Frame", type=resolution, defval="180")
res1 = input(title="Time frame (Minutes. Not lower than chart)",defval="300")
mhshift = input(0,title="Heikin Ashi EMA Time Frame Shift")
fama = input(16,"Heikin Ashi EMA Period")
test = input(0,"Heikin Ashi EMA Shift")
sloma = input(21,"Slow EMA Period")
slomas = input(0,"Slow EMA Shift")
macdf = input(false,title="With MACD filter")
res2 = input(title="MACD Time Frame", defval="60")
macds = input(1,title="MACD Shift")
//Heikin Ashi Open/Close Price
ha_t = heikinashi(syminfo.tickerid)
ha_open = request.security(ha_t, res, open[hshift])
ha_close = request.security(ha_t, res, close[hshift])
mha_close = request.security(ha_t, res1, close[mhshift])
//macd
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdl = request.security(ha_t,res2,macdLine[macds])
macdsl= request.security(ha_t,res2,signalLine[macds])
//Moving Average
fma = ema(mha_close[test],fama)
sma = ema(ha_close[slomas],sloma)
plot(fma,title="MA",color=lime,linewidth=2,style=line)
plot(sma,title="SMA",color=red,linewidth=2,style=line)
//Strategy
golong = crossover(fma,sma) and (macdl > macdsl or macdf == false )
goshort = crossunder(fma,sma) and (macdl < macdsl or macdf == false )
strategy.entry("Long",strategy.long,when = golong)
strategy.entry("Short",strategy.short,when = goshort)
plotchar(golong,char="L", color=green)
plotchar(goshort,char="S", color=red)
alertcondition(golong, "HAS GO LONG", "OPEN LONG")
alertcondition(goshort, "HAS GO SHORT", "OPEN SHORT")