
Những người bạn phát triển trên Nền tảng giao dịch định lượng Inventor thường có những nhu cầu sau:
Khi phát triển chiến lược cho thuê, bạn muốn đặt các hạn chế quỹ khác nhau cho chiến lược, đặt các hạn chế trao đổi khác nhau cho chiến lược cho thuê (hạn chế trao đổi hoạt động chiến lược) hoặc bạn muốn đặt các hạn chế về cấu hình tài khoản trao đổi cho chiến lược cho thuê (chỉ định Chiến lược này chỉ có thể được sử dụng với các tài khoản đã được thỏa thuận trước. Khi người dùng chiến lược sử dụng các tài khoản khác, chiến lược sẽ nhắc nhở và không thực hiện giao dịch nữa, v.v.).
Rõ ràng là những điều này không thể được mã hóa cứng trong mã, vì nếu chúng được mã hóa cứng trong mã. Tất cả người dùng sẽ phải tuân theo những hạn chế này và không thể kiểm soát các quyền sử dụng khác nhau cho các nhóm người dùng khác nhau.
Dựa trên các kịch bản nhu cầu trên, Nền tảng giao dịch định lượng Inventor đã mở rộng các chức năng mới:Cài đặt siêu dữ liệu mã đăng ký cho thuê chính sách
Khi tạo mã đăng ký, bạn có thể chỉ định siêu dữ liệuMeta, dữ liệu là một chuỗi. Lưu ý: Khi tạo mã đăng ký, độ dài của Meta không được vượt quá 190 ký tự.
Ví dụ, tôi là một nhà phát triển chiến lược. Tôi đã phát triển một chiến lược cho cặp giao dịch giao ngay BTC_USDT. Chiến lược này chỉ là dài hạn (ban đầu chỉ là đồng tiền báo giáQuoteCurrencyTức là USDT. Khi bạn mua nó, bạn sẽ có một loại tiền tệ giao dịch.BaseCurrencyTôi muốn thuê chiến lược này, tên chiến lược làtest1。
Có thể thấy rằng việc thiết kế các hạn chế chiến lược cần phải được thiết kế cụ thể kết hợp với các hoàn cảnh cụ thể của chiến lược. Ví dụ này là minh họa cho chiến lược giao ngay. Còn nếu chiến lược là chiến lược tương lai thì sao? Sau đó, cần phải giới hạn thông tin vị thế tương lai (dựa trên dữ liệu vị thế được trả về bởi GetPosition). Khi chiến lược phát hiện vị thế vượt quá giới hạn, logic mở lệnh sẽ không còn được thực hiện nữa (logic khác cần được thực hiện bình thường, chẳng hạn như đóng vị thế).
Do đó, các thiết kế này cần phải cụ thể khi kết hợp với chính chiến lược. Ví dụ này chỉ là một ví dụ minh họa đơn giản và có thể không có giá trị thực tế.
Mã nguồn chiến lược:
function main() {
// 策略允许的计价币最大资产数值
var maxBaseCurrency = null
// 获取创建注册码时的元数据
var level = GetMeta()
// 检测Meta对应的条件
if (level == "level1") {
// -1为不限制
maxBaseCurrency = -1
} else if (level == "level2") {
maxBaseCurrency = 10
} else if (level == "level3") {
maxBaseCurrency = 1
} else {
maxBaseCurrency = 0.5
}
while(1) {
Sleep(1000)
var ticker = exchange.GetTicker()
// 检测资产数值
var acc = exchange.GetAccount()
if (maxBaseCurrency != -1 && maxBaseCurrency < acc.Stocks + acc.FrozenStocks) {
// 停止执行策略交易逻辑
LogStatus(_D(), "持仓超过注册码的使用限定,不再执行策略交易逻辑!")
continue
}
// 其它交易逻辑
// 正常输出状态栏信息
LogStatus(_D(), "策略正常运行!ticker数据:\n", ticker)
}
}
Khi tạo mã đăng ký, hãy tìm chính sách test1 trong thư viện chính sách và nhấp vàoMục hành động, nhấp chuộtbán。

Nhấp chuộtBán nội bộ。

Nhấp vào “cờ lê nhỏ” để thiết lập siêu dữ liệu mã đăng ký.

Sau đó viết thông tin bạn muốn giới hạn vàoMetaCác biện pháp kiểm soát, chẳng hạn như một số chiến lược được thiết kế trong ví dụ này sử dụng các cấp độ:

Đầu tiên chúng ta thiết lập điều khiển Metalevel1, để mã đăng ký được tạo có chiến lược test1level1cấp.
Mã đăng ký đã được tạo:
购买地址: https://www.fmz.com/m/s/282900
注册码: 7af0c24404b268812c97b55d073c1867
Bên cho thuê chiến lược gửi mã đăng ký này cho bên thuê chiến lược.
Ví dụ, hiện tại tôi sử dụng mã đăng ký này trong tài khoản khác của mình (người thuê chiến lược) để có được quyền sử dụng chiến lược test1.

Người thuê chiến lược, tạo một tài khoản thực, sử dụng test1 làm chiến lược, thêm đối tượng trao đổi giao ngay WexApp (WexApp là tài khoản mô phỏng trên nền tảng FMZ) và chạy tài khoản thực.

Bạn có thể thấy rằng chiến lược đang chạy bình thường, cho thấylevel1Mức này không giới hạn số lượng vị thế nắm giữ (số lượng tiền được nắm giữ trong tài khoản giao ngay).
Khi mã đăng ký chính sách đã được sử dụng, nếu nhà phát triển chính sách cần điều chỉnh Siêu dữ liệu của mã đăng ký đã cấp, mã này có thể được sửa đổi.
Trong thư viện chiến lược, bán hồ sơ.

Siêu dữ liệu có thể được sửa đổi.

Chúng tôi sửa đổi mã đăng ký trước đó Meta data thànhlevel3, sau đó người dùng chiến lược ở đây sẽ khởi động lại thử nghiệm thời gian thực.

Như bạn có thể thấy trong hình trên,level3Mức giới hạn tối đa để nắm giữ là 1 xu.
Khi cho thuê chính sách theo các nhóm người dùng và mức thanh toán khác nhau, siêu dữ liệu Meta cụ thể được cấu hình để đạt được khả năng kiểm soát chính sách theo thứ bậc.
Tất nhiên, những điều trên chỉ liệt kê những hạn chế và yêu cầu kiểm soát phổ biến nhất. Có nhiều yêu cầu tương tự có thể đạt được khi sử dụng chức năng này.