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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [求助]我想用这种方法自动筛选主力合约

   

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


  共有7951人关注过本帖树形打印复制链接

主题:[求助]我想用这种方法自动筛选主力合约

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


加好友 发短信
等级:论坛游侠 帖子:574 积分:3167 威望:0 精华:0 注册:2009/10/10 11:13:01
  发帖心情 Post By:2010/7/30 22:03:55 [显示全部帖子]

 '枚举合约,将主力合约的代码和对应市场代码分别作为键和值存入字典容器,供后续操作调用
sub test()
    Dim marketName
    Set dominantContract=CreateObject("Scripting.Dictionary")
    marketName=Array("SQ","DQ","ZQ","ZJ")
    prefixStockNameOld=""
    c00" And suffixStockNameCur<"99" Then
                If prefixStockNameCur<>prefixStockNameOld Then
                    If contractLabel<>"" Then
                        dominantContract.Add contractLabel,marketName(j)
                    End If
                    prefixStockNameOld=prefixStockNameCur
                    contractLabel=reportData.Label
                    contractVol=reportData.Volume
                ElseIf reportData.Volume>contractVol then
                    contractLabel=reportData.Label
                    contractVol=reportData.Volume
                End If
            End If
        Next     
    Next
    dominantContract.Add contractLabel,marketName(j-1)
    
    output=""
    labels=dominantContract.Keys
    markets=dominantContract.Items
    For i = 0 To dominantContract.Count-1
        output=output+labels(i)+vbTab+markets(i)+vbCrLf
    Next
    MsgBox output

end sub

版主评定:好评,获得10个金币奖励好评,获得10个金币奖励
(理由:奖励)
 回到顶部
帅哥哟,离线,有人找我吗?
wattwei
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:574 积分:3167 威望:0 精华:0 注册:2009/10/10 11:13:01
  发帖心情 Post By:2010/8/1 14:48:30 [显示全部帖子]

不太会贴代码啊,贴上来的代码掉了一截,我试试再贴上来
[此贴子已经被作者于2010-8-1 14:52:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wattwei
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:574 积分:3167 威望:0 精华:0 注册:2009/10/10 11:13:01
  发帖心情 Post By:2010/8/1 14:57:24 [显示全部帖子]

'枚举合约,将主力合约的代码和对应市场代码分别作为键和值存入字典容器,供后续操作调用
sub test()
        Dim marketName
        Set dominantContract=CreateObject("Scripting.Dictionary")
        marketName=Array("SQ","DQ","ZQ","ZJ")
        prefixStockNameOld=""
        c00" And suffixStockNameCur < "99" Then
                                If prefixStockNameCur <> prefixStockNameOld Then
                                        If contractLabel <> "" Then
                                                dominantContract.Add contractLabel,marketName(j)
                                        End If
                                        prefixStockNameOld=prefixStockNameCur
                                        contractLabel=reportData.Label
                                        contractVol=reportData.Volume
                                ElseIf reportData.Volume > contractVol then
                                        contractLabel=reportData.Label
                                        contractVol=reportData.Volume
                                End If
                        End If
                Next   
        Next
        dominantContract.Add contractLabel,marketName(j-1)
        output=""
        labels=dominantContract.Keys
        markets=dominantContract.Items
        For i = 0 To dominantContract.Count-1
                output=output+labels(i)+vbTab+markets(i)+vbCrLf
        Next
        MsgBox output

end sub


[此贴子已经被作者于2010-8-1 15:21:28编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wattwei
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:574 积分:3167 威望:0 精华:0 注册:2009/10/10 11:13:01
  发帖心情 Post By:2010/8/1 15:29:14 [显示全部帖子]

 '枚举合约,将主力合约的代码和对应市场代码分别作为键和值存入字典容器,供后续操作调用
sub test()
        Dim marketName
        Set dominantContract=CreateObject("Scripting.Dictionary")
        marketName=Array("SQ","DQ","ZQ","ZJ")
        prefixStockNameOld=""
        c00" And suffixStockNameCur < "99" Then
                                If prefixStockNameCur <> prefixStockNameOld Then
                                        If contractLabel <> "" Then
                                                dominantContract.Add contractLabel,marketName(j)
                                        End If
                                        prefixStockNameOld=prefixStockNameCur
                                        contractLabel=reportData.Label
                                        contractVol=reportData.Volume
                                ElseIf reportData.Volume > contractVol then
                                        contractLabel=reportData.Label
                                        contractVol=reportData.Volume
                                End If
                        End If
                Next    
        Next
        dominantContract.Add contractLabel,marketName(j-1)
        output=""
        labels=dominantContract.Keys
        markets=dominantContract.Items
        For i = 0 To dominantContract.Count-1
                output=output+labels(i)+vbTab+markets(i)+vbCrLf
        Next
        MsgBox output

end sub


 回到顶部
帅哥哟,离线,有人找我吗?
wattwei
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:574 积分:3167 威望:0 精华:0 注册:2009/10/10 11:13:01
  发帖心情 Post By:2010/8/1 15:37:39 [显示全部帖子]

还是不对,发送之前在哪里预览啊?找不到预览的按钮 图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
wattwei
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:574 积分:3167 威望:0 精华:0 注册:2009/10/10 11:13:01
  发帖心情 Post By:2010/8/1 19:56:03 [显示全部帖子]

实在是不会上传,只好存到网盘上去 ,有效期不长,给个链接

http://www.brsbox.com/filebox/down/fc/a29b110bff7f2decc685650a9121bc4d

 回到顶部
帅哥哟,离线,有人找我吗?
wattwei
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:574 积分:3167 威望:0 精华:0 注册:2009/10/10 11:13:01
  发帖心情 Post By:2010/8/1 20:16:43 [显示全部帖子]

 第六行错了,貌似掉了两行


 回到顶部
帅哥哟,离线,有人找我吗?
wattwei
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:574 积分:3167 威望:0 精华:0 注册:2009/10/10 11:13:01
  发帖心情 Post By:2010/8/1 20:52:50 [显示全部帖子]

 搞不清什么原因,我试了好多遍,都不行。我后来找了个一样引擎的网站,贴上去预览是OK的。但是内容和那个网站无关我没有最终发。怎么不把预览功能打开呀

 回到顶部