
Strategi ini adalah sistem perdagangan kuantitatif yang didasarkan pada MACD dan indikator EMA multi-periode. Strategi ini membangun sistem keputusan perdagangan yang lengkap dengan menggabungkan fitur pelacakan tren dari indikator MACD dan fitur resistensi dukungan dari beberapa garis rata EMA. Sistem ini tidak hanya mencakup pembuatan sinyal jual beli, tetapi juga mengintegrasikan fitur peringatan real-time yang dapat membantu pedagang menangkap peluang pasar tepat waktu.
Logika inti dari strategi ini didasarkan pada dua indikator teknis utama. Yang pertama adalah indikator MACD, yang terdiri dari garis cepat (siklus 12) dan garis lambat (siklus 26), yang menghasilkan sinyal perdagangan melalui persilangan dua garis. Ketika MACD melintasi garis sinyal, sinyal beli dihasilkan, dan ketika melewati garis sinyal, sinyal jual dihasilkan.
Strategi ini, dengan menggabungkan MACD dan indikator EMA multi-siklus, membangun sistem perdagangan yang lebih lengkap. Keunggulan sistem adalah sinyal yang jelas, analisis yang kaya dimensi, dan memiliki efek visualisasi yang baik. Namun, ada juga risiko yang melekat, seperti keterlambatan dan sinyal palsu.
/*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")