En la carga de los recursos... Cargando...

Avance histórico con tendencia del filtro promedio móvil mensual Siguiendo la estrategia

El autor:¿ Qué pasa?, Fecha: 2024-12-13 10:25:18
Las etiquetas:ATHLa SMA- ¿Qué es?

img

Resumen general

Esta estrategia es un sistema de seguimiento de tendencias basado en el filtro de alta ruptura histórica y el filtro de promedio móvil mensual. Genera señales de compra mediante el monitoreo de las rupturas de precios por encima de los máximos históricos anteriores, mientras utiliza el promedio móvil simple de 8 periodos (8 SMA) en un marco de tiempo mensual como filtro de venta para reducir los riesgos de ruptura falsa.

Principios de estrategia

La lógica central consiste en dos componentes clave:

  1. Se genera cuando el último precio de cierre se rompe por encima del máximo histórico anterior (excluyendo el máximo de la barra actual).
  2. Se activa cuando el precio de cierre mensual cae por debajo de la media móvil simple de 8 períodos. La estrategia también incluye un mecanismo de seguimiento del estado de la señal para evitar señales repetidas en el mismo estado, mejorando la estabilidad de la estrategia.

Ventajas estratégicas

  1. Captura de tendencias fuertes: captura de manera efectiva fuertes tendencias al alza mediante la detección de altas rupturas históricas.
  2. Control de riesgos sólido: Incorpora la media móvil mensual como filtro para detectar de manera efectiva las fallas.
  3. Alta estabilidad de la señal: utiliza la variable lastSignal para rastrear los estados de la señal, evitando la repetición de la señal.
  4. Buena visualización: proporciona una interfaz gráfica clara que incluye líneas altas históricas, promedios móviles y marcadores de compra / venta.
  5. Alta adaptabilidad: puede aplicarse a diferentes plazos e instrumentos.

Riesgos estratégicos

  1. Riesgo de retraso: las señales de alta ruptura históricas son inherentemente algo rezagadas, potencialmente sin puntos de entrada óptimos.
  2. Riesgo de false breakout: a pesar del filtrado de la media móvil mensual, aún pueden producirse false breakouts en mercados variados.
  3. Riesgo de reducción: la estrategia puede experimentar reducciones significativas en los puntos de inversión de la tendencia.
  4. Riesgo de gestión de posiciones: la estrategia carece de mecanismos de dimensionamiento de las posiciones, lo que requiere normas adicionales de gestión de fondos.

Direcciones para la optimización de la estrategia

  1. Confirmación de volumen: añadir indicadores de volumen como condiciones de confirmación de ruptura para mejorar la fiabilidad de la señal.
  2. Las operaciones de suspensión de pérdidas se aplican a las operaciones de suspensión de pérdidas que se ejecutan en el marco de un plan de operaciones de suspensión de pérdidas.
  3. Gestión de posiciones: Ajuste dinámico de los tamaños de las posiciones en función de la volatilidad del mercado y la fuerza de la tendencia.
  4. Filtración de señales: agregue indicadores de fuerza de tendencia como ADX para filtrar aún más las señales débiles.
  5. Filtración por tiempo: añadir filtros de período de tiempo para evitar el comercio durante períodos de tiempo inadecuados.

Resumen de las actividades

Esta es una tendencia bien diseñada siguiendo una estrategia con lógica clara. A través de la combinación de breakouts históricos altos y promedios móviles mensuales, se logra tanto la captura de tendencias efectivas como un control de riesgos razonable. Si bien existen riesgos inherentes de retraso y falsos breakouts, las direcciones de optimización sugeridas ofrecen potencial para una mayor mejora del rendimiento. La estrategia es particularmente adecuada para mercados con tendencias claras y puede servir como una herramienta de referencia importante para la inversión a medio y largo plazo.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-11 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy Signal on Close Greater Than Previous All-Time High Strategy", overlay=true)

// Initialize the previous all-time high
var float prevAllTimeHigh = na

// Update the all-time high, excluding the current bar's high (use previous bar's high)
if (na(prevAllTimeHigh) or high[1] > prevAllTimeHigh)
    prevAllTimeHigh := high[1]

// Monthly closing price and 8 SMA on monthly time frame
monthlyClose = request.security(syminfo.tickerid, "M", close)
monthlySMA = ta.sma(monthlyClose, 8)

// Variables to track the last signal type
var int lastSignal = 0 // 0 = None, 1 = Buy, 2 = Sell

// Debugging output to check the all-time high and conditions
plot(prevAllTimeHigh, color=color.blue, linewidth=1, title="Previous All-Time High")
plot(monthlySMA, color=color.green, linewidth=1, title="8 SMA (Monthly)")

// Buy signal: when the latest close is greater than the previous all-time high
buySignal = close > prevAllTimeHigh and lastSignal != 1

// Sell signal: when the monthly close is below the 8 SMA
sellSignal = monthlyClose < monthlySMA and lastSignal != 2

// Update the last signal type after triggering a signal
if (buySignal)
    lastSignal := 1
if (sellSignal)
    lastSignal := 2

// Execute the strategy orders
if (buySignal)
    strategy.entry("Buy", strategy.long)

if (sellSignal)
    strategy.close("Buy")

// Optional: Plot buy and sell signals on the chart for visual reference
plotshape(series=buySignal, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", size=size.small)
plotshape(series=sellSignal, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL", size=size.small)


Relacionados

Más.