以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=64614)

--  作者:guotx2010
--  发布时间:2014/5/5 8:37:20
--  获取主力合约的函数
经常有人问怎么获取主力合约,我做成了一个函数,只要传入合约代码和市场代码就可以返回主力合约,下面是代码:

Function GetContractCode(sMarketCode,sStockPre) \'根据市场编码取得主力合约编码
contractvolume = 0 
k=0
ZhuLiCode=""
For j = 1 To 12
if j<10 then
m="0" & cstr(j)
else
m=cstr(j)
end if
Stock=sStockPre & m
\'application.MsgOut sMarketCode & "," & Stock
on error resume next
Set report1 = marketdata.GetReportData(Stock,sMarketCode) 
if cdbl(report1.volume)>contractvolume then
contractvolume=cdbl(report1.volume)
ZhuLiCode = report1.Label
end if
if report1.volume>0 then
aCode(k)=report1.Label
k=k+1
end if
Next
\'application.MsgOut ZhuLiCode
GetContractCode=ZhuLiCode
End Function

调用方法:MainCode=GetContractCode("IF00","ZJ")  \'获取股指主力合约
              MainCode=GetContractCode("RB00","SQ")  \'获取螺纹钢主力合约



--  作者:wplovelm
--  发布时间:2014/5/5 10:46:00
--  
不好意思,问个小白问题

这个函数怎么建立?新建一个指标吗?

--  作者:guotx2010
--  发布时间:2014/5/5 15:13:08
--  
不是指标,这是在模块中建立的函数呀,你得先了解一下vba基础。


--  作者:wplovelm
--  发布时间:2014/5/5 15:19:36
--  
谢谢

--  作者:youop
--  发布时间:2014/5/7 10:09:55
--  
又是一个好模块啊!谢谢版主;