以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 如何知道连续合约的换月日期 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=56258) |
-- 作者:aaliwei91 -- 发布时间:2013/9/5 8:49:37 -- 如何知道连续合约的换月日期 比如我们做一个跨品种套利的策略,为了精确测试,不能用指数,只能用连续。 比如买入A卖出B,我们想在合约到期日或主力合约改变的时候平掉头寸,然后在次月合约重新建仓。 请问在图表程序化中,有没有命令可以读取当前连续合约K线的合约月份?或者有没有命令判断当日是否主力合约到期日?谢谢。
|
-- 作者:lichenghu -- 发布时间:2013/9/5 9:01:30 -- 您好,这个您只能根据成交量来判断今日是否主力合约到期日。
换月规则:只要下月品种的成交量存在一个交易日大于当前品种,那么第二天系统自动换月,默认下月品种为主力合约。
那么我们这里只能用STKINDI引用相应品种的VOL然后做对比判断 |
-- 作者:aaliwei91 -- 发布时间:2013/9/5 9:59:41 -- 谢谢,如果我用连续合约进行测试,请问什么命令能引用当前合约的年份和月份呢?这样我才能知道下一月份的合约代码。 |
-- 作者:lichenghu -- 发布时间:2013/9/5 10:11:47 --
然后用STRMID(STR,N,M)取下字符串中对应的位置 |
-- 作者:aaliwei91 -- 发布时间:2013/9/5 10:25:15 -- 谢谢。 我现在用白银连续, 程序: label:STKLABEL(); aa:strmid(label,3,2); 但显示: label:1000000 AA:1000001 现在9月5日,正确的结果应该是AG1309和AG1310吧。
|
-- 作者:lichenghu -- 发布时间:2013/9/5 10:36:18 -- 取到的是字符串,您这样输出是不对的哦
STRTONUM( )转化下 |
-- 作者:aaliwei91 -- 发布时间:2013/9/5 10:50:56 -- label:STRTONUM(STKLABEL()); 这样输出是0; 我只是想知道:如果使用白银连续合约,什么命令能知道当前的合约月份和年份?
|
-- 作者:lichenghu -- 发布时间:2013/9/5 11:08:36 -- label:STKLABEL();
aa:strmid(label,3,2);
bb:STRTONUM(AA);
BB的值是12,说明对应的是12合约 |
-- 作者:lichenghu -- 发布时间:2013/9/5 11:41:06 -- aa:STRRIGHT(STKNAME(),4);
试下把,能满足您需求 |