金字塔跨周期 VBA编程:测试过去的数据,2013.3.1这根日K线用GetHistoryData可以调用 [金字塔]
- 咨询内容:
VBA编程:测试过去的数据,2013.3.1这根日K线用GetHistoryData 可以调用,我想在这根K线上调取当天的60分钟K线,如果亏损就要止损,怎么调用当天的四要K线中的某一要呢? 跨周期
- 金字塔客服:
VBA中遇到这种跨周期是比较麻烦,因为GetHistoryData 只能对一个品种对象调用,如果你需要同时处理2个品种,那么你就必须要用数组先保存一个,然后再调用另一个。
然后在用自己保存的之前的数组数据与第二个品种的数据进行处理。
至于你说的跨周期的问题,就必须要你自己用算法来对另一个周期的数据进行快速查找了。
- 用户回复:
第一次提问,没想到版主在周末能回答问题,金字塔公司该发给你奖金了啊。
Set HistoryDay = marketdata.GetHistoryData( "rb10","sq", 5) '得到日线数据
History.date(History.Count-i) '得到历史日K线的日期,比如得到2013.3.1
JinShou=History.Close( History.Count- i ) '得到历史K结的收盘价
Set HistoryHour = marketdata.GetHistoryData( "rb10","sq", 4) '得到60分钟线数据
我要得到在2013.3.1这天60分钟的第二根K线收盘价,我要在这根K线上判断是否止损,怎么得到这指定的K线收盘价啊?
好象没有指定日期得到指定K线的功能呢
(有一种变通方案,就是测试在收盘后进行,每根日K线对应四根1小时K线,回朔去找对应的1小时K线,但我在测试时确实见到数据不全的情况,不一定对应四根呢)
(另外一个问题,我测试是用螺纹钢连续合约还是用螺纹钢指数合约,两者有好大区别呢)
(此方案是用历史K线数据测试盈利情况,写报告之用,非常急用)
- 网友回复:
摘抄编程帮助中的信息给你
GetPosFromDate(DateData)
得到得到指定日期时间DateData的数据的基于0索引的序号。
如果指定日期超过数据范围返回-1。示例:
'得到上期所指定品种的日线数据
Set History = marketdata.GetHistoryData("rb00","sq",5)
'显示指定日期的数据所在位置
MSGBOX HISTORY.GetPosFromDate("2010/12/28")提醒一下,你二次调用GetHistoryData后,第一次的调用就失效了,也就是你不能再Set HistoryHour 这个句话后再来用HistoryDay对象的数据。
解决问题请参考
http://www.weistock.com/bbs/dispbbs.asp?BoardID=5&ID=12404&skin=0 4楼的处理方法
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 262069696 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容