我今天完成了穿透式认证,然后用CTP实盘的相应账号录tick数据。发现和之前用simnow的账号录tick数据不同。
具体表现在之前是1秒两根数据,这次是1秒只有1根数据。如何解决这个问题?
我今天完成了穿透式认证,然后用CTP实盘的相应账号录tick数据。发现和之前用simnow的账号录tick数据不同。
具体表现在之前是1秒两根数据,这次是1秒只有1根数据。如何解决这个问题?
上图是simnow推送的行情。请确认一下录到的数据是全是一秒一次还是个别是一秒一次呢?如果个别的话,有可能是该合约当时成交不活跃,那么可能就是没有推送新tick。
xiaohe wrote:
上图是simnow推送的行情。请确认一下录到的数据是全是一秒一次还是个别是一秒一次呢?如果个别的话,有可能是该合约当时成交不活跃,那么可能就是没有推送新tick。
我后来把tick打印了出来发现,实盘行情接收是一秒会有2根,但是时间戳是一样的,不像simnow那样没有毫秒级别的区别。
但是存储到数据库中,由于数据库的主键设置位(symbol, exchange, datetime),并且郑商所推的数据的datetime没有毫秒标记。所以导致假如一秒2根tick,两根tick的时间戳是一样的,所以每秒前一根tick会被后面的那根tick覆盖了。。。
是的,郑商所的tick里时间戳和毫秒是分开推的,建议可以仿照一下ctp_gateway里def onRtnDepthMarketData函数里对timestamp的处理,处理完datetime再缓存