Estrategia de negociación de tortugas basada en promedios móviles simples

El autor:¿ Qué pasa?, Fecha: 2023-12-29 16:45:51
Las etiquetas:

img

Resumen general

Esta estrategia genera ganancias calculando dos grupos de promedios móviles simples con diferentes parámetros y usándolos como señales para abrir y cerrar posiciones. La estrategia fue propuesta por primera vez por el comerciante estadounidense Richard Dennis en 1983.

Principios

La estrategia calcula simultáneamente dos grupos de líneas rápidas y lentas. Los parámetros de la línea rápida se establecen en 20 días para las posiciones de apertura y 10 días para las posiciones de cierre. Los parámetros de la línea lenta son 55 días y 20 días respectivamente. Cuando el precio cruza por encima del valor más alto del período de apertura de la línea rápida, desencadena una señal larga. Cuando el precio cae por debajo del valor más bajo del período de apertura de la línea rápida, desencadena una señal corta. Del mismo modo, cuando el precio cae por debajo del valor más bajo del período de cierre de la línea rápida, cierra posiciones largas. Cuando el precio rompe el valor más alto del período de cierre de la línea rápida, cierra posiciones cortas. La línea lenta tiene la misma lógica para abrir y cerrar posiciones que la línea rápida.

La estrategia se basa en la teoría del promedio móvil para obtener ganancias. Es decir, cuando el promedio móvil a corto plazo cruza por encima del promedio móvil a largo plazo, se considera una señal alcista. Cuando cruza por debajo, indica una tendencia a la baja. Las líneas rápidas y lentas en esta estrategia juegan papeles similares.

Ventajas

  1. Reglas simples y claras, fáciles de entender y aplicar, adecuadas para principiantes;
  2. Criterios claros para la apertura y cierre de posiciones, evitando operaciones frecuentes;
  3. La combinación de medias móviles dobles rápidas y lentas suaviza las fluctuaciones de precios y genera señales comerciales más claras;
  4. El uso de múltiples conjuntos de parámetros ayuda a controlar los riesgos y evita operaciones erróneas;
  5. Ganancias estables a largo plazo, validadas en el comercio en vivo.

Riesgos y mitigaciones

  1. La estrategia en sí misma es mecánica y no puede hacer juicios sobre condiciones especiales del mercado, por lo que tiene limitaciones de beneficios;
    • Intentar incorporar más indicadores o modelos de aprendizaje automático para ayudar a la toma de decisiones
  2. Las medias móviles como indicadores con retraso tienen cierta latencia;
    • Acortar adecuadamente los períodos de apertura y cierre
  3. Incapaz de limitar el aprovechamiento máximo.
    • Establecer puntos de stop-loss

Direcciones de optimización

  1. Añadir un módulo de stop-loss para controlar la extracción máxima
  2. Incorporar otros indicadores para filtrar las señales
  3. Ajuste dinámico de los parámetros de la media móvil
  4. Añadir módulo de procesamiento de datos para eliminar los impactos de datos anormales
  5. Incorporar modelos de aprendizaje automático para determinar tendencias

Resumen de las actividades

Esta es una estrategia típica de seguimiento de tendencias. Al establecer reglas de negociación basadas en promedios móviles duales simples y el seguimiento de las tendencias del mercado, se logran ganancias constantes. La estrategia es fácil de entender e implementar con señales de apertura claras y ganancias verificadas a largo plazo de la negociación en vivo, lo que la hace muy adecuada para que los principiantes aprendan e investiguen. También sienta las bases para una negociación cuantitativa más compleja.


/*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)

Más.