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

如题。。。
在用engine.get_tick取不活跃合约的tick数据,经常发生Type Error: 'NoneType' object is not subscriptable
活跃合约都没有问题。。。

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

具体的查询操作代码请贴下

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

用Python的交易员 wrote:

具体的查询操作代码请贴下

positions = engine.get_all_positions(use_df=True)
Avolume = min(self.SSA,self.MAX_ORDER_CONTRACTS) # 剩余的订单数和单笔最大哪个小下哪个单
self.ALastTick = self.engine.get_tick(self.contract_A, use_df=True)
if methodNum == 1:
AorderID = self.methodList[methodNum]self.strategyModeA + self.OneT, Avolume)
else:
AorderID = self.methodList[methodNum]self.strategyModeA - self.OneT, Avolume)
print("A合约正在下单…… ")
运行到self.ALastTick = self.engine.get_tick(self.contract_A, use_df=True)就已经报错了。
self.contract_A如果是活跃合约就没事,比如,IC2010.CFFEX,IO2010-C-4800.CFFEX;
如果是不活跃合约就会出错,比如,IO2011-C-4800.CFFEX,商品有一些不是159的合约也会出错。。。

Member
avatar
加入于:
帖子: 4618
声望: 284

get_tick是获取最新的tick,不活跃的话应该就是None吧,可以试着做个判断避免报错

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

xiaohe wrote:

get_tick是获取最新的tick,不活跃的话应该就是None吧,可以试着做个判断避免报错

最新的tick,不是每分钟有两个tick么?就算不活跃,也应该有上一个tick么?
或者不用这个获取tick数据,用啥获取tick数据啊?

Member
avatar
加入于:
帖子: 4618
声望: 284

活跃的话才有每秒两个tick

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

xiaohe wrote:

活跃的话才有每秒两个tick

哪怕这个买一、卖一没有更新过,但总有个买一、卖一吧,我要下单的时候,总要有个买一、卖一,我才能知道按照什么价格下单啊。。。我怎么获取这个买一、卖一呢?

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

沪公网安备 31011502017034号

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