avatar of 发明者量化-小小梦 发明者量化-小小梦
fokus pada Pesan pribadi
4
fokus pada
1271
Pengikut

Cara menentukan data versi yang berbeda untuk kebijakan persewaan melalui metadata kode persewaan kebijakan

Dibuat di: 2021-05-20 09:53:15, diperbarui pada: 2024-12-04 21:24:10
comments   0
hits   1470

Cara menentukan data versi yang berbeda untuk kebijakan persewaan melalui metadata kode persewaan kebijakan

Penerapan metadata kode sewa strategis

Teman-teman yang mengembangkan di Platform Perdagangan Kuantitatif Inventor mungkin sering memiliki kebutuhan seperti ini:

Saat mengembangkan strategi untuk penyewaan, Anda ingin menetapkan batasan dana yang berbeda untuk strategi tersebut, menetapkan batasan pertukaran yang berbeda untuk penyewaan strategi (membatasi operasi pertukaran strategi), atau Anda ingin menetapkan batasan konfigurasi akun pertukaran untuk penyewaan strategi (tentukan Strategi ini hanya dapat digunakan dengan akun yang telah disetujui sebelumnya. Ketika pengguna strategi menggunakan akun lain, strategi akan meminta dan tidak lagi melakukan transaksi, dll.).

Hal ini jelas tidak dapat dikodekan secara keras dalam kode, karena jika mereka dikodekan secara keras dalam kode. Semua pengguna akan tunduk pada batasan ini, dan tidak akan mungkin untuk mengontrol izin penggunaan yang berbeda untuk kelompok pengguna yang berbeda.

Berdasarkan skenario permintaan di atas, Platform Perdagangan Kuantitatif Inventor telah memperluas fungsi baru:Pengaturan metadata kode registrasi penyewaan kebijakan

Saat membuat kode registrasi, Anda dapat menentukan metadataMeta, data adalah string. Catatan: Saat membuat kode registrasi, panjang Meta tidak boleh melebihi 190 karakter.

  • ### Gunakan metadata registri FMZ untuk menentukan kebijakan

Misalnya, saya adalah pengembang strategi. Saya mengembangkan strategi untuk pasangan perdagangan spot BTC_USDT. Strateginya hanya long (awalnya hanya mata uang kutipan)QuoteCurrencyYaitu, USDT. Setelah Anda membelinya, Anda akan memiliki mata uang perdagangan.BaseCurrencySaya ingin menyewa strategi ini, nama strateginya adalahtest1

Dapat dilihat bahwa perancangan batasan-batasan strategi perlu dirancang secara spesifik dengan menggabungkan dengan keadaan-keadaan spesifik dari strategi tersebut. Contoh ini merupakan demonstrasi strategi spot. Bagaimana jika strategi tersebut merupakan strategi berjangka? Kemudian perlu membatasi informasi posisi berjangka (berdasarkan data posisi yang dikembalikan oleh GetPosition). Ketika strategi menemukan bahwa posisi melampaui batas, logika pembukaan order tidak akan lagi dieksekusi (logika lain perlu dieksekusi secara normal, seperti penutupan posisi).

Oleh karena itu, rancangan ini harus spesifik jika dikombinasikan dengan strategi itu sendiri. Contoh ini hanyalah contoh ilustrasi sederhana dan mungkin tidak memiliki nilai praktis.

Kode sumber strategi:

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

Saat membuat kode registrasi, temukan kebijakan test1 di pustaka kebijakan dan klikItem Tindakan, klikmenjual

Cara menentukan data versi yang berbeda untuk kebijakan persewaan melalui metadata kode persewaan kebijakan

KlikPenjualan internal

Cara menentukan data versi yang berbeda untuk kebijakan persewaan melalui metadata kode persewaan kebijakan

Klik “kunci pas kecil” untuk mengatur metadata kode registrasi.

Cara menentukan data versi yang berbeda untuk kebijakan persewaan melalui metadata kode persewaan kebijakan

Kemudian tuliskan informasi yang ingin Anda batasiMetaKontrol, seperti beberapa strategi yang dirancang dalam contoh ini menggunakan level:

  • Level 1: Tidak ada batasan jumlah posisi yang dipegang.
  • Level 2: Jumlah maksimum kepemilikan dibatasi hingga 10 koin.
  • Level 3: Jumlah maksimum kepemilikan dibatasi hingga 1 koin.
  • Tidak menyetel Meta: Bila tidak disetel, batas default pada jumlah maksimum posisi yang dipegang adalah 0,5 koin.

Cara menentukan data versi yang berbeda untuk kebijakan persewaan melalui metadata kode persewaan kebijakan

Pertama kita atur kontrol Metalevel1, sehingga kode registrasi yang dibuat memiliki strategi test1level1nilai. Kode registrasi telah dibuat:

  购买地址: https://www.fmz.com/m/s/282900
  注册码: 7af0c24404b268812c97b55d073c1867

Penyewa strategi mengirimkan kode registrasi ini kepada penyewa strategi.

Misalnya, saat ini saya menggunakan kode registrasi ini di akun saya yang lain (penyewa strategi) untuk mendapatkan hak menggunakan strategi test1.

Cara menentukan data versi yang berbeda untuk kebijakan persewaan melalui metadata kode persewaan kebijakan

  • ### Penyewa kebijakan menggunakan kebijakan

Penyewa strategi, buat akun nyata, gunakan test1 sebagai strategi, tambahkan objek pertukaran spot WexApp (WexApp adalah akun simulasi pada platform FMZ), dan jalankan akun nyata.

Cara menentukan data versi yang berbeda untuk kebijakan persewaan melalui metadata kode persewaan kebijakan

Anda dapat melihat bahwa strategi berjalan normal, menunjukkanlevel1Level ini tidak membatasi jumlah posisi yang dimiliki (jumlah koin yang dimiliki dalam akun spot).

  • ### Ubah Meta Data

Setelah kode registrasi polis digunakan, jika pengembang polis perlu menyesuaikan Meta data dari kode registrasi yang diterbitkan, kode tersebut dapat dimodifikasi.

Di perpustakaan strategi, jual rekaman.

Cara menentukan data versi yang berbeda untuk kebijakan persewaan melalui metadata kode persewaan kebijakan

Meta data dapat dimodifikasi.

Cara menentukan data versi yang berbeda untuk kebijakan persewaan melalui metadata kode persewaan kebijakan

Kami mengubah Meta data kode registrasi sebelumnya menjadilevel3, lalu pengguna strategi di sini memulai kembali pengujian waktu nyata.

Cara menentukan data versi yang berbeda untuk kebijakan persewaan melalui metadata kode persewaan kebijakan

Seperti yang Anda lihat pada gambar di atas,level3Batas level maksimum untuk dimiliki adalah 1 koin.

  • ### Ringkasan

Saat menyewakan polis menurut berbagai kelompok pengguna dan tingkat pembayaran, metadata Meta tertentu dikonfigurasi untuk mencapai kontrol kebijakan hierarkis.

Tentu saja, di atas hanya mencantumkan batasan dan persyaratan kontrol yang paling umum. Ada berbagai persyaratan serupa yang dapat dicapai menggunakan fungsi ini.