Làm thế nào để gán dữ liệu phiên bản khác nhau cho một chiến lược thuê thông qua Metadata mã thuê chiến lược

Tác giả:Lydia., Tạo: 2022-11-09 10:34:37, Cập nhật: 2023-09-20 10:59:17

img

Áp dụng metadata mã thuê chiến lược

Các đối tác làm việc với tư cách là nhà phát triển trên nền tảng giao dịch lượng tử FMZ thường có thể có nhu cầu như vậy:

Khi phát triển một chiến lược cho thuê, bạn có thể muốn có các hạn chế vốn khác nhau đối với chiến lược, và các hạn chế trao đổi khác nhau đối với hợp đồng cho thuê chiến lược (thị trường trao đổi hạn chế hoạt động chiến lược), hoặc các hạn chế về cấu hình tài khoản trao đổi khi bạn muốn cho thuê chiến lược (chỉ xác định rằng chiến lược này chỉ có thể vận hành tài khoản được thỏa thuận trước và người sử dụng chiến lược sẽ không giao dịch khi sử dụng các tài khoản khác).

Những điều này rõ ràng không thể được viết trong mã, bởi vì nếu chúng được viết trong mã, tất cả người dùng sẽ phải tuân thủ các điều kiện này, và sẽ không thể thực hiện điều khiển cho các nhóm người dùng khác nhau với quyền sử dụng khác nhau.

Dựa trên kịch bản nhu cầu trên, nền tảng giao dịch FMZ Quant được mở rộng với một chức năng mới: cài đặt mã đăng ký thuê chiến lược metadata

Khi tạo mã đăng ký, bạn có thể chỉ định một siêu dữ liệuMeta, và dữ liệu là một chuỗi. Chú ý: Độ dài của meta không thể vượt quá 190 ký tự khi tạo mã đăng ký.

· Hạn chế chiến lược bằng cách sử dụng siêu dữ liệu mã đăng ký FMZ

Ví dụ, nếu tôi là một chiến lược phát triển hotshot và tôi đã phát triển một cặp giao dịch tại chỗ cho BTC_USDT, và nó đi dài chỉ (có chỉ tiền tệ định giáQuoteCurrencyban đầu, đó là USDT; sau khi mua, có giao dịch tiền tệBaseCurrencyTôi muốn thuê chiến lược này, được đặt tên làtest1.

Có thể thấy rằng thiết kế giới hạn của chiến lược cần phải được thiết kế theo tình huống cụ thể của chiến lược. Ví dụ là một minh chứng của chiến lược tại chỗ. 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 thấy vị trí vượt quá giới hạn, nó sẽ không thực hiện logic mở vị trí (các logic khác cần được thực hiện bình thường, chẳng hạn như đóng vị trí).

Do đó, các thiết kế này cần phải cụ thể cho chính chiến lược. ví dụ ở đây chỉ là một minh họa đơn giản và có thể không có ích thực tế.

Mã nguồn chiến lược:

function main() {
    // The maximum asset value of the denominated currency allowed by the strategy
    var maxBaseCurrency = null
    
    //Obtain the metadata when creating the registration code
    var level = GetMeta()
    
    // Detecting the conditions corresponding to Meta
    if (level == "level1") {
        // -1 is not limited
        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 asset values
        var acc = exchange.GetAccount()
        if (maxBaseCurrency != -1 && maxBaseCurrency < acc.Stocks + acc.FrozenStocks) {
            // Stop executing strategic trading logic
            LogStatus(_D(), "Positions exceeding the usage limit of the registration code will no longer execute the strategy trading logic!")
            continue
        }
        
        // Other trading logic
        
        // Output the status bar information normally
        LogStatus(_D(), "The strategy is running properly! ticker data:\n", ticker)
    }
}

Khi tạo mã đăng ký, hãy tìm bài kiểm tra chiến lược1 trong thư viện chiến lược, nhấp vào mục hành động ở bên phải, nhấp vào Rent,

img

và sau đó nhấp vào Internal Sale.

img

Nhấp vào Little Wrench để đặt mã đăng ký siêu dữ liệu.

img

Sau đó viết thông tin được đủ điều kiện vào điều khiển Meta, chẳng hạn như một số mức sử dụng chiến lược được thiết kế trong ví dụ này:

· cấp 1: Không giới hạn số lượng vị trí. · level2: Giới hạn số lượng tối đa các vị trí lên 10 đồng xu. · level3: Giới hạn số lượng tối đa các vị trí đến 1 đồng xu. Không cài đặt Meta: Khi không có cài đặt Meta, giới hạn vị trí tối đa mặc định là 0,5 đồng xu.

img

Đầu tiên, chúng ta đặtlevel1cho điều khiển Meta, để mã đăng ký được tạo cólevel1mức độ của chiến lược test1. Mã đăng ký được tạo:

Purchase address: https://www.fmz.com/m/s/282900
Registration code: 7af0c24404b268812c97b55d073c1867

Người cho thuê chiến lược gửi mã đăng ký cho người thuê chiến lược.

· Chiến lược sử dụng cho người thuê chiến lược

Người thuê chiến lược tạo một bot thực sự, sử dụng chiến lược test1, thêm một đối tượng WexApp Spot Exchange (WexApp là một bản demo của nền tảng FMZ), chạy nó.

· Thay đổi dữ liệu meta

Khi mã đăng ký chiến lược đã được sử dụng, nó cũng có thể được sửa đổi nếu nhà phát triển chiến lược cần điều chỉnh dữ liệu Meta của mã đăng ký được phát hành.

Dữ liệu siêu có thể được sửa đổi trong Thư viện Chiến lược, Bảng bán hàng.

Chúng tôi đã thay đổi dữ liệu Meta của mã đăng ký trước đó thànhlevel3,

img

Sau đó người sử dụng chiến lược bắt đầu lại thử nghiệm.

· Tóm lại

Khi các chiến lược cho thuê dựa trên các nhóm người dùng khác nhau và các mức thanh toán khác nhau, siêu dữ liệu được cấu hình đặc biệt để đạt được kiểm soát chiến lược phân cấp.

Tất nhiên, những điều trên chỉ liệt kê các yêu cầu giới hạn và kiểm soát phổ biến nhất. Có nhiều yêu cầu tương tự có thể được thực hiện bằng cách sử dụng chức năng này.


Thêm nữa