Chiến lược đột phá chỉ báo động lượng kép
Tổng quan
Chiến lược này là một chiến lược phá vỡ chỉ báo động lượng kép. Nó sử dụng hai chỉ báo động lượng với các thông số khác nhau, tạo ra tín hiệu giao dịch khi cả hai chỉ báo động lượng đều phá vỡ đường zero. Chiến lược này chỉ thực hiện lệnh mua (long), lệnh bán (short) chỉ được sử dụng để đóng vị thế.
Nguyên lý chiến lược
Mã lệnh trước tiên thiết lập các thuộc tính chiến lược, như chế độ ủy thác, chế độ phí giao dịch, v.v. Sau đó, nó tính toán hai chỉ báo động lượng:
pine
// Cài đặt động lượng
i_len = input(defval = 12, title = "Độ dài", minval = 1)
i_src = input(defval = close, title = "Nguồn")
i_percent = input(defval = true, title = "Phần trăm?")
i_mom = input(defval = "MOM2", title = "Lựa chọn MOM", options = ["MOM1", "MOM2"])
// Mã động lượng
mom0 = momentum(i_src, i_len, i_percent)
mom1 = momentum(mom0, 1, i_percent)
mom2 = momentum(i_src, 1, i_percent)
momX = mom1
if i_mom == "MOM2"
momX := mom2
mom0 là chỉ báo động lượng cơ bản, có độ dài i_len, nguồn dữ liệu i_src, việc tính toán phần trăm do i_percent quyết định.
mom1 là chỉ báo động lượng với độ dài 1, sử dụng mom0 làm nguồn dữ liệu.
mom2 là chỉ báo động lượng với độ dài 1, sử dụng dữ liệu gốc i_src làm nguồn.
Chỉ báo động lượng cuối cùng được sử dụng là momX, mặc định là mom1, cũng có thể chọn mom2.
Khi mom0 và momX đồng thời vượt qua đường zero, thực hiện lệnh mua; khi mom0 và momX đồng thời xuống dưới đường zero, đóng vị thế.
Ưu điểm chiến lược
-
Sử dụng hai chỉ báo động lượng kết hợp với các thông số khác nhau giúp tăng độ tin cậy của tín hiệu giao dịch, xác nhận kép giúp giảm tín hiệu giả.
-
Chỉ thực hiện lệnh mua (long), lệnh bán (short) chỉ dùng để đóng vị thế, giúp giảm tần suất giao dịch và giảm chi phí giao dịch.
-
Thông số chỉ báo động lượng có thể điều chỉnh để thích ứng với các điều kiện thị trường khác nhau.
-
Cấu trúc mã rõ ràng, dễ hiểu và dễ sửa đổi.
-
Có thêm cài đặt tin nhắn giao dịch, có thể kết hợp với hệ thống giao dịch tự động.
Rủi ro chiến lược
-
Mặc dù chỉ báo động lượng kép có thể giảm tín hiệu giả, nhưng cũng có thể bỏ lỡ các tín hiệu xu hướng yếu hơn.
-
Chỉ giao dịch mua (long) có thể bỏ lỡ cơ hội giao dịch bán (short).
-
Cài đặt thông số động lượng không phù hợp có thể dẫn đến giao dịch quá thường xuyên hoặc quá chậm.
-
Dữ liệu backtest không đầy đủ có thể dẫn đến tình trạng quá khớp (overfitting) tham số.
-
Xác nhận kép tuy giảm tín hiệu giả nhưng không thể tránh hoàn toàn, khi giao dịch thực tế vẫn cần chú ý đến tính hiệu quả của sự phá vỡ.
Hướng tối ưu hóa chiến lược
-
Có thể thử nghiệm các tổ hợp thông số khác nhau về độ dài và việc tính toán phần trăm để tìm ra thông số tối ưu.
-
Có thể xem xét thêm tín hiệu giao dịch bán (short) sau khi xác nhận xu hướng để nắm bắt nhiều cơ hội giao dịch hơn.
-
Có thể thử nghiệm các phương pháp tính toán chỉ báo động lượng khác như ROC, RSI, v.v. để tìm hiệu quả tốt hơn.
-
Có thể kết hợp bộ lọc xu hướng để tránh giao dịch trong thị trường đi ngang (sideways).
-
Có thể tối ưu hóa chiến lược cắt lỗ để tối đa hóa lợi nhuận đồng thời kiểm soát rủi ro.
Tổng kết
Chiến lược này là một chiến lược phá vỡ chỉ báo động lượng kép điển hình. Nó sử dụng xác nhận kép để giảm tín hiệu giả, chỉ vào lệnh mua để giảm tần suất giao dịch. Ưu điểm của chiến lược là đơn giản, dễ thực hiện, có nhiều không gian cải thiện khi tối ưu hóa tham số và kiểm soát rủi ro. Nhìn chung, chiến lược này có thể hoạt động như một khuôn khổ cơ bản cho chiến lược phá vỡ động lượng, nhưng cần tối ưu hóa và điều chỉnh cho từng thị trường cụ thể để có thể ổn định sinh lời trong giao dịch thực tế.
/*backtest
start: 2023-10-16 00:00:00
end: 2023-11-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Momentum Long Strategy", overlay = false, precision = 2, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash, commission_type = strategy.commission.percent, commission_value = 0, calc_on_every_tick = true)
// There will be no short entries, only exits from long.- 1

