以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 高级功能研发区 (http://222.73.7.161/bbs/list.asp?boardid=5) ---- 跨周期 (http://222.73.7.161/bbs/dispbbs.asp?boardid=5&id=49128) |
-- 作者:chinagaox -- 发布时间:2013/3/2 22:52:18 -- 跨周期 VBA编程:测试过去的数据,2013.3.1这根日K线用GetHistoryData 可以调用,我想在这根K线上调取当天的60分钟K线,如果亏损就要止损,怎么调用当天的四要K线中的某一要呢? 跨周期
|
-- 作者:admin -- 发布时间:2013/3/3 0:52:58 -- VBA中遇到这种跨周期是比较麻烦,因为GetHistoryData 只能对一个品种对象调用,如果你需要同时处理2个品种,那么你就必须要用数组先保存一个,然后再调用另一个。 然后在用自己保存的之前的数组数据与第二个品种的数据进行处理。 至于你说的跨周期的问题,就必须要你自己用算法来对另一个周期的数据进行快速查找了。 |
-- 作者:chinagaox -- 发布时间:2013/3/3 10:30:00 -- 第一次提问,没想到版主在周末能回答问题,金字塔公司该发给你奖金了啊。
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线数据测试盈利情况,写报告之用,非常急用)
[此贴子已经被作者于2013-3-3 10:31:11编辑过]
|
-- 作者:admin -- 发布时间:2013/3/3 10:55:10 -- 摘抄编程帮助中的信息给你 GetPosFromDate(DateData) 得到得到指定日期时间DateData的数据的基于0索引的序号。 示例:
提醒一下,你二次调用GetHistoryData后,第一次的调用就失效了,也就是你不能再Set HistoryHour 这个句话后再来用HistoryDay对象的数据。 解决问题请参考 http://www.weistock.com/bbs/dispbbs.asp?BoardID=5&ID=12404&skin=0 4楼的处理方法 |