Đây là một hệ thống điểm cân bằng xu hướng nguyên thủy được tạo ra bởi Welles Wilder vào năm 1978, các quy tắc giao dịch có thể được tìm thấy trong cuốn sách của ông về hệ thống phân tích kỹ thuật khái niệm mới. Hệ thống này sử dụng các chỉ số động lực để xác định xu hướng và đặt các điểm dừng lỗ theo một cách cụ thể, tạo thành một hệ thống theo dõi xu hướng mạnh mẽ hơn.
Các thành phần chính của chiến lược và các quy tắc giao dịch như sau:
Chỉ số động lực: tính toán biến động giá đóng cửa trong chu kỳ N, để xác định xu hướng giá.
Làm nhiều điều kiện: giá trị động lượng tăng liên tục trong chu kỳ hiện tại và hai chu kỳ trước.
Điều kiện làm trống: Giá trị động lực của chu kỳ hiện tại và hai chu kỳ trước đã giảm liên tục.
Điểm dừng lỗ: Giá trung bình ngày trước + phạm vi biến động ngày trước.
Điểm dừng: 2 lần giá trung bình của ngày trước - giá thấp nhất ((thanh nhiều hơn) hoặc 2 lần giá trung bình - giá cao nhất ((thanh không)
Sau khi tham gia, bạn có thể rút ra với giá dừng lỗ hoặc giá dừng chân.
Chiến lược này đơn giản và trực tiếp, sử dụng động lực để xác định hướng xu hướng và kiểm soát rủi ro bằng cách dừng lỗ cụ thể, tạo thành một hệ thống theo dõi xu hướng vững chắc hơn.
Các lợi thế chính của chiến lược này so với các chiến lược theo dõi xu hướng khác là:
Tính toán chỉ số động lực đơn giản và dễ thực hiện.
Phân tích đa chu kỳ, có thể lọc tiếng ồn.
Phương pháp ngăn chặn các vết loét là khá mạnh mẽ.
Có thể giới hạn số tiền tổn thất.
Có thể thu hồi được, lợi nhuận đã được xác định.
Nó không khó thực hiện và có thể hoạt động linh hoạt.
Các tham số có thể điều chỉnh, áp dụng cho các thị trường khác nhau.
Ý tưởng chiến lược rất đơn giản.
Nhìn chung, sự ổn định và khả năng kiểm soát rủi ro là tốt hơn.
Tuy nhiên, chiến lược này cũng có những rủi ro:
Các chỉ số động lực bị chậm trễ, có thể bị bỏ lỡ các bước ngoặt quan trọng.
Hiệu quả phụ thuộc vào mức độ tối ưu hóa tham số.
Không tính đến khối lượng giao dịch, có nguy cơ bị che đậy.
Cốp dừng thiệt hại được thiết lập tùy ý, có thể dự kiến thất bại.
Chu kỳ phản hồi ngắn, cần xác minh sự ổn định lâu dài.
Hoạt động vị trí cố định, không thể điều chỉnh động.
Không gian tối ưu hóa hạn chế, lợi nhuận vượt trội là không chắc chắn.
Cần chú ý đến tỷ lệ thu hồi thu nhập để tránh quá phù hợp.
Theo phân tích trên, chiến lược này có thể được tối ưu hóa từ các khía cạnh sau:
Hãy thử một số cách khác để tính toán động lượng.
Tham gia xác nhận khối lượng giao dịch.
Tối ưu hóa các tham số dừng lỗ.
Giới thiệu các kỹ thuật học máy để tạo tín hiệu động.
Đánh giá sự ổn định của nhiều giống trong nhiều chu kỳ.
Xây dựng mô hình quản lý vị thế động.
Thiết lập dung nạp tối đa.
Tối ưu hóa chiến lược quản lý tài chính.
Tiếp tục kiểm tra lại và xác minh để ngăn chặn quá tối ưu hóa.
Chiến lược này nói chung là một hệ thống theo dõi xu hướng tương đối đơn giản và trực tiếp. Tuy nhiên, bất kỳ chiến lược nào cũng cần phải được tối ưu hóa và xác minh liên tục để duy trì sự thích ứng với thị trường. Bằng cách làm việc có hệ thống, hiệu quả và sự ổn định của chiến lược có thể được nâng cao.
/*backtest
start: 2023-09-15 00:00:00
end: 2023-09-22 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © 2020 X-Trader.net
//@version=3
strategy("Trend Balance Point System by Welles Wilder", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 10000)
MomPer = input(2, "Momentum Period")
isLong = strategy.position_size > 0
isShort = strategy.position_size < 0
longTrigger = mom(close, MomPer)[1] > mom(close, MomPer)[2] and mom(close, MomPer)[1] > mom(close, MomPer)[3]
shortTrigger = mom(close, MomPer)[1] < mom(close, MomPer)[2] and mom(close, MomPer)[1] < mom(close, MomPer)[3]
longEntry = (not isLong) and longTrigger
shortEntry = (not isShort) and shortTrigger
longStop = valuewhen(longEntry, ((high[1]+low[1]+close[1])/3 - (high[1]-low[1])), 0)
longTP = valuewhen(longEntry, (2*(high[1]+low[1]+close[1])/3 - low[1]), 0)
shortStop = valuewhen(shortEntry, ((high[1]+low[1]+close[1])/3 + (high[1]-low[1])), 0)
shortTP = valuewhen(shortEntry, (2*(high[1]+low[1]+close[1])/3 - high[1]), 0)
strategy.entry(id = "Long", long = true, when = longEntry)
strategy.exit("Exit Long", "Long", profit = longTP, loss = longStop, when = isLong)
strategy.entry(id = "Short", long = false, when = shortEntry)
strategy.exit("Exit Short", "Short", profit = shortTP, loss = shortStop, when = isShort)