
La estrategia es un sistema de negociación cuantitativa basado en el cruce de las medias móviles de doble índice (EMA). Utiliza el cruce de las EMAs de corto plazo (ciclo 14) y largo plazo (ciclo 100) para capturar el punto de conversión de la tendencia del mercado y determinar el momento de entrada al determinar la posición de la intersección de las medias de corto plazo y de largo plazo. Cuando las EMAs de corto plazo cruzan hacia arriba las EMAs de largo plazo, generan una señal de compra y, a su vez, una señal de venta.
La lógica central de la estrategia se basa en los cambios en la dinámica de las tendencias de los precios. El EMA a corto plazo es más sensible a los cambios en los precios, mientras que el EMA a largo plazo es más capaz de filtrar el ruido del mercado y reflejar las tendencias principales. Cuando el movimiento de los precios a corto plazo se incrementa en la media a corto plazo, el mercado puede comenzar a entrar en una tendencia alcista; cuando el movimiento a corto plazo se debilita en la media a corto plazo, el mercado puede cambiar a una tendencia descendente.
La estrategia de cuantificación de entradas dinámicas en EMA de tendencias cruzadas es un sistema de seguimiento de tendencias clásico y práctico. Al combinar promedios móviles de índices a corto y largo plazo, la estrategia puede capturar mejor las oportunidades de conversión de tendencias del mercado. Aunque existe cierto riesgo de retraso y falsas señales, aún se puede lograr un efecto de negociación estable con la optimización de los parámetros adecuados y las medidas de control de riesgo. La simplicidad y la escalabilidad de la estrategia la convierten en un buen marco básico para el comercio cuantitativo.
/*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("EMA Crossover Strategy", overlay=true)
// Input for EMAs
shortEmaLength = input(14, title="Short EMA Length")
longEmaLength = input(100, title="Long EMA Length")
// Calculate EMAs
shortEma = ta.ema(close, shortEmaLength)
longEma = ta.ema(close, longEmaLength)
// Plot EMAs
plot(shortEma, color=color.blue, title="9 EMA")
plot(longEma, color=color.red, title="100 EMA")
// Historical Signal Tracking
var float lastBuyPrice = na
var float lastSellPrice = na
// Buy and Sell Signals
buySignal = ta.crossover(shortEma, longEma)
sellSignal = ta.crossunder(shortEma, longEma)
// Track last buy and sell prices
if (buySignal)
lastBuyPrice := close
if (sellSignal)
lastSellPrice := close
// Plot buy and sell signals on the chart
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Strategy Logic
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.close("Buy")