以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- [求助]GetHistoryData不能获取足够的数据 (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=97504) |
-- 作者:du_zb -- 发布时间:2016/5/17 10:00:56 -- [求助]GetHistoryData不能获取足够的数据 写了这样一个简单程序,想要获取最近50根K线的收盘价, 以下内容为程序代码: 1 Sub testHisData() 2 3 sC 4 sMarketCode="SQ" 5 CycType=5 6 t=50 7 Set HisData=MarketData.GetHistoryData(sConCode,sMarketCode,CycType,t) 8 for i=0 to t-1 9 application.MsgOut "Date: " & HisData.Date(i) & " Close: " & HisData.Close(i) 10 next 11 12 End Sub 但运行的时候发现只能获取最近5根K线的收盘价,这个问题在我打开了AG06合约的图表后自动解决了。我的问题是: 1.这个问题出现的原因是什么? 2.因为我是希望用VBA做一个后台交易程序,所以我想问如何在不打开图表(并且不进行任何人工干预)的前提下解决这个问题?
[此贴子已经被作者于2016-5-17 10:01:40编辑过]
|
-- 作者:du_zb -- 发布时间:2016/5/17 10:03:49 -- 代码的第三行没显示出来,应该是 sConCode="AG06"
[此贴子已经被作者于2016-5-17 10:04:30编辑过]
|
-- 作者:yukizzc -- 发布时间:2016/5/17 10:12:29 -- 说明你本地缺少数据,工具-数据补充,这边进行下数据补充。
|
-- 作者:du_zb -- 发布时间:2016/5/17 10:14:33 -- 那请问vba里有补充数据的函数吗? 而且我每天都做收盘作业,做了半个多月了,怎么只有5天的数据呢?
|
-- 作者:du_zb -- 发布时间:2016/5/17 10:21:09 -- 另外,我怎么才能保证每次取历史数据都一定能获得想要的数据,而不是输出一堆0呢? |
-- 作者:yukizzc -- 发布时间:2016/5/17 10:25:16 -- 没有自动补数据的,不要打开图表,在动态显示盘右键-数据 这边查看下自己本地到底有多少数据。 你这边现在要确定的是本地数据的保存是否正确,先不要去理会vba输出这一遭。你可以在后台输出下historydata的count总数据量, 先把数据的问题解决了,再看后续问题 |
-- 作者:王锋 -- 发布时间:2016/5/17 10:25:24 -- 补充好历史数据,然后设定每天收盘作业,这样才能保证数据都能落地 |
-- 作者:du_zb -- 发布时间:2016/5/17 10:31:39 -- 好的我试一下,谢谢。 |