Bạn bè phát triển trên FMZ Quant Trading Platform thường có thể có những nhu cầu như vậy:
Khi bạn phát triển một chiến lược cho thuê, bạn muốn có các giới hạn khác nhau về số tiền trên chiến lược, và các giới hạn nền tảng khác nhau (giới hạn các nền tảng được điều hành bởi chiến lược), hoặc bạn muốn giới hạn cấu hình tài khoản nền tảng (chỉ xác định chiến lược có thể hoạt động trên các tài khoản đã được thỏa thuận trước; khi người sử dụng chiến lược sử dụng các tài khoản khác, chiến lược sẽ nhắc và sẽ không còn giao dịch và thực hiện các hoạt động khác).
Những điều này rõ ràng không thể được mã hóa cứng, bởi vì nếu chúng được mã hóa cứng, tất cả người dùng sẽ phải chịu những hạn chế này, và họ không thể kiểm soát cá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 FMZ Quant Trading đã mở rộng một chức năng mới:Định vị Metadata mã đăng ký thuê chiến lược.
Khi tạo mã đăng ký, bạn có thể chỉ định một siêu dữ liệuMeta
Lưu ý: Độ dài của Meta không thể vượt quá 190 ký tự khi nó tạo mã đăng ký.
Ví dụ, tôi là một xuất khẩu của phát triển chiến lược, và tôi đã phát triển một chiến lược với một cặp giao dịch tại chỗ của BTC_USDT. Chiến lược chỉ làm cho các vị trí dài (ban đầu, nó chỉ có đồng tiền báo giáQuoteCurrency
, cụ thể là USDT; sau khi mua vào, nó sẽ giữ một vị trí vớiBaseCurrency
Nếu tôi muốn cho thuê chiến lược này, tên chiến lược làtest1
.
Như bạn có thể thấy, các giới hạn của chiến lược cần phải được thiết kế cụ thể kết hợp với tình huống cụ thể của chiến lược. Ví dụ này là một minh chứng của một chiến lược tại chỗ, nhưng nếu chiến lược là một chiến lược tương lai thì sao? Sau đó, cần phải giới hạn thông tin vị trí tương lai (theo dữ liệu vị trí được trả về bởi GetPosition). Khi chiến lược tìm thấy vị trí vượt quá giới hạn, logic đặt lệnh và mở vị trí sẽ không còn được thực hiện (các logic khác cần được thực hiện bình thường, chẳng hạn như đóng vị trí và các hoạt động khác).
Do đó, thiết kế các hạn chế đó cần phải được kết hợp với chính chiến lược; ví dụ chỉ là một hướng dẫn đơn giản, không có giá trị sử dụng thực sự.
Chiến lược Mã nguồn:
function main() {
// The maximum asset value of the quote currency allowed by the strategy
var maxBaseCurrency = null
// Obtain the metadata when the register code is created
var level = GetMeta()
// Detect the corresponding conditions of Meta
if (level == "level1") {
// -1 means no limit
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()
// Detect the assets amount
var acc = exchange.GetAccount()
if (maxBaseCurrency != -1 && maxBaseCurrency < acc.Stocks + acc.FrozenStocks) {
// Stop executing the strategy trading logic
LogStatus(_D(), "If the position exceeds the usage limits of register code, the strategy trading logic will no longer be executed!")
continue
}
// Other trading logic
// Normally export the information of status bar
LogStatus(_D(), "The strategy is operating normally!ticker data:\n", ticker)
}
}
Khi tạo mã đăng ký, hãy tìm bài kiểm tra chiến lược1 trong trang
NhấpBán hàng nội bộ.
Nhấp vào biểu tượng nhỏ
Sau đó, bạn cần phải viết thông tin giới hạn trongMetakiểm soát, chẳng hạn như một số mức sử dụng của chiến lược được thiết kế trong ví dụ này:
Trước hết, chúng ta đặtlevel1
trong điều khiển Meta, và để mã đăng ký được tạo cólevel1
của thử nghiệm1.
Sau khi mã đăng ký được tạo, người bán chiến lược sẽ gửi mã đăng ký cho người mua chiến lược.
Ví dụ: nếu tôi sử dụng mã đăng ký trên một tài khoản khác của tôi (như tài khoản của người mua), tôi sẽ có quyền sử dụng bài kiểm tra chiến lược1.
Là một người mua chiến lược, trước tiên bạn cần thêm một bot, chọn test1 làm chiến lược, và thêm một đối tượng trao đổi điểm WexApp (WexApp là bot mô phỏng của FMZ), và sau đó chạy bot.
Khi bạn có thể thấy chiến lược được thực hiện đúng cách, điều đó có nghĩa làlevel1
không có giới hạn đối với số tiền vị trí (số tiền xu được giữ trên tài khoản giao ngay).
Khi mã đăng ký chiến lược được sử dụng, nếu nhà phát triển chiến lược cần điều chỉnh siêu dữ liệu của mã đăng ký để được gửi, anh ta có thể hoàn toàn sửa đổi nó.
Trong trang
Các siêu dữ liệu có thể được sửa đổi.
Chúng tôi đã thay đổi siêu dữ liệu của mã đăng ký cũ thànhlevel3
, và người dùng chiến lược cần khởi động lại bot để kiểm tra.level3
để giới hạn số tiền vị thế tối đa là 1 đồng xu.
Khi thuê một chiến lược, theo các nhóm người dùng khác nhau và mức thanh toán, bạn có thể cấu hình cụ thể các siêu dữ liệu, để kiểm soát chiến lược theo cấp độ.
Tất nhiên, các ví dụ được đề cập ở trên chỉ là những hạn chế và yêu cầu kiểm soát phổ biến nhất.