请教各位高手个问题! 如果我想在VBA中取得今天某一时点的成交价格 用什么对象能实现啊? 我考察了下取数据的对象 report 是取及时数据的这个时点过去了就不能回头取了 minute和history取的数据是按成交顺序排的并不按时间序列排序,如果这样的话我11点开电脑想调用9:30的成交价格就成问题了!!! 求各位大侠赐教! |
HistoryData 对象
GetPosFromDate(DateData)
得到得到指定日期时间DateData的数据的基于0索引的序号。
如果指定日期超过数据范围返回-1。
示例:
'得到上期所指定品种的日线数据
Set History = marketdata.GetHistoryData("rb00","sq",5)
'显示指定日期的数据所在位置
MSGBOX HISTORY.GetPosFromDate("2010/12/28")
谢谢王锋老师!
您的方法我试了,但是当我取当日的分笔成交数据的的时候又碰到了新问题
dim i
Set History = marketdata.GetHistoryData("IF12","ZJ",10)
i = HISTORY.GetPosFromDate("2012/12/6 9:18:20")
mydate = History.Close(i)
上边这段代码运行的时候报错了, 提示 i 的用法错误!!
我查了下帮助里的范例 发现用法是mydate = History.Close(History.Count-1)这样的话 我只能倒序取数据,但是我从GetHistoryData函数里取得的是正序,无法传递到History.Close函数也就取不到数据。。。。。。。。。
请问王锋老师这个问题怎么解决?
Sub Test()
dim i
Set History = marketdata.GetHistoryData("IF12","ZJ",10)
i = HISTORY.GetPosFromDate("2012/12/6 9:18:20")
MSGBOX I
mydate = History.Close(i)
msgbox mydate
End Sub
经过上述代码测试没发现问题。
你出现的情况有可能是 GetPosFromDate 返回的数据索引为-1导致,处理数据时做下判断即可。
----------
发现用法是mydate = History.Close(History.Count-1)这样的话 我只能倒序取数据,但是我从GetHistoryData函数里取得的是正序,无法传递到History.Close函数也就取不到数据。。。。。。。。。
--------------
上面这句话看不懂是什么意思,想要表达什么?
问题解决了 谢谢 王锋老师