bibox基于ccxt合约量化开发笔记:下单后如何提取订单号

bibox基于ccxt合约量化开发笔记:下单后如何提取订单号

今天在biboxh上下单成功后,要提取订单号,上代码:

uy_result = bibox.create_limit_swap_buy_order('4LTC/USDT', 1, buy_price)  # 挂买单

返回结果:

{'info': {'result': {'result': '32985399398984', 'client_oid': '0', 'cmd': 'order/open', 'index': 0}, 'cmd': 'order/open'}, 'id': "{'result': '32985399398984', 'client_oid': '0', 'cmd': 'order/open', 'index': 0}"}

APP上查看,下单成功。

接下来,要从返回结果中提取订单号:32985399398984,因为这个字典里有两个键,’result’和’id’,看到’id’要顺眼些,所以打算从’id’里面提取订单号:

print(buy_result['id']['result'])

这,我蒙B了。

我双尝试从’result’子字典中提取,自认为方法是对的,但一直不成功。

所以我只能到群里请教,终于,大神回复了。我按照大神的方法,成功了。

a =  {'info': {'result': {'result': '32985399273611', 'client_oid': '0', 'cmd': 'order/open', 'index': 0}, 'cmd': 'order/open'}, 'id': "{'result': '32985399273611', 'client_oid': '0', 'cmd': 'order/open', 'index': 0}"}
print(['info']['result']['result'])
exit()

结果如下:

 

总结:我所用的方法是正确的,之所以不成功,原因有二。

一是我用buy_result[‘id’][‘result’]取订单号,忽略了’id’键的内容是一个字符串”{‘result’: ‘32985399273611’, ‘client_oid’: ‘0’, ‘cmd’: ‘order/open’, ‘index’: 0}”,又没有认真看错误提示。

二是我用buy_result[‘info’][‘result’][‘result’]取订单号没成功,是因为码错字符了,至于错在哪,现在无从查证,但可以肯定方法无误。

最后可行的代码如下:

# 方法一
buy_result['info']['result']['result']
# 方法二
eval(buy_result['id'])['result']  #eval()是将字符串转换成字典。

 

你可能感兴趣的:(bibox基于ccxt合约量化开发笔记:下单后如何提取订单号)