Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]如何在VBA中以时间节点为参数取历史成交数据!

1楼
sw3661354 发表于:2012/12/5 14:22:16

请教各位高手个问题! 如果我想在VBA中取得今天某一时点的成交价格 用什么对象能实现啊?

我考察了下取数据的对象 report 是取及时数据的这个时点过去了就不能回头取了

minute和history取的数据是按成交顺序排的并不按时间序列排序,如果这样的话我11点开电脑想调用9:30的成交价格就成问题了!!!

求各位大侠赐教!

[此贴子已经被作者于2012-12-5 14:23:13编辑过]
2楼
王锋 发表于:2012/12/6 0:51:09

HistoryData 对象

 

GetPosFromDate(DateData)

得到得到指定日期时间DateData的数据的基于0索引的序号。
如果指定日期超过数据范围返回-1。

示例:
'得到上期所指定品种的日线数据
Set History = marketdata.GetHistoryData("rb00","sq",5)
'显示指定日期的数据所在位置
MSGBOX HISTORY.GetPosFromDate("2010/12/28")

3楼
sw3661354 发表于:2012/12/6 9:57:30

谢谢王锋老师!

 

您的方法我试了,但是当我取当日的分笔成交数据的的时候又碰到了新问题

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函数也就取不到数据。。。。。。。。。

请问王锋老师这个问题怎么解决?

4楼
王锋 发表于:2012/12/6 13:34:33

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函数也就取不到数据。。。。。。。。。

--------------

上面这句话看不懂是什么意思,想要表达什么? 

 

5楼
sw3661354 发表于:2012/12/6 17:20:23

问题解决了 谢谢 王锋老师

共5 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.02930 s, 2 queries.