Chiến lược chỉ số kép là một chiến lược giao dịch định lượng kết hợp chỉ số trung bình di chuyển đơn giản (SMA) và chỉ số biến đổi hội tụ trung bình di chuyển (MACD).
Cốt lõi của Chiến lược chỉ số kép dựa trên hai chỉ số: SMA và MACD. Chiến lược áp dụng SMA 7-, 15 và 60 giai đoạn, cũng như cài đặt tham số MACD tiêu chuẩn 12/26/9.
Khi SMA 7 giai đoạn trên SMA 15 và 60 giai đoạn, và SMA 15 giai đoạn trên SMA 60 giai đoạn, nó được coi là tín hiệu tăng từ chỉ số SMA, với xác suất 0,5.
Đồng thời, khi đường MACD băng qua trên đường tín hiệu, nó được coi là tín hiệu tăng từ chỉ số MACD, cũng với xác suất 0,5.
Khi xác suất tín hiệu tăng từ hai chỉ số cộng lên đến 1, một vị trí dài sẽ được mở.
Ngược lại, khi SMA 7 giai đoạn giảm xuống dưới SMA 15 và 60 giai đoạn, và SMA 15 giai đoạn thấp hơn SMA 60 giai đoạn, nó được coi là tín hiệu giảm từ chỉ số SMA, với xác suất 0,5.
Trong khi đó, khi đường MACD băng qua dưới đường tín hiệu, nó được coi là tín hiệu giảm từ chỉ số MACD, với xác suất 0,5.
Khi xác suất tín hiệu giảm từ hai chỉ số cộng lên đến 1, một vị trí ngắn sẽ được mở.
Ngoài ra, chiến lược này áp dụng hai điểm lợi nhuận khác nhau: đóng 50% vị trí khi giá tăng hoặc giảm 9%, và đóng lại vị trí còn lại khi giá tăng hoặc giảm 21%.
Nếu một tín hiệu trái ngược với vị trí hiện tại xảy ra, vị trí hiện tại sẽ được đóng trước khi mở một vị trí mới dựa trên tín hiệu mới.
Lợi thế lớn nhất của Chiến lược Chỉ số kép là nó sử dụng điểm mạnh của cả chỉ số SMA và MACD. SMA có thể theo dõi hiệu quả những thay đổi xu hướng giá và lọc ra tiếng ồn thị trường, trong khi MACD có thể xác định các cơ hội đảo ngược xu hướng ngắn hạn. Kết hợp cả hai có thể cải thiện độ tin cậy của tín hiệu giao dịch.
Ngoài ra, việc áp dụng các SMA với các thiết lập tham số khác nhau giúp phân biệt xu hướng dài hạn đến trung hạn, trong khi chiến lược lấy lợi nhuận khóa lợi nhuận một phần và kiểm soát rủi ro.
Một số rủi ro tiềm ẩn của Chiến lược Chỉ số kép cần được lưu ý. Vì nó chỉ dựa trên các chỉ số kỹ thuật, có thể xảy ra các tín hiệu không chính xác. Ngoài ra, cài đặt lợi nhuận không chính xác có thể dẫn đến thoát sớm, bỏ lỡ các xu hướng chính.
Chiến lược có thể được tối ưu hóa bằng cách điều chỉnh các thông số thời gian SMA hoặc kết hợp các chỉ số lọc bổ sung để đảm bảo tín hiệu đáng tin cậy hơn. Mức lợi nhuận cũng cần được điều chỉnh năng động dựa trên biến động thị trường để duy trì các động thái xu hướng.
Một số khía cạnh của Chiến lược Chỉ số hai có thể được tối ưu hóa thêm:
Kiểm tra thêm các chỉ số kỹ thuật khác như RSI, Bollinger Bands để lọc nhiều chỉ số.
Hãy thử các thuật toán máy học để xây dựng các mô hình đánh giá tín hiệu bằng cách sử dụng nhiều biến.
Thực hiện điều chỉnh tham số dựa trên các sản phẩm và khung thời gian khác nhau.
Bao gồm dừng lỗ để kiểm soát chặt chẽ lỗ giao dịch duy nhất.
Tối ưu hóa chiến lược lợi nhuận để đi xe xu hướng bền vững.
Thông qua kiểm tra và tối ưu hóa hệ thống, sự ổn định và lợi nhuận của chiến lược có thể được nâng cao liên tục.
Chiến lược chỉ số kép kết hợp các điểm mạnh của SMA và MACD để cải thiện độ chính xác tín hiệu trong khi kiểm soát rủi ro một cách hiệu quả. Với tiềm năng tối ưu hóa và tính linh hoạt mạnh mẽ, đây là một chiến lược giao dịch định lượng mạnh mẽ và thích nghi. Với những cải tiến liên tục dựa trên dữ liệu, chiến lược có thể phát triển thành một hệ thống giao dịch mạnh mẽ.
/*backtest start: 2023-10-02 00:00:00 end: 2023-11-01 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SMA & MACD Dual Direction Strategy", shorttitle="SMDDS", overlay=true, initial_capital=1000) // SMA settings sma7_length = input.int(7, title="7 Candle SMA Length") sma15_length = input.int(15, title="15 Candle SMA Length") sma60_length = input.int(60, title="60 Candle SMA Length") // MACD settings fast_length = input.int(12, title="Fast Length") slow_length = input.int(26, title="Slow Length") signal_length = input.int(9, title="Signal Length") // Leverage leverage = 10 // Calculate the SMAs sma7 = ta.sma(close, sma7_length) sma15 = ta.sma(close, sma15_length) sma60 = ta.sma(close, sma60_length) // Calculate the MACD line and Signal line [macdLine, signalLine, _] = ta.macd(close, fast_length, slow_length, signal_length) // SMA-based Probabilities smaBullishProb = (sma7 > sma15 and sma7 > sma60 and sma15 > sma60) ? 0.5 : 0.0 smaBearishProb = (sma7 < sma15 and sma7 < sma60 and sma15 < sma60) ? 0.5 : 0.0 // MACD-based Probabilities macdBullishProb = ta.crossover(macdLine, signalLine) ? 0.5 : 0.0 macdBearishProb = ta.crossunder(macdLine, signalLine) ? 0.5 : 0.0 // Combined Probabilities combinedBullishProb = smaBullishProb + macdBullishProb combinedBearishProb = smaBearishProb + macdBearishProb // Trade logic using `if` conditions if combinedBullishProb == 1.0 strategy.close("Short") strategy.entry("Long", strategy.long, qty=leverage) if combinedBearishProb == 1.0 strategy.close("Long") strategy.entry("Short", strategy.short, qty=leverage) // Exit conditions based on profit points longTargetProfit1 = close * 1.09 longTargetProfit2 = close * 1.21 shortTargetProfit1 = close * 0.91 shortTargetProfit2 = close * 0.79 strategy.exit("Long TP1", from_entry="Long", limit=longTargetProfit1, qty_percent=0.5) strategy.exit("Long TP2", from_entry="Long", limit=longTargetProfit2) strategy.exit("Short TP1", from_entry="Short", limit=shortTargetProfit1, qty_percent=0.5) strategy.exit("Short TP2", from_entry="Short", limit=shortTargetProfit2) // Visualization (optional) plot(sma7, color=color.green, title="7 Candle SMA") plot(sma15, color=color.blue, title="15 Candle SMA") plot(sma60, color=color.red, title="60 Candle SMA") hline(0, "Zero Line", color=color.gray) plot(macdLine - signalLine, color=color.blue, title="MACD Histogram")