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

实盘CTP,夜间自动断开,早上软件自动重连,接着就报交易服务器授权验证失败,代码:8,信息:CTP前置不活跃。

description

报错后,在不关闭软件情况点击重新连接没有反应,然后我重启软件再登录,有行情显示,初始化策略和启动都显示正常。
但是我到11点30时发现,根本就没有接收到bar信息,因为我根据bar计算的数据在变量里显示的和昨天夜盘结束的一模一样,根本没有接收到bar数据进行更新,实际行情已变化很多了。把我给坑了一大波!!!

Super Moderator
avatar
加入于:
帖子: 529
声望: 43

在非交易时段实盘会有脏数据,会导致系统无法正常运行。

在非交易时段请关闭系统,否则请自行过滤非交易时段可能产生的脏数据。

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

郭易燔 wrote:

在非交易时段实盘会有脏数据,会导致系统无法正常运行。

在非交易时段请关闭系统,否则请自行过滤非交易时段可能产生的脏数据。

你理解错了我意思了,我是说报错后,我重启软件连接,初始化,启动加载正常,但是发展策略其实一直没有收到bar推送,并不是非交易时间段的脏数据问题,

Member
avatar
加入于:
帖子: 3137
声望: 215

可参考https://www.vnpy.com/forum/topic/6251-shi-pan-mei-tian-zao-shang-bao-cuo

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

xiaohe wrote:

可参考https://www.vnpy.com/forum/topic/6251-shi-pan-mei-tian-zao-shang-bao-cuo

小何老师厉害,今天早上我又被坑一波。回来发现又没有bar数据推送。应该就是你发的链接这个问题。坑我两笔钱了,头大!!!
这个怎么修改了,老师能不能给个好的解决办法。如果底层修改过滤脏数据,我怕改后运行不了了。如果增加判断条件,就是加个与当前时间比较了。

Super Moderator
avatar
加入于:
帖子: 529
声望: 43

可以在cta_strategy.engine.py的process_tick_event函数中对tick数据进行过滤。

也可以只在策略的on_tick函数中对tick数据进行过滤。

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

郭易燔 wrote:

可以在cta_strategy.engine.py的process_tick_event函数中对tick数据进行过滤。

也可以只在策略的on_tick函数中对tick数据进行过滤。

如果在BarGenerator中修改,是不是可以加个:

    # Filter tick data with Pre-market push
    if tick.datetime.hour != datetime.now().hour:
        return

这样可以实现软件接收到的数据与当前小时时间不一致时候,直接返回。self.last_tick不是9点后的数据,它就不会更新给它。这样在:

    # Filter tick data with older timestamp
    if self.last_tick and tick.datetime < self.last_tick.datetime:
        return

中就不会一直返回,导致我bar无数据。

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

沪公网安备 31011502017034号

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