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
 2824

检测 各个交易所 GetAccount , GetTicker 接口策略 代码

方便看下各大交易所 接口状态。

img

  • JavaScript 源码(无策略参数直接运行)
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是否使用 代理布尔型(true/false)false
    IP_AddAndPass@isUseSetProxy==1代理 配置字符串(string)socks5://username:[email protected]:8889

    需要在代理服务器上配置 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)