Estrategia de seguimiento de la tendencia de la media móvil

El autor:¿ Qué pasa?, Fecha: 2024-01-29 11:46:15
Las etiquetas:

img

Resumen general

Se trata de una estrategia de negociación cuantitativa basada en la tendencia, que utiliza principalmente tres líneas de promedio móvil con diferentes períodos, combinadas con el indicador ATR, para rastrear las tendencias del mercado y ayudar a determinar el momento de entrada y salida.

Principio

La estrategia utiliza tres líneas de promedio móvil de 9 días (a corto plazo), 15 días (a mediano plazo) y 24 días (a largo plazo). Entre ellas, las líneas de 9 días y 15 días se utilizan para determinar la dirección de la tendencia y el momento de entrada, mientras que la línea de 24 días se utiliza para determinar la toma de ganancias y el stop-loss. Al mismo tiempo, la estrategia también incorpora el indicador ATR para ajustar dinámicamente las líneas de promedio móvil para adaptarse mejor a las fluctuaciones del mercado.

Específicamente, cuando la línea media móvil a corto plazo cruza por encima de la línea media móvil a mediano plazo, y el precio de cierre es mayor que la línea media móvil a corto plazo, indica que la tendencia está comenzando a emerger, y las posiciones largas pueden establecerse en este punto.

Además, la estrategia también utiliza el color de la barra para mostrar intuitivamente la dirección de la tendencia.

Ventajas

  1. El uso de una combinación de tres líneas de promedio móvil con diferentes períodos puede juzgar la dirección de la tendencia con mayor precisión
  2. La aplicación de un ajuste dinámico basado en el ATR de las líneas de media móvil se adapta mejor a los mercados volátiles
  3. El establecimiento de mecanismos largos y cortos de suspensión de pérdidas/recuperación de beneficios permite gestionar eficazmente los riesgos
  4. Los efectos visuales de los colores de las barras forman señales de patrones efectivas, haciendo que las acciones comerciales sean más claras

Riesgos y optimización

  1. Tendencia a generar señales falsas en los mercados de rango
  2. La configuración incorrecta de los parámetros (por ejemplo, parámetros de período) puede conducir a un exceso de negociación o perder buenas oportunidades de entrada.
  3. Considere la posibilidad de incorporar otros filtros para las señales de entrada, como el volumen, el MACD, etc.
  4. Se pueden probar diferentes combinaciones de parámetros para encontrar los parámetros óptimos

Conclusión

En general, esta es una estrategia de seguimiento de tendencias relativamente robusta. Puede capturar efectivamente las tendencias a mediano y largo plazo, al tiempo que establece mecanismos de stop loss / take profit para controlar los riesgos. Pero la estrategia es sensible a los parámetros y las condiciones del mercado, lo que requiere una mayor optimización para adaptarse a más entornos de mercado.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
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/
// © ceyhun

//@version=4
strategy("Chaloke System Strategy",overlay=true)

P1=input(9,title="ShortTerm Period")
P2=input(15,title="MidTerm Period")
P3=input(24,title="LongTerm Period")
P4=input(5,title="Invesment Term")
P5=input(5,title="ATR Period")
Barcolor=input(true,title="Barcolor")

Sm=2*P5/10
ATRX=Sm*atr(P4)
S=ema(close,P1)-ATRX
M=ema(close,P2)-ATRX
Lg=ema(close,P3)-ATRX

Sht=iff(close==highest(close,3),S,ema(close[1],P1)-ATRX)
Mid=iff(close==highest(close,3),M,ema(close[1],P2)-ATRX)
Lng=iff(close==highest(close,3),Lg,ema(close[1],P3)-ATRX)

colors=iff(Sht>Mid and close > Sht ,color.green,iff(close < Lng or Sht<Lng,color.red,color.black))

plot(Sht,"Short",color=color.green,linewidth=2)
plot(Mid,"Middle",color=color.black,linewidth=2)
plot(Lng,"Long",color=color.red,linewidth=2)

barcolor(Barcolor ? colors :na)
   
long =  crossover(Sht,Mid) and close > Sht
short = crossunder(Sht,Lng) or close < Lng

if long
    strategy.entry("Long", strategy.long, comment="Long")
    
if short
    strategy.entry("Short", strategy.short, comment="Short")

alertcondition(long, title='Long', message='Chaloke System Alert Long')
alertcondition(short, title='Short', message='Chaloke System Alert Short')

Más.