币安文档:https://binance-docs.github.io/apidocs/delivery/cn/#e3ee8329c9
测试时添加配置之后的币安期货交易所对象。
function main() { LogReset(1) var ws = null exchange.IO("base", "https://dapi.binance.com") var obj = exchange.IO("api", "POST", "/dapi/v1/listenKey") Log(obj, typeof(obj)) var listenKey = obj.listenKey Log("listenKey:", listenKey) var ts = new Date().getTime() ws = Dial("wss://dstream.binance.com/ws/" + String(listenKey)) while (1) { var arr = ["balance", "account", "position"] for (var i in arr) { var info = { "method": "REQUEST", "params": [ listenKey + "@" + arr[i] ], "id": ts } ws.write(JSON.stringify(info)) var ret = ws.read() Log(ret) Sleep(1000) } Sleep(1000) } }
liwenlue 你好,请教下订单更新怎么获取呢,u本位一直没有收到订单信息
fyr 请问Dial函数内部是否已经处理了ping-pong回复?需要自己写吗? /upload/asset/21b18cce8439c5312c140.png
韬奋量化 这个例子的方法好像只适用于币本位合约吧?我试过把合约地址改成u本位,发现不能通过websocket主动查询"balance", "account", "position"等信息
发明者量化-小小梦 刚才测试了,这个例子里币本位地址改成U本位地址就可以了,订单信息是不需要订阅的,直接会推送。测试了一下,撤单重新挂单,就会推送一个订单变动消息。
liwenlue 问题就出在这个点上了,币本位包括行情数据都有类似@balance这类订阅方法,但是u本位订单数据是没有订阅的,这点我问了币安客服,是让我直接用wss://fstream.binance.com/ws/XaEAKTsQSRLZAGH9tuIu37plSRsdjmlAVBoNYPUITlTAko1WI22PgmBMpI1rS8Yh(自己的listenKey)这个方法获取全部数据再处理,但是我用这个方法貌似在发明者是获取不到的,不知道我操作有问题还是怎么,麻烦大佬有空试一下,万分感谢,或者有订阅u本位订单的示例代码给我就可以哈
发明者量化-小小梦 您好,需要订阅对应频道才会有推送的数据,具体可以看下交易所文档上如何订阅,例子里只订阅了这些:```var arr = ["balance", "account", "position"]```
发明者量化-小小梦 币安的是在底层的心跳包,不需要策略层面```xxx.write()```写入消息。
发明者量化-小小梦 根据交易所文档写。不一定币本位和U本位是一模一样的 /upload/asset/17a3ea8b5fed6c2d05fd.png /upload/asset/1699cb3f9cea6f9b2012.png