欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 现在只能搜索到上期夜市的主力品种。

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2727人关注过本帖平板打印复制链接

主题:现在只能搜索到上期夜市的主力品种。

帅哥哟,离线,有人找我吗?
torymiss
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:94 积分:455 威望:0 精华:0 注册:2011/4/11 20:37:10
  发帖心情 Post By:2014/6/23 22:32:50 [只看该作者]

Sub SearchStart()
 
  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
 
 
 labels=dominantContract.Keys
 markets=dominantContract.Keys
 
 FndCount = UBound(dominantContract.Keys)
 Application.MsgOut "共找到"&FndCount&"个合约"
 
 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
 
End Sub

 回到顶部