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

[求助]vba编程为什么多小时线和节气线没数据? [金字塔]

  • 咨询内容:

    '多小时线和节气线的数据都下载到了本地了,多小时是系统默认的2小时线

    Sub SHSL()
     Dim Grid                        '窗格引用对象变量
     Dim iStockName                  '与窗格关联的证券名称
     Dim iStockLabel                 '与窗格关联的证券代码
     Dim iMarket                     '与窗格关联的市场代码
     '参数Cyctype  的周期类型:0 1分钟 1 5分钟 2 15分钟 3 30分钟 4 60分钟 5日线 6周线 7月线 8年线 9多日线 
     '10分笔成交 11多小时线 12多秒线 13多分钟线 14季度线 15半年线 16节气线 17 3分钟 18 10分钟 19 多笔线 
     '不同周期数据的对象引用变量
     Dim DataMinute1,DataMinute5,DataMinute15,DataMinute30,DataHour,DataDay,DataWeek,DataMonth,DataYear,DataDays
     Dim DataBill,DataHours,DataSeconds,DataMinutes,DataQuarter,DataHalfYear,DataSolarTerms,DataMinute3,DataMinute10,DataBills
     '用于数组的循环变量
     Dim iMinute1,iMinute5,iMinute15,iMinute30,iHour,iDay,iWeek,iMonth,iYear,iDays
     Dim iBill,iHours,iSeconds,iMinutes,iQuarter,iHalfYear,iSolarTerms,iMinute3,iMinute10,iBills
     Dim i       
     '以下动态数组里的每列数据从左到右依次是:序号、时间、0、H、L、C、成交量、成交额、持仓量等八种数据
     Dim arrMinute1(),arrMinute5(),arrMinute15(),arrMinute30(),arrHour(),arrDay(),arrWeek(),arrMonth(),arrYear(),arrDays()
     Dim arrBill(),arrHours(),arrSeconds(),arrMinutes(),arrQuarter(),arrHalfYear(),arrSolarTerms(),arrMinute3(),arrMinute10(),arrBills()                 
     
     MarketData.HistoryDataMode = 1  '不同周期品种为独立的缓冲区
       
     Set Grid = Technic.GetGridByName("Main") '从图表上得到框架名称为"Technic"、窗格名称为"Main"的窗格对象——K线分析图
     iStockName = Grid.StockName   '与窗格关联的证券名称
     iStockLabel = Grid.StockLabel '与窗格关联的证券代码
     iMarket = Grid.Market         '与窗格关联的市场代码
     
     '以下得到图表关联品种的各周期类型数据
      '读取多小时线数据
     Set DataHours = MarketData.GetHistoryData(iStockLabel,iMarket,11) '设置引用对象
     iHours = DataHours.Count - 1             '因为下标从0开始所以引用对象数据量减1
     ReDim Preserve arrHours(iHours,8)             '重置动态二维数组维度
     For i = 0 To iHours                      '给动态数组写入以下值
      arrHours(iHours,0) = i+1                  '序号
      arrHours(iHours,1) = DataHours.Date(i)    '时间
      arrHours(iHours,2) = DataHours.Open(i)    '开盘
      arrHours(iHours,3) = DataHours.High(i)    '最高
      arrHours(iHours,4) = DataHours.Low(i)     '最低
      arrHours(iHours,5) = DataHours.Close(i)   '收盘
      arrHours(iHours,6) = DataHours.Volume(i)  '成交量
      arrHours(iHours,7) = DataHours.Amount(i)  '成交额
      arrHours(iHours,8) = DataHours.Openint(i) '持仓量
     Next
     MsgBox "参数Cyctype为11即多小时"& arrHours(iHours - 3,5) '显示数据用于检查 
     

     '读取节气线数据
     Set DataSolarTerms = MarketData.GetHistoryData(iStockLabel,iMarket,16) '设置引用对象
     iSolarTerms = DataSolarTerms.Count - 1             '因为下标从0开始所以引用对象数据量减1
     ReDim Preserve arrSolarTerms(iSolarTerms,8)                  '重置动态二维数组维度
     For i = 0 To iSolarTerms                           '给动态数组写入以下值
      arrSolarTerms(iSolarTerms,0) = i+1                       '序号
      arrSolarTerms(iSolarTerms,1) = DataSolarTerms.Date(i)    '时间
      arrSolarTerms(iSolarTerms,2) = DataSolarTerms.Open(i)    '开盘
      arrSolarTerms(iSolarTerms,3) = DataSolarTerms.High(i)    '最高
      arrSolarTerms(iSolarTerms,4) = DataSolarTerms.Low(i)     '最低
      arrSolarTerms(iSolarTerms,5) = DataSolarTerms.Close(i)   '收盘
      arrSolarTerms(iSolarTerms,6) = DataSolarTerms.Volume(i)  '成交量
      arrSolarTerms(iSolarTerms,7) = DataSolarTerms.Amount(i)  '成交额
      arrSolarTerms(iSolarTerms,8) = DataSolarTerms.Openint(i) '持仓量
     Next
     MsgBox "参数Cyctype为16即节气线"& arrSolarTerms(iSolarTerms - 3,5) '显示数据用于检查 
      
      MarketData.DestroyHistoryData '数据处理完毕后,清理缓冲区
    End Sub

     

  • 金字塔客服: 消息输出框里有文字串但收盘价的值?

     

  • 用户回复: 请大师们帮助

     

  • 网友回复: 请大师们帮助啊

     

  • 网友回复:

    Set Grid = Technic.GetGridByName("Main") '从图表上得到框架名称为"Technic"、窗格名称为"Main"的窗格对象——K线分析图
     iStockName = Grid.StockName   '与窗格关联的证券名称
     iStockLabel = Grid.StockLabel '与窗格关联的证券代码
     iMarket = Grid.Market         '与窗格关联的市场代码

     

    Set DataHours = MarketData.GetHistoryData(iStockLabel,iMarket,11) '设置引用对象
    application.msgout DataHours .close(DataHours.Count - 1   )

     

     

    用这段代码测试正常,请您先简化分析,不要一次性堆积大量代码让工作人员去检查。。。

 

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

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


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

相关文章

    没有相关内容