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

账户没有这类数据的权限吧

wangjiancc wrote:

任东海 wrote:

这个不能如此理解的,因为每个品种在每天开盘的时候价格波动都会很大,如果将第二日开盘的第一分钟合成到了上一日收盘最后一小时K线中,势必扭曲上一日收盘K线的信息,我这也不是第一次提供对源代码的修改意见了,我是希望官方的代码能做到最精确无误,这样我们这些使用者也可以不用自己去修改和替换呀

赞成, K线合成有误, 一切就都出问题了, 这个是基础。希望官方增强量化策略本身的功能,如K线合成, 回测K线展示等
请问你发现的K线合成的问题是?

如果策略内用到了K线时间序列管理模块(ArrayManager)来计算变量指标的值,那么需要确保历史数据的长度足够ArrayManager进行初始化(默认的ArrayManager需要100条数据才能初始化成功)。如果历史数据的长度不够ArrayManager初始化,即使图形界面上输出了日志“初始化完成”,该策略实例的初始化也是失败的。
如果策略逻辑是基于if not am.inited写的话,那么策略初始化时可以观察到,图形界面左侧策略实例面版下的基于ArrayManager计算的策略指标的值是0。说明此时该策略实例虽然启动之后就能处于可以发出交易信号的状态,但是因为ArrayManager没有初始化成功,该策略实例需要一直等到推进策略实例的数据足够ArrayManager初始化之后,才能开始计算变量指标,进而发出交易信号。
如果策略逻辑不是基于if not am.inited写的话,那么虽然初始化之后可观察到图形界面左侧策略实例面版下的策略指标是有数值的。而且此时启动也能处于可以发出交易信号的状态,但是因为数据不够ArrayManager初始化成功,该策略实例计算出来的变量指标值会是不准确的,进而可能会发出错误的交易信号。

是的,二次开发之后可以直接在Github上fork一个分支出来,后续在每个版本发布后做一次PR合并。

读取arraymanager里的缓存

如果是api版本不对可以更换一下dll试试

请问进行了什么操作?
可以在cmd中运行python -m vnstation,然后启动VN Trader Pro,看一下是否有报错输出

  1. 可能是我表述错误,如果你那样改,第一个收到的volume必须为0时刻的volume。如果此时盘中了,此时第一个tick上的volume已经是开盘到现在的累计量了。而且如果你交易有夜盘的品种,你早上开盘收到的第一个tick的volume会是夜盘到早上开盘时的累计量;
  2. 如果你要求第一根bar的交易量里一定要涵括早上第一个tick上的volume,你可以使用RQData数据服务,然后盘中打开,此时RQData推过来的数据里应该有早上第一根bar

是的,是没有Interval属性

创建不同的策略实例名

  1. 如果进行你这样的修改的话,那么要求开盘时那个tick上的volume必须为0,那么就一定要在盘前打开(如果夜盘就要在夜盘前打开,但是现在CTP夜盘会关闭系统,早上开盘前重启了。 所以夜盘收盘后也要关闭VN Trader才行了。那么按你的修改,夜盘开盘的品种早上开盘也是会错的 );
  2. 交易中其实volume的值不是特别常用,而且是第一个tick的volume。但是如果有需要的话,就请使用米筐的数据服务或者自行修改BarGenerator了

请升级至2.1.9.1再试试看

底层报错了,请在cmd中用python -m vnstation启动,看看报错信息吧

分钟/小时/N分钟/N小时的合成逻辑都是写好的,如果不符合自己的使用习惯,可以基于BarGenerator进行个性化修改。日线逻辑没有统一写好,是因为交易合约特性不同,论坛里也有很多合成日线的帖子可供参考,请基于自己的应用场景进行合成了。

御前侍卫 wrote:

楼主的这个问题解决了吗?我遇到同样的问题。
请问你是按5楼填的吗?
而且现在是非交易时段,请注意环境的选择

有些时候小时的最后一根K线不是59分是29分

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

沪公网安备 31011502017034号

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