以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- [求助]我想用这种方法自动筛选主力合约 (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=2301) |
-- 作者:明心 -- 发布时间:2010/7/30 14:59:15 -- [求助]我想用这种方法自动筛选主力合约 请问如何在整个期货市场或者上海期货市场比较每个品种合约的持仓量 我想用这种方法自动筛选主力合约。 在VBA中如何实现。 |
-- 作者:admin -- 发布时间:2010/7/30 18:20:02 -- \'该示例从郑州市场筛选SR合约得最大持仓量做为主力合约 Sub Test() [此贴子已经被作者于2010-7-30 18:20:47编辑过]
|
-- 作者:wattwei -- 发布时间: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 |
-- 作者:明心 -- 发布时间:2010/8/1 14:22:48 -- 以下是引用wattwei在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 这个测试通不过。 |
-- 作者:wattwei -- 发布时间:2010/8/1 14:48:30 -- 不太会贴代码啊,贴上来的代码掉了一截,我试试再贴上来 [此贴子已经被作者于2010-8-1 14:52:54编辑过]
|
-- 作者:wattwei -- 发布时间: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 -- 发布时间: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 -- 发布时间:2010/8/1 15:37:39 -- 还是不对,发送之前在哪里预览啊?找不到预览的按钮 ![]() |
-- 作者:明心 -- 发布时间:2010/8/1 15:39:01 -- 直接发给我吧。
|
-- 作者:明心 -- 发布时间:2010/8/1 15:41:44 -- QQ80779898 |