Estrategia de trading de tortugas basada en la media móvil simple


Fecha de creación: 2023-12-29 16:45:51 Última modificación: 2023-12-29 16:45:51
Copiar: 2 Número de Visitas: 848
1
Seguir
1621
Seguidores

Estrategia de trading de tortugas basada en la media móvil simple

Descripción general

La estrategia se obtiene mediante el cálculo de un promedio móvil simple de dos conjuntos de diferentes parámetros, y se utiliza como señal para la creación de posiciones y posiciones cerradas. La estrategia fue propuesta por primera vez por el comerciante estadounidense Richard Dennis en 1983, para obtener ganancias estables con base en reglas simples, y luego fue popularizada por Curtis Faith.

Principio de estrategia

La estrategia calcula simultáneamente dos conjuntos de líneas rápidas y lentas. El parámetro de la línea rápida está configurado para un período de alza de 20 días y un período de baja de 10 días; el parámetro de la línea lenta para un período de alza de 55 días y un período de baja de 20 días.

La estrategia se basa en la teoría de la línea media en movimiento para obtener ganancias. Es decir, cuando la línea media corta se cruza en la media larga, se considera una señal de aumento de precios; cuando se rompe, se considera una señal de caída de precios.

Ventajas estratégicas

  1. Las reglas son sencillas, claras, fáciles de entender e implementar, adecuadas para el aprendizaje de los principiantes.
  2. Los estándares para la construcción y mantenimiento de los depósitos son claros y se evita el comercio frecuente.
  3. La combinación de las medias móviles dobles de línea rápida y de línea lenta permite suavizar el ruido generado por los cambios en los precios y generar una señal de negociación más clara.
  4. La combinación de varios conjuntos de parámetros permite controlar el riesgo y evitar transacciones erróneas.
  5. La rentabilidad es estable a largo plazo y se ha comprobado en el mundo real.

Riesgos y soluciones

  1. La estrategia en sí misma es más mecánica, no puede juzgar situaciones especiales, y hay un límite de ganancias.
    • Puede intentar introducir más indicadores o modelos basados en aprendizaje automático para ayudar a la toma de decisiones
  2. El promedio móvil como indicador de referencia está un poco rezagado.
    • Reducir adecuadamente el ciclo de construcción y mantenimiento de los depósitos
  3. No hay restricciones a la retirada máxima.
    • Se puede configurar el punto de parada

Dirección de optimización

  1. Aumentar el módulo de stop loss para controlar el máximo retiro
  2. Combinación con otros indicadores para filtrar señales
  3. Ajuste dinámico de los parámetros de la media móvil
  4. Añadir módulos de procesamiento de datos y eliminar el impacto de los datos anormales
  5. Determinación de tendencias en combinación con modelos de aprendizaje automático

Resumir

Esta estrategia es una estrategia típica de seguimiento de tendencias. Establece reglas de negociación basadas en un simple doble promedio móvil y obtiene ganancias estables al seguir las tendencias del mercado.

Código Fuente de la Estrategia
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//coded by tmr0
//original idea from «Way of the Turtle: The Secret Methods that Turned Ordinary People into Legendary Traders» (2007) CURTIS FAITH
strategy("20 years old Turtles strategy by tmr0", shorttitle = "Turtles", overlay=true)

enter_fast = input(20, minval=1)
exit_fast = input(10, minval=1)
enter_slow = input(55, minval=1)
exit_slow = input(20, minval=1)

fastL = highest(enter_fast)
fastLC = lowest(exit_fast)
fastS = lowest(enter_fast)
fastSC = highest(exit_fast)

slowL = highest(enter_slow)
slowLC = lowest(exit_slow)
slowS = lowest(enter_slow)
slowSC = highest(exit_slow)

enterL1 = high > fastL[1]
exitL1 = low <= fastLC[1]
enterS1 = low < fastS[1]
exitS1 = high >= fastSC[1]

enterL2 = high > slowL[1]
exitL2 = low <= slowLC[1]
enterS2 = low < slowS[1]
exitS2 = high >= slowSC[1]


//bgcolor(exitL1 or exitL2? red: enterL1 or enterL2? navy:white)

strategy.entry("fast L", strategy.long, when = enterL1)
strategy.entry("fast S", strategy.short, when = enterS1)
strategy.close("fast L", when = exitL1)
strategy.close("fast S", when = exitS1)

strategy.entry("slow L", strategy.long, when = enterL2)
strategy.entry("slow S", strategy.short, when = enterS2)
strategy.close("slow L", when = exitL2)
strategy.close("slow S", when = exitS2)
//zl=0
//z=strategy.netprofit / 37 * koef  //ежемесячная прибыль
//z=strategy.grossprofit/strategy.grossloss
//z1=plot (z, style=line, linewidth=3, color = z>zl?green:red, transp = 30)
//hline(zl, title="Zero", linewidth=1, color=gray, linestyle=dashed)