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

  • 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) を使っているかどうか
    IP_AddAndPass@isUseSetProxy==1 代理の設定 文字列の 文字列の socks5の

    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)