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

GetHistoryDataByDate取历史数据报错 [金字塔]

  • 咨询内容:

    for date_i = 1 to Ubound(date_array) - 1

           my_HistoryData  = marketdata.GetHistoryDataByDate(TCCODE, TCMARKET, 5, date_i_b_str, date_i_e_str)

    next

     

    以上代码中的这一句:

    marketdata.GetHistoryDataByDate(TCCODE, TCMARKET, 5, date_i_b_str, date_i_e_str)

    在循环了几次后,就开始报错:

    编译器错误:438

    对象不支持此属性或方法

     

    另外,出现这个报错后,如果再执行这段代码,不报错,但是一条数据也取不出来,结果都是空的。

     

    说明:我下载了最近5年的历史日K线数据,数据应该是全的。

     

     

     

     

  • 金字塔客服: 代码给全,让工作人员看下。是不是数组的问题

     

  • 用户回复: 看你使用的是那种模式读取的数据,如果你用的是独立模式的,那么调用完一个品种数据后,你要释放对象的,否则会导致内存不足

     

  • 网友回复:

    Sub APPLICATION_VBAStart()
     application.MsgOut  "开始运行..."
     dim my_HistoryData, date_array(250)
     Set my_HistoryData  = marketdata.GetHistoryData("000001", "SH", 5)
     for i = 750 to 1000 -1
      date_array(i-750) = my_HistoryData.Date(i)
     next

      for date_i = 1 to Ubound(date_array) - 1
      date_i_b_str = date_array(date_i-1) 
         date_i_e_str = date_array(date_i) 
         application.MsgOut   date_i_b_str & " " & date_i_e_str
         my_HistoryData  = marketdata.GetHistoryDataByDate("600109", "SH", 5, date_i_b_str, date_i_e_str)
         application.MsgOut  my_HistoryData.count & " " & my_HistoryData.close(0)
         marketdata.DestroyHistoryData
        next

     

    输出结果:

    开始运行...
    2014/1/21 2014/1/22
    开始运行...
    0:00:00 0:00:00
    开始运行...
    2014/1/21 2014/1/22

     

    不但报错,而且多次运行的输出结果也很奇怪,每次都不一样,如上。

     

  • 网友回复:

    看你使用的是那种模式读取的数据,如果你用的是独立模式的,那么调用完一个品种数据后,你要释放对象的,否则会导致内存不足

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

    上面我已经贴了完整的代码,大哥帮忙看看啥问题

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 1145508240  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


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

相关文章

    没有相关内容