VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 6
声望: 0
                    buy_price=price -self.over_pred_price*sign
                    open_id=self.buy(buy_price, self.fixed_size)
                    print(dt.datetime.today)
                    if not (open_id):
                        print("开仓返回值为0")
                    self.open_ids.extend(open_id)

这是部分代码,想请教一下大家。这里的open_id返回值经常为[]是要怎么修改,可能是什么原因?
还有一个问题是,我原来经常用self.open_ids.append(open_id[0])
现在list为空用不了了。为什么order返回的是list啊?一个订单可以对应多个交易可以理解,难道一个订单还会对应对个orderid?
恳请大家指教!

Member
avatar
加入于:
帖子: 4741
声望: 287

因为会可能会拆单,比如说你使用了锁仓模式发出平仓委托,可平的昨仓比你此次委托的数量少,那么为了避免平今惩罚,剩下的数量就会以反向开仓的形式发出,那此时不就是有两个委托了。还有比如说SHFE/INE的合约也会进行转换。所以是否转换要看你委托的情况的,想进一步了解可以自己去看一下converter.py的代码

Member
avatar
加入于:
帖子: 6
声望: 0

xiaohe wrote:

因为会可能会拆单,比如说你使用了锁仓模式发出平仓委托,可平的昨仓比你此次委托的数量少,那么为了避免平今惩罚,剩下的数量就会以反向开仓的形式发出,那此时不就是有两个委托了。还有比如说SHFE/INE的合约也会进行转换。所以是否转换要看你委托的情况的,想进一步了解可以自己去看一下converter.py的代码

谢谢!还有一个问题就是buy/short返回的vt_orderids: List为[],想请教一下这个是什么情况

Member
avatar
加入于:
帖子: 4741
声望: 287

是回测还是实盘呢?如果是回测,可以看一下策略trading状态是否为False

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

沪公网安备 31011502017034号

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