Cara Menentukan Versi Berbeda dari Data untuk Strategi Sewa dengan Metadata Kode Sewa

Penulis:Ninabadass, Dibuat: 2022-03-23 08:54:31, Diperbarui: 2022-04-14 09:10:37

Penerapan Strategi Metadata kode sewa

Teman-teman yang mengembangkan di FMZ Quant Trading Platform mungkin sering memiliki kebutuhan seperti:

Ketika Anda mengembangkan strategi untuk menyewa, Anda ingin memiliki keterbatasan dana yang berbeda pada strategi, dan keterbatasan platform yang berbeda ( membatasi platform yang dioperasikan oleh strategi), atau Anda ingin membatasi konfigurasi akun platform (tentukan strategi hanya dapat beroperasi pada akun yang disepakati sebelumnya; ketika pengguna strategi menggunakan akun lain, strategi meminta dan tidak akan lagi berdagang dan melakukan operasi lainnya).

Ini jelas tidak dapat dikodekan keras, karena jika mereka dikodekan keras, semua pengguna akan tunduk pada keterbatasan ini, dan mereka tidak dapat mengontrol hak penggunaan yang berbeda untuk kelompok pengguna yang berbeda.

Berdasarkan skenario permintaan di atas, platform FMZ Quant Trading telah memperluas fungsi baru:Peraturan Metadata Kode Daftar Sewa Strategi.

Saat membuat kode register, Anda dapat menentukan metadataMetaCatatan: Panjang Meta tidak dapat melebihi 190 karakter saat menghasilkan kode register.

  • Gunakan Metadata Kode FMZ untuk membatasi strategi

    Sebagai contoh, saya adalah eksportir pengembangan strategi, dan saya telah mengembangkan strategi dengan pasangan perdagangan spot BTC_USDT. Strategi hanya membuat posisi panjang (pada awalnya, hanya memiliki mata uang kutipanQuoteCurrency, yaitu USDT; setelah membeli, ia akan memegang posisi denganBaseCurrencyJika saya ingin menyewa strategi ini, nama strategi adalahtest1.

    Seperti yang dapat Anda lihat, keterbatasan strategi harus dirancang secara khusus dalam kombinasi dengan situasi spesifik strategi. Contoh ini adalah demonstrasi strategi spot, tetapi bagaimana jika strategi adalah strategi futures? Kemudian, perlu untuk membatasi informasi posisi berjangka (sesuai dengan data posisi yang dikembalikan oleh GetPosition). Ketika strategi menemukan bahwa posisi melebihi batas, logika menempatkan pesanan dan membuka posisi tidak akan lagi dieksekusi (logika lain perlu dieksekusi secara normal, seperti menutup posisi dan operasi lainnya).

    Oleh karena itu, desain keterbatasan tersebut perlu dikombinasikan dengan strategi itu sendiri; contohnya hanyalah instruksi sederhana, tanpa nilai penggunaan yang sebenarnya.

    Strategi Kode sumber:

    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)
        }
    }
    

    Saat membuat kode register, cari tes strategi1 di halaman Strategy, dan klik kananTindakantombol, dan kemudian klikSewa.

img

KlikPenjualan Internal.

img

Klik ikon kecil wrench, dan atur metadata kode pendaftaran.

img

Kemudian, Anda perlu menulis informasi pembatasan diMetakontrol, seperti beberapa tingkat penggunaan strategi yang dirancang dalam contoh ini:

  • level1: tidak ada batas untuk jumlah posisi;
  • level2: batas untuk jumlah posisi maksimum menjadi 10 koin;
  • level3: batas untuk jumlah posisi maksimum 1 koin;
  • Meta tidak ditetapkan: bila tidak ditetapkan, batas default untuk jumlah posisi maksimum adalah 0,5 koin.

img

Pertama-tama, kita mengaturlevel1dalam kontrol Meta, dan biarkan kode register yang dibuat memilikilevel1dari tes1. Setelah kode register dibuat, penjual strategi akan mengirim kode register ke pembeli strategi.

Misalnya, jika saya menggunakan kode register pada akun lain (seperti akun pembeli) saya, saya akan memiliki hak untuk menggunakan tes strategi1.

img

  • Bagaimana Pembeli Strategi Menggunakan Strategi

    Sebagai pembeli strategi, Anda harus terlebih dahulu menambahkan bot, memilih test1 sebagai strategi, dan menambahkan objek pertukaran spot WexApp (WexApp adalah bot simulasi FMZ), dan kemudian menjalankan bot.

img

Ketika Anda dapat melihat strategi berjalan dengan benar, itu berartilevel1tidak memiliki batas untuk jumlah posisi (jumlah koin yang disimpan di rekening spot).

  • Mengubah Metadata

    Ketika kode register strategi digunakan, jika pengembang strategi perlu menyesuaikan metadata kode register yang akan dikirim, ia dapat memodifikasinya sepenuhnya.

    Di halaman Strategy, itu dalam catatan penjualan.

    img

    Metadata dapat dimodifikasi.

    img

    Kami telah mengubah metadata dari kode register lama menjadilevel3, dan pengguna strategi perlu memulai kembali bot untuk menguji.level3untuk membatasi jumlah posisi maksimum menjadi 1 koin.

  • Kesimpulan

    Ketika menyewa strategi, sesuai dengan kelompok pengguna yang berbeda dan tingkat pembayaran, Anda dapat secara khusus mengkonfigurasi Metadata, untuk mengontrol strategi dengan tingkat.

    Tentu saja, contoh-contoh yang disebutkan di atas hanya batasan yang paling umum dan permintaan kontrol.


Lebih banyak