以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  每次登陆软件时筛选全部市场的主力合约到指定的板块  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=2330)

--  作者:明心
--  发布时间:2010/8/1 14:32:24
--  每次登陆软件时筛选全部市场的主力合约到指定的板块

Sub zhuli()
Dim MaxCode
Dim MaxVolume

\'得到市场所有品种
Count = MarketData.GetReportCount("ZQ")

For i = 0 To Count-1
Set Report1 = MarketData.GetReportDataByIndex("ZQ",i)
\'只处理SR合约
if Left(Report1.Label,2) = "SR" Then
\'只处理有效合约
if Right(Report1.Label,2) >= "01" And Right(Report1.Label,2) <= "12" Then
If Report1.Volume > MaxVolume Then
MaxCode = Report1.Label
MaxVolume = Report1.Volume
End if
end if
End if
Next

\'显示成交量最大得合约
MsgBox MaxCode
End Sub

 

大概的想法是:每天登陆软件后,筛选全部市场的主力合约到指定的板块(可以自己定义的板块也可以是系统原来的板块)

我自己的想法是在这个基础上稍微修改一下,但我自己的VBA基础不好,就贴出思路,请高手帮忙。

第一步:建立二维数组市场和对应的品种存入。如:数组1(市场,品种)

第二步:筛选出所有市场所有品种的主力合约存入数组。如:数组2(市场,主力合约)

第三步:把数组2的主力合约输入到指定的板块。

目的:达到自动筛选合约的目的。


--  作者:明心
--  发布时间:2010/8/1 14:33:57
--  

我自己用数组存的时候,老是提示类型不对,有点郁闷。望高手指教。


--  作者:admin
--  发布时间:2010/8/2 15:05:07
--  

输出到板块中,请参考外部对象中的Block 对象