Sistema de cruce de la media móvil triple

El autor:¿ Qué pasa?, Fecha: 2023-09-28 15:33:14
Las etiquetas:

Resumen general

El sistema triple de cruce de promedios móviles es una estrategia típica de comercio de acciones que sigue tendencias. Utiliza el cruce de tres promedios móviles de diferentes longitudes de tiempo como señales de compra y venta. Cuando el promedio móvil de período corto cruza por encima del promedio móvil de período medio y el promedio móvil de período medio cruza por encima del promedio móvil de período largo, se genera una señal de compra. Cuando el promedio móvil de período corto cruza por debajo del promedio móvil de período medio y el promedio móvil de período medio cruza por debajo del promedio móvil de período largo, se genera una señal de venta.

Estrategia lógica

La estrategia se basa en tres medias móviles: la media móvil de largo plazo ma1, la media móvil de mediano plazo ma2 y la media móvil de corto plazo ma3.

length1 = input(18,'长线')  
length2 = input(9,'中线')
length3 = input(4,'短线')

ma1 := sma(close,length1)
ma2 := sma(close,length2) 
ma3 := sma(close,length3)

La función sma calcula la media móvil simple del precio de cierre durante la longitud correspondiente.

Luego utiliza el cruce de las tres medias móviles para determinar entradas y salidas:

if ma2 > ma1 and ma3 > ma3[1]
    strategy.entry("Long", strategy.long)

if ma2 < ma1 and ma3 < ma3[1] 
    strategy.entry("Short", strategy.short)

Cuando el ma2 a mediano plazo cruza por encima del ma1 a largo plazo y el ma3 a corto plazo cruza por encima del período anterior s ma3, se activa una señal larga.

Ventajas de la estrategia

  • El uso de tres promedios móviles puede identificar claramente los cambios de tendencia.
  • La combinación de períodos largos y cortos filtra algunos ruidos del mercado a corto plazo y bloquea las tendencias a más largo plazo.
  • Las reglas sencillas hacen que sea fácil de aplicar.
  • Los parámetros pueden ajustarse para adaptarse a los diferentes entornos del mercado.

Riesgos de la estrategia

  • Las entradas y salidas se identifican en retrospectiva y no se pueden evitar completamente las pérdidas.
  • Los whipssaws ocurren cuando el precio oscila alrededor de las medias móviles.
  • Una línea de período largo que es demasiado larga puede perder los puntos de inflexión de la tendencia.
  • No maneja los mercados muy bien.

Estos riesgos pueden reducirse mediante la optimización adecuada de los parámetros, la adición de filtros con otros indicadores, etc.

Direcciones de mejora

  • Prueba de nuevo diferentes combinaciones de parámetros para encontrar valores óptimos.
  • Añadir pérdidas de parada a las pérdidas de control.
  • Añadir otros indicadores para juzgar el impulso y la divergencia para evitar señales falsas, por ejemplo MACD, KD, etc.
  • Elegir una estrategia de obtención de beneficios adecuada de acuerdo con la situación real.

Resumen de las actividades

La estrategia de cruce de media móvil triple es una estrategia simple y práctica de seguimiento de tendencias. Identifica los cambios en la dirección de la tendencia basados en el cruce de tres medias móviles para generar señales comerciales. Las ventajas de esta estrategia son sus reglas simples y el seguimiento efectivo de tendencias, lo que la hace adecuada para el comercio a medio y largo plazo. Sin embargo, también hay riesgos de señales falsas y reducciones. La estrategia se puede mejorar optimizando parámetros, agregando indicadores de apoyo, etc. para adaptarse a diferentes entornos de mercado.


/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 2h
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/
// © dongyun

//@version=4
strategy("三重交叉修正模式系统", overlay=true)
//strategy.risk.allow_entry_in(strategy.direction.long)
length1 = input(18,'长线')
length2 = input(9,'中线')
length3 = input(4,'短线')

ma1 =0.0
ma2 = 0.0
ma3 = 0.0

ma1 := sma(close,length1)
ma2 := sma(close,length2)
ma3 := sma(close,length3)

plot(ma1)
plot(ma2)
plot(ma3)

if ma2 > ma1 and ma3 > ma3[1]
	strategy.entry("Long", strategy.long, when=strategy.position_size <= 0)

if ma2 < ma1 and ma3 < ma3[1]
	strategy.entry("Short", strategy.short, when=strategy.position_size > 0)

Más.