estrategia de seguimiento de tendencias basada en medias móviles

El autor:¿ Qué pasa?, Fecha: 2023-10-31 14:00:47
Las etiquetas:

img

Resumen general

La estrategia de cruce de promedios móviles es una estrategia de seguimiento de tendencias basada en promedios móviles. Genera señales de negociación mediante el cálculo de promedios móviles de diferentes períodos e identificar cruces. Esta estrategia utiliza un promedio móvil rápido y un promedio móvil lento para formar señales.

Estrategia lógica

Esta estrategia se basa principalmente en los cruces de MA para generar señales comerciales.

  1. Calcule el MA rápido y el MA lento. El período de MA rápido es 10, y el período de MA lento es 50.

  2. Identificar las relaciones MA. Una señal de compra se genera cuando el MA rápido cruza por encima del MA lento. Una señal de venta se genera cuando el MA rápido cruza por debajo del MA lento.

  3. Emitir señales de compra y venta. Ir largo cuando ocurre una señal de compra. Ir corto cuando ocurre una señal de venta.

  4. Después de entrar en una operación, establezca el stop loss basado en el porcentaje de entrada y obtenga ganancias para gestionar los riesgos.

Al comparar los cambios de tendencia de precios en diferentes períodos de tiempo, esta estrategia determina si el mercado está actualmente en una tendencia alcista o bajista.

Ventajas

  • Captura eficazmente las tendencias a mediano y largo plazo utilizando la naturaleza inherente de las mediciones de mercado.

  • Señales cruzadas simples y claras que son fáciles de implementar.

  • Períodos rápidos y lentos personalizables para la optimización de parámetros.

  • Limita las pérdidas en operaciones individuales a través del stop loss.

Los riesgos

  • Propenso a los golpes y a las operaciones excesivas en los mercados de rango.

  • Los MAs tienen retraso y pueden perder oportunidades a corto plazo.

  • No tiene en cuenta eventos repentinos como noticias bajistas significativas.

  • carece de mecanismos de gestión de riesgos y podría provocar pérdidas más allá de la tolerancia al riesgo.

Gestión de riesgos:

  1. Optimizar los períodos de MA para reducir las señales falsas durante las consolidaciones.

  2. Añadir otros indicadores como filtros para abordar el retraso de MA.

  3. Suplemento con análisis de noticias.

  4. Implementar el stop loss y el dimensionamiento de posiciones para limitar las pérdidas.

Mejoras

  • Combinar con otras herramientas analíticas como canales y patrones para mejorar la calidad de la señal.

  • Optimice los parámetros de MA rápido y lento para encontrar las mejores combinaciones. 10-30 días para MA rápido y 20-120 días para MA lento a menudo funcionan bien.

  • Añadir las reglas de posicionamiento de tamaño.

  • Incorporar lógica para manejar eventos repentinos como detener las operaciones después de grandes noticias bajistas.

  • Proyecto de evaluación de los resultados y mejora continua del sistema.

Resumen de las actividades

La estrategia de cruce de media móvil doble identifica la dirección de la tendencia comparando cruces de media móvil rápidos y lentos. Es un enfoque simple y práctico de seguimiento de tendencias. Aunque es efectivo, tiene algunas limitaciones que se pueden abordar a través de optimizaciones como ajuste de parámetros, adición de filtros e incorporación de otras herramientas.


/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Simple Moving Average Crossover", overlay=true)

// Input parameters
fast_length = input(10, title="Fast MA Length")
slow_length = input(50, title="Slow MA Length")
stop_loss_pct = input(1, title="Stop Loss Percentage", minval=0, maxval=5) / 100

// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)

// Plot moving averages
plot(fast_ma, color=color.blue, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")

// Strategy logic
long_condition = crossover(fast_ma, slow_ma)
short_condition = crossunder(fast_ma, slow_ma)

// Execute trades
if (long_condition)
    strategy.entry("Long", strategy.long)

if (short_condition)
    strategy.entry("Short", strategy.short)

// Set stop loss
long_stop_price = close * (1 - stop_loss_pct)
short_stop_price = close * (1 + stop_loss_pct)

strategy.exit("Stop Loss/Profit", from_entry="Long", stop=long_stop_price)
strategy.exit("Stop Loss/Profit", from_entry="Short", stop=short_stop_price)


Más.