
Chiến lược này là một hệ thống giao dịch định lượng dựa trên MACD và chỉ số EMA đa chu kỳ. Chiến lược này xây dựng một hệ thống quyết định giao dịch hoàn chỉnh bằng cách kết hợp các tính năng theo dõi xu hướng của chỉ số MACD và các tính năng kháng cự hỗ trợ của nhiều đường EMA. Hệ thống không chỉ bao gồm việc tạo ra tín hiệu mua bán, mà còn tích hợp các chức năng cảnh báo trước thời gian thực để giúp các nhà giao dịch nắm bắt cơ hội thị trường kịp thời.
Lịch lý cốt lõi của chiến lược được xây dựng trên hai chỉ số kỹ thuật chính. Đầu tiên là chỉ số MACD, nó bao gồm đường nhanh (12 chu kỳ) và đường chậm (26 chu kỳ), tạo ra tín hiệu giao dịch bằng cách giao nhau. Khi MACD đi qua đường tín hiệu, nó tạo ra tín hiệu mua, và khi đi qua đường tín hiệu, nó tạo ra tín hiệu bán.
Chiến lược này kết hợp MACD và chỉ số EMA đa chu kỳ để xây dựng một hệ thống giao dịch hoàn chỉnh hơn. Các ưu điểm của hệ thống là tín hiệu rõ ràng, phân tích nhiều chiều và có hiệu quả hiển thị tốt. Nhưng cũng có những rủi ro tiềm ẩn như trì trệ và tín hiệu giả. Bằng cách thêm các biện pháp tối ưu hóa như lọc tỷ lệ biến động, xác nhận khối lượng giao dịch, bạn có thể nâng cao thêm sự ổn định và độ tin cậy của chiến lược.
/*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")