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

请教 策略模型在其他交易所正常运行,但在郑交所运行的时候 8:50启动,一直到连续竞价都能收到tick 但是bargenerator的update_tick不能运行,9点开盘后 重新启动no_ui又正常了,请问这是为什么??
没有对utility.py修改过,在策略on_tick中有self.bg.update_tick(tick)

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

on_tick中有print(tick) 和self.bg.update_tick(tick) ,update_tick 第一行输出为print('1111'),tick正常输出,1111不能输出

Member
avatar
加入于:
帖子: 4669
声望: 285

可以自己去update_tick里面打印一下是不是被“if self.last_tick and tick.datetime < self.last_tick.datetime:”过滤了

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

xiaohe wrote:

可以自己去update_tick里面打印一下是不是被“if self.last_tick and tick.datetime < self.last_tick.datetime:”过滤了

就算被过滤掉 那1111也应该输出 啊,因为在过滤之前print('1111')

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

这是因为早盘的时候会重复推夜盘的行情,可能是ctp自己的bug,最后一个tick的时间戳会发生改变,比如郑商所的品种MA,最后一个tick本来是2022-08-17 22:59:59, 早盘推送的时候会把这个时间戳错误的修改为2022-08-18 22:59:59,整整推后了一天,导致白天所有的tick都变成了无效tick。建议在底层接口处,或者策略的on_tick处做一个过滤,tick.updatetime和datetime.now()做一个比较,相差超过10分钟的tick直接过滤掉即可。

Member
avatar
加入于:
帖子: 11
声望: 5

jingsiaosing wrote:

这是因为早盘的时候会重复推夜盘的行情,可能是ctp自己的bug,最后一个tick的时间戳会发生改变,比如郑商所的品种MA,最后一个tick本来是2022-08-17 22:59:59, 早盘推送的时候会把这个时间戳错误的修改为2022-08-18 22:59:59,整整推后了一天,导致白天所有的tick都变成了无效tick。建议在底层接口处,或者策略的on_tick处做一个过滤,tick.updatetime和datetime.now()做一个比较,相差超过10分钟的tick直接过滤掉即可。

赞,这是个简洁的好办法。郑商所的推送总是很奇怪。

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

沪公网安备 31011502017034号

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