Estrategia de cruce de la media móvil exponencial doble

El autor:¿ Qué pasa?, Fecha: 2023-11-23 17:34:06
Las etiquetas:

img

Resumen general

La estrategia de cruce de promedios móviles exponenciales dobles es una estrategia típica de seguimiento de tendencias que utiliza la cruz dorada y la cruz muerta de promedios móviles exponenciales dobles (DEMA) con diferentes parámetros para determinar las tendencias del mercado y hacer posiciones largas y cortas correspondientes.

Estrategia lógica

La estrategia utiliza 3 DEMA simultáneamente con diferentes parámetros: DEMA ((8), DEMA ((20) y DEMA ((63).

  • DEMA (8) reacciona más rápidamente para captar las tendencias a corto plazo;

  • DEMA (WEB se mueve ligeramente más lento para identificar tendencias a mediano plazo;

  • DEMA(63) reacciona más lentamente para juzgar la dirección de la tendencia a largo plazo.

Cuando la línea rápida DEMA ((8) cruza por encima de la línea media DEMA ((20) y la línea lenta DEMA ((63), indica que el mercado gira de abajo a arriba, se debe hacer una posición larga.

Análisis de ventajas

En comparación con la media móvil única, la media móvil exponencial doble es más sensible a los cambios de precios y puede detectar los puntos de inflexión de las tendencias antes.

La combinación de líneas DEM de varios marcos de tiempo mejora la calidad de las señales de negociación y evita falsos breakouts.

Análisis de riesgos

Los principales riesgos de esta estrategia son:

  1. Un menor número de señales cruzadas de las tres líneas puede perder algunas oportunidades comerciales.
  2. Las líneas de DEM que cruzan con retraso pueden no responder oportunamente a los cambios de precios cuando el mercado fluctúa violentamente.
  3. No puede hacer frente con eficacia a grandes mercados que no están en tendencia.

Los riesgos pueden mejorarse y controlarse mejorando los parámetros, añadiendo condiciones de filtro, etc.

Direcciones de optimización

La estrategia se puede optimizar a partir de los siguientes aspectos:

  1. Optimizar los parámetros de las medias móviles para adaptarlos mejor a las diferentes características del mercado.
  2. Añadir filtros como el volumen, volatilidad para evitar señales equivocadas.
  3. Combine otros indicadores como MACD, KDJ para filtrar señales falsas.
  4. Añadir una estrategia de stop loss para controlar una sola pérdida.
  5. Optimizar la gestión de las posiciones para que el ratio de ganancias sea mayor que el ratio de pérdidas.

Resumen de las actividades

La estrategia de cruce de DEMA tiene una idea general clara. Al combinar DEMA de varios marcos de tiempo, puede determinar efectivamente la dirección de la tendencia del mercado y es una estrategia típica de seguimiento de tendencias. La estrategia puede mejorarse mediante la optimización de parámetros, la adición de filtros, la gestión de pérdidas de parada, etc. de acuerdo con las necesidades reales, para obtener mejores resultados de la estrategia.


/*backtest
start: 2022-11-16 00:00:00
end: 2023-11-22 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/
// © Noldo

//@version=4
//Quoted by Author HighProfit

//Lead-In
strategy("Double Exponential Moving Average 8-20-63 Strategy", 
         shorttitle="DEMA-8-20-63", 
         overlay=true,
         max_bars_back = 5000,
         initial_capital=100000, 
         max_bars_back = 5000,
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=100, 
         commission_type=strategy.commission.percent, 
         commission_value=0.1,
         pyramiding = 0)

short = input(8, minval=1)
srcShort = input(ohlc4, title="Source Dema 1")

long = input(20, minval=1)
srcLong = input(low, title="Source Dema 2")

long2 = input(63, minval=1)
srcLong2 = input(close, title="Source Dema 3")
e1 = ema(srcShort, short)
e2 = ema(e1, short)
dema1 = 2 * e1 - e2
plot(dema1, color=color.green, linewidth=2)

e3 = ema(srcLong, long)
e4 = ema(e3, long)
dema2 = 2 * e3 - e4
plot(dema2, color=color.blue, linewidth=2)

e5 = ema(srcLong2, long2)
e6 = ema(e5, long2)
dema3 = 2 * e5 - e6
plot(dema3, color=color.black, linewidth=2)

longC  = dema1 > dema2 and dema1 > dema3
shortC = dema1 < dema2 and dema1 < dema3 

alertlong  = longC and  not longC[1]
alertshort = shortC and not shortC[1]


strategy.entry("Long" , strategy.long , when = longC ,comment="Long")
strategy.entry("Short", strategy.short, when = shortC,comment="Short")

// Alerts 

alertcondition(longC  , title='Long' , message=' Buy  Signal ')
alertcondition(shortC , title='Short', message=' Sell Signal ')



Más.