VeighNa量化社区
你的开源社区量化交易平台
sanjinxx's Avatar
Member
离线
3 帖子
声望: 1

在阅读ctp部分代码的时候,看到有个地方很不理解:BaseGateway下on_tick会推送两个事件。第一个是“tick事件类型+tick”可以理解,第二部为什么要发送一个类型为“EVENT_TICK + tick.vt_symbol”的事件?这个事件是哪个模块需要调用呢?

 def on_tick(self, tick: TickData) -> None:
        """
        Tick event push.
        Tick event of a specific vt_symbol is also pushed.
        """
        self.on_event(EVENT_TICK, tick)
        self.on_event(EVENT_TICK + tick.vt_symbol, tick)

原因是9点55分左右,交易所会发送昨天夜盘的最后一条数据。而根据ctpGateway的逻辑,这条数据会被打上“今天”的时间戳。例如 9.24 23:00:00.
BarGenerater在tick进入时,会判断这条tick是否早于上一条tick。如果是则判断为脏数据return掉。 所以有些合约生成不了k线。
不过为什么ctpGateway要选用本地日期呢?本地时间一定是和交易所时间有差别的。

同样遇到了这个问题,load_data函数无法读取csv文件,但是在外面读取没有问题。很费解。

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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