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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 如何知道连续合约的换月日期

   

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


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

主题:如何知道连续合约的换月日期

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


加好友 发短信
等级:新手上路 帖子:24 积分:0 威望:0 精华:0 注册:2013/7/29 16:26:41
如何知道连续合约的换月日期  发帖心情 Post By:2013/9/5 8:49:37 [只看该作者]

比如我们做一个跨品种套利的策略,为了精确测试,不能用指数,只能用连续。

比如买入A卖出B,我们想在合约到期日或主力合约改变的时候平掉头寸,然后在次月合约重新建仓。

请问在图表程序化中,有没有命令可以读取当前连续合约K线的合约月份?或者有没有命令判断当日是否主力合约到期日?谢谢。

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


加好友 发短信
等级:超级版主 帖子:5895 积分:3774 威望:0 精华:0 注册:2012/1/1 0:00:01
  发帖心情 Post By:2013/9/5 9:01:30 [只看该作者]

您好,这个您只能根据成交量来判断今日是否主力合约到期日。

 

换月规则:只要下月品种的成交量存在一个交易日大于当前品种,那么第二天系统自动换月,默认下月品种为主力合约。

 

那么我们这里只能用STKINDI引用相应品种的VOL然后做对比判断



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
aaliwei91
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:24 积分:0 威望:0 精华:0 注册:2013/7/29 16:26:41
  发帖心情 Post By:2013/9/5 9:59:41 [只看该作者]

谢谢,如果我用连续合约进行测试,请问什么命令能引用当前合约的年份和月份呢?这样我才能知道下一月份的合约代码。

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


加好友 发短信
等级:超级版主 帖子:5895 积分:3774 威望:0 精华:0 注册:2012/1/1 0:00:01
  发帖心情 Post By:2013/9/5 10:11:47 [只看该作者]


STKLABEL() 取下当前品种代码

 

然后用STRMID(STR,N,M)取下字符串中对应的位置



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
aaliwei91
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:24 积分:0 威望:0 精华:0 注册:2013/7/29 16:26:41
  发帖心情 Post By:2013/9/5 10:25:15 [只看该作者]

谢谢。

我现在用白银连续,

程序:

label:STKLABEL();
aa:strmid(label,3,2);

但显示:

label:1000000 AA:1000001

现在9月5日,正确的结果应该是AG1309和AG1310吧。

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


加好友 发短信
等级:超级版主 帖子:5895 积分:3774 威望:0 精华:0 注册:2012/1/1 0:00:01
  发帖心情 Post By:2013/9/5 10:36:18 [只看该作者]

取到的是字符串,您这样输出是不对的哦

 

STRTONUM( )转化下



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
aaliwei91
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:24 积分:0 威望:0 精华:0 注册:2013/7/29 16:26:41
  发帖心情 Post By:2013/9/5 10:50:56 [只看该作者]

label:STRTONUM(STKLABEL());

这样输出是0;

我只是想知道:如果使用白银连续合约,什么命令能知道当前的合约月份和年份? 

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


加好友 发短信
等级:超级版主 帖子:5895 积分:3774 威望:0 精华:0 注册:2012/1/1 0:00:01
  发帖心情 Post By:2013/9/5 11:08:36 [只看该作者]

label:STKLABEL();
aa:strmid(label,3,2);
bb:STRTONUM(AA);
 
BB的值是12,说明对应的是12合约


金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
lichenghu
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:5895 积分:3774 威望:0 精华:0 注册:2012/1/1 0:00:01
  发帖心情 Post By:2013/9/5 11:41:06 [只看该作者]

aa:STRRIGHT(STKNAME(),4);
bb:STRTONUM(AA);
 

 

试下把,能满足您需求



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部