websocket 接口 与 REST 接口的 速度测试,支持添加多个交易所测试,注意会短时增加你的api调用频率,请在确保不影响其他机器人运行的情况下运行。如果出现”Futures_OP 4: argument error“的错误,请更新到最新的托管者程序 特别提醒:只能添加支持websocket接口的交易所(有点废话,不支持websocket接口,你还测什么速度),不然会出错,目前 ok,火币提供websocket接口 ,BTCC不提供,其他请咨询查阅相关交易所API介绍或帮助
var Interval=1000; function _N(v, precision) { if (typeof (precision) != 'number') { precision = 4; } var d = parseFloat(v.toFixed(Math.max(10, precision + 5))); s = d.toString().split("."); if (s.length < 2 || s[1].length <= precision) { return d; } var b = Math.pow(10, precision); return Math.floor(d * b) / b; } function onexit() { Log("【【【系统退出】】】"); } function main() { var start=Date.now(); for (var i = 0; i < exchanges.length; i++) { var ecg=exchanges[i]; //Log(ecg); ecg.IO("rest");//rest 模式 var iii=0; var sum=0; while (iii<=10) { //连续调用10次,取平均值 var account = null; start=Date.now(); account = ecg.GetAccount(); //测试执行的API函数,可根据需要自己修改,如 GetTick iii=iii+1; if(account){ var delay=(Date.now()-start); sum=sum+delay; } Sleep(1000); } Log("平均毫秒数【"+_N(sum/iii,2)+"】"+ecg.GetName()+" rest"); ecg.IO("websocket"); //websocket 模式 sum=0; iii=0; while (iii<=10) { //连续调用10次,取平均值 var account = null; start=Date.now(); account = ecg.GetAccount(); //测试执行的API函数,可根据需要自己修改,如 GetTick iii=iii+1; if(account){ var delay=(Date.now()-start); sum=sum+delay; } Sleep(1000); } Log("平均毫秒数【"+_N(sum/iii,2)+"】"+ecg.GetName()+" websocket"); } }
大老 2016-01-08 23:37:00 错误 TypeError: undefined is not a function 添加火币和ok后测试报的错误
大老 代码有问题
诺女也 问过ok的技术了,ok期货支持websocket。 但是,不管api是什么类型,都有频率限制,5分钟,3000次
momox 应该也会限制的吧,这个也要问问ok,只是websocket可能会相对rest稳定点
诺女也 谢谢。我去问一下。如果是websocket类型,交易所就不会对频率进行限制了吧?
momox 期货我不知道支不支持websocket,最好咨询一下ok
诺女也 托管者已经升级到 2.87 ,Ok期货仍然报错 Futures_OP 4: argument error
momox 有什么问题,我刚运行了一下,没有发现啊? 注意目前支持websocket接口的,好像只有ok和火币,所以运行的添加这两个就可以了,BTCC之类的不支持,运行肯定会出错