Chiến lược này kết hợp chỉ số trung bình chuyển động ATR thích nghi và theo xu hướng để khám phá xu hướng trên thị trường và giao dịch theo xu hướng. Nó sử dụng trung bình chuyển động Hull để làm mịn ATR và hình thành trung bình chuyển động ATR mịn, sau đó tạo ra các tín hiệu giao dịch dựa trên mối quan hệ của giá với trung bình chuyển động ATR.
Chỉ số cốt lõi của chiến lược này là trung bình động ATR. ATR là một công cụ đo biến động quan trọng, đo biến động thị trường và biến động giá.
Cụ thể, chiến lược đầu tiên tính toán True Range, đó là sự khác biệt giữa giá cao và thấp của ngày, và sự khác biệt tối đa giữa giá đóng trước và giá cao nhất / thấp nhất hiện tại. Sau đó, nó áp dụng phương pháp trung bình động Hull để làm mịn TR và có được trung bình động ATR thích nghi.
Sau khi tính toán đường trung bình động ATR, chiến lược so sánh giá với đường trung bình động ATR. Khi giá vượt trên đường trung bình động ATR, nó báo hiệu xu hướng tăng, và chiến lược đi dài. Khi giá vượt dưới đường trung bình động ATR, nó báo hiệu xu hướng giảm, và chiến lược đi ngắn.
Ngoài ra, phạm vi dừng lỗ và lấy lợi nhuận cố định được thiết lập sau mỗi giao dịch. Khi giá đạt mức dừng lỗ, giao dịch được dừng lại. Khi giá đạt mức lấy lợi nhuận, lợi nhuận được lấy. Điều này hạn chế lỗ và khóa lợi nhuận cho mỗi giao dịch.
Tóm lại, chiến lược này kết hợp các đường trung bình động ATR thích nghi và quản lý rủi ro nghiêm ngặt để theo dõi các xu hướng quan trọng và kiểm soát lỗ cho mỗi giao dịch, để đạt được tăng trưởng lợi nhuận ổn định.
Những lợi thế chính của chiến lược này là:
Sử dụng các đường trung bình chuyển động ATR thích nghi để xác định hiệu quả các xu hướng quan trọng và lọc tiếng ồn thị trường để tránh bị mắc kẹt.
Áp dụng phương pháp trung bình động Hull để tính toán các trung bình động ATR mượt mà hơn, tránh bị đánh lừa bởi biến động tần số cao.
Thiết lập dừng lỗ cố định và lấy lợi nhuận để hạn chế lỗ cho mỗi giao dịch và khóa lợi nhuận, đảm bảo tỷ lệ rủi ro / lợi nhuận.
Xu hướng theo phong cách giao dịch có thể tiếp tục nắm bắt xu hướng và tăng tiềm năng lợi nhuận.
Logic đơn giản và rõ ràng, dễ hiểu. cài đặt tham số linh hoạt phù hợp với các sản phẩm và thị trường khác nhau.
Có thể áp dụng trong bất kỳ sản phẩm nào để theo xu hướng.
Những rủi ro chính của chiến lược này là:
Khả năng tín hiệu sai từ các đường trung bình động ATR. Giá có thể dao động mạnh mẽ và gây ra lỗi trong các tín hiệu đường trung bình động ATR.
Đảm bảo dừng lỗ cho phép đủ chuyển động giá.
Lợi nhuận cố định có thể thoát quá sớm, không thể nắm bắt được xu hướng đầy đủ.
Cần tạm dừng giao dịch trong các sự kiện như vậy để ngăn ngừa tổn thất lớn.
Không thoát ra kịp thời khi xu hướng đảo ngược có thể dẫn đến tổn thất từ xu hướng đảo ngược.
Các thông số cần tối ưu hóa cho các sản phẩm và thị trường khác nhau.
Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:
Tối ưu hóa các thông số của trung bình động ATR, bao gồm thời gian ATR và các thông số làm mịn, ảnh hưởng đến trung bình động ATR.
Tối ưu hóa chiến lược dừng lỗ và lấy lợi nhuận. Xem xét dừng động và mục tiêu dựa trên ATR, thay vì các giá trị cố định.
Thêm các quy tắc để xác định sự đảo ngược xu hướng, kết hợp các chỉ số khác, để tránh bị mắc kẹt bởi sự đảo ngược.
Kiểm tra và tối ưu hóa các thông số cho các sản phẩm và môi trường thị trường khác nhau để tìm các thông số tối ưu.
Thêm phát hiện các sự kiện cực đoan, tạm dừng giao dịch khi giá tăng cao để kiểm soát lỗ.
Tối ưu hóa thời gian nhập cảnh, xem xét nhập vào trên pullbacks thay vì breakouts để giảm rủi ro.
Tối ưu hóa sự kết hợp các tham số, thử nghiệm các sự kết hợp khác nhau của thời gian ATR và các tham số làm mịn để tìm sự phù hợp tốt nhất.
Tóm lại, chiến lược này sử dụng trung bình chuyển động ATR thích nghi để xác định xu hướng, và giao dịch xu hướng với stop loss cố định và lấy lợi nhuận. Trung bình chuyển động ATR xác định hiệu quả xu hướng, và dừng cố định và mục tiêu kiểm soát rủi ro / phần thưởng. Lợi thế là logic đơn giản và rõ ràng, dễ hiểu, thích nghi với các sản phẩm khác nhau thông qua điều chỉnh tham số.
/*backtest start: 2022-10-26 00:00:00 end: 2023-11-01 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("ATR(Hull)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills= false, calc_on_every_tick=true, pyramiding=0) length = input(title="Length", defval=14, minval=1) price = input(close) SL = input(50, title="Stop loss") TP = input(150, title="Take profit") FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2018, title = "From Year", minval = 2017) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2017) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) window() => true p=price[1] func_hma(style, length)=> return = wma((2*wma(p,length/2))-wma(p,length),round(sqrt(length))) ATR=func_hma(tr(true), length) plot(ATR[0], title="ATR1",color=green,transp=0) plot(ATR[1], title="ATR2",color=red,transp=0) if (ATR>ATR[1]) strategy.entry("long",strategy.long,comment="Long",when=window()) if (ATR<ATR[1]) strategy.entry("short",strategy.short,comment="Short",when=window()) //strategy.close_all(when=strategy.openprofit<-eqSL and window()) //strategy.close_all(when=strategy.openprofit>eqTP and window()) strategy.exit("exit", "long", profit = TP, loss = SL) strategy.exit("exit", "short", profit = TP, loss = SL)