Estrategia de seguimiento de la tendencia de la media móvil cruzada doble

El autor:¿ Qué pasa?, Fecha: 2023-09-28 11:52:16
Las etiquetas:

Resumen general

Esta estrategia utiliza el principio de doble cruce de promedios móviles combinado con un indicador de seguimiento de tendencias para determinar y seguir tendencias. La idea principal es ir largo cuando el promedio móvil de corto período cruza por encima del promedio móvil de largo período y ir corto cuando el promedio móvil de corto período cruza por debajo del promedio móvil de largo período. La dirección general de la tendencia también está determinada por el promedio móvil de 100 días para evitar roturas falsas.

Estrategia lógica

La estrategia consiste principalmente en un doble sistema de cruce de medias móviles y un sistema de seguimiento de tendencias.

El sistema de cruce de la media móvil doble contiene una EMA1 rápida y una EMA2 lenta. Los períodos predeterminados son 10 días para EMA1 y 20 días para EMA2. Una señal de compra se genera cuando EMA1 cruza por encima de EMA2. Una señal de venta se genera cuando EMA1 cruza por debajo de EMA2.

La EMA de 100 días (EMA100) se agrega para determinar la dirección general de la tendencia. Las señales de compra solo se generan cuando el precio está en una tendencia al alza (el precio está por encima de la EMA de 100 días). Las señales de venta solo se generan cuando el precio está en una tendencia a la baja (el precio está por debajo de la EMA de 100 días). Esto filtra la mayoría de las situaciones de ruptura falsas.

Las flechas de compra y venta también están trazadas en las velas para mostrar visualmente las señales comerciales.

El sistema de seguimiento de tendencias utiliza líneas intradiarias y diarias del ciclo para confirmar la dirección de la tendencia nuevamente.

Las señales de negociación solo se generan cuando los juicios intradiarios y del ciclo coinciden.

Análisis de ventajas

La mayor ventaja de esta estrategia es la integración de sistemas de seguimiento de tendencias y de cruce de medias móviles, que filtran eficazmente las señales falsas y mantienen las reducciones dentro de niveles aceptables.

Específicamente, las ventajas del sistema dual de cruce de medias móviles son:

  1. Lógica sencilla y fácil de entender, adecuada para principiantes.

  2. Seguimiento de tendencias, evita el comercio contra la tendencia.

  3. Períodos de EMA rápidos y lentos personalizables, adaptables a diferentes ciclos.

  4. Fuerte rentabilidad en las principales tendencias.

La adición de la EMA100 tiene las ventajas de:

  1. Evitar el comercio contra la tendencia, reducir las pérdidas.

  2. Siguiendo la tendencia, manteniendo la extracción controlada.

El sistema de seguimiento de tendencias tiene las ventajas de:

  1. Análisis de marcos de tiempo múltiples, evitando el ruido de un solo período.

  2. Asegurar la alineación con la dirección de la tendencia principal, reduciendo las reducciones.

  3. Heikin-Ashi suaviza el ruido, sólo captura tendencias.

Análisis de riesgos

Algunos riesgos a tener en cuenta para esta estrategia:

  1. Las inversiones en el sector de la energía se han incrementado de forma significativa durante los últimos años.

  2. Las señales retrasadas, faltan las primeras etapas de la tendencia.

  3. Pérdidas severas cuando la tendencia principal se invierte.

  4. El rendimiento depende de la optimización de parámetros.

Soluciones:

  1. Reducir la frecuencia de las operaciones durante las consolidaciones.

  2. Acortar los períodos de EMA para obtener señales de tendencia más tempranas.

  3. Utilice el stop loss para controlar la pérdida única.

  4. Optimizar los parámetros para diferentes productos y condiciones de mercado.

Direcciones de optimización

Esta estrategia puede optimizarse en las siguientes áreas:

  1. Optimización del período EMA. Prueba más combinaciones para encontrar períodos óptimos.

  2. Añadir más juicios de marcos de tiempo, por ejemplo, líneas mensuales o trimestrales.

  3. Incorporar mecanismos de stop loss como movimiento o paradas exponenciales.

  4. Combina con indicadores de volumen como el volumen en balance.

  5. Mejorar el tiempo de entrada usando osciladores más rápidos como el MACD.

  6. Optimización de parámetros para más productos y activos.

Conclusión

Esta estrategia combina las fortalezas de los sistemas de seguimiento de tendencias y cruce de promedios móviles duales, evitando las debilidades de los sistemas individuales.


/*backtest
start: 2023-09-20 00:00:00
end: 2023-09-27 00:00:00
period: 1h
basePeriod: 15m
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/
// © askkuldeeprandhawa

//@version=4

strategy("KSR Strategy", overlay=true)



par1=input(10)
par2=input(20)
ema1=ema(close,par1)
ema2=ema(close,par2)
buy=ema1>ema2
sell=ema2<ema1
mycolor= iff(buy,color.green,iff(sell,color.blue,color.red))
barcolor(color=mycolor)



ema100=ema(close,100)
ibuy=crossover(ema1,ema2)
iSell=crossunder(ema1,ema2)

varp=tostring(close[1])
plotshape(ibuy, "Up Arrow", shape.triangleup, location.belowbar, color.green, 0, 0,"Buy" , color.green, true, size.tiny)
plotshape(iSell, "Down Arrow", shape.triangledown, location.abovebar, color.red, 0, 0, "Sell", color.red, true, size.tiny)

crossed =crossover(ema(close,par1), ema(close,par2))
// if crossed
//     l = label.new(bar_index, na, tostring(close), 
//          color=color.green, 
//          textcolor=color.white,
//          style=label.style_labelup, yloc=yloc.belowbar)
         
crossed2 =crossunder(ema(close,par1), ema(close,par2))
// if crossed2
//     l = label.new(bar_index, na, tostring(close), 
//          color=color.red, 
//          textcolor=color.white,
//          style=label.style_labeldown, yloc=yloc.abovebar)
         
plot(ema(close,par1),"EMA Short",color=color.white)
plot(ema(close,par2),"EMA Long",color=color.orange)


longCondition = crossover(ema(close, par1), ema(close, par2))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(ema(close, par1), ema(close, par2))
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)




ma1_len = input(title="MA1", type=input.integer, defval=8, minval=1, maxval=100, step=1)
ma2_len = input(title="MA2", type=input.integer, defval=12, minval=1, maxval=100, step=1)

o = ema(open, ma1_len)
c = ema(close, ma1_len)
h = ema(high, ma1_len)
l = ema(low, ma1_len)

tim1=input('D',"Short Time")
tim2=input('W',"Long Time")

ema_p=input(title="EMA Period", type=input.integer, defval=16, minval=1, maxval=100, step=1)
refma = ema(close, ema_p)
plot(refma, title="EMA" , linewidth=1, color=close < refma ? color.orange : color.blue)
ha_t = heikinashi(syminfo.tickerid)
ha_o = security(ha_t, tim2, o)
ha_c = security(ha_t, tim2, c)
ha_h = security(ha_t, tim2, h)
ha_l = security(ha_t, tim2, l)
o2 = ema(ha_o, ma2_len)
c2 = ema(ha_c, ma2_len)
h2 = ema(ha_h, ma2_len)
l2 = ema(ha_l, ma2_len)
ha_col = ha_c > ha_o ? color.red : color.green
plotshape(true, style=shape.circle, color=ha_c > ha_o ? color.green : color.red, location=location.bottom)


ha_t1 = heikinashi(syminfo.tickerid)
ha_o1 = security(ha_t1, tim1, o)
ha_c1 = security(ha_t1, tim1, c)
ha_h1 = security(ha_t1, tim1, h)
ha_l1 = security(ha_t1, tim1, l)
o3 = ema(ha_o1, ma2_len)
c3 = ema(ha_c1, ma2_len)
h3 = ema(ha_h1, ma2_len)
l3 = ema(ha_l1, ma2_len)
ha_col1 = ha_c1 > ha_o1 ? color.red : color.green
plotshape(true, style=shape.circle, color=ha_c1 > ha_o1 ? color.green : color.red, location=location.top)







Más.