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

description
学习课件里这个用细粒度挂单时写的代码是self.buy_vt_orderids = self.buy(self.buy_price, self.fixed_size, True),这个是不是用self.buy_vt_orderids.append(self.buy(self.buy_price, self.fixed_size, True))更合理,如果策略代码里有加仓逻辑,同时遇到某种情况导致第一次买入的stop_order为waitting状态,有二次加仓又发出买单,那么这个buy_vt_orderids里的列表就变成第二次加仓的那个了,那跟预期的逻辑就不一样了。求解答。

Member
avatar
加入于:
帖子: 1486
声望: 105

是的。

对于存在分笔开仓或者加仓的情况,不应该直接使用图中的写法覆盖原有的self.buy_vt_orderids列表,而应该用extend:

self.buy_vt_orderids.extend(self.buy(self.buy_price, self.fixed_size, True))

因为buy/sell/short/cover返回的都是委托号列表,需要使用extend才能正确添加到已有的列表中

Member
avatar
加入于:
帖子: 14
声望: 1

非常感谢解惑答疑。

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

沪公网安备 31011502017034号

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