Estrategia de seguimiento de la media móvil diaria para el valor del oro

El autor:¿ Qué pasa?, fecha: 2024-01-12 11:54:21
Las etiquetas:

img

Resumen general

Esta estrategia utiliza una combinación de los precios de apertura y cierre del día anterior, línea EMA rápida y línea EMA lenta para determinar la dirección del valor de mercado dentro del período de tiempo de negociación definido por el usuario, y hace entradas largas o cortas correspondientes.

Estrategia lógica

La estrategia basa principalmente su juicio sobre la dirección del valor del oro en dos aspectos:

  1. La subida y bajada del precio de cierre del día anterior en relación con el precio de apertura. Si el precio de cierre es mayor que el precio de apertura, indica que el valor general aumentó durante ese día. Si el precio de cierre es menor que el precio de apertura, indica que el valor general cayó durante ese día.

  2. La relación de posición entre la línea EMA rápida de 50 períodos y la línea EMA lenta de 200 períodos. Si la línea rápida está por encima de la línea lenta, significa que la velocidad de aumento del valor a corto plazo es mayor que la tendencia a largo plazo. Si la línea rápida está por debajo de la línea lenta, significa que la velocidad de aumento del valor a corto plazo es menor que la tendencia a largo plazo.

Cuando se activa la condición larga, si el cierre del día anterior es mayor que el de apertura, el precio actual está por encima del cierre del día anterior, la EMA rápida está por encima de la EMA lenta, y está dentro de las horas de negociación definidas por el usuario, la estrategia será de oro largo.

Cuando se activa la condición corta, si el cierre del día anterior es menor que el de apertura, el precio actual está por debajo del cierre del día anterior, la EMA rápida está por debajo de la EMA lenta, y está dentro de las horas de negociación definidas por el usuario, la estrategia será corta de oro.

Además, la estrategia utiliza el stop loss para bloquear las ganancias o limitar las pérdidas.

Análisis de ventajas

Las ventajas de esta estrategia son:

  1. El uso de múltiples indicadores para determinar la dirección del valor del oro reduce la probabilidad de malas operaciones.

  2. El trailing stop puede bloquear efectivamente las ganancias y salir de manera oportuna cuando la tendencia se invierte, reduciendo los riesgos.

  3. Los usuarios pueden elegir las ventanas de negociación adecuadas en función de su propio tiempo de negociación para evitar quedar atrapados durante las operaciones institucionales.

  4. Los valores de los períodos de EMA pueden ajustarse y optimizarse de acuerdo con los cambios del mercado, lo que hace que la estrategia sea más flexible.

Análisis de riesgos

También hay algunos riesgos con esta estrategia:

  1. Los eventos repentinos pueden suponer grandes pérdidas que requieren una intervención manual o una distancia de detención de pérdidas más relajada.

  2. La EMA no puede filtrar completamente el ruido del mercado. Las señales erróneas pueden desencadenar operaciones innecesarias. Los parámetros se pueden optimizar o agregar más filtros.

  3. Los ajustes inadecuados de la distancia de detención trasera también aumentan los riesgos: demasiado apretado tiende a detenerse prematuramente mientras que demasiado ancho no controla las pérdidas de manera efectiva.

Direcciones de optimización

La estrategia también puede optimizarse en los siguientes aspectos:

  1. Añadir otros indicadores técnicos para el filtrado de señales, como el MACD, las bandas de Bollinger, etc., para reducir las señales erróneas de la EMA.

  2. Cambiar a paradas adaptativas que ajustan la distancia de parada de manera inteligente en función de la volatilidad del mercado.

  3. Añadir reglas de dimensionamiento de posiciones para permitir salidas parciales para un mejor control del riesgo y un menor impacto de las pérdidas de operaciones únicas.

  4. Añadir modelos de aprendizaje automático para determinar la dirección de la tendencia, mejorando la precisión utilizando más datos históricos.

  5. Optimizar la selección de ventanas de tiempo de negociación utilizando la distribución de Gauss para apuntar a intervalos más altos de participación en la estrategia.

Conclusión

En resumen, esta es una estrategia típica de seguimiento de tendencias. Combina múltiples indicadores para determinar las tendencias al alza o a la baja del valor y se considera robusta. La aplicación de trailing stop también permite un control de pérdidas efectivo.


/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

// Inputs for user to modify
startHour = input(11, title="Start Hour")
endHour = input(16, title="End Hour")
trailingStop = input(100, title="Trailing Stop Start (pips)")
trailingStep = input(10, title="Trailing Step (pips)")

// Define the EMAs
longEma = ema(close, 200)
shortEma = ema(close, 50)

// Calculate daily open, high, low, close
daily_open = security(syminfo.tickerid, "D", open[1])
daily_close = security(syminfo.tickerid, "D", close[1])

// Time conditions
timeAllowed = (hour >= startHour) and (hour <= endHour)

// Define long condition based on your criteria
longCondition = (daily_close > daily_open) and (close > daily_open) and (shortEma > longEma) and timeAllowed

// Define short condition based on your criteria
shortCondition = (daily_close < daily_open) and (close < daily_open) and (shortEma < longEma) and timeAllowed

// Enter the trade
if (longCondition)
    strategy.entry("Long", strategy.long)

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

// Trailing Stop Loss
strategy.exit("Exit Long", "Long", trail_points = trailingStop / syminfo.mintick, trail_offset = trailingStep / syminfo.mintick)
strategy.exit("Exit Short", "Short", trail_points = trailingStop / syminfo.mintick, trail_offset = trailingStep / syminfo.mintick)

// Plotting
plot(daily_open, color=color.red, title="Daily Open")
plot(longEma, color=color.blue, title="200 EMA")
plot(shortEma, color=color.orange, title="50 EMA")


Más.