Type/to search
8
Follow
1376
Followers
विभिन्न एक्सचेंजों के GetAccount और GetTicker इंटरफ़ेस रणनीति कोड की जाँच करें
Help
Created 2018-03-09 20:00:48  Updated 2018-03-11 15:09:33
 0
 2826

विभिन्न एक्सचेंजों के GetAccount और GetTicker इंटरफ़ेस रणनीति कोड की जाँच करें

आप सभी प्रमुख एक्सचेंजों के इंटरफेस की स्थिति देख सकते हैं।

img

  • जावास्क्रिप्ट स्रोत ((बिना किसी रणनीति के सीधे चलाने के लिए)
function E(obj) { if (!obj) { return obj } var cloneObj = function(obj) { // 深拷贝 对象函数 var str, newobj = obj.constructor === Array ? [] : {}; if (typeof obj !== 'object') { return; } else if (JSON) { str = JSON.stringify(obj); //系列化对象 newobj = JSON.parse(str); //还原 } else { for (var i in obj) { newobj[i] = typeof obj[i] === 'object' ? cloneObj(obj[i]) : obj[i]; } } return newobj; } if (obj && typeof(obj) == "object" && typeof(obj.Info) !== "undefined") { var newObj = cloneObj(obj) delete newObj.Info return newObj } else if (typeof(obj.length) == "number") { ///* var newArray = [] for (var n = 0; n < obj.length; n++) { newArray.push(E(obj[n])) } return newArray //*/ /* var newObj = cloneObj(obj) delete newObj.Info return newObj */ } else { // Log(obj, "is not object or not have attribute 'Info'") return obj } } function main() { LogReset(1) var count = 0 while(true){ Log("第", count , "轮监测!", "#FF0000") count++ var es = [] for(var i = 0; i < exchanges.length; i++){ if(exchanges[i].GetName().split("_")[0] == "Futures"){ // BitMEX if(exchanges[i].GetName().split("_")[1] == "BitMEX"){ exchanges[i].SetContractType("XBTUSD") } // OKCoin if(exchanges[i].GetName().split("_")[1] == "OKCoin"){ exchanges[i].SetContractType("this_week") } } var beginTime = new Date().getTime() var ticker = exchanges[i].GetTicker() var endTickerTime = new Date().getTime() var account = exchanges[i].GetAccount() var endAccountTime = new Date().getTime() var e = { ticker : ticker ? "true #007FFF" : "false #FF0000" , account : account ? "true #007FFF" : "false #FF0000" , name : exchanges[i].GetName() , tickerDelay : endTickerTime - beginTime , accountDelay : endAccountTime - beginTime , } Log(e.name, "延迟:", e.tickerDelay, "ticker:", E(ticker), e.ticker) Log(e.name, "延迟:", e.accountDelay, "account:", E(account), e.account) es.push(e) } var tab = { type : "table", title : "test", cols : ["name", "account", "Delay(ms)", "ticker", "Delay(ms)"], rows : [], } for(var j = 0; j < es.length; j++){ tab.rows.push([es[j].name, es[j].account, es[j].accountDelay, es[j].ticker, es[j].tickerDelay]) } LogStatus("更新于:", _D(), '\n`' + JSON.stringify(tab) + '`') Sleep(1000 * 30) } }
  • अद्यतन संस्करण, एजेंट का समर्थन करता है

    2 पैरामीटर जोड़ें

    │ │ │ │ │ │ │ │
    |-|-|-|-|
    isUseSetProxy. क्या यह प्रॉक्सी का उपयोग करता है?
    IP_AddAndPass@isUseSetProxy==1 एजेंट कॉन्फ़िगरेशन एजेंट स्ट्रिंग

    SS5 सेवाओं को कॉन्फ़िगर करने और सेट करने की आवश्यकता है (उपयोगकर्ता नाम, पासवर्ड, आदि)

    और जब यह वास्तव में चल रहा है, तो मेरे पैरामीटर इस तरह से कॉन्फ़िगर किए गए हैंः
    socks5://botvs:[email protected]:1080

    # - 代理服务器SS5服务 设置的 用户名: botvs # - 密码: botvs123456 # - 代理服务器IP: 174.XXX.XXX.XX # - 端口: 1080
function E(obj) { if (!obj) { return obj } var cloneObj = function(obj) { // 深拷贝 对象函数 var str, newobj = obj.constructor === Array ? [] : {}; if (typeof obj !== 'object') { return; } else if (JSON) { str = JSON.stringify(obj); //系列化对象 newobj = JSON.parse(str); //还原 } else { for (var i in obj) { newobj[i] = typeof obj[i] === 'object' ? cloneObj(obj[i]) : obj[i]; } } return newobj; } if (obj && typeof(obj) == "object" && typeof(obj.Info) !== "undefined") { var newObj = cloneObj(obj) delete newObj.Info return newObj } else if (typeof(obj.length) == "number") { ///* var newArray = [] for (var n = 0; n < obj.length; n++) { newArray.push(E(obj[n])) } return newArray //*/ /* var newObj = cloneObj(obj) delete newObj.Info return newObj */ } else { // Log(obj, "is not object or not have attribute 'Info'") return obj } } function main() { LogReset(1) var count = 0 if(isUseSetProxy){ var ret for(var n = 0; n < exchanges.length; n++){ ret = exchanges[n].SetProxy(IP_AddAndPass) } Log("设置代理为:", IP_AddAndPass, ret, "#FF0000") } while(true){ Log("第", count , "轮监测!", "#FF0000") count++ var es = [] for(var i = 0; i < exchanges.length; i++){ if(exchanges[i].GetName().split("_")[0] == "Futures"){ // BitMEX if(exchanges[i].GetName().split("_")[1] == "BitMEX"){ exchanges[i].SetContractType("XBTUSD") } // OKCoin if(exchanges[i].GetName().split("_")[1] == "OKCoin"){ exchanges[i].SetContractType("this_week") } } var beginTime = new Date().getTime() var ticker = exchanges[i].GetTicker() var endTickerTime = new Date().getTime() var account = exchanges[i].GetAccount() var endAccountTime = new Date().getTime() var e = { ticker : ticker ? "true #007FFF" : "false #FF0000" , account : account ? "true #007FFF" : "false #FF0000" , name : exchanges[i].GetName() , tickerDelay : endTickerTime - beginTime , accountDelay : endAccountTime - beginTime , } Log(e.name, "延迟:", e.tickerDelay, "ticker:", E(ticker), e.ticker) Log(e.name, "延迟:", e.accountDelay, "account:", E(account), e.account) es.push(e) } var tab = { type : "table", title : "test", cols : ["name", "account", "Delay(ms)", "ticker", "Delay(ms)"], rows : [], } for(var j = 0; j < es.length; j++){ tab.rows.push([es[j].name, es[j].account, es[j].accountDelay, es[j].ticker, es[j].tickerDelay]) } LogStatus("更新于:", _D(), '\n`' + JSON.stringify(tab) + '`') Sleep(1000 * 30) } }
Related Recommendations
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)