Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共15 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:合约基差

1楼
01部落 发表于:2020/12/16 14:35:53
求当前合约与上一主力合约的价差
比如:当前主力合约为2105,则求2105合约与2101和合约的价差
2楼
FireScript 发表于:2020/12/16 14:50:22
 求不到的。还是和之前那个问题一样,只知道除权位置的,但是没有函数获取对应的具体合约是多少。

最多是很简单的获取上一个月份的合约的价格。但是有些品种,很可能好久才换一次。这样就没办法。
3楼
01部落 发表于:2020/12/16 14:55:53
豆粕0501:"M05$close"-"m01$close",LINETHICK1,COLORWHITE;
这个是求豆粕05和01的价差 我的想法是能不获得图表的当前合约,从而将上面的公式改成通用的代码,而不是某个特i定品种 特定月份的价差
[此贴子已经被作者于2020/12/16 14:57:14编辑过]
4楼
FireScript 发表于:2020/12/16 15:02:35
啥意思?你自己把指标加载到上次主力合约(自行判断的)上 然后调用现在的主力合约做价差的计算?
5楼
01部落 发表于:2020/12/16 15:03:48
6楼
FireScript 发表于:2020/12/16 15:12:31
STR:=STRTRIMRIGHT( STKLABEL, '0123456789');

//双年份合约,豆一和白糖虽然取消双年份,但是金字塔为保证老用户策略的正常操作,所以保持不变。因此依旧需要区分。
if STRCMP(STR,'AY')=0 or  STRCMP(STR,'BUY')=0 OR  STRCMP(STR,'SRY') THEN BEGIN
 STR:=STRREPLACE(STR , 'Y','X' );
END

//区分处理原油和其他品种的连续代码
STR00:=IF(STRCMP(STR,'SC')=0,STRCAT(STR , '0000'),STRCAT( STR, '00'));



JC:c-CALLSTOCK(STR00,vtCLOSE,-1,0),LINETHICK1,COLORWHITE;//当前加载的合约之间用C取收盘价;主力用CALLSTOCK函数调用,被调用的周期直接指定到当前加载的周期
7楼
01部落 发表于:2020/12/16 16:54:33
通常我是要加载到主力合约上,看主力合约和上主力合约及主力合约和次主力合约的价差,
1 所以,主力合约直接用c取得,而其它两个合约可以用callstock取得吗?
2 如果不行,能不能用参数的形式取得,比如设俩个参数N1,N2,然后通过callstock取得其对应品种的N1和N2月份合约收盘价,从而计算出价差
谢谢
8楼
FireScript 发表于:2020/12/16 16:59:13
 1.可以。但是具体什么品种,只能你自己指定。而且这样的代码没办法做到通用,你换了个品种,你代码都必须重新写一次,感觉还是挺麻烦的。

2.用参数的话,也是可以。可以利用参数拼接处月份合约,然后调用。
9楼
FireScript 发表于:2020/12/16 17:13:01
 INPUT:M(1,0,12,1);//月份参数

STR:=STRTRIMRIGHT( STKLABEL, '0123456789');

//双年份合约,豆一和白糖虽然取消双年份,但是金字塔为保证老用户策略的正常操作,所以保持不变。因此依旧需要区分。
if STRCMP(STR,'AY')=0 or  STRCMP(STR,'BUY')=0 OR  STRCMP(STR,'SRY') THEN BEGIN
 STR:=STRREPLACE(STR , 'Y','X' );
END
//注意 不支持原油合约。因为原油合约的代码规则不一样,不能直接拼接出来。如果你需要的话我再想办法处理。
Mcode:STRCAT(STR ,STRRIGHT(NUMTOSTR(M/100,2),2) );//拼接品种名称+月份 生产品种代码。

JC:c-CALLSTOCK(Mcode,vtCLOSE,-1,0);//Mcode 是你指定月份的当前品种的合约。不支持对原油品种的处理。



10楼
01部落 发表于:2020/12/16 19:34:15
很给力 谢谢
 JC:c-CALLSTOCK(Mcode,vtCLOSE,-1,0);
其中变量名称“JC"能不能直接用对应的品种代码名称替代,
比如:如果上述参数:M=1的话,而加载的品种为豆粕,则用“豆粕2101”或“豆粕01“,或者“JC2101”或“JC01”作为变量名称,这样直观点
总之,体现出"01"月份就可以
共15 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in .04688 s, 3 queries.