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

我遇到的问题是: on_bar 有时收不到回调,(有时能收到 ),可能是什么原因 ? (说明: on_tick 始终能收到回调 )
正常日志:
2021-11-30 09:41:01,049 INFO: hongkui05: (tick心跳)[2021-11-30 09:41:00.000000] *
2021-11-30 09:41:01,049 INFO: hongkui05: (1min心跳)[2021-11-30 09:40:00] #############
2021-11-30 09:42:01,033 INFO: hongkui05: (tick心跳)[2021-11-30 09:42:00.000000] *
2021-11-30 09:42:01,033 INFO: hongkui05: (1min心跳)[2021-11-30 09:41:00] #############
2021-11-30 09:43:01,264 INFO: hongkui05: (tick心跳)[2021-11-30 09:43:00.000000] *
2021-11-30 09:43:01,264 INFO: hongkui05: (1min心跳)[2021-11-30 09:42:00] #############
2021-11-30 09:44:01,050 INFO: hongkui05: (tick心跳)[2021-11-30 09:44:00.000000] *
2021-11-30 09:44:01,051 INFO: hongkui05: (1min心跳)[2021-11-30 09:43:00] #############

收不到on_bar时的日志:
2021-11-30 08:46:11,373 INFO: hongkui05: position_long = 0
2021-11-30 08:46:11,373 INFO: CTA策略全部启动
2021-11-30 09:00:01,298 INFO: hongkui05: (tick心跳)[2021-11-30 09:00:00.000000] *
2021-11-30 09:02:00,973 INFO: hongkui05: (tick心跳)[2021-11-30 09:02:00.000000] *
2021-11-30 09:03:00,979 INFO: hongkui05: (tick心跳)[2021-11-30 09:03:00.000000] *
2021-11-30 09:04:00,980 INFO: hongkui05: (tick心跳)[2021-11-30 09:04:00.000000] *
2021-11-30 09:05:01,001 INFO: hongkui05: (tick心跳)[2021-11-30 09:05:00.000000] *
2021-11-30 09:07:00,985 INFO: hongkui05: (tick心跳)[2021-11-30 09:07:00.000000] *
2021-11-30 09:08:00,995 INFO: hongkui05: (tick心跳)[2021-11-30 09:08:00.000000] *
2021-11-30 09:09:00,986 INFO: hongkui05: (tick心跳)[2021-11-30 09:09:00.000000] *
2021-11-30 09:10:01,018 INFO: hongkui05: (tick心跳)[2021-11-30 09:10:00.000000] *

说明: tick心跳 日志是在 on_tick 函数中打印的日志, 1min心跳 是在 on_bar 函数中打印的日志

Member
avatar
加入于:
帖子: 716
声望: 55

通过tick合成bar时,会进行过滤,如果后一根tick时间小于前一根tick,则不会合成bar。你这里应该是读取到了非交易时段的tick,导致后面的tick都无法合成,请自行过滤非交易时段的数据。

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

郭易燔 wrote:

通过tick合成bar时,会进行过滤,如果后一根tick时间小于前一根tick,则不会合成bar。你这里应该是读取到了非交易时段的tick,导致后面的tick都无法合成,请自行过滤非交易时段的数据。
有可能是这个原因,我再研究一下。非常感谢!

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

确实是这个原因。最开始启动的时候,收到了一个 当天 23:00:00 的tick。
2021-11-30 08:45:11,925 INFO: hongkui05初始化完成
2021-11-30 08:45:11,933 INFO: hongkui05: (tick心跳)[2021-11-30 23:00:00.000000] *

=》虽然原因找到了。有什么好的解决方法吗? 按道理, 23:00:00 也是属于交易时段(尽管是边界)

Member
avatar
加入于:
帖子: 716
声望: 55

最简单的方法就是迟一点再启动系统。其他方法需要自行选择,因为非交易时段的数据不是固定的,需要按需过滤。

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

沪公网安备 31011502017034号

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