Gambar rakam:
Hanya melakukan set pertama, set kedua boleh diubah, kontrak digantikan, iaitu set kedua.
Tambah dua objek pertukaran, suku pertama, minggu kedua.
Semua kod yang boleh disederhanakan telah disederhanakan, ruang untuk mengoptimumkan masih banyak, strategi pengajaran berhati-hati, dan jangka masa yang panjang mempunyai risiko.
Membeli dengan harga yang sama.
Selamat datang untuk maklum balas BUG.
function Hedge (isOpen, retSetA, retSetB) { exchanges[0].SetDirection(isOpen ? "sell" : "closesell") exchanges[1].SetDirection(isOpen ? "buy" : "closebuy"); (function (routineA, routineB) { Log(routineA.wait(), routineB.wait(), retSetA, retSetB) })(exchanges[0].Go(isOpen ? "Sell" : "Buy", -1, _ContractNum), exchanges[1].Go(isOpen ? "Buy" : "Sell", -1, _ContractNum)) } function main () { var param = {"op": "subscribe", "args": ["futures/ticker:" + _Instrument_id_A, "futures/ticker:" + _Instrument_id_B]} var client = Dial("wss://real.okex.com:8443/ws/v3|compress=gzip_raw&mode=recv&reconnect=true&payload=" + JSON.stringify(param)) client.write(JSON.stringify(param)) var tickerA, tickerB var arr = [] for (var i = 0 ; i < _Count ; i++) { arr.push({open: _Begin + i * _Add, cover: _Begin + i * _Add - _Profit, isHold: false}) } while (1) { var tab = {type: "table", title: "状态", cols: ["节点信息"], rows: []} Sleep(10) var ret = client.read(-2) if (!ret || ret == "") { continue } var obj = null try { obj = JSON.parse(ret) } catch (e) { Log(e) continue } if (obj.table == "futures/ticker" && obj.data[0].instrument_id == _Instrument_id_A) { tickerA = obj.data[0] } else if (obj.table == "futures/ticker" && obj.data[0].instrument_id == _Instrument_id_B) { tickerB = obj.data[0] } if (tickerA && tickerB) { $.PlotLine(tickerA.instrument_id + "-" + tickerB.instrument_id, tickerA.last - tickerB.last) for (var j = 0 ; j < arr.length; j++) { if (tickerA.best_bid - tickerB.best_ask > arr[j].open && !arr[j].isHold) { Hedge(true, exchanges[0].SetContractType("quarter"), exchanges[1].SetContractType("this_week")) arr[j].isHold = true } if (tickerA.best_ask - tickerB.best_bid < arr[j].cover && arr[j].isHold) { Hedge(false, exchanges[0].SetContractType("quarter"), exchanges[1].SetContractType("this_week")) arr[j].isHold = false } tab.rows.push([JSON.stringify(arr[j])]) } } LogStatus(_D(), "\n `" + JSON.stringify(tab) + "`") } }
ChaoOK, V5 sekarang saluran peribadi, ada contoh log masuk?
Cinta Jimmy.Jika anda mempunyai masalah yang sama, bagaimana anda boleh menyelesaikan masalah ini? Waktu Platform Jenis Harga Bilangan Maklumat 2021-02-13 00:00:00 Kesilapan main:12:12 - TypeError: Cannot read property 'write' of undefined 2021-02-13 00:00:00 Kesilapan sandbox not support Dial
FmzeroDi mana video pengajaran?
Pencipta Kuantiti - Impian KecilKaedah ini tidak boleh digunakan jika pemindaian tidak menyokong fungsi dial.