VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 58
声望: 0

description
请问一下在best limit order里的写法,如果self.vt_orderids为空时,发新单的时候为什么不直接赋值给 self.vt_orderids,而是先赋值给一个中间变量然后再extend呢?
我理解的即使是某次下单被拆分成了两个,比如平今仓和平昨仓,依然是可以把返回的这两个单号的list赋值给self.vt_orderids吧? 现在代码里用extend写法是否有冗余呢?

Administrator
avatar
加入于:
帖子: 4500
声望: 320

理论上这里是可以直接赋值的,但不建议这么做的原因是self.vt_orderids本身为一个列表,对其重新赋值会导致其指向新的对象,如果之前有其他变量指向了原本self.vt_orderids的列表,这里就会出现错误(而且异常难以排查),用extend则是向原本列表里扩充新的委托号数据。

vn.py官方代码里的写法有时不见得是最简洁的,但应该是对各种情况包容度比较高的。

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】