Estrategia de impulso de doble SMA


Fecha de creación: 2024-01-17 15:05:08 Última modificación: 2024-01-17 15:05:08
Copiar: 1 Número de Visitas: 629
1
Seguir
1617
Seguidores

Estrategia de impulso de doble SMA

Descripción general

La estrategia de doble SMA es una estrategia de negociación basada en el análisis técnico que genera señales de compra y venta basadas en dos indicadores de media móvil simple (SMA). Su objetivo es capturar los movimientos de precios a corto y medio plazo de las acciones.

Lógica de estrategia

La estrategia utiliza dos indicadores SMA, es decir, ventanas de tiempo corto y largo - SMA rápido (duración de 9 ciclos) y SMA lento (duración de 45 ciclos).

Cuando el precio de cierre de una acción supera la media de los SMA rápidos y los SMA lentos, se inicia una tendencia alcista, en la que la estrategia genera una señal de compra/venta y se entra en una posición de más de un lado.

Cuando el precio cae por debajo de la línea media de dos SMA, indica que comienza una tendencia a la baja, en este momento la estrategia genera una señal de salida / venta y entra en una posición de salida.

El nivel de stop loss está configurado dinámicamente como el máximo del día anterior (por operaciones en blanco) y el mínimo del día anterior (por operaciones en blanco).

Análisis de las ventajas

Las principales ventajas de esta estrategia son:

  1. Combinando el uso de SMA a corto y largo plazo para capturar las nuevas tendencias a medio plazo
  2. La colocación de un Stop Loss Adaptable reduce el riesgo y mantiene las ganancias en funcionamiento
  3. Es fácil de entender y de aplicar.
  4. Destacado en las tendencias

Sin embargo, como ocurre con todas las estrategias de análisis técnico, las señales son frecuentemente erróneas en situaciones de estrés. Se puede corroborar y mejorar mediante la adición de otros indicadores como el RSI.

Análisis de riesgos

Los principales riesgos de esta estrategia son:

  1. Susceptible a los efectos de la oscilación y de las señales erróneas: dependiendo solo de la intersección SMA, puede haber señales arbitrarias en situaciones de corrección o oscilación, lo que conlleva costos de negociación innecesarios. Esto puede mitigarse combinando con otros indicadores como el RSI.

  2. vulnerable to sudden trend reversals: Una reversión rápida después de la entrada en el mercado puede romper rápidamente los límites de pérdida. Se puede reducir este riesgo optimizando la longitud del SMA o agregando otros filtros.

  3. Optimización de parámetros con riesgo de exceso de ajuste: la optimización generalizada de la longitud SMA y otros parámetros puede conducir a un mal rendimiento del disco físico. Se requiere una revisión sólida a largo plazo.

Dirección de optimización

La estrategia puede ser reforzada con las siguientes acciones:

  1. Añadir otros indicadores como el RSI para una confirmación adicional para mejorar la precisión de la señal
  2. Mejor adaptación a las fluctuaciones del mercado con métodos de pérdidas dinámicas como ATR o suspensión de pérdidas
  3. Optimización de la longitud de los SMA en función de la volatilidad histórica y el rango de tiempo de negociación de las diferentes acciones
  4. Adición de reglas razonables de gestión de fondos y gestión de posiciones para maximizar los rendimientos y limitar las retiradas

Resumir

En resumen, la estrategia de dinámica de doble SMA ofrece una manera de capturar directamente las tendencias a corto y medio plazo. Aunque su método es muy básico, la adición de filtros adicionales, el deterioro dinámico y la optimización cautelosa pueden ayudar a mejorar su rendimiento de ajuste al riesgo.

Código Fuente de la Estrategia
/*backtest
start: 2023-01-10 00:00:00
end: 2024-01-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SMA Crossover Strategy", overlay=true)

// Input parameters
fast_length = input(9, title="Fast SMA Length")
slow_length = input(45, title="Slow SMA Length")

// Calculate moving averages
fast_sma = ta.sma(close, fast_length)
slow_sma = ta.sma(close, slow_length)

// Buy condition
buy_condition = ta.crossover(close, fast_sma) and ta.crossover(close, slow_sma)

// Sell condition
sell_condition = ta.crossunder(close, fast_sma) and ta.crossunder(close, slow_sma)

// Calculate stop loss levels
prev_low = request.security(syminfo.tickerid, "1D", low[1], lookahead=barmerge.lookahead_on)
prev_high = request.security(syminfo.tickerid, "1D", high[1], lookahead=barmerge.lookahead_on)

// Plot signals on the chart
plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)

// Strategy exit conditions
long_stop_loss = sell_condition ? prev_low : na
short_stop_loss = buy_condition ? prev_high : na

strategy.exit("Long Exit", from_entry="Long", when=sell_condition, stop=long_stop_loss)
strategy.exit("Short Exit", from_entry="Short", when=buy_condition, stop=short_stop_loss)

strategy.entry("Long", strategy.long, when=buy_condition)
strategy.entry("Short", strategy.short, when=sell_condition)