avatar of 发明者量化-小小梦 发明者量化-小小梦
fokus pada mesej peribadi
4
fokus pada
1271
Pengikut

Cara menentukan data versi berbeza untuk dasar sewaan melalui metadata kod sewaan dasar

Dicipta dalam: 2021-05-20 09:53:15, dikemas kini pada: 2024-12-04 21:24:10
comments   0
hits   1470

Cara menentukan data versi berbeza untuk dasar sewaan melalui metadata kod sewaan dasar

Aplikasi metadata kod sewa strategik

Rakan-rakan yang membangun di Platform Dagangan Kuantitatif Pencipta mungkin selalunya mempunyai keperluan sedemikian:

Apabila membangunkan strategi untuk penyewaan, anda ingin menetapkan sekatan dana yang berbeza untuk strategi, menetapkan sekatan pertukaran yang berbeza untuk penyewaan strategi (menghadkan pertukaran operasi strategi), atau anda mahu menetapkan sekatan konfigurasi akaun pertukaran untuk penyewaan strategi (nyatakan Strategi ini hanya boleh digunakan dengan akaun yang telah dipersetujui terlebih dahulu Apabila pengguna strategi menggunakan akaun lain, strategi menggesa dan tidak lagi melakukan transaksi, dsb.).

Ini jelas tidak boleh dikod keras dalam kod, kerana jika ia dikodkan keras dalam kod. Semua pengguna akan tertakluk kepada sekatan ini dan tidak akan dapat mengawal kebenaran penggunaan yang berbeza untuk kumpulan pengguna yang berbeza.

Berdasarkan senario permintaan di atas, Platform Dagangan Kuantitatif Pencipta telah mengembangkan fungsi baharu:Tetapan metadata kod pendaftaran sewa dasar

Apabila membuat kod pendaftaran, anda boleh menentukan metadataMeta, data ialah rentetan. Nota: Apabila menjana kod pendaftaran, panjang Meta tidak boleh melebihi 190 aksara.

  • ### Gunakan metadata pendaftaran FMZ untuk menentukan dasar

Sebagai contoh, saya seorang pembangun strategi Saya membangunkan strategi untuk pasangan dagangan spot BTC_USDT Strateginya panjang sahaja (pada mulanya hanya mata wang sebut hargaQuoteCurrencyIaitu, USDT Sebaik sahaja anda membelinya, anda akan mempunyai mata wang dagangan.BaseCurrencyNak sewa strategi ni nama strategitest1

Dapat dilihat bahawa reka bentuk batasan strategi perlu direka bentuk khusus dalam kombinasi dengan keadaan khusus strategi. Contoh ini adalah demonstrasi strategi spot Bagaimana jika strategi itu adalah strategi niaga hadapan? Maka adalah perlu untuk mengehadkan maklumat kedudukan niaga hadapan (berdasarkan data kedudukan yang dikembalikan oleh GetPosition). Apabila strategi mendapati bahawa kedudukan melebihi had, logik pembukaan pesanan tidak akan dilaksanakan lagi (logik lain perlu dilaksanakan secara normal, seperti kedudukan penutupan).

Oleh itu, reka bentuk ini perlu khusus dalam kombinasi dengan strategi itu sendiri. Contoh ini hanyalah contoh ilustrasi yang mudah dan mungkin tidak mempunyai nilai praktikal.

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

Apabila membuat kod pendaftaran, cari dasar test1 dalam pustaka dasar dan klikItem Tindakan, klikjual

Cara menentukan data versi berbeza untuk dasar sewaan melalui metadata kod sewaan dasar

klikJualan dalaman

Cara menentukan data versi berbeza untuk dasar sewaan melalui metadata kod sewaan dasar

Klik “perengkuh kecil” untuk menetapkan metadata kod pendaftaran.

Cara menentukan data versi berbeza untuk dasar sewaan melalui metadata kod sewaan dasar

Kemudian tulis maklumat yang anda ingin hadkanMetaKawalan, seperti beberapa strategi yang direka dalam contoh ini menggunakan tahap:

  • Tahap 1: Tiada had bilangan jawatan yang dipegang.
  • Tahap 2: Bilangan maksimum pegangan dihadkan kepada 10 syiling.
  • Tahap 3: Bilangan maksimum pegangan adalah terhad kepada 1 syiling.
  • Tidak menetapkan Meta: Apabila tidak ditetapkan, had lalai pada bilangan maksimum jawatan yang dipegang ialah 0.5 syiling.

Cara menentukan data versi berbeza untuk dasar sewaan melalui metadata kod sewaan dasar

Kami mula-mula menetapkan kawalan Metalevel1, supaya kod pendaftaran yang dibuat mempunyai strategi test1level1gred. Kod pendaftaran telah dibuat:

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

Pemberi pajak strategi menghantar kod pendaftaran ini kepada penyewa strategi.

Sebagai contoh, pada masa ini saya menggunakan kod pendaftaran ini dalam akaun saya yang lain (penyewa strategi) untuk mendapatkan hak untuk menggunakan strategi test1.

Cara menentukan data versi berbeza untuk dasar sewaan melalui metadata kod sewaan dasar

  • ### Penyewa polisi menggunakan polisi

Penyewa strategi, buat akaun sebenar, gunakan test1 sebagai strategi, tambah objek pertukaran spot WexApp (WexApp ialah akaun simulasi pada platform FMZ) dan jalankan akaun sebenar.

Cara menentukan data versi berbeza untuk dasar sewaan melalui metadata kod sewaan dasar

Anda dapat melihat bahawa strategi berjalan seperti biasa, menunjukkanlevel1Tahap tidak mengehadkan bilangan jawatan yang dipegang (bilangan syiling yang dipegang dalam akaun spot).

  • ### Ubah suai Data Meta

Apabila kod pendaftaran dasar telah digunakan, jika pembangun dasar perlu melaraskan data Meta kod pendaftaran yang dikeluarkan, ia boleh diubah suai.

Dalam perpustakaan strategi, rekod jualan.

Cara menentukan data versi berbeza untuk dasar sewaan melalui metadata kod sewaan dasar

Data meta boleh diubah suai.

Cara menentukan data versi berbeza untuk dasar sewaan melalui metadata kod sewaan dasar

Kami mengubah suai kod pendaftaran sebelumnya Meta data kepadalevel3, kemudian pengguna strategi di sini memulakan semula ujian masa nyata.

Cara menentukan data versi berbeza untuk dasar sewaan melalui metadata kod sewaan dasar

Seperti yang anda lihat dalam gambar di atas,level3Had tahap maksimum untuk memegang ialah 1 syiling.

  • ### Gambaran keseluruhan

Apabila menyewa dasar mengikut kumpulan pengguna dan tahap pembayaran yang berbeza, metadata Meta tertentu dikonfigurasikan untuk mencapai kawalan dasar hierarki.

Sudah tentu, perkara di atas hanya menyenaraikan keperluan had dan kawalan yang paling biasa. Terdapat pelbagai keperluan serupa yang boleh dicapai menggunakan fungsi ini.