
La estrategia es un sistema de comercio cuantitativo basado en MACD y EMA multi-periódico. La estrategia combina las características de seguimiento de tendencias de los indicadores MACD y las características de resistencia de soporte de varias líneas de equilibrio de EMA para construir un sistema de decisión de comercio completo. El sistema no solo incluye la generación de señales de compra y venta, sino que también integra funciones de alerta en tiempo real que ayudan a los comerciantes a aprovechar las oportunidades de mercado a tiempo.
La lógica central de la estrategia se basa en dos indicadores técnicos principales. El primero es el indicador MACD, que consiste en una línea rápida (de 12 ciclos) y una línea lenta (de 26 ciclos) que produce una señal de negociación a través de la intersección de las dos líneas. Cuando la línea MACD cruza la línea de señal, produce una señal de compra, y cuando la línea baja produce una señal de venta.
La estrategia combina el MACD y el indicador de EMA multi-periódico para construir un sistema de negociación más completo. La ventaja del sistema es que la señal es clara, el análisis es rico en dimensiones y tiene un buen efecto de visualización. Pero también existen riesgos inherentes, como el retraso y las falsas señales.
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("REEL TIME MACD Strategy with Alerts and EMAs", overlay=true)
// --- Custom Indicator: MACD ---
fastLength = input(12, title="MACD Fast Length")
slowLength = input(26, title="MACD Slow Length")
signalSmoothing = input(9, title="MACD Signal Smoothing")
src = close
[macdLine, signalLine, _] = ta.macd(src, fastLength, slowLength, signalSmoothing)
histogram = macdLine - signalLine
// Plot MACD components
plot(macdLine, color=color.blue, linewidth=2, title="MACD Line")
plot(signalLine, color=color.orange, linewidth=2, title="Signal Line")
plot(histogram, style=plot.style_histogram, color=(histogram >= 0 ? color.green : color.red), title="Histogram")
// --- Custom Indicator: EMAs ---
ema10 = ta.ema(src, 10)
ema20 = ta.ema(src, 20)
ema50 = ta.ema(src, 50)
ema100 = ta.ema(src, 100)
ema200 = ta.ema(src, 200)
// Plot EMAs on the chart
plot(ema10, color=color.green, linewidth=1, title="EMA 10")
plot(ema20, color=color.blue, linewidth=1, title="EMA 20")
plot(ema50, color=color.purple, linewidth=1, title="EMA 50")
plot(ema100, color=color.orange, linewidth=1, title="EMA 100")
plot(ema200, color=color.red, linewidth=1, title="EMA 200")
// --- Strategy: Buy and Sell conditions (MACD) ---
buyCondition = ta.crossover(macdLine, signalLine) // Buy when MACD crosses above signal line
sellCondition = ta.crossunder(macdLine, signalLine) // Sell when MACD crosses below signal line
// Execute strategy based on buy/sell conditions
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.close("Buy")
// --- Alerts ---
alertcondition(buyCondition, title="MACD Buy Alert", message="MACD XUP - Buy")
alertcondition(sellCondition, title="MACD Sell Alert", message="MACD XDN - Sell")
// Optional: Visualization for Buy/Sell signals
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")