Chiến lược này là một hệ thống giao dịch định lượng dựa trên các chỉ số MACD và EMA nhiều giai đoạn. Nó kết hợp các đặc điểm theo xu hướng của MACD với các tính năng hỗ trợ và kháng cự của nhiều đường EMA để tạo ra một hệ thống quyết định giao dịch hoàn chỉnh. Hệ thống bao gồm không chỉ tạo tín hiệu mà còn cảnh báo thời gian thực để giúp các nhà giao dịch nắm bắt các cơ hội thị trường kịp thời.
Định nghĩa cốt lõi được xây dựng trên hai chỉ số kỹ thuật chính. Thứ nhất là chỉ số MACD, bao gồm đường nhanh (12 giai đoạn) và đường chậm (26 giai đoạn), tạo ra tín hiệu giao dịch thông qua các đường chéo của chúng. Các tín hiệu mua được tạo ra khi đường MACD vượt qua đường tín hiệu, và bán tín hiệu khi nó vượt qua dưới. Thứ hai, chiến lược kết hợp năm EMA giai đoạn khác nhau (10/20/50/100/200) làm tham chiếu cho xác nhận xu hướng và mức hỗ trợ / kháng cự. Thiết kế EMA đa giai đoạn này giúp các nhà giao dịch hiểu rõ hơn môi trường xu hướng thị trường hiện tại.
Chiến lược này xây dựng một hệ thống giao dịch tương đối hoàn chỉnh bằng cách kết hợp các chỉ số MACD và EMA đa thời kỳ. Sức mạnh của nó nằm trong các tín hiệu rõ ràng, kích thước phân tích phong phú và hình ảnh tốt. Tuy nhiên, nó cũng có những rủi ro vốn có như chậm trễ và tín hiệu sai. Thông qua các biện pháp tối ưu hóa như thêm lọc biến động và xác nhận khối lượng, sự ổn định và độ tin cậy của chiến lược có thể được tăng thêm. Chiến lược này phù hợp với các nhà giao dịch trung và dài hạn, đặc biệt xuất sắc trong môi trường thị trường xu hướng rõ ràng.
/*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")