以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- [求助]C++读取历史数据的问题 (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=96971) |
-- 作者:心识谋 -- 发布时间:2016/5/3 14:10:49 -- [求助]C++读取历史数据的问题 历史数据接口函数为GetDataInfo(PCALCINFO * pInfo),用改函数能获取历史数据,但使用中发现一个问题,就是只有当调用的品种在软件图表中显示时,获取的数据才是完整的,否则最新接收的数据会缺失。 譬如当金字塔软件全天运行,但图表界面如果显示的是橡胶5分钟K线图,那么任何时候调用该函数取橡胶的K线数据都完整正确。 但如果调该函数取其他品种(如铜)的5分钟历史数据,就会不完整,最新送来的5分钟数据会没有。 如果你在金字塔输入铜的代码,让图表显示铜的5分钟K线图,然后再调用该函数,就能获得完整的5分钟K线数据了。 请问:有没有办法在软件图表没显示该品种K线的时候,调用该函数,也能保证取得的数据时完整的? |
-- 作者:王锋 -- 发布时间:2016/5/3 14:16:21 -- 补充历史数据后,如果你24小时无人值守,请开启自动收盘作业。 参考 http://www.weistock.com/bbs/dispbbs.asp?boardid=16&Id=88505 问题9 |
-- 作者:心识谋 -- 发布时间:2016/5/3 14:51:49 -- 现在遇到的问题与收盘作业无关。
我现在是做多个品种的5分钟日内策略,因为有较多品种,不想在软件界面把所有品种的K线图都调出来。
那么在程序中调GetDataInfo(PCALCINFO * pInfo)函数获取某个品种的5分钟K线,在10点钟调用,则只能获得譬如9:30之前的5分钟K线数据(这个具体与你最后在图表中看该品种的时间有关)。
也就是GetDataInfo(PCALCINFO * pInfo)函数获取的数据是非实时的,当前时刻的最新数据是没有的。只有界面显示该品种时,获取的才包含当前时刻的数据。
我感觉就是当天的5分钟K线(15分钟、60分钟应该也一样)这些K线数据是不会立即组织形成的,只有当用户在图表上输入该品种,金字塔才会组织形成5分钟K线数据。
那么当图表没有显示该品种时,程序调用GetDataInfo(PCALCINFO * pInfo)金字塔是不会组织形成K线数据,只会把原来已经形成的K线数据返回用户,所以就不能取到最新K线数据。
目前我用的办法是采用SendMessage()模拟图表翻页按键,这样能保证监控的品种能不断的在图表中出现,这样盘中调该函数就保证能获取最新的5分钟数据。但这样感觉太不好了,不知道有没有其他办法? |
-- 作者:王锋 -- 发布时间:2016/5/3 15:03:02 -- 工具菜单-》数据补充,批量补充历史数据 |