
Chiến lược theo dõi xu hướng quay ngược song tuyến sử dụng chênh lệch giữa quay ngược tuyến nhanh và quay ngược tuyến chậm để đánh giá xu hướng giá, và sử dụng nó như một tín hiệu đầu vào. Khi quay ngược tuyến nhanh vượt qua ngưỡng trên, nó làm nhiều hơn, khi vượt qua ngưỡng dưới, nó bằng phẳng. Đồng thời, chiến lược này cũng sử dụng EMA như một điều kiện lọc, chỉ khi giá cao hơn EMA.
Chiến lược này đầu tiên tính toán hai đường cong hồi quy tuyến tính với hai chu kỳ khác nhau, một là hồi quy tuyến tính nhanh, có chu kỳ ngắn hơn và một là hồi quy tuyến tính chậm, có chu kỳ dài hơn. Sau đó tính toán chênh lệch giữa hai đường cong, khi hồi quy tuyến tính nhanh cao hơn hồi quy tuyến tính chậm, chênh lệch lớn hơn 0 cho thấy giá đang trong xu hướng tăng; khi hồi quy tuyến tính nhanh thấp hơn hồi quy tuyến tính chậm, chênh lệch nhỏ hơn 0 cho thấy giá đang trong xu hướng giảm.
Chiến lược sử dụng đường chênh lệch vượt qua ngưỡng cửa làm tín hiệu mua, và đường chênh lệch vượt qua ngưỡng cửa làm tín hiệu bán. Đồng thời, yêu cầu giá cao hơn 200 chu kỳ EMA, để lọc ra các hành động không theo xu hướng.
Sử dụng hồi quy hai tuyến để nắm bắt xu hướng giá và đo lại hiệu quả tốt hơn.
Thêm bộ lọc EMA để lọc ra một số hành động không theo xu hướng và tránh tín hiệu sai.
Lập luận chiến lược đơn giản, rõ ràng, dễ hiểu và dễ thực hiện.
Lần quay trở tuyến tính được thiết lập không đúng, có thể gây ra một số lượng lớn tín hiệu nhiễu.
Trong một xu hướng mạnh, các bộ lọc EMA có thể bỏ lỡ một số cơ hội.
Các nhà đầu tư cũng có xu hướng giao dịch thường xuyên và thua lỗ trong tình trạng chấn động.
Giải pháp:
Tối ưu hóa tham số chu kỳ hồi quy tuyến tính, giảm tiếng ồn.
Chu kỳ EMA có thể được điều chỉnh theo động lực của thị trường.
Tăng Stop Loss để kiểm soát lỗ.
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Tối ưu hóa các tham số chu kỳ của hồi quy tuyến tính nhanh và hồi quy tuyến tính chậm để tìm các tham số kết hợp tốt nhất.
Thử các chỉ số lọc khác thay cho EMA, như Brinband, KDJ, để xem có thể cải thiện hiệu quả chiến lược hay không.
Tăng mức dừng động để kiểm soát rủi ro và ngăn chặn tổn thất mở rộng.
Kết hợp với cơ chế lựa chọn cổ phiếu, chọn các cổ phiếu có xu hướng mạnh để giao dịch.
Các tham số phát triển có khả năng tự thích ứng, tự động điều chỉnh tham số theo tình trạng thị trường.
Chiến lược theo dõi xu hướng hồi phục song tuyến nói chung là đơn giản và trực tiếp, sử dụng giá trị chênh lệch hồi phục song tuyến để xác định xu hướng giá, và sử dụng EMA làm chỉ số lọc, có thể theo dõi hiệu quả xu hướng. Tuy nhiên, chiến lược này cũng có một số rủi ro, cần chú ý đến các khía cạnh tối ưu hóa tham số, kiểm soát lỗ hổng để có thể sử dụng chiến lược hiệu quả tối đa.
/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 00:00:00
period: 1d
basePeriod: 1h
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/
// © TradingAmmo
//@version=4
strategy("Linear trend", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end = timestamp(input(9999, "End Year"), input(1, "Month"), input(1, "Day"), 0, 0)
_testPeriod() =>
iff(time >= startP and time <= end, true, false)
src = close
len1 = input(defval=13, minval=1, title="Fast LR")
len2 = input(defval=55, minval=1, title="Slow LR")
lag1 = input(0, title="Lag for fast")
lag2 = input(0, title="Lag for slow")
threshold = input(0,step=0.5, title="Threshold")
fast_lr = linreg(src, len1, lag1)
slow_lr = linreg(src, len2, lag2)
lr = fast_lr - slow_lr
plot_fast = plot(lr, color = lr > 0 ? color.green : color.red)
plot(threshold, color=color.purple)
long_condition = crossover(lr, threshold) and close > ema(close, 200) and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition)
short_condition = crossunder(lr, threshold)
strategy.close('BUY', when=short_condition)