Chiến lược này thực hiện giao dịch chênh lệch giữa các thị trường khác nhau bằng cách tính toán một đường trung bình động điều chỉnh thích nghi. Chiến lược này có tính năng chênh lệch giữa các thị trường, điều chỉnh tham số động, kiểm soát rủi ro, v.v.
Chiến lược đầu tiên xác định một hàm scaleMinimax để chuẩn hóa chuỗi thời gian đến một phạm vi xác định. Sau đó nó xác định một hàm trung bình động điều chỉnh thích nghi rema để tính toán đường tín hiệu trơn tru sig.
Định nghĩa một cửa sổ trượt, chiều dài mặc định 5 ngày.
Giá trị sig cho mỗi ngày là trung bình trọng số của giá trị sig trước và giá đóng hiện tại.
Thêm một tham số λ như một điều chỉnh để làm cho chuyển đổi sig mượt mà hơn.
Sau khi có được đường tín hiệu, chiến lược xác định dài / ngắn dựa trên đường chéo vàng / chết của đường tín hiệu và giá.
Khi SIG vượt quá giá, mua dài.
Khi SIG vượt qua dưới giá, đi ngắn.
Ngoài ra, chiến lược thêm yếu tố trơn và show_line như các tham số có thể điều chỉnh để tăng sự linh hoạt.
So với các chiến lược trung bình động truyền thống, chiến lược này có những lợi thế sau:
Cơ chế cân nhắc thích nghi có thể phản ứng nhanh hơn với sự thay đổi giá.
Các điều chỉnh bổ sung làm cho đường tín hiệu mượt mà hơn, tránh các tín hiệu sai từ biến động giá mạnh mẽ.
Sự phân biệt giá giữa các thị trường có thể hưởng lợi từ sự khác biệt giá giữa các thị trường.
Các thông số điều chỉnh linh hoạt có thể được tối ưu hóa theo điều kiện thị trường.
Chiến lược này cũng có một số rủi ro:
Khả năng tín hiệu sai từ giao lộ đôi cao hơn. Giải pháp là điều chỉnh đúng tham số mịn để tránh dao động của đường tín hiệu.
Điều tra ngang thị trường đòi hỏi hai thị trường có mối tương quan giá cả và xu hướng nhất quán.
Tối ưu hóa tham số đòi hỏi đủ dữ liệu lịch sử để kiểm tra lại.
Chiến lược cũng có thể được tối ưu hóa trong các khía cạnh sau:
Trong việc lựa chọn tham số, các thuật toán học máy có thể được giới thiệu để tự động tối ưu hóa các kết hợp tham số.
Trong việc tạo tín hiệu, nhiều chỉ số hơn có thể được giới thiệu để xây dựng các tín hiệu giao dịch ổn định hơn.
Trong kiểm soát rủi ro, dừng lỗ có thể được thiết lập để hạn chế lỗ cho mỗi giao dịch.
Trong sự điều chỉnh giữa các thị trường, nó có thể được mở rộng đến các tài sản giao dịch có tương quan cao hơn.
Chiến lược này thực hiện giao dịch trọng tài giữa các thị trường bằng cách tính toán trung bình động theo cách thích nghi. So với các chiến lược trung bình động truyền thống, nó có những lợi thế của các thông số thích nghi, xử lý mượt mà, trọng tài xuyên thị trường, v.v. Các bước tiếp theo là tối ưu hóa thêm chiến lược thông qua học máy, các tín hiệu kết hợp, quản lý rủi ro, v.v.
/*backtest start: 2023-10-01 00:00:00 end: 2023-10-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Crossover82%", overlay=true) // // Functions // scaleMinimax(X, p, min, max) => hi = highest(X, p), lo = lowest(X, p) (max - min) * (X - lo)/(hi - lo) + min rema(ts, p) => // regularized ma rm = 0.0, lambda = .5, a = 2 / (p + 1) rm := (nz(rm[1]) + a * (ts - nz(rm[1])) + lambda * (2 * nz(rm[1]) - nz(rm[2]))) / (lambda + 1) rm // // Inputs // X = input(close, title="Data source") smooth = input(2, title="REMA smooth factor") show_line = input(true, title="Show signal line") // // Main // p = 5 sig = rema(scaleMinimax(pow(X*p,-X) - 0.1, 100, lowest(X, 100), highest(X, 100)), smooth) plot(show_line ? sig : na, linewidth=1) plot(cross(sig, X) ? ohlc4 : na, style=circles, linewidth=8, color=blue, transp=50) longCondition = crossover(sig, X) if (longCondition) strategy.entry("LE", strategy.long) shortCondition = crossunder(sig, X) if (shortCondition) strategy.entry("SE", strategy.short)