Chiến lược theo dõi động lượng giá
Tổng quan
Chiến lược này sử dụng các chỉ báo động lượng giá để xác định hướng giao dịch. Cụ thể, nó tính toán đường trung bình động và giá trung bình, khi giá vượt lên trên đường trung bình động và giá trung bình sẽ tạo ra tín hiệu mua. Để lọc các tín hiệu giả, yêu cầu trước đó không có tín hiệu tương tự. Sau đó, trạng thái tín hiệu được lưu lại và kết hợp với đường trung bình động để tạo ra tín hiệu mở lệnh cuối cùng. Chiến lược cũng bao gồm cài đặt cắt lỗ và chốt lời.
Nguyên lý chiến lược
Chiến lược này chủ yếu dựa trên các chỉ báo động lượng giá để xác định hướng xu hướng. Đầu tiên, nó tính toán đường trung bình động và giá trung bình:
pine
swmaClose = swma(close)
vwapClose = vwap(close)
Trong đó, swma là đường trung bình động trượt, vwap là giá trung bình gia quyền theo khối lượng. Cả hai đều phản ánh mức giá trung bình.
Sau đó, so sánh mối quan hệ giữa giá và giá trị trung bình để xác định xem giá có vượt lên trên đường trung bình động và giá trung bình hay không, từ đó xác định xem đó có phải là tín hiệu tăng giá hay không:
pine
swmaLong = close > swmaClose
vwapLong = close > vwapClose
Để lọc tín hiệu giả, yêu cầu hai chỉ báo này trước đó không có tín hiệu:
pine
triggerLong = vwapLong and not vwapLong[1] and not swmaLong and not swmaLong[1]
Tiếp theo, lưu lại tín hiệu tăng giá:
pine
saveLong = false, saveLong := triggerLong ? true : not vwapLong ? false : saveLong[1]
Cuối cùng, khi tín hiệu vượt lên trên đã được lưu và giá lại vượt lên trên đường trung bình động, tín hiệu mở lệnh được tạo ra:
pine
startLong = saveLong and swmaLong
Điều này giúp lọc bỏ một phần tín hiệu giả, làm cho tín hiệu đáng tin cậy hơn.
Chiến lược cũng bao gồm cài đặt cắt lỗ và chốt lời. Khoảng cách cắt lỗ có thể cấu hình, chốt lời được đặt ở một bội số nhất định của cắt lỗ.
Phân tích ưu điểm
Chiến lược này có những ưu điểm sau:
- Sử dụng các chỉ báo động lượng giá, có thể xác định tốt hướng xu hướng
- Kết hợp hai chỉ báo và nhiều bước đánh giá, có thể lọc tín hiệu giả, làm cho chiến lược đáng tin cậy hơn
- Cài đặt cắt lỗ và chốt lời hợp lý, có thể kiểm soát rủi ro cho mỗi giao dịch
- Các tham số chiến lược có thể cấu hình, thích ứng với các điều kiện thị trường khác nhau
- Logic chiến lược đơn giản, trực tiếp, dễ hiểu và thực hiện
Phân tích rủi ro
Chiến lược này cũng tồn tại một số rủi ro:
- Các chỉ báo đường trung bình động có độ trễ, có thể bỏ lỡ một số biến động giá
- Hiệu quả phụ thuộc vào cài đặt tham số, các tổ hợp tham số khác nhau cho kết quả khác biệt lớn
- Tín hiệu mua khá ít, có nguy cơ bỏ lỡ một số giao dịch
- Nhiều bước đánh giá sẽ lọc bỏ một số cơ hội, có thể ảnh hưởng đến mức lợi nhuận
Biện pháp khắc phục:
- Có thể kiểm tra các tham số đường trung bình động khác nhau, tối ưu hóa cài đặt tham số
- Đơn giản hóa logic đánh giá một cách thích hợp, tăng thêm tín hiệu mua
- Điều chỉnh tỷ lệ cắt lỗ/chốt lời, kiểm soát thua lỗ mỗi giao dịch
Hướng tối ưu hóa
Chiến lược này cũng có thể được tối ưu hóa theo các hướng sau:
- Kiểm tra thêm nhiều chỉ báo động lượng giá, chẳng hạn như MACD, DMI, v.v.
- Thêm đánh giá tín hiệu bán, thực hiện giao dịch hai chiều
- Kết hợp các chỉ báo khối lượng giao dịch, tránh các phá vỡ giả tiềm ẩn
- Tối ưu hóa cài đặt tham số dựa trên kết quả backtest
- Xem xét tự động điều chỉnh tham số theo điều kiện thị trường
- Thêm các thuật toán học máy để đạt được tối ưu hóa tham số thích ứng
Những tối ưu hóa này có thể cải thiện tính linh hoạt, độ ổn định và mức lợi nhuận của chiến lược.
Tổng kết
Chiến lược theo dõi động lượng giá này nhìn chung là một chiến lược theo xu hướng đơn giản, trực tiếp và logic rõ ràng. Chiến lược sử dụng đường trung bình động giá và giá trung bình để xác định hướng động lượng giá, và thiết kế cơ chế xác minh nhiều bước để cải thiện chất lượng tín hiệu. Chiến lược cũng bao gồm cài đặt cắt lỗ và chốt lời hợp lý. Xét về khối lượng mã, logic chiến lược rất ngắn gọn, chỉ cần hơn 20 dòng script Pine là có thể thực hiện. Nhìn chung, chiến lược này là một ví dụ học tập rất tốt, người mới bắt đầu có thể coi đây là điểm khởi đầu tốt để hiểu về chiến lược giao dịch định lượng. Tất nhiên, bản thân chiến lược cũng có giá trị giao dịch thực tế, thông qua tối ưu hóa tham số và mở rộng chức năng, nó có thể trở thành một hệ thống giao dịch thực tế để tránh nhiễu và theo dõi xu hướng.
/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title = "Simple Price Momentum", shorttitle = "SPM", overlay = true, initial_capital = 20000, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, commission_value = 0.025)
// How To Create A Simple Trading Strategy With TradingView- 1

