Estrategia de combinación de MACD y supertendencia

MACD
Fecha de creación: 2024-06-03 16:35:15 Última modificación: 2024-06-03 16:35:15
Copiar: 0 Número de Visitas: 1141
1
Seguir
1617
Seguidores

Estrategia de combinación de MACD y supertendencia

Descripción general

Este artículo presenta una estrategia de negociación que combina los indicadores técnicos MACD y Supertrend. La estrategia utiliza las señales de cruce del indicador MACD y la dirección de la tendencia del indicador Supertrend para determinar el momento de entrada y salida con el fin de obtener ganancias en el contexto de la tendencia.

Principio de estrategia

La estrategia utiliza el indicador MACD y el indicador Supertrend para generar señales de negociación. El MACD se obtiene de la media móvil rápida (de 12 días por defecto) menos la media móvil lenta (de 26 días por defecto) y se calcula la media móvil de 9 días del MACD como línea de señal. Cuando la línea de la MACD cruza la línea de la señal, se forma una cruz dorada, es una señal de multiplicación; cuando la línea de la MACD cruza la línea de la señal, se forma una cruz muerta, es una señal de vacío.

Ventajas estratégicas

  1. La combinación de indicadores de tendencia y dinámica permite una mejor comprensión de la tendencia. El indicador MACD tiene un liderazgo para determinar el giro de la tendencia con anticipación, mientras que el indicador Supertrend puede filtrar eficazmente la tendencia de la oscilación.
  2. La línea de señal MACD se cruza con la línea de señal MACD, lo que significa que la tendencia puede revertirse y que la posición en equilibrio puede controlar el retiro de manera efectiva para evitar grandes pérdidas.
  3. La lógica de la estrategia es clara, las reglas son simples, fáciles de implementar y optimizar. La estrategia utiliza solo dos indicadores técnicos de uso común, los métodos de cálculo son maduros y se pueden medir y optimizar fácilmente en función de diferentes parámetros.

Riesgo estratégico

  1. El cálculo de los indicadores MACD y Supertrend involucra parámetros de períodos de tiempo, los parámetros óptimos pueden ser diferentes para diferentes mercados y variedades, y los parámetros fijos pueden hacer que la estrategia no funcione en ciertas circunstancias.
  2. El MACD, como un indicador de tendencia, su señal en relación con el precio tendrá un cierto atraso, y puede emitir una señal errónea al comienzo de la tendencia de cambio. En cambio, la Supertrend también tiene un cierto retraso en el juicio de la tendencia de cambio.
  3. Riesgo de operaciones frecuentes en mercados convulsos. La estrategia puede generar señales de horquilla y horquilla muerta con frecuencia en mercados convulsos, lo que lleva a operaciones excesivamente frecuentes, con costos de transacción más altos y menores beneficios de la estrategia.

Dirección de optimización de la estrategia

  1. Optimización de los parámetros de MACD y Supertrend para diferentes variedades y períodos. Se puede utilizar la metodología de la austeridad o el algoritmo genético, por ejemplo, para buscar la combinación óptima de parámetros y mejorar la adaptabilidad y la estabilidad de la estrategia.
  2. Basado en la señal de la horca de oro MACD, se añaden otras condiciones de filtración, como cambios en el volumen de transacción, brechas de precios, etc., para confirmar aún más el cambio de tendencia y reducir las señales falsas.
  3. Introducción de la gestión de la posición y los mecanismos de detención de pérdidas, como el ATR, el porcentaje de detención de pérdidas, etc., para controlar el riesgo de una sola transacción, mejorar la capacidad de control de retiro de la estrategia y el índice de pérdidas y ganancias.
  4. Considere la inclusión de un filtro de ciclo o una regla de rotación de variedades para reducir la frecuencia de las transacciones en mercados convulsivos y aumentar la estrategia de ganancias por riesgo.

Resumir

Este artículo presenta una estrategia de negociación basada en el indicador MACD y el indicador Supertrend, que utiliza el juicio de la tendencia del MACD y el filtro de la dirección de la Supertrend, para operar en una situación de tendencia, mientras se utiliza el cruce de la línea de señal y la posición cerrada a tiempo para controlar la retirada. La estrategia tiene la ventaja de la sencillez lógica, la capacidad de captura de la tendencia es fuerte, pero también existe el riesgo de la adaptabilidad de los parámetros, el retraso de la señal y el comercio frecuente.

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

//@version=5
strategy(title="MACD + Supertrend Strategy", overlay=true)

// MACD Calculation
fastLength = 12
slowLength = 26
signalSmoothing = 9
macdSrc = close

// MACD Line
fastMA = ta.ema(macdSrc, fastLength)
slowMA = ta.ema(macdSrc, slowLength)
macdLine = fastMA - slowMA

// MACD Signal Line
signalMA = ta.ema(macdLine, signalSmoothing)

// MACD Histogram
histogram = macdLine - signalMA

// Supertrend Calculation
supertrendATRLength = 10
supertrendFactor = 3.0
[supertrend, _] = ta.supertrend(supertrendFactor, supertrendATRLength)

// Entry and Exit Conditions
longCondition = (macdLine > signalMA) and (supertrend < close)
shortCondition = (signalMA > macdLine) and (supertrend > close)

// Long Entry
if longCondition
    strategy.entry("Long", strategy.long)

// Long Exit (Sell)
if signalMA > macdLine
    strategy.close("Long")

// Short Entry
if shortCondition
    strategy.entry("Short", strategy.short)

// Short Exit (Cover)
if macdLine > signalMA
    strategy.close("Short")

// Close Long Position if short condition is met
if shortCondition
    strategy.close("Long")

// Close Short Position if long condition is met
if longCondition
    strategy.close("Short")

// Plotting
plotshape(series=longCondition, title="Long Entry Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Long")
plotshape(series=shortCondition, title="Short Entry Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Short")

// Alerts
alertcondition(longCondition, title='Long Entry Signal', message='MACD crossover and Supertrend below close price')
alertcondition(signalMA > macdLine, title='Long Exit Signal', message='MACD signal line crosses above MACD line')

alertcondition(shortCondition, title='Short Entry Signal', message='MACD crossunder and Supertrend above close price')
alertcondition(macdLine > signalMA, title='Short Exit Signal', message='MACD line crosses above MACD signal line')