Estrategia de seguimiento de tendencias MACD


Fecha de creación: 2023-11-15 17:08:15 Última modificación: 2023-11-15 17:08:15
Copiar: 0 Número de Visitas: 743
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias MACD

Descripción general

Esta estrategia se llama la estrategia de seguimiento de la tendencia MACD, y es una estrategia cuantitativa que utiliza el indicador MACD para determinar la tendencia de los precios y realizar operaciones siguiendo la tendencia. La estrategia tiene como objetivo capturar tendencias a medio y largo plazo y ajustar las posiciones en el momento en que se produzca una reversión de la tendencia.

Principio de estrategia

La estrategia utiliza el indicador MACD para determinar la tendencia de los precios. El indicador MACD es un indicador de ruptura, compuesto por la línea rápida EMA (del día 12) y la línea lenta EMA (del día 26), cuyos valores de diferenciación forman la línea columnar del MACD, cuyo EMA del día 9 forma la línea de señal del MACD.

La estrategia calcula primero la línea MACD y la línea de señal, y luego calcula el diferencial entre la línea MACD y la línea de señal. Se genera una señal de compra cuando la delta está por encima de 0 y una señal de venta cuando la delta está por debajo de 0, y se ajusta la posición de acuerdo con estas dos señales. Para filtrar el ruido, la estrategia también introduce una línea de equilibrio EMA, que solo se genera una señal de negociación real cuando el precio rompe esa línea de equilibrio.

En concreto, la lógica de la estrategia es la siguiente:

  1. Cálculo de las líneas MACD, las líneas de señal y el delta diferencial
  2. Cuando se juzgue que el delta se desvanece o desvanece 0, se confirma el cambio de tendencia
  3. Cálculo de la línea media del EMA como filtro
  4. Cuando el delta es 0 y el precio está por encima de la EMA, se genera una señal de compra
  5. Cuando el delta está por debajo de 0 y el precio está por debajo de la EMA, genera una señal de venta

Con este diseño, la estrategia puede operar de acuerdo con las tendencias de línea media y larga, y ajustar las posiciones a tiempo cuando las tendencias cambian, evitando ser engañados por el ruido del mercado a corto plazo.

Ventajas estratégicas

La estrategia tiene las siguientes ventajas:

  1. Utiliza el MACD para determinar los puntos de inflexión de tendencias y determinar con precisión el momento de comprar y vender
  2. Utiliza filtros EMA para evitar el ruido de los mercados a corto plazo
  3. Tráfico solo con tendencias medianas y largas para evitar caer en mercados convulsionados
  4. La lógica de transacción es simple y clara, el código es fácil de entender y modificar
  5. Frecuencia de transacción que puede ajustarse a través de parámetros de la estrategia de control libre
  6. La tasa de utilización de los fondos es alta, lo que permite un buen seguimiento de las tendencias de la línea media y larga.

Riesgo estratégico

La estrategia también tiene algunos riesgos a tener en cuenta:

  1. El MACD es un indicador de seguimiento de tendencias que puede generar señales erróneas en situaciones de volatilidad.
  2. El filtro EMA podría filtrar algunas oportunidades de negociación efectivas
  3. La configuración incorrecta de los parámetros puede causar una frecuencia de transacción demasiado alta o demasiado baja
  4. Incapacidad para responder a cambios en el mercado a corto plazo, insensitividad ante eventos inesperados.
  5. Hay un cierto retraso y se puede perder el mejor momento para el cambio de tendencia

Respuesta:

  1. Optimización de parámetros, ajuste de los parámetros del filtro EMA para reducir los errores
  2. En combinación con otros indicadores como ayuda para descubrir más oportunidades de comercio
  3. Establezca un stop loss para controlar las pérdidas individuales
  4. Reducir adecuadamente el tiempo de tenencia de posiciones para garantizar la flexibilidad de la estrategia

Optimización de la estrategia

La estrategia también puede ser optimizada en los siguientes aspectos:

  1. Aumentar el conocimiento de otros indicadores para formar una combinación de indicadores y mejorar la precisión
  2. Mecanismos adicionales para detener el estancamiento y controlar el riesgo
  3. Combinado con el indicador de volumen de transacciones, evita falsas rupturas
  4. Ajuste de parámetros para adaptarse a las circunstancias del mercado y mejorar la adaptabilidad de las estrategias
  5. Optimización de la lógica concreta de compra y venta, mejorando los tiempos de entrada y salida
  6. Construir en etapas para seguir mejor la tendencia y reducir el riesgo

La optimización de métodos como combinaciones de indicadores, paradas de pérdidas y parámetros de adaptación puede mejorar considerablemente la eficacia de la estrategia.

Resumir

En general, la estrategia de seguimiento de la tendencia MACD determina la tendencia de la línea media larga a través de indicadores simples y efectivos de la MACD, y está diseñada para una lógica de negociación de seguimiento de tendencias más clara. Tiene la capacidad de capturar tendencias, junto con ciertas medidas de control de riesgo.

Código Fuente de la Estrategia
/*backtest
start: 2022-11-14 00:00:00
end: 2023-10-27 05:20:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's MACD Strategy v1.0", shorttitle = "MACD str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
usefil = input(false, defval = false, title = "Use EMA filter")
lenfil = input(5, defval = 5, minval = 1, maxval = 50, title = "EMA filter period")

fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

//Signals
ema = ema(close, lenfil)
trend = crossover(delta, 0) == true ? 1 : crossunder(delta, 0) == true ? -1 : trend[1]
up = trend == 1 and (low < ema or usefil == false) ? 1 : 0
dn = trend == -1 and (high > ema or usefil == false) ? 1 : 0

plot(ema, color = black, transp = 0)

if (up == 1)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

if (dn == 1)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)