Chiến lược này là một hệ thống giao dịch định lượng tiên tiến dựa trên chỉ số Divergence Convergence Moving Average (MACD), nâng cao các quyết định giao dịch thông qua hiển thị nền năng động và nhiều sự kết hợp tham số được đặt trước.
Chiến lược này sử dụng mười tham số MACD khác nhau được đặt trước, bao gồm Tiêu chuẩn (12,26,9), ngắn hạn (5,35,5), dài hạn (19,39,9), vv), để thích nghi với các môi trường thị trường và phong cách giao dịch khác nhau. Hệ thống tạo ra tín hiệu mua khi đường MACD vượt qua đường tín hiệu (thập giá vàng) và bán tín hiệu khi nó vượt qua đường tín hiệu (thập giá chết). Chiến lược tăng cường nhận diện trực quan thông qua những thay đổi màu nền năng động (xanh cho tăng, đỏ cho giảm) để giúp các nhà giao dịch nắm bắt tốt hơn xu hướng thị trường.
Đây là một phiên bản nâng cao có cấu trúc tốt, hợp lý của chiến lược MACD. Thông qua nhiều cài đặt trước tham số và phản hồi trực quan năng động, nó cải thiện đáng kể tính thực tế và khả năng hoạt động của chiến lược. Mặc dù có rủi ro vốn có, chiến lược có tiềm năng trở thành một hệ thống giao dịch mạnh mẽ với các tối ưu hóa được đề xuất. Các nhà giao dịch được khuyên nên tiến hành kiểm tra kỹ lưỡng trước khi thực hiện trực tiếp và chọn cài đặt tham số phù hợp dựa trên điều kiện thị trường cụ thể.
/*backtest start: 2024-10-12 00:00:00 end: 2024-11-11 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Hanzo - Top 10 MACD Strategy", overlay=false) // MACD in a separate pane // Define dropdown options for MACD settings macdOption = input.string(title="Select MACD Setting", defval="Standard (12, 26, 9)", options=["Standard (12, 26, 9)", "Short-Term (5, 35, 5)", "Long-Term (19, 39, 9)", "Scalping (3, 10, 16)", "Cryptocurrency (20, 50, 9)", "Forex (8, 17, 9)", "Conservative (24, 52, 18)", "Trend-Following (7, 28, 7)", "Swing Trading (5, 15, 5)", "Contrarian (15, 35, 5)"]) // MACD setting based on user selection var int fastLength = 12 var int slowLength = 26 var int signalLength = 9 switch macdOption "Standard (12, 26, 9)" => fastLength := 12 slowLength := 26 signalLength := 9 "Short-Term (5, 35, 5)" => fastLength := 5 slowLength := 35 signalLength := 5 "Long-Term (19, 39, 9)" => fastLength := 19 slowLength := 39 signalLength := 9 "Scalping (3, 10, 16)" => fastLength := 3 slowLength := 10 signalLength := 16 "Cryptocurrency (20, 50, 9)" => fastLength := 20 slowLength := 50 signalLength := 9 "Forex (8, 17, 9)" => fastLength := 8 slowLength := 17 signalLength := 9 "Conservative (24, 52, 18)" => fastLength := 24 slowLength := 52 signalLength := 18 "Trend-Following (7, 28, 7)" => fastLength := 7 slowLength := 28 signalLength := 7 "Swing Trading (5, 15, 5)" => fastLength := 5 slowLength := 15 signalLength := 5 "Contrarian (15, 35, 5)" => fastLength := 15 slowLength := 35 signalLength := 5 // MACD Calculation [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength) macdHist = macdLine - signalLine // Buy and Sell conditions based on MACD crossovers enterLong = ta.crossover(macdLine, signalLine) exitLong = ta.crossunder(macdLine, signalLine) // Execute buy and sell orders with price labels in the comments if (enterLong) strategy.entry("Buy", strategy.long, comment="Buy at " + str.tostring(close, "#.##")) if (exitLong) strategy.close("Buy", comment="Sell at " + str.tostring(close, "#.##")) // Plot the signal price using plotchar for buy/sell prices //plotchar(enterLong ? close : na, location=location.belowbar, color=color.green, size=size.small, title="Buy Price", offset=0) //plotchar(exitLong ? close : na, location=location.abovebar, color=color.red, size=size.small, title="Sell Price", offset=0) // Background highlighting based on bullish or bearish MACD isBullish = macdLine > signalLine isBearish = macdLine < signalLine // Change background to green for bullish periods and red for bearish periods bgcolor(isBullish ? color.new(color.green, 90) : na, title="Bullish Background") bgcolor(isBearish ? color.new(color.red, 90) : na, title="Bearish Background") // Plot the MACD and Signal line in a separate pane plot(macdLine, title="MACD Line", color=color.blue, linewidth=2) plot(signalLine, title="Signal Line", color=color.orange, linewidth=2) hline(0, "Zero Line", color=color.gray) plot(macdHist, title="MACD Histogram", style=plot.style_histogram, color=color.red)