Phân tích nguyên tắc chiến lược siêu xu hướng
Chiến lược siêu xu hướng là một chiến lược theo xu hướng xác định hướng xu hướng bằng cách tính toán phạm vi trung bình thực sự (ATR) và vẽ các đường siêu xu hướng.
Chiến lược này đầu tiên tính toán ba bộ ATR và các yếu tố để vẽ ba đường siêu xu hướng. ATR phản ánh sự biến động giá trong khi yếu tố xác định độ nhạy của các đường siêu xu hướng với giá. Chiến lược này sử dụng sự kết hợp các thông số ngắn hạn, trung hạn và dài hạn để nắm bắt sự thay đổi xu hướng trong các khung thời gian khác nhau.
Khi giá vượt trên đường siêu xu hướng, nó báo hiệu xu hướng tăng và chiến lược sẽ đi dài. Khi giá vượt dưới đường, nó báo hiệu xu hướng giảm và chiến lược sẽ đi ngắn. Ba đường siêu xu hướng có thể tạo ra nhiều cơ hội giao dịch hơn đồng thời xác nhận tín hiệu để giảm tín hiệu sai.
Ngoài ra, chiến lược sử dụng chức năng thay đổi để kiểm tra xem hướng đường Supertrend đã thay đổi hay không. Các tín hiệu mới chỉ được tạo ra khi hướng thay đổi, tránh giao dịch mới ngay sau khi đóng các vị trí. Cuối cùng, chiến lược cung cấp đóng tất cả và hủy tất cả các chức năng để cải thiện khả năng giao dịch.
Tóm lại, chiến lược Supertrend sử dụng đầy đủ những lợi thế của chỉ số Supertrend để nắm bắt xu hướng qua các khung thời gian bằng cách sử dụng nhiều bộ tham số. Nó cũng kết hợp các hệ thống vào và ra thích hợp và có thể phục vụ như một tham chiếu cho các chiến lược theo xu hướng.
Ưu điểm chiến lược siêu xu hướng
Chiến lược Supertrend có những lợi thế sau:
Khả năng nắm bắt những thay đổi xu hướng mạnh mẽ - Các đường siêu xu hướng năng động có thể nắm bắt những thay đổi xu hướng trên thị trường một cách linh hoạt và tránh các tín hiệu sai từ các thị trường khác nhau.
Nhiều bộ tham số - Sử dụng ba bộ tham số để vẽ ba đường siêu xu hướng cho phép nắm bắt xu hướng trên các khung thời gian ngắn, trung bình và dài để có nhiều cơ hội hơn.
Cơ chế xác nhận đảo ngược - Tạo tín hiệu mới chỉ khi hướng đường siêu xu hướng thay đổi tránh những sự cố không cần thiết và xác minh độ tin cậy của tín hiệu.
Thiết kế thực tế - Việc đóng tất cả các vị trí và hủy tất cả các chức năng lệnh cải thiện khả năng giao dịch trong thế giới thực.
Logic đơn giản và rõ ràng - Sử dụng Supertrend làm cơ sở với các quy tắc tín hiệu đơn giản làm cho nó dễ dàng vận hành và thử nghiệm.
Rủi ro chiến lược siêu xu hướng
Chiến lược Supertrend cũng có những rủi ro sau:
Thường bị tín hiệu sai - Việc xuyên qua thường xuyên các đường siêu xu hướng có thể tạo ra tín hiệu sai quá mức và thua lỗ trong các thị trường dao động.
Tối ưu hóa tham số khó khăn - Tối ưu hóa nhiều bộ tham số có thể là một thách thức. Các tham số không phù hợp có thể làm suy giảm hiệu suất.
Không thể xác định các điểm đảo ngược xu hướng - Chỉ dựa vào hướng xu hướng mà không xác định sự đảo ngược xu hướng tiềm năng. Cần các chỉ số bổ sung.
Rủi ro sự kiện cực đoan - Không thể kiểm soát hiệu quả rủi ro trong điều kiện thị trường cực đoan.
Biến hướng phù hợp đường cong - Các thông số tối ưu có thể phù hợp hơn với dữ liệu lịch sử nhưng có thể không còn hiệu quả trong tương lai.
Tóm tắt chiến lược siêu xu hướng
Nói chung, chiến lược siêu xu hướng là một hệ thống theo dõi xu hướng đơn giản và thực tế. Nó tận dụng các đường xu hướng siêu xu hướng năng động để xác định hướng xu hướng và sử dụng nhiều bộ tham số để cải thiện hiệu suất. Các cơ chế chiến lược cũng được thiết kế hợp lý để giao dịch. Tuy nhiên, các vấn đề như tín hiệu sai và tối ưu hóa tham số khó đòi hỏi phải kết hợp với các chỉ số kỹ thuật khác để cải thiện. Nói chung, chiến lược siêu xu hướng hoạt động tốt cho việc theo dõi xu hướng trung và dài hạn và có thể phục vụ như một mẫu chiến lược tham chiếu cho người mới bắt đầu.
/*backtest start: 2023-08-15 00:00:00 end: 2023-09-14 00:00:00 period: 2h basePeriod: 15m 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/ // © MarketShree //@version=4 // strategy("Supertrend Strategy", overlay=true, default_qty_value=15) closs_all=input(title="Close_all_Position", type=input.bool, defval=false) cancel=input(title="Check To Cancel", type=input.bool, defval=false) atrPeriod1 = input(7, "ATR Length-1") factor1 = input(1.5,"Factor-1",type=input.float) atrPeriod2 = input(10, "ATR Length-2") factor2 = input(2, "Factor-2") atrPeriod3 = input(20, "ATR Length-3") factor3 = input(3, "Factor-3") [superTrend1, direction1] = supertrend(factor1, atrPeriod1) [superTrend2, direction2] = supertrend(factor2, atrPeriod2) [superTrend3, direction3] = supertrend(factor3, atrPeriod3) if change(direction1) < 0 strategy.entry("LONG", strategy.long) if change(direction1) > 0 strategy.entry("SHORT", strategy.short) strategy.close_all(when=closs_all,comment ="All postion are closed") strategy.cancel_all(when=cancel) if change(direction2) < 0 strategy.entry("LONG", strategy.long) if change(direction2) > 0 strategy.entry("SHORT", strategy.short) strategy.close_all(when=closs_all,comment ="All postion are closed") strategy.cancel_all(when=cancel) if change(direction3) < 0 strategy.entry("LONG", strategy.long) if change(direction3) > 0 strategy.entry("SHORT", strategy.short) strategy.close_all(when=closs_all,comment ="All postion are closed") strategy.cancel_all(when=cancel) colResistance = direction1 == 1 and direction1 == direction1[1] ? color.new(color.red, 0) : color.new(color.red, 100) colSupport = direction1 == -1 and direction1 == direction1[1] ? color.new(color.green, 0) : color.new(color.green, 100) plot(superTrend1, color = colResistance, linewidth=2) plot(superTrend1, color = colSupport, linewidth=2) colResistance1 = direction2 == 1 and direction2 == direction2[1] ? color.new(color.red, 0) : color.new(color.red, 100) colSupport1 = direction2 == -1 and direction2 == direction2[1] ? color.new(color.green, 0) : color.new(color.green, 100) plot(superTrend2, color = colResistance, linewidth=2) plot(superTrend2, color = colSupport, linewidth=2) colResistance2 = direction3 == 1 and direction3 == direction3[1] ? color.new(color.red, 0) : color.new(color.red, 100) colSupport2 = direction3 == -1 and direction3 == direction3[1] ? color.new(color.green, 0) : color.new(color.green, 100) plot(superTrend3, color = colResistance1, linewidth=2) plot(superTrend3, color = colSupport1, linewidth=2)