Estrategia de combinación de DEMA MACD

El autor:¿ Qué pasa?, Fecha: 2021-12-21 10:49:45
Las etiquetas:

img

Resumen general

El nombre de esta estrategia es DEMA MACD Combination Strategy. Combina el indicador de promedio móvil DEMA y el indicador MACD para generar señales de compra y venta con confirmación de indicador dual. Su idea principal es utilizar tanto el indicador de tendencia DEMA como el indicador de impulso MACD para múltiples confirmaciones para mejorar la precisión de la señal y lograr un mejor rendimiento de la estrategia.

Estrategia lógica

La estrategia se basa principalmente en la combinación del indicador de media móvil DEMA y el indicador MACD.

  1. Cuando el precio de cierre cruza por encima de la línea DEMA, se considera una señal de compra.

  2. Calcular el valor del histograma MACD y añadir un parámetro opcional para controlar si el histograma MACD debe ser mayor que 0 como confirmación adicional de la señal de compra.

  3. Cuando aparezca una señal de compra DEMA, si está habilitada la confirmación adicional del histograma MACD superior a 0, la señal de compra real solo se activará después de que el histograma MACD se vuelva positivo.

  4. Cuando aparece una señal de venta DEMA, se emite una señal de venta directamente sin necesidad de confirmación MACD adicional.

A través de esta combinación de indicadores duales, la línea DEMA se puede utilizar para juzgar la dirección de la tendencia, mientras que el histograma MACD se utiliza para determinar si el mercado está en la etapa inicial de la tendencia para evitar roturas falsas y aumentar el potencial de ganancia.

Análisis de ventajas

Las principales ventajas de combinar los indicadores DEMA y MACD en esta estrategia son:

  1. DEMA es más sensible y puede capturar los cambios de tendencia a tiempo y evitar ser atrapado en trampas.

  2. El histograma de confirmación MACD mayor a 0 filtra señales falsas y sólo compra al comienzo de las tendencias, expandiendo el potencial de ganancia.

  3. Vender directamente en los cruces a la baja de la DEMA sin confirmación del MACD permite detener pérdidas rápidas y maximiza las ganancias preservadas.

  4. La verificación de dos indicadores mejora la precisión de la señal y reduce las operaciones incorrectas.

  5. Gran espacio de optimización para parámetros que pueden ajustarse para adaptarse a diferentes entornos de mercado.

Análisis de riesgos

Los principales riesgos de esta estrategia son:

  1. DEMA es demasiado sensible y también puede conducir a más señales falsas, lo que requiere que el MACD filtre las señales.

  2. El MACD tiene un retraso y puede perder los mejores puntos de entrada.

  3. La dependencia de la optimización de parámetros con un rendimiento variable entre los mercados.

  4. El riesgo de correlación seria con DEMA y MACD que se basan en EMA en los cálculos.

Soluciones:

  1. Añadir otros filtros de indicadores para construir combinaciones de múltiples indicadores para reducir las señales falsas.

  2. Trate de reemplazar el MACD con indicadores líderes como BB o KD para capturar giros antes.

  3. Construir mecanismos de optimización y actualización de parámetros para evaluar la robustez de los parámetros en tiempo real.

  4. Introducir indicadores no relacionados para reducir el riesgo de correlación.

Direcciones de optimización

Las principales direcciones de optimización para esta estrategia incluyen:

  1. Los parámetros de DEMA controlan directamente la sensibilidad de la estrategia.

  2. Añadiendo mecanismos de stop loss. Actualmente la estrategia solo se basa en los DEMA para las paradas. Se pueden agregar paradas de seguimiento o paradas porcentuales.

  3. Sustitución del MACD por otros indicadores principales para señales anteriores, por ejemplo, bandas de Bollinger o KDJ.

  4. Introducción de indicadores no relacionados para mejorar la solidez, por ejemplo, indicadores de volumen y volatilidad.

  5. Construir mecanismos de optimización y actualización de parámetros para evaluar continuamente el estado de los parámetros y ajustar automáticamente.

Conclusión

Esta estrategia combina el promedio móvil DEMA y el indicador MACD para aprovechar ambos para la confirmación y emisión de señales. En comparación con las estrategias de indicadores únicos, tiene una mayor sensibilidad y precisión de la señal. También hay margen de mejora optimizando parámetros, agregando paradas, introduciendo indicadores líderes, etc. para hacer que la estrategia sea más robusta e inteligente.


/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © melihtuna

//@version=1
strategy("DEMA Strategy with MACD", overlay=true)

// === Trend Trader Strategy ===
DemaLength = input(21, minval=1)
MacdControl = input(false, title="Control 'MACD Histogram is positive?' when Buy condition")

e1 = ema(close, DemaLength)
e2 = ema(e1, DemaLength)
dema1 = 2 * e1 - e2
pos = close > dema1 ? 1 : 0 
barcolor(pos == 0 ? red: pos == 1 ? green : blue )    
plot(dema1, color= blue , title="DEMA Strategy with MACD")

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2020, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

// === MACD ===
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdCond= MacdControl ? histLine[0] > 0 ? true : false : true

strategy.entry("BUY", strategy.long, when = window() and pos == 1 and macdCond)
strategy.entry("SELL", strategy.short, when = window() and pos == 0)




Más.