websocket संस्करण OKEX क्रॉस-टर्म हेजिंग रणनीति (शिक्षा)

लेखक:छोटे सपने, दिनांकः 2019-04-17 10:10:55
टैगःहेजवेबस्कोकेट

ओकेएक्स की अति-सरलीकृत दीर्घकालिक प्रतिभूति रणनीति (शिक्षा)

  • वास्तविक स्क्रीनशॉटःimg

  • केवल सही सेट करें, विपरीत सेट को संशोधित किया जा सकता है, अनुबंध को बदल दें, यानी विपरीत सेट।

  • दो एक्सचेंज ऑब्जेक्ट जोड़े, पहली तिमाही, दूसरा सप्ताह में।

  • सभी सरल कोड को सुव्यवस्थित किया गया है, अनुकूलन के लिए बहुत अधिक जगह है, शिक्षण रणनीति सतर्क है, और समय के साथ कुछ जोखिम है।

  • अपने लिए एक समान मूल्य का उपयोग करके ऑर्डर करें।

  • आपका स्वागत है बग की प्रतिक्रिया के लिए।

शिक्षा रणनीति, वास्तविकता का सावधानीपूर्वक उपयोग करना।

शिक्षा रणनीति, वास्तविकता का सावधानीपूर्वक उपयोग करना।

शिक्षा रणनीति, वास्तविकता का सावधानीपूर्वक उपयोग करना।


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) + "`")
    }
}

संबंधित

अधिक

चाओयह V5 नहीं है, है ना? OK V5 अब एक निजी चैनल है.

जिमी से प्यार करोएक बार जब आप अपने जीवन को एक बार फिर से देखते हैं, तो आप निम्नलिखित समस्याओं का सामना करते हैं, कैसे हल करें? समय प्लेटफार्म प्रकार कीमतें मात्रा जानकारी 2021-02-13 00:00:00 त्रुटि main:12:12 - TypeError: Cannot read property 'write' of undefined (टाइप त्रुटिः अनिर्धारित के गुण 'write' को पढ़ नहीं सकता) 2021-02-13 00:00:00 त्रुटि sandbox not support डायल करें

fmzeroशिक्षा का वीडियो कहाँ है?

छोटे सपनेडायल फ़ंक्शन का समर्थन नहीं करता है, यह नीति नहीं कर सकती है।