Rakan-rakan yang membangun di Platform Dagangan Kuantum FMZ mungkin sering mempunyai keperluan seperti:
Apabila anda membangunkan strategi untuk menyewa, anda ingin mempunyai batasan dana yang berbeza pada strategi, dan batasan platform yang berbeza (mengehadkan platform yang dikendalikan oleh strategi), atau anda ingin mengehadkan konfigurasi akaun platform (tentukan strategi hanya boleh beroperasi pada akaun yang telah disepakati sebelumnya; apabila pengguna strategi menggunakan akaun lain, strategi meminta dan tidak akan lagi berdagang dan melakukan operasi lain).
Ini jelas tidak boleh dikodkan keras, kerana jika mereka dikodkan keras, semua pengguna akan tertakluk kepada batasan ini, dan mereka tidak boleh mengawal hak penggunaan yang berbeza untuk kumpulan pengguna yang berbeza.
Berdasarkan senario permintaan di atas, platform FMZ Quant Trading telah mengembangkan fungsi baru:Tetapan Metadata Kod Daftar Sewa Strategi.
Apabila membuat kod pendaftaran, anda boleh menentukan metadataMeta
Nota: Panjang Meta tidak boleh melebihi 190 aksara apabila ia menjana kod pendaftaran.
Sebagai contoh, saya adalah eksport pembangunan strategi, dan saya telah membangunkan strategi dengan pasangan dagangan spot BTC_USDT. Strategi hanya membuat kedudukan panjang (pada mulanya, ia hanya mempunyai mata wang sebut hargaQuoteCurrency
, iaitu USDT; selepas membeli, ia akan memegang kedudukan denganBaseCurrency
Jika saya mahu menyewa strategi ini, nama strategi adalahtest1
.
Seperti yang anda lihat, batasan strategi perlu direka secara khusus dalam kombinasi dengan situasi khusus strategi. Contoh ini adalah demonstrasi strategi spot, tetapi bagaimana jika strategi adalah strategi niaga hadapan? Kemudian, adalah perlu untuk mengehadkan maklumat kedudukan niaga hadapan (mengikut data kedudukan yang dikembalikan oleh GetPosition). Apabila strategi mendapati bahawa kedudukan melebihi had, logik meletakkan pesanan dan membuka kedudukan tidak lagi akan dilaksanakan (logik lain perlu dilaksanakan secara normal, seperti menutup kedudukan dan operasi lain).
Oleh itu, reka bentuk batasan tersebut perlu digabungkan dengan strategi itu sendiri; contohnya hanya arahan mudah, tanpa nilai penggunaan sebenar.
Strategi Kod 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)
}
}
Apabila membuat kod pendaftaran, cari ujian strategi1 di halaman
KlikJualan dalaman.
Klik ikon kecil
Kemudian, anda perlu menulis maklumat had dalamMetakawalan, seperti beberapa tahap penggunaan strategi yang direka dalam contoh ini:
Pertama sekali, kita menetapkanlevel1
dalam kawalan Meta, dan biarkan kod pendaftaran yang dicipta mempunyailevel1
daripada ujian1.
Selepas kod pendaftaran dibuat, penjual strategi akan menghantar kod pendaftaran kepada pembeli strategi.
Sebagai contoh, jika saya menggunakan kod pendaftaran pada akaun lain (seperti akaun pembeli) saya, saya akan mempunyai hak untuk menggunakan ujian strategi1.
Sebagai pembeli strategi, anda perlu terlebih dahulu menambah bot, pilih test1 sebagai strategi, dan tambah objek pertukaran spot WexApp (WexApp adalah bot simulasi FMZ), dan kemudian jalankan bot.
Apabila anda dapat melihat strategi berjalan dengan betul, itu bermaknalevel1
tidak mempunyai had untuk jumlah kedudukan (jumlah syiling yang dipegang oleh akaun spot).
Apabila kod pendaftaran strategi digunakan, jika pemaju strategi perlu menyesuaikan metadata kod pendaftaran yang akan dihantar, dia boleh mengubahnya sepenuhnya.
Dalam halaman
Metadata boleh diubah.
Kami telah menukar metadata kod pendaftaran lama kepadalevel3
, dan pengguna strategi perlu memulakan semula bot untuk menguji.level3
untuk mengehadkan jumlah kedudukan maksimum kepada 1 syiling.
Apabila menyewa strategi, mengikut kumpulan pengguna yang berbeza dan tahap pembayaran, anda boleh secara khusus mengkonfigurasi Metadata, untuk mengawal strategi oleh peringkat.
Sudah tentu, contoh-contoh yang disebutkan di atas adalah hanya batasan yang paling biasa dan permintaan kawalan.