以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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
--  
工具菜单-》数据补充,批量补充历史数据