
Chiến lược này thực hiện giao dịch tháo gỡ giữa các thị trường khác nhau bằng cách tính toán đường trung bình di chuyển chính xác thích ứng. Chiến lược này có các tính năng như tháo gỡ giữa các thị trường, điều chỉnh tham số động và kiểm soát rủi ro.
Chiến lược này đầu tiên xác định một hàm scaleMinimax để chuẩn hóa chuỗi thời gian đến phạm vi được chỉ định. Sau đó, xác định một hàm rema trung bình di chuyển thích nghi để tính toán đường tín hiệu được làm mịn.
Sau khi nhận được đường tín hiệu, chiến lược sẽ quyết định số dư bằng cách đánh giá đường tín hiệu và giá của các giao dịch. Cụ thể:
Ngoài ra, chiến lược này đã thêm yếu tố mịn và hiển thị đường tín hiệu show_line làm tham số có thể điều chỉnh, tăng tính linh hoạt của chiến lược.
Chiến lược này có những ưu điểm sau đây so với chiến lược trung bình di chuyển truyền thống:
Chiến lược này cũng có một số rủi ro:
Có nhiều khả năng xảy ra tín hiệu sai khi giao nhau hai bên. Giải pháp là điều chỉnh các tham số mượt một cách thích hợp để tránh rung sóng.
Định giá giữa các thị trường phải đảm bảo rằng hai thị trường có liên quan đến giá cả và có xu hướng nhất quán. Giải pháp là chọn một thị trường có liên quan cao để định giá.
Để tối ưu hóa tham số cần phải tích lũy đủ dữ liệu lịch sử để kiểm tra lại. Giải pháp là điều chỉnh tham số một cách cẩn thận trong giao dịch thực tế.
Chiến lược này cũng có thể được tối ưu hóa bằng cách:
Trong lựa chọn tham số, bạn có thể đưa vào các thuật toán học máy để tự động tối ưu hóa các tham số.
Trong việc tạo tín hiệu, có thể giới thiệu nhiều chỉ số hơn để kết hợp, xây dựng tín hiệu giao dịch ổn định hơn.
Trong kiểm soát rủi ro, bạn có thể thiết lập đường dừng để kiểm soát tổn thất đơn lẻ.
Trong mảng mạo hiểm xuyên thị trường, có thể mở rộng sang các loại giao dịch có liên quan cao hơn.
Chiến lược này thực hiện giao dịch mạo hiểm giữa các thị trường bằng cách tính toán trung bình di chuyển tự động. So với các chiến lược trung bình di chuyển truyền thống, nó có các lợi thế như tự thích ứng tham số, xử lý trơn tru, mạo hiểm giữa các thị trường. Tiếp theo, tối ưu hóa chiến lược thông qua học máy, kết hợp tín hiệu, quản lý rủi ro.
/*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)