Chiến lược theo dõi xung đột của DBS là một chiến lược giao dịch định lượng theo dõi xung đột giá bằng cách xây dựng DBS. Chiến lược này sử dụng DBS để nắm bắt cơ hội biến động của thị trường trong thời gian thực.
Chiến lược này bắt đầu bằng cách tính toán đường trung bình của N ngày làm đường chuẩn, sau đó tính toán đường trung bình dựa trên một số lần chênh lệch tiêu chuẩn để xây dựng các vùng Brin trên và dưới đường. Chiến lược sử dụng các vùng Brin kép, tức là trên và dưới đường đều là một số lần chênh lệch tiêu chuẩn. Sau khi hình thành các vùng Brin kép, tín hiệu mua được phát ra khi giá phá vỡ đường trên và tín hiệu bán được phát ra khi giá rơi xuống đường dưới, bằng cách này nắm bắt cơ hội biến động giá trên vùng Brin.
Chiến lược này đồng thời thiết lập cửa sổ thời gian, làm cho việc phản hồi trở nên TARGET hơn, và ngăn chặn dữ liệu trước đó ảnh hưởng đến thử nghiệm. Toàn bộ quy trình hoạt động của chiến lược là: xây dựng băng tần đôi, giao thoa giá với quỹ đạo làm tín hiệu giao dịch, thiết lập cửa sổ thời gian để ngăn chặn ảnh hưởng của dữ liệu trước.
Lợi thế lớn nhất của chiến lược này là có thể nắm bắt biến động giá trong thời gian thực, đánh giá hướng OPERATION bằng cách phá vỡ đường băng Burin lên xuống. So với các chỉ số khác, Burin phản ứng với thị trường nhạy cảm hơn, có thể tạo ra tín hiệu giao dịch trong một thời gian ngắn hơn. Ngoài ra, Double Burin tạo ra một kênh rộng hơn, khả năng phá vỡ giá cao hơn, có thể nắm bắt nhiều cơ hội giao dịch hơn.
Rủi ro chính của chiến lược này nằm ở việc thiết lập các tham số N ngày và số lần chênh lệch tiêu chuẩn mà dải Brinh xây dựng phụ thuộc. Nếu các tham số được thiết lập không đúng cách, sẽ dẫn đến việc dải Brinh trở nên quá rộng hoặc quá hẹp, do đó bỏ lỡ cơ hội giao dịch hoặc tạo ra tín hiệu sai. Ngoài ra, không có thiết lập dừng lỗ trong giao dịch song phương, có thể dẫn đến tổn thất mở rộng.
Giải pháp là tối ưu hóa các tham số, đánh giá thực tế các hình thức của Brin Belt; Ngoài ra, xây dựng chiến lược dừng lỗ dựa trên dữ liệu lịch sử, kiểm soát tổn thất đơn lẻ.
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
Tối ưu hóa các tham số của dải Brin, điều chỉnh N ngày và số lần chênh lệch tiêu chuẩn, để dải Brin có thể thích ứng tốt hơn với các đặc điểm của các thị trường khác nhau.
Tăng cơ chế gia hạn đơn đặt hàng, thêm đơn đặt hàng sau khi đơn đặt hàng ban đầu đạt được lợi nhuận nhất định, mở rộng phạm vi lợi nhuận.
Thiết lập chiến lược dừng lỗ, dừng lỗ khi giá phá vỡ đường dây Bollinger và xuống đường theo hướng bất lợi, kiểm soát tổn thất.
Kết hợp với các chỉ số khác để lọc tín hiệu, tránh tạo ra tín hiệu sai trong thị trường chấn động.
Chiến lược theo dõi xung đột hai vòng xoáy có thể nắm bắt nhiều cơ hội giao dịch trong thời gian ngắn hơn bằng cách xây dựng xung đột giá trong thời gian thực bằng cách xây dựng hai vòng xoáy hai chiều. Ưu điểm của chiến lược này là nhạy cảm với sự thay đổi của thị trường, tín hiệu giao dịch được tạo ra nhanh chóng; rủi ro chủ yếu đến từ cài đặt tham số không chính xác và thiếu điểm dừng. Chúng ta có thể làm cho chiến lược này ổn định hơn và hiệu quả hơn bằng cách tối ưu hóa đa phương.
/*backtest
start: 2022-12-18 00:00:00
end: 2023-12-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("BB_BB", overlay=true,default_qty_type=strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
length = input(20, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2017, 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) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
plot(basis, color=red)
p1 = plot(upper, color=blue)
p2 = plot(lower, color=blue)
fill(p1, p2)
buy = crossover(sma(close,1), upper) or crossover(sma(close,1), lower)
sell = crossunder(sma(close,1), upper) or crossunder(sma(close,1), lower)
if(buy)
strategy.entry("BUY", strategy.long, when = window())
if(sell)
strategy.entry("SELL", strategy.short, when = window())