Sistema de cruce de medias móviles triples


Fecha de creación: 2023-09-28 15:33:14 Última modificación: 2023-09-28 15:33:14
Copiar: 1 Número de Visitas: 779
1
Seguir
1617
Seguidores

Descripción general

El sistema de cruce de tres medias móviles es una típica estrategia de negociación de acciones que sigue una tendencia. Utiliza el cruce de tres medias móviles de diferentes longitudes de tiempo como una señal de compra y venta. Se produce una señal de compra cuando la media móvil pasa por encima de la media móvil a corto plazo y la media móvil por encima de la media móvil pasa por debajo de la media móvil a medio plazo y la media móvil por debajo de la media móvil pasa por debajo de la media móvil a largo plazo.

Principio de estrategia

La estrategia se basa en tres promedios móviles: el promedio móvil a largo plazo ma1, el promedio móvil a medio plazo ma2 y el promedio móvil a corto plazo ma3.

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

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

Dentro de ellos, longitud1, longitud2 y longitud3 definen las longitudes de tiempo de las tres medias móviles respectivamente. La función sma calcula el precio cerrado en el promedio móvil simple de la longitud correspondiente.

Luego, se utilizan tres promedios móviles para determinar el momento de compra y venta:

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 la línea media ma2 atraviesa la línea larga ma1 y la línea corta ma3 atraviesa el ciclo anterior, se emite una señal de más. Cuando la línea media ma2 atraviesa la línea larga ma1 y la línea corta ma3 atraviesa el ciclo anterior, se emite una señal de vacío.

Ventajas estratégicas

  • El uso de tres promedios móviles permite una mejor comprensión de los cambios en la tendencia.
  • La combinación de líneas largas y cortas puede filtrar el ruido del mercado a corto plazo y bloquear la tendencia de las líneas más largas.
  • Las reglas son sencillas y fáciles de usar.
  • Se puede ajustar los parámetros de los tres promedios móviles para adaptarse a diferentes entornos de mercado.

Riesgo estratégico

  • Las compras y ventas se confirman a posteriori y no se pueden evitar las pérdidas.
  • Cuando las acciones se mueven cerca de la media móvil, se producen varias señales falsas.
  • Las líneas largas pueden perder el punto de inflexión de la tendencia. Las líneas cortas pueden perder el punto de inflexión de la tendencia debido al ruido.
  • No se puede manejar bien el mercado horizontal.

Estos riesgos se pueden reducir mediante la optimización de los parámetros apropiados y la combinación de otros indicadores como condiciones de filtración.

Dirección de optimización de la estrategia

  • Se puede probar una combinación de parámetros de diferentes longitudes para encontrar el parámetro óptimo.
  • Se puede añadir un stop loss para controlar las pérdidas.
  • Se pueden agregar otros indicadores de juicio y desviación para evitar errores. Por ejemplo, MACD, KD, etc.
  • Las estrategias de contención adecuadas se pueden elegir en función de las circunstancias reales.

Resumir

La estrategia de cruce de tres medias móviles es una estrategia de seguimiento de tendencias sencilla y práctica. Para generar una señal de negociación, juzga los cambios en la tendencia del mercado en función de tres medias móviles cruzadas. La estrategia tiene la ventaja de que las reglas son simples y se puede seguir la tendencia de manera efectiva, adecuada para la operación de líneas medias y largas.

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