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

国内期货实盘已经开通,采用软件默认方式,通过DataManager 和 DataRecorder 模块进行行情录制,(版本vnpy-master 2.18)
问题是经常在开盘后发现软件没有正常录制行情(通过刷新发现没有变化),导致一直没有足够的bardata 进行策略计算,
一般发现后再重启就正常了,请问这个问题具体在哪里?如何解决?
再有就是官方推荐什么保险的录制行情的方法?最好能24小时无人值守。
谢谢。

Administrator
avatar
加入于:
帖子: 4500
声望: 320

请升级最新的2.2.0版本试下

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

用Python的交易员 wrote:

请升级最新的2.2.0版本试下
还是出现这种问题,正常启动,收盘再看,行情没记录,是我电脑问题吗?愁人

Member
avatar
加入于:
帖子: 18
声望: 1

我也有出现,手动订阅一下

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

yyguoliang wrote:

国内期货实盘已经开通,采用软件默认方式,通过DataManager 和 DataRecorder 模块进行行情录制,(版本vnpy-master 2.18)
问题是经常在开盘后发现软件没有正常录制行情(通过刷新发现没有变化),导致一直没有足够的bardata 进行策略计算,
一般发现后再重启就正常了,请问这个问题具体在哪里?如何解决?
再有就是官方推荐什么保险的录制行情的方法?最好能24小时无人值守。
谢谢。

请问楼主是否使用了RQdata?还是使用ctp的行情服务器录制数据?请问如何实现录制实时合约形成主力连续数据?

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

鹤唳幽云 wrote:

yyguoliang wrote:

国内期货实盘已经开通,采用软件默认方式,通过DataManager 和 DataRecorder 模块进行行情录制,(版本vnpy-master 2.18)
问题是经常在开盘后发现软件没有正常录制行情(通过刷新发现没有变化),导致一直没有足够的bardata 进行策略计算,
一般发现后再重启就正常了,请问这个问题具体在哪里?如何解决?
再有就是官方推荐什么保险的录制行情的方法?最好能24小时无人值守。
谢谢。

请问楼主是否使用了RQdata?还是使用ctp的行情服务器录制数据?请问如何实现录制实时合约形成主力连续数据?

请问你搞定了吗?使用ctp的行情服务器录制数据,能不能分享一下代码

Member
avatar
加入于:
帖子: 35
声望: 1

解决了吗?我用3.2.0版本出现同样的问题,开盘data_manager里没有正常存储数据,但ui界面的数据跳动是正常的,要盘中重启vntrader后才可以正常存储数据。会不会是订阅合约太多导致的?

Member
avatar
加入于:
帖子: 4618
声望: 284

可以自己在process_tick_event函数里过滤掉非交易时段数据再试试看

Member
avatar
加入于:
帖子: 35
声望: 1

xiaohe wrote:

可以自己在process_tick_event函数里过滤掉非交易时段数据再试试看
这个问题我排查了很久,很难解决,因为他是间歇性出现的,10个交易日里可能会出现2~3次开盘录不进数据的问题。
您说的方法我之前已经这样做了,过滤掉非交易时间段的tick以及时间戳和本地时间相差一分钟以上的tick,但仍未完全解决这个问题。
有可能这是我特有的问题,但是他不报错,我就不知道该如何排查,请问有推荐的排查方案吗?谢谢!

Member
avatar
加入于:
帖子: 41
声望: 3

xiaohe wrote:

可以自己在process_tick_event函数里过滤掉非交易时段数据再试试看
在这里过滤也不管用,非得在开盘后延迟打开才可以,或者重启软件!这样又会导致丢失一段时间的数据,不知道咋解决。

Member
avatar
加入于:
帖子: 4618
声望: 284

可以检查一下自己的过滤逻辑,配合bargenerator看看

Member
avatar
加入于:
帖子: 4618
声望: 284

bill-wong wrote:

xiaohe wrote:

可以自己在process_tick_event函数里过滤掉非交易时段数据再试试看
这个问题我排查了很久,很难解决,因为他是间歇性出现的,10个交易日里可能会出现2~3次开盘录不进数据的问题。
您说的方法我之前已经这样做了,过滤掉非交易时间段的tick以及时间戳和本地时间相差一分钟以上的tick,但仍未完全解决这个问题。
有可能这是我特有的问题,但是他不报错,我就不知道该如何排查,请问有推荐的排查方案吗?谢谢!
在bargenerator的update_tick函数下的if self.last_tick and tick.datetime < self.last_tick.datetime逻辑里打印,如果走到这里了,打印一下tick.datetime和self.last_tick.datetime

Member
avatar
加入于:
帖子: 35
声望: 1

xiaohe wrote:

bill-wong wrote:

xiaohe wrote:

可以自己在process_tick_event函数里过滤掉非交易时段数据再试试看
这个问题我排查了很久,很难解决,因为他是间歇性出现的,10个交易日里可能会出现2~3次开盘录不进数据的问题。
您说的方法我之前已经这样做了,过滤掉非交易时间段的tick以及时间戳和本地时间相差一分钟以上的tick,但仍未完全解决这个问题。
有可能这是我特有的问题,但是他不报错,我就不知道该如何排查,请问有推荐的排查方案吗?谢谢!
在bargenerator的update_tick函数下的if self.last_tick and tick.datetime < self.last_tick.datetime逻辑里打印,如果走到这里了,打印一下tick.datetime和self.last_tick.datetime
抱歉又打扰了,今天再次发生卡顿,并且没有走到if self.last_tick and tick.datetime < self.last_tick.datetime逻辑里。为了对比,我在本地电脑和云服务器里用相同的环境、相同的穿透式接入账号来录制行情。
现象是这样的:本地电脑可以正常显示行情跳动,但是没有合成1分钟bar,dbtickdata数据库里也没有东西;但是云服务器里在同样的配置环境下可以正常录制tick数据和合成1分钟线。
所以我感觉应该是网络问题,但我不知道应该如何解决这个问题,因为本地没有录到tick数据(数据库里没有行情,但vntrader界面行情跳动是正常的)。请问您有推荐的解决方案吗?谢谢!

Member
avatar
加入于:
帖子: 4618
声望: 284

如果on_tick收到了tick只是被update_tick过滤掉了可以通过调整process_tick_event函数调整,但是如果on_tick收不到tick那就没有办法了。还是需要先自己打印排查一下

Member
avatar
加入于:
帖子: 35
声望: 1

xiaohe wrote:

如果on_tick收到了tick只是被update_tick过滤掉了可以通过调整process_tick_event函数调整,但是如果on_tick收不到tick那就没有办法了。还是需要先自己打印排查一下
请教一下:如果vntrader界面能正常显示行情跳动,是不是说明on_tick收到了tick?谢谢!

Member
avatar
加入于:
帖子: 4618
声望: 284

是的

Member
avatar
加入于:
帖子: 35
声望: 1

xiaohe wrote:

是的
谢谢您!所以遇到的问题是on_tick能收到数据,process_tick_event或save_tick_data环节可能出错,我现在已经在每个可能出错的步骤前打印tick了,等我下次遇到这个问题,排查清楚后再回到这篇帖子来汇报

Member
avatar
加入于:
帖子: 35
声望: 1

xiaohe wrote:

是的
老师您好,我找到原因了。理论上数据默认会存进C:/veighna_studio/.vntrader/database.db中,但是他今天启动的时候却写进了C:/Users/xxx/.vntrader/database.db中。我不知道原因,感觉可能是之前的vnstation没有删干净,请问您感觉我出现的这个bug是什么原因呢?谢谢!

Member
avatar
加入于:
帖子: 4618
声望: 284

默认是在用户目录下启动,自然是存到后面那个路径里。如果想存到前面那个路径,需要在C:/veighna_studio/启动

Member
avatar
加入于:
帖子: 35
声望: 1

xiaohe wrote:

默认是在用户目录下启动,自然是存到后面那个路径里。如果想存到前面那个路径,需要在C:/veighna_studio/启动
谢谢老师,我可能有时候一时兴起用cmd启动veighna,没注意启动路径,导致了这个问题。我以后会多加注意,再次感谢!

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

沪公网安备 31011502017034号

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