Estrategia de seguimiento de tendencia de cruce de medias móviles dobles


Fecha de creación: 2023-09-28 11:52:16 Última modificación: 2023-09-28 11:52:16
Copiar: 0 Número de Visitas: 646
1
Seguir
1617
Seguidores

Descripción general

Esta estrategia utiliza el principio de cruce de dos medias, combinado con indicadores de seguimiento de tendencias, para lograr el juicio y el seguimiento de la tendencia. La idea principal es hacer más cuando la media corta atraviesa la media larga y hacer hueco cuando la media corta atraviesa la media larga.

Principio de estrategia

La estrategia se compone principalmente de un sistema de cruzamiento de líneas biuniversales y un sistema de seguimiento de tendencias.

El sistema de cruce de dos líneas iguales contiene la línea rápida EMA1 y la línea lenta EMA2. La línea rápida EMA1 toma por defecto la línea 10 y la línea lenta EMA2 toma por defecto la línea 20. La línea rápida genera una señal de compra cuando atraviesa la línea lenta y la línea rápida genera una señal de venta cuando atraviesa la línea lenta.

La línea media de 100 días, EMA100, se usa para determinar la dirección de la tendencia general. La señal de compra se genera solo cuando el precio está en una tendencia ascendente (precio por encima de la línea media de 100 días) y el cruce de la línea lenta en la línea rápida. La señal de venta se genera solo cuando el precio está en una tendencia descendente (precio por debajo de la línea media de 100 días) y el cruce de la línea lenta por debajo de la línea rápida.

Además, las flechas de compra y venta están marcadas en la línea K para mostrar las señales de transacción de forma visual.

Los sistemas de seguimiento de tendencias utilizan las líneas diarias y periódicas para confirmar nuevamente la dirección de la tendencia. Los medias Heikin-Ashi de 5 minutos y 60 minutos se utilizan para juzgar las líneas diarias, y los medias de 8 y 12 días se utilizan para juzgar las líneas diarias.

La verdadera señal de negociación solo se emite cuando los juicios son coincidentes en el día y en el ciclo. Esto puede filtrar aún más el ruido de la mayoría de las direcciones de tendencias no principales.

Análisis de las ventajas

La mayor ventaja de esta estrategia es que combina el seguimiento de tendencias y el sistema de cruce de línea uniforme, lo que permite filtrar eficazmente las señales falsas y controlar la retirada dentro de un rango aceptable.

En concreto, las ventajas de un sistema de cruzamiento bidireccional son las siguientes:

  1. La aplicación es fácil de usar, fácil de entender y adecuada para los principiantes.

  2. El gobierno de la República Democrática del Congo (RDC) ha anunciado hoy que el país está en crisis.

  3. Los parámetros de línea rápida y lenta se pueden ajustar para adaptarse a diferentes períodos;

  4. La rentabilidad es alta y los beneficios son significativos bajo las grandes tendencias.

Las ventajas de unirse a EMA100:

  1. En la actualidad, el gobierno de la República Democrática del Congo está trabajando en un plan para reducir las pérdidas de petróleo.

  2. El retorno es controlado por la operación de tendencia.

Las ventajas de los sistemas de seguimiento de tendencias:

  1. La audición es un proceso de aprendizaje que se lleva a cabo a través de una serie de herramientas de audición.

  2. Asegurarse de que la dirección de las transacciones esté en consonancia con la tendencia general y reducir los retrocesos.

  3. Heikin-Ashi es una estrategia de negociación que se basa en el análisis de las tendencias.

Análisis de riesgos

También hay riesgos que deben ser considerados:

  1. En el balance a largo plazo, las líneas medias se cruzan con frecuencia, lo que genera demasiadas oportunidades de negociación y costos de cambio.

  2. Las señales de comercio pueden estar rezagadas y perderse la fase inicial de la tendencia.

  3. En el caso de que la tendencia a gran escala se invierta, las pérdidas podrían ser considerables.

  4. La configuración de los parámetros necesita ser optimizada, y si no es apropiada, puede afectar el rendimiento de la estrategia.

Respuesta:

  1. Reducir la frecuencia de las operaciones en la liquidación para evitar transacciones no válidas.

  2. Acortar adecuadamente el ciclo de la línea media para obtener señales tempranas de tendencia.

  3. Establecer un punto de parada para controlar las pérdidas individuales.

  4. Optimización de la configuración de los parámetros, adaptados a las diferentes variedades y entornos comerciales.

Dirección de optimización

Esta estrategia puede ser optimizada en los siguientes aspectos:

  1. Optimización del ciclo de la línea media. Se pueden probar más combinaciones de parámetros para encontrar el ciclo óptimo.

  2. Añadir más juicios de período de tiempo. Por ejemplo, añadir la línea lunar o el indicador de la línea trimestral.

  3. Aumentar el mecanismo de detención de pérdidas. Configurar el deterioro móvil o el deterioro de tipo índice.

  4. Combinación de indicadores de volumen de transacción, como la corriente de energía con indicadores como KDJ.

  5. Optimice el tiempo de entrada. Puede considerar el apoyo de indicadores más sensibles como el MACD.

  6. Optimización de adaptación a más variedades. Ajuste los parámetros para adaptarse a más variedades.

Resumir

Esta estrategia integra un sistema de seguimiento de tendencias y de cruce de dos líneas homogéneas, lo que permite aprovechar eficazmente sus ventajas y evitar los problemas de un solo sistema. El juicio multidimensional en el tiempo garantiza la dirección correcta de la operación, el control de la retirada es bueno.

Código Fuente de la Estrategia
/*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)