Hệ thống giao dịch này được gọi là hệ thống giao dịch đòn bẩy rủi ro đòn bẩy động, được thiết kế để quản lý giao dịch dựa trên biến động thị trường hiện tại so với giá trị trung bình lịch sử của nó. Hệ thống tính toán số lượng mục tiêu mở vị trí dựa trên chỉ số ATR (Phạm vi thực tế trung bình) và điều chỉnh đòn bẩy phù hợp. Hệ thống sử dụng cách mở vị trí tăng cường kim tự tháp, cho phép mở nhiều vị trí cùng một lúc.
Các bước cụ thể của hệ thống là:
Tính ATR của chu kỳ ATR 14 ngày và tiêu chuẩn hóa nó bằng cách chia cho giá đóng cửa hiện tại.
Tính toán trung bình di chuyển đơn giản 100 ngày của ATR chuẩn ((SMA)
Tính toán tỷ lệ ATR tiêu chuẩn hóa với SMA 100 ngày của nó.
Xác định lợi thế mục tiêu dựa trên tỷ lệ ngược ((2 / tỷ lệ)).
Số lượng mục tiêu mở lệnh bằng cách nhân số 5 của đòn bẩy mục tiêu.
Hình đồ thị số lượng mục tiêu và số lượng hiện tại trên bảng.
Kiểm tra xem liệu có cơ hội mua (((nếu số lượng vị trí mở hiện tại ít hơn số lượng mục tiêu) hoặc cơ hội bán (((nếu số lượng vị trí mở hiện tại lớn hơn số lượng mục tiêu cộng 1)
Nếu có cơ hội mua, hãy mở thêm lệnh và thêm giao dịch vào mảng openTrades.
Nếu có cơ hội thanh toán và có giao dịch trong mảng openTrades, thanh toán các giao dịch mới nhất và xóa khỏi mảng.
Hệ thống này được thiết kế để nắm bắt xu hướng thị trường bằng cách thay đổi động số lượng vị trí mở và đòn bẩy, sử dụng mảng theo dõi các trường hợp mở vị trí để kiểm soát tốt hơn việc mở một giao dịch.
Chiến lược này có những ưu điểm sau:
Đổi đổi số lượng đòn bẩy và vị trí, có thể điều chỉnh lỗ hổng rủi ro theo biến động của thị trường. Khi tỷ lệ biến động thấp, tăng số lượng đòn bẩy và vị trí, khi tỷ lệ biến động cao, giảm số lượng đòn bẩy và vị trí, kiểm soát rủi ro hiệu quả.
Sử dụng chỉ số ATR để tính toán số lượng vị trí mục tiêu, chỉ số này phản ánh sự biến động của thị trường và là một chỉ số hợp lý để điều chỉnh vị trí động.
Sử dụng phương pháp đặt cược kim tự tháp, mở nhiều vị trí cùng một lúc, có thể kiếm được lợi nhuận trong xu hướng.
Sử dụng mảng ghi lại mỗi giao dịch mở vị trí, bạn có thể kiểm soát rõ ràng việc mở một giao dịch, tránh các hoạt động ngược không cần thiết.
Chiến lược này có ít tham số và dễ thực hiện và vận hành.
Chiến lược được xây dựng rõ ràng, cấu trúc mã hợp lý, dễ tối ưu hóa và lặp đi lặp lại.
Chiến lược này cũng có một số rủi ro:
Chỉ số ATR chỉ phản ánh sự biến động trong một khoảng thời gian qua và không thể dự đoán được sự biến động trong tương lai, có thể dẫn đến việc điều chỉnh trái phép.
Phương pháp đặt cược kim tự tháp có thể dẫn đến sự tích lũy tổn thất khi xu hướng đảo ngược.
Lưu trữ hàng loạt chỉ áp dụng cho các hoạt động mở kho đơn giản, nếu logic mở kho phức tạp hơn thì cần cấu trúc dữ liệu phức tạp hơn.
Việc đặt mục tiêu và số lượng vị trí cần được điều chỉnh theo đặc điểm của giống, không nên bị giới hạn trong một số tham số cố định.
Chỉ số đơn lẻ dễ gây hiểu lầm, bạn có thể xem xét thêm các chỉ số dao động khác hoặc thuật toán học máy để cải thiện tính ổn định.
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Tăng chiến lược dừng lỗ, chủ động dừng lỗ khi lỗ đạt đến điểm dừng lỗ.
Tối ưu hóa tham số chỉ số, kiểm tra hiệu quả của các tham số khác nhau của chu kỳ ATR.
Thử các chiến lược mở vị trí khác nhau, chẳng hạn như mở số lượng cố định, để kiểm tra hiệu quả.
Thêm các chỉ số khác để đo lường tỷ lệ biến động, chẳng hạn như WIDTH, KD, RSI, v.v., sử dụng kết hợp.
Sử dụng phương pháp học máy để dự đoán tỷ lệ dao động, thay vì phương pháp làm mịn simplex.
Để tối ưu hóa tính toán số lượng mở vị trí, bạn có thể sử dụng hàm ATR hoặc hàm biến động.
Ghi lại các chi tiết mở vị trí như giá, thời gian mở vị trí, để phân tích chiến lược và tối ưu hóa.
Thêm chức năng tối ưu hóa tham số, tự động tối ưu hóa để tìm ra sự kết hợp tham số tốt nhất.
Chiến lược này dựa trên ATR động điều chỉnh đòn bẩy và số lượng mở vị trí, điều chỉnh lỗ hổng rủi ro trong xu hướng, có một số ưu thế. Nhưng cũng có các vấn đề về khó khăn đặt tham số, không gian tối ưu hóa chỉ số và các vấn đề đáng được tối ưu hóa hơn nữa. Nhìn chung, chiến lược này rõ ràng, dễ vận hành và dễ tối ưu hóa, đáng để nghiên cứu sâu hơn ứng dụng.
/*backtest
start: 2022-10-09 00:00:00
end: 2023-10-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("I11L - Risk Adjusted Leveraging", overlay=false, pyramiding=25, default_qty_value=20, initial_capital=20000, default_qty_type=strategy.percent_of_equity,process_orders_on_close=false, calc_on_every_tick=false)
atr = ta.atr(14) / close
avg_atr = ta.sma(atr,100)
ratio = atr / avg_atr
targetLeverage = 2 / ratio
targetOpentrades = 5 * targetLeverage
plot(targetOpentrades)
plot(strategy.opentrades)
isBuy = strategy.opentrades < targetOpentrades
isClose = strategy.opentrades > targetOpentrades + 1
var string[] openTrades = array.new_string(0)
if(isBuy)
strategy.entry("Buy"+str.tostring(array.size(openTrades)),strategy.long)
array.push(openTrades, "Buy" + str.tostring(array.size(openTrades)))
if(isClose)
if array.size(openTrades) > 0
strategy.close(array.get(openTrades, array.size(openTrades) - 1))
array.pop(openTrades)