如题。。。
在用engine.get_tick取不活跃合约的tick数据,经常发生Type Error: 'NoneType' object is not subscriptable
活跃合约都没有问题。。。
如题。。。
在用engine.get_tick取不活跃合约的tick数据,经常发生Type Error: 'NoneType' object is not subscriptable
活跃合约都没有问题。。。
具体的查询操作代码请贴下
用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的合约也会出错。。。
get_tick是获取最新的tick,不活跃的话应该就是None吧,可以试着做个判断避免报错
xiaohe wrote:
get_tick是获取最新的tick,不活跃的话应该就是None吧,可以试着做个判断避免报错
最新的tick,不是每分钟有两个tick么?就算不活跃,也应该有上一个tick么?
或者不用这个获取tick数据,用啥获取tick数据啊?
活跃的话才有每秒两个tick
xiaohe wrote:
活跃的话才有每秒两个tick
哪怕这个买一、卖一没有更新过,但总有个买一、卖一吧,我要下单的时候,总要有个买一、卖一,我才能知道按照什么价格下单啊。。。我怎么获取这个买一、卖一呢?