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

Estrategia de doble cruz de oro de la EMA

El autor:¿ Qué pasa?, Fecha: 2024-01-22 11:04:41
Las etiquetas:

img

Resumen general

Esta estrategia genera señales comerciales basadas en los cruces entre la línea EMA rápida y la línea EMA lenta. Cuando la línea EMA rápida cruza por encima de la línea EMA lenta, se genera una señal de compra. Cuando la línea EMA rápida cruza por debajo de la línea EMA lenta, se genera una señal de venta. Esta estrategia utiliza la ventaja del promedio móvil para rastrear efectivamente la tendencia del mercado y generar señales comerciales durante el inicio de la tendencia.

Estrategia lógica

Los indicadores centrales de esta estrategia son la línea EMA rápida y la línea EMA lenta. La estrategia establece dos líneas EMA con diferentes parámetros, con 10 para la EMA rápida y 20 para la EMA lenta. La línea EMA de 10 días responde más rápido a los cambios de precios, mientras que la línea EMA de 20 días responde más lentamente. Cuando la línea EMA a corto plazo cruza por encima de la línea EMA a largo plazo, significa que la línea promedio a corto plazo comienza a liderar la línea a largo plazo hacia arriba, lo que implica que el mercado puede cambiar a estado alcista. En este punto, se genera una señal de compra. Por el contrario, cuando la EMA corta cae por debajo de la EMA larga, significa que la EMA corta comienza a perder su poder de liderazgo por delante de la EMA larga, lo que implica que el mercado puede cambiar a estado bajista. En consecuencia, se genera una señal de venta.

Al aprovechar la lógica de cruce entre las líneas de EMA rápidas y lentas, esta estrategia captura los puntos de cambio de la tendencia del mercado a tiempo y genera señales comerciales en consecuencia. Mientras tanto, la propia EMA tiene la capacidad de filtrar señales falsas, evitando el comercio excesivo durante la consolidación del mercado. Esto permite a la estrategia capturar los puntos de inflexión del mercado al tiempo que reduce las operaciones incorrectas, lo que conduce a una rentabilidad superior.

Análisis de ventajas

  • Captura los puntos de inflexión del mercado a través de reglas cruzadas de la EMA para una alta rentabilidad
  • Utiliza líneas de EMA rápidas y lentas para sus respectivos méritos
  • La capacidad inherente de filtrado de ruido de la EMA reduce las operaciones erróneas
  • Sencillo de entender, optimizar y ampliar
  • Alta extensibilidad para incorporar otros indicadores de ayuda

Análisis de riesgos

  • Pueden producirse frecuentes señales falsas durante los mercados de rango
  • La configuración incorrecta de los parámetros de la EMA puede causar la falta de grandes curvas
  • El retraso en la emisión puede dar lugar a la pérdida de oportunidades comerciales a corto plazo
  • Incapaz de adaptarse a las drásticas turbulencias del mercado

Para abordar estos riesgos, se pueden introducir optimizaciones como agregar reglas de filtrado, combinar MACD para evitar señales falsas, usar EMA adaptativa para acelerar la respuesta, etc. También son necesarios mecanismos adecuados de stop loss y toma de ganancias.

Direcciones de optimización

Las posibles direcciones para una mayor optimización incluyen:

  • Añadir reglas de filtrado de las señales de entrada, por ejemplo, combinar el volumen de operaciones
  • Incorporación de indicadores auxiliares como el MACD para señales suplementarias
  • Introducción de una EMA adaptativa para ajustar los parámetros dinámicamente
  • Aplicación de análisis de marcos de tiempo múltiples para apalancar diferentes EMA
  • Optimización de las estrategias de stop loss mediante trailing stop, stop porcentual, etc.
  • Aprovechamiento de las tecnologías de inteligencia artificial para el ajuste automático de parámetros

Resumen de las actividades

Esta estrategia captura puntos de inflexión críticos del mercado a través de la lógica de cruce de líneas EMA duales, lo que la hace efectiva para el comercio en vivo. Con filtros adicionales, indicadores de asistencia y optimizaciones de stop loss, la estabilidad de la estrategia se puede mejorar aún más.


/*backtest
start: 2023-01-15 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Backtest single EMA cross", overlay=true)

qty = input(100000, "Buy quantity")

testStartYear = input(2019, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testStartMin = input(0, "Backtest Start Minute")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, testStartMin)
testStopYear = input(2099, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and time >= testPeriodStart and time <= testPeriodStop ? 
   #00FF00 : na
testPeriod() => true


ema1 = input(10, title="Select EMA 1")
ema2 = input(20, title="Select EMA 2")

expo = ema(close, ema1)
ma = ema(close, ema2)

avg_1 = avg(expo, ma)
s2 = cross(expo, ma) ? avg_1 : na
//plot(s2, style=plot.style_line, linewidth=3, color=color.red, transp=0)

p1 = plot(expo, color=#00FFFF, linewidth=2, transp=0)
p2 = plot(ma, color=color.orange, linewidth=2, transp=0)
fill(p1, p2, color=color.white, transp=80)

longCondition = crossover(expo, ma)

shortCondition = crossunder(expo, ma)


if testPeriod()
    strategy.entry("Long", strategy.long, when=longCondition)
    strategy.entry("Short", strategy.short, when=shortCondition)

plotshape(longCondition, title = "Buy Signal", text ="BUY", textcolor =#FFFFFF , style=shape.labelup, size = size.normal, location=location.belowbar, color = #1B8112, transp = 0)
plotshape(shortCondition, title = "Sell Signal", text ="SELL", textcolor = #FFFFFF, style=shape.labeldown, size = size.normal, location=location.abovebar, color = #FF5733, transp = 0)



Más.