您现在的位置:程序化交易>> 期货公式>> 金字塔等>> 金字塔知识>>正文内容

金字塔跨周期 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线数据测试盈利情况,写报告之用,非常急用)

     

    [此贴子已经被作者于2013-3-3 10:31:11编辑过]

     

  • 网友回复:

    摘抄编程帮助中的信息给你

    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  点击在线交流进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容