Làm thế nào để chỉ định các phiên bản khác nhau của dữ liệu cho chiến lược thuê bởi mã thuê của nó siêu dữ liệu

Tác giả:Ninabadass, Tạo: 2022-03-23 08:54:31, Cập nhật: 2022-04-14 09:10:37

Ứng dụng chiến lược Mã thuê Metadata

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ệuMetaLưu ý: Độ dài của Meta không thể vượt quá 190 ký tự khi nó tạo mã đăng ký.

  • Sử dụng FMZ Register Code Metadata để giới hạn các chiến lược

    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ớiBaseCurrencyNế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 Strategy và nhấp vào bên phảiHành độngnút, và sau đó nhấp vàoThuê nhà.

img

NhấpBán hàng nội bộ.

img

Nhấp vào biểu tượng nhỏ wrench, và đặt siêu dữ liệu của mã đăng ký.

img

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:

  • level1: không giới hạn giá trị vị thế;
  • level2: giới hạn cho số tiền đặt hàng tối đa là 10 đồng xu;
  • level3: giới hạn cho số tiền đặt hàng tối đa là 1 đồng xu;
  • Meta không được thiết lập: khi không được thiết lập, giới hạn mặc định cho số tiền vị trí tối đa là 0,5 coin.

img

Trước hết, chúng ta đặtlevel1trong điều khiển Meta, và để mã đăng ký được tạo cólevel1củ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.

img

  • Cách người mua chiến lược sử dụng chiến lược

    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.

img

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àlevel1khô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).

  • Thay đổi siêu dữ liệu

    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 Chiến lược , nó là trong hồ sơ bán hàng.

    img

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

    img

    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.

  • Kết luận

    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.


Thêm nữa