application.MsgOut Date &" " &Time& "检索主力合约" Dim marketName Set dominantContract=CreateObject("Scripting.Dictionary") '创建一个字典 marketName=Array("SQ","DQ","ZQ","ZJ","SY") prefixStockNameOld="" c" contractVol=0
'找到的主力合约代码放这里
For j=0 To UBound(marketName) n=marketData.GetReportCount(marketName(j)) For i=0 To n-1 Set reportData=marketdata.GetReportDataByIndex(marketName(j),i) prefixStockNameCur=left(reportData.StockName,2) suffixStockNameCur=right(reportData.StockName,2) If suffixStockNameCur>="00" And suffixStockNameCur<"99" And reportData.Volume>0 Then If prefixStockNameCur<>prefixStockNameOld Then If contractLabel<>"" Then dominantContract.Add contractMarket & contractLabel, 0 End If prefixStockNameOld=prefixStockNameCur contractLabel=reportData.Label contractMarket=marketName(j) contractVol=reportData.Volume ElseIf reportData.Volume>contractVol then contractLabel=reportData.Label contractVol=reportData.Volume End If
End If Next Next dominantContract.Add contractMarket & contractLabel,0
If FndCount > 0 Then '整理一下数据,将市场和代码分开 For j=0 To FndCount Application.MsgOut "分析"&labels(j) markets(j) = left(labels(j),2) labels(j) = right(labels(j),len(labels(j))-2) Next SaveBlockAndOpen labels, markets Else MsgBox "没有找到主力合约" End if