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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 获取主力合约的函数

   

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


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

主题:获取主力合约的函数

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


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
获取主力合约的函数  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:390 积分:557 威望:0 精华:0 注册:2012/8/9 10:24:59
  发帖心情 Post By:2014/5/5 10:46:00 [只看该作者]

不好意思,问个小白问题

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

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


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2014/5/5 15:13:08 [只看该作者]

不是指标,这是在模块中建立的函数呀,你得先了解一下vba基础。


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


加好友 发短信
等级:论坛游民 帖子:390 积分:557 威望:0 精华:0 注册:2012/8/9 10:24:59
  发帖心情 Post By:2014/5/5 15:19:36 [只看该作者]

谢谢

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


加好友 发短信
等级:论坛游侠 帖子:287 积分:360 威望:0 精华:0 注册:2013/2/19 16:49:46
  发帖心情 Post By:2014/5/7 10:09:55 [只看该作者]

又是一个好模块啊!谢谢版主;

 回到顶部