以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  请教下Formula 和HistroyData 获取数据k线日期同步性问题  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=155108)

--  作者:douglas
--  发布时间:2017/6/14 21:45:15
--  请教下Formula 和HistroyData 获取数据k线日期同步性问题
正在测试VBA代码,请问为什么如下代码,获取的PC,MAXRED数据却是在不同K线上的值,为什么不是同步时间的呢?

Set Formula = marketdata.STKINDI("600000","SH","QSDDATA",0,5)
Set HistroyData = marketdata.GetHistoryData("600000","SH",5)
for j = 0 to HistroyData.count-1

PC=HistroyData.CLOSE(j)
MAXRED=Formula.GetBufData("MAXRED",j)

......
next

--  作者:yukizzc
--  发布时间:2017/6/15 8:50:45
--  

stk你不指定数量,他返回的

Count    可选参数,若填数字则表示指定的调用数量,为0或者不填表示读取该品种在选项维护设置中的默认数量

 

而历史数据你不指定数量,返回本地所有

Count    可选参数,若填数字则表示指定的调用数量,为0或者不填表示读取该品种在本地硬盘保存的全部数据

 

 

     application.MsgOut Formula.DataSize
  application.MsgOut Histroydata.Count

自己这样测试下就能看到区别


--  作者:王锋
--  发布时间:2017/6/15 11:55:20
--  

Set Formula = marketdata.STKINDI("600000","SH","QSDDATA",0,5)

Set Grids = Formula.ParentGrid

Set HistroyData  = Grids.GetHistoryData

 

这样既可保持绝对同步,也能极大提高效率,不用重复从硬盘调取数据


--  作者:douglas
--  发布时间:2017/6/15 21:32:50
--  
多谢二位老师!
回头修改代码测试下,有疑问再请教。