
Esta estrategia utiliza los precios de apertura y cierre del día anterior, así como una combinación de EMA de línea rápida y EMA de línea lenta, para determinar la dirección del valor del mercado y realizar las operaciones de compra o venta correspondientes en un período de tiempo de negociación definido por el usuario. Al mismo tiempo, la estrategia utiliza un stop loss de seguimiento para bloquear ganancias o limitar pérdidas.
La estrategia para determinar la dirección de la base de oro se basa en dos puntos:
Si el precio de cierre es superior al precio de apertura, indica un aumento en el valor total del día; si el precio de cierre es inferior al precio de apertura, indica una caída en el valor total del día.
La relación de posición de la EMA rápida de 50 periodos con la EMA lenta de 200 periodos. Si la línea rápida está por encima de la línea lenta, indica que la velocidad de aumento de los valores 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, indica que la velocidad de aumento de los valores a corto plazo es menor que la tendencia a largo plazo.
Cuando cumple con la condición de hacer más, si el precio de cierre del día anterior es más alto que el precio de apertura, el precio actual es más alto que el precio de apertura del día anterior, y el EMA de la línea rápida es más alto que el EMA de la línea lenta, y dentro del tiempo de negociación definido por el usuario, la estrategia de hacer más de la base de oro.
Cuando cumple con las condiciones de corto plazo, la estrategia de corto plazo se utiliza si el precio de cierre del día anterior es inferior al precio de apertura, el precio actual es inferior al precio de apertura del día anterior, y el EMA de línea rápida es inferior al EMA de línea lenta, y durante el tiempo de negociación definido por el usuario.
Además, las estrategias utilizan un trazado de stop loss para bloquear ganancias o limitar pérdidas. La distancia de trazado de stop loss se ajusta según la distancia inicial y el paso de movimiento establecidos por el usuario.
La estrategia tiene las siguientes ventajas:
El uso de varios indicadores para determinar la dirección del valor del peso del oro reduce la probabilidad de que se produzcan transacciones erróneas.
El seguimiento de las pérdidas puede ser eficaz para bloquear los beneficios, detener las pérdidas en el momento oportuno cuando la situación cambia, y reducir el riesgo.
Los usuarios pueden elegir el espacio de negociación adecuado según su horario de negociación, evitando quedar atrapados en las operaciones institucionales.
Los valores periódicos de la EMA se pueden ajustar y optimizar en función de los cambios en el mercado, lo que hace que la estrategia sea más flexible.
La estrategia también tiene ciertos riesgos:
En caso de emergencia, las estrategias pueden producir mayores pérdidas. Esto requiere intervención manual o la configuración de una distancia de parada de pérdidas más flexible.
La EMA no puede filtrar completamente el ruido del mercado. Cuando la EMA genera una señal errónea, se desencadena un comercio innecesario. Se pueden optimizar adecuadamente los parámetros de la EMA o agregar otros indicadores de filtrado.
La configuración incorrecta de la distancia de parada de seguimiento también aumenta el riesgo. La distancia demasiado cercana es fácilmente detenida; la distancia demasiado lejana no puede controlar la pérdida de manera efectiva. Se requieren pruebas para determinar los parámetros óptimos.
La estrategia también puede ser optimizada en los siguientes aspectos:
La inclusión de filtros de otros indicadores técnicos, como el MACD, las Bandas de Bollinger, etc., reduce la probabilidad de señales erróneas de EMA.
Cambiar el tracking stop a un stop adaptativo, ajustando inteligentemente el stop distance según la volatilidad del mercado.
Agregar módulos de gestión de posiciones, permitir el control de riesgos de la división de posiciones y reducir el impacto de las pérdidas individuales.
Aumentar el uso de modelos de aprendizaje automático para determinar la dirección de las tendencias, y utilizar más datos históricos para mejorar la precisión de los juicios.
Optimización de la elección del período de negociación, combinado con una distribución normal de las zonas de negociación con mayor participación en la estrategia de selección.
La estrategia en su conjunto es una estrategia típica de seguimiento de tendencias. Combina varios indicadores para determinar la dirección de la tendencia ascendente y descendente en el valor, y pertenece a un tipo de estrategia más sólida. La aplicación de seguimiento de stop loss también permite un control efectivo de las pérdidas. Mediante la optimización continua de los indicadores y las reglas de stop loss, la estrategia puede alcanzar un mejor equilibrio entre los retornos y el control del riesgo.
/*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")