Pencipta platform dagangan kuantitatifDataran StrategyTerdapat banyak strategi menarik yang digunakan pada masa itu untuk pertukaran mata wang digital.rest
Banyak strategi yang dibuat berdasarkan antara muka API.rest
Antara yang paling menarik ialah perbandingan antara pasaran dan pelaburan.rest
Keadaan yang menyebabkan kegagalan antara muka yang menyebabkan dasar tidak dapat digunakan.websocket
Sokongan antara muka memerlukan perubahan tertentu pada kod dasar, yang biasanya lebih rumit (mengubah dasar jauh lebih sukar daripada menulis semula).
Bagaimana anda boleh menggunakan strategi tanpa mengubahnya?websocket
Bagaimana pula dengan perisian?
Di sini, kita dapat melihat fleksibiliti besar platform dagangan kuantitatif pencipta, yang boleh kita gunakan untuk:
exchange.GetTicker
Fungsi Hook yang akan diambil ialah Hook Operations.Jadi, tanpa mengubah satu baris kod, letakkan strategi anda di bawah.websocket
Pemandu data yang didorong oleh antarmuka perniagaan mula beroperasi.
Penggunaan Bahasa Penulisan KodJavaScript
Bahasa.
Sebagai contoh, kita perlu mengubah strategi lama klasik, "Pembunuh ais".
Kita mulakan dengan melihat kod strategi dan mendapati bahawa strategi ini didorong oleh pasaran tik, yang digunakan terutamanya oleh peniaga dan peniaga.ticker
Dalam dataBuy
、Sell
、Last
Ini adalah ciri-ciri yang sangat penting.ticker
Maklumat dari fungsi API platform FMZ:exchange.GetTicker
Kita akan cuba untuk mendapatkannya.exchange.GetTicker
FungsiHook
Operasi (iaitu menulis semula dan menggantikannya dengan versi lain) boleh dilakukan.
Namun, kita tidak boleh mengubahnya dalam strategi pemecah ais, kerana ia akan mempengaruhi strategi, kita hanya mahu pairing yang lancar!
Oleh itu, pelakon utama seterusnya perlu masuk.
init
Perpaduan fungsiKami telah mencipta "Library Template" dan menamakannya:Seamless CONWS, Kosongkan kod awal.
Kemudian beriSeamless CONWSTemplat menetapkan 2 parameter
digunakan untuk mengawal sama ada ia akan digunakanwebsocket
Fungsi antara muka, kawalan untuk menentukan antara muka industri tertentu yang dibuka. Dalam kes ini, hanya untukexchange.GetTicker
Antarmuka melakukan operasi hook. Jadi, parameternya hanya membukaGetTicker
Antara muka adalah parameter kawalan mod websocket: Hook_GetTicker.
Templat telah dibuat, anda boleh menulis pertukaran tertentu untuk diakses di dalam templat.websocket
Antara muka, melanggan beberapa industri, dan kemudian menunggu pertukaran untuk memindahkan data. Kod khusus tidak lagi diulas, anda boleh melihat kod SeamlessConnWS (dah terbuka) /dokumen API.init
Fungsi dan pembolehubah global_DictConnectCreater
、_ConnMap
:
Kode:
var _DictConnectCreater = {
"Huobi" : WSConnecter_Huobi,
"Binance" : WSConnecter_Binance,
}
var _ConnMap = {}
function init () {
if (IsUsedWebSocket) {
var connectCreater = null
if (exchanges.length != 1) {
Log("切换为ws接口只针对 exchange 交易所对象(即第一个添加的交易所对象)")
}
var isFound = false
for (var name in _DictConnectCreater) {
if (exchange.GetName() == name) {
connectCreater = _DictConnectCreater[name]
isFound = true
}
}
if (!isFound) {
throw "没有找到实现"
}
if (Hook_GetTicker) {
var symbol = exchange.GetCurrency()
_ConnMap.GetTicker = connectCreater("GetTicker", symbol)
exchange.GetTicker = function () {
return _C(_ConnMap.GetTicker.Read)
}
}
// ...
}
}
Anda boleh lihat bahawa templat ini hanya menggunakan dua bursa.websocket
Perkhidmatan ini juga menyediakan perkhidmatan untuk pengguna yang ingin membeli dan menjual barang-barang dalam talian.init
Fungsi ini adalah untuk membuat strategi Icebreaker merujuk kepadaSeamless CONWSSelepas templat, apabila cakera sebenar berjalan, ia akan dijalankan terlebih dahuluinit
Fungsi, boleh menghidupkan secara automatikexchange.GetTicker
Kandungan fungsi diganti untuk digunakanwebsocket
Pelaksanaan kod antara muka untuk mencapai pairing yang lancarwebsocket
Pergilah.
Ia mudah!Seamless CONWSSetelah template disalin ke dalam perpustakaan dasar mereka, mereka hanya boleh menggunakan rujukan kepada strategi "Pembatas ais", seperti di bawah:
Select, save, and that's it.
Rancangan untuk mencipta "pemutus ais", robot rak sebenar, pertukaran memilih BinanceSaya tidak tahu apa yang berlaku. MemulakanSeamless CONWSParameter kawalan pada templat.
Bermula:
Untuk memudahkan anda melihat data yang disuntik, saya khususkan pada baris 157, ditambah dengan kod untuk mencetak log, yang akan mengeluarkan data yang disuntik oleh bursa.
Di bawah ini adalah senarai gambar robot yang digunakan oleh pengguna.
Dengan cara ini, tanpa mengubah satu baris kod dasar, penyambungan lancar menggunakan antara muka pasaran websocket dan dasar dicapai.
Dalam kes ini, ia adalah untuk kegunaanexchange.GetTicker
Penjelasan mengenai strategi fungsi antarmuka sektor, antara muka sektor lain sepertiexchange.GetDepth
、exchange.GetTrades
、exchange.GetRecords
Ini juga merupakan satu kaedah yang sama!Seamless CONWSDi samping itu, ia juga boleh digunakan untuk memaparkan pelbagai jenis berita.
Untuk pautan khusus dalam templatwebsocket
Perkembangan, penggunaanDial
Fungsi (lihat dokumen API Fungsi Panggilan) boleh disesuaikan mengikut keperluan.read()
Fungsi menetapkan parameter-2
Yang bermaksud hanya kembaliwebsocket
Data terkini di kawasan buffer yang menerima data yang disambungkan.
Terima kasih kerana membaca.
congcong009Monk, bolehkah anda berikan versi Python yang lebih?
Perempuan juga.Yang baik, patut dikongsi lebih awal.
Pencipta Kuantiti - Impian KecilBagus, terima kasih atas cadangan anda.