Estrategia de cruce de promedio móvil simple

El autor:¿ Qué pasa?, Fecha: 2023-09-21 10:47:24
Las etiquetas:

Resumen general

Esta estrategia se opera basándose en la cruz dorada y la cruz muerta de 3 promedios móviles simples.

Estrategia lógica

  1. Establecer 3 SMA con períodos diferentes: rápido, medio, lento
  2. Ir largo cuando el SMA rápido cruza por encima del SMA medio y el SMA medio por encima del SMA lento
  3. Ir corto cuando la SMA rápida cruza por debajo de la SMA media y la SMA media por debajo de la SMA lenta
  4. Puede configurar el retraso de entrada para evitar errores
  5. Salida cuando se activa la señal de cruce inverso

Específicamente, utiliza los cruces entre 3 SMA de diferentes períodos para operar. La SMA rápida representa la tendencia a corto plazo, la SMA media representa la tendencia a mediano plazo y la SMA lenta representa la tendencia a largo plazo. Cuando los tres SMA cruzan hacia arriba en secuencia, señala una tendencia alcista para ir largo. Cuando ocurre un cruce descendente, señala una tendencia bajista para ir corto.

Análisis de ventajas

  1. El uso de 3 SMA mejora la precisión direccional
  2. El retraso en la entrada evita falsas fugas y ser atrapado.
  3. Lógica sencilla e intuitiva, fácil de entender
  4. Ajuste flexible del parámetro SMA para diferentes ciclos
  5. Seguimiento de la tendencia evita riesgos de contratrend

Análisis de riesgos

  1. La retención a largo plazo en riesgos de ciclo largo expansión de pérdidas
  2. El cruce de SMA tiene un poco de retraso, puede perder los mejores puntos de entrada
  3. Requiere optimización del parámetro SMA, de lo contrario las señales pueden ser inexactas
  4. La tenencia larga introduce riesgos durante la noche

Los riesgos se pueden gestionar mediante el tamaño de las posiciones, la optimización de la SMA, las estrategias de stop loss, etc.

Direcciones de optimización

  1. Prueba diferentes períodos de SMA para encontrar parámetros óptimos
  2. Evaluar el retraso de entrada para filtrar las señales
  3. Introducir un stop loss adaptable a la acción real del precio
  4. Preferencia de los parámetros de estudio entre diferentes productos
  5. Prueba de adición de reglas de reingreso y pirámide para optimizar la retención

Resumen de las actividades

Esta estrategia mantiene posiciones basadas en 3 cruces de SMA para determinar la dirección de la tendencia. Los pros son señales claras y configurabilidad simples; los contras son señales rezagadas y dependencia de parámetros. El rendimiento se puede mejorar y los riesgos controlados a través de la optimización de parámetros, stop loss, etc. Ayuda a los operadores a dominar el uso de SMA y estrategias de cruce.


/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © DaynTrading

//@version=4
// strategy(
//      title="Simple Moving Average Cross",
//      overlay=true,
//      initial_capital=5000,
//      default_qty_type=strategy.percent_of_equity,
//      default_qty_value=2,
//      commission_type=strategy.commission.percent,
//      commission_value=0.075,
//      pyramiding=0
//      )

sma_top_input = input(title="SMA Top", type=input.integer, defval=20)
sma_mid_input = input(title="SMA Mid", type=input.integer, defval=50)
sma_low_input = input(title="SMA Low", type=input.integer, defval=200)

bars_long = input(title="Long: After trigger, how many bars to wait?", type=input.integer, defval=5)
bars_short = input(title="Short: After trigger, how many bars to wait?", type=input.integer, defval=5)

sma_top = sma(close, sma_top_input)
sma_mid = sma(close, sma_mid_input)
sma_low = sma(close, sma_low_input)

long = sma_top > sma_mid and sma_mid > sma_low
short = sma_top < sma_mid and sma_mid < sma_low

long_condition = long and long[bars_long] and not long[bars_long + 1]
short_condition = short and short[bars_short] and not short[bars_short + 1]

close_long = sma_top < sma_mid and sma_mid < sma_low and not long[bars_long + 1]
close_short = sma_top > sma_mid and sma_mid > sma_low and not short[bars_short + 1]

plot(sma_top, title="SMA Top", color=#95f252, linewidth=2)
plot(sma_mid, title="SMA Mid", color=#FF1493, linewidth=2)
plot(sma_low, title="SMA Low", color=#6a0dad, linewidth=2)

strategy.entry("LongPosition", strategy.long, when = long_condition)
strategy.entry("ShortPosition", strategy.short, when = short_condition)
    
strategy.close("LongPosition", when = close_short)
strategy.close("ShortPosition", when = close_long)

Más.