在看委托管理一课案例代码时回测出现如下问题,开空之后平仓时会连续发两个平多,查看委托可得知第二单是一个价格为0的委托;之后同时再次平空时会平掉两手多单。本地的其他策略开平没有这种情况,查看了代码也看不出问题,望群主指点。
在看委托管理一课案例代码时回测出现如下问题,开空之后平仓时会连续发两个平多,查看委托可得知第二单是一个价格为0的委托;之后同时再次平空时会平掉两手多单。本地的其他策略开平没有这种情况,查看了代码也看不出问题,望群主指点。
另外,最近更新进度放缓,按之前的计划月底前似乎更不完啦XD
order_control_strategy_29.py 最后两行代码:
elif self.pos > 0:
if not self.sell_vt_orderids:
if not self.sell_price: #### 这里self.sell_price不真,才执行下面的平多仓委托
self.sell_vt_orderids = self.sell(self.sell_price, abs(self.pos), True) ### 相当于 sell(0, abs(self.pos), True)
self.sell_price = 0
else:
if not self.cover_vt_orderids:
if not self.cover_price: ## ????? 同上
self.cover_vt_orderids = self.cover(self.cover_price, abs(self.pos), True) ### 问题同上
self.cover_price = 0
请解释下,该如何理解,还是错误。是否应改为:
elif self.pos > 0:
if not self.sell_vt_orderids:
if self.sell_price:
self.sell_vt_orderids = self.sell(self.sell_price, abs(self.pos), True)
self.sell_price = 0
else:
if not self.cover_vt_orderids:
if self.cover_price:
self.cover_vt_orderids = self.cover(self.cover_price, abs(self.pos), True)
self.cover_price = 0