以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  callstock和REF  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=99557)

--  作者:花哥
--  发布时间:2016/6/24 14:32:58
--  callstock和REF

当前图表是中证500的周线

 

A :CALLSTOCKEX(\'sh000300\',vtCLOSE,7,-n,100);   //沪深300的周线收盘价

 

C300:CALLSTOCKEX(\'sh000300\',vtCLOSE,7,0,100);

B:REF(C300,n)

 

因为当前图标是中证的周K线图,我的理解是在CALLSTOCKEX上往前偏移,和用REF往前偏移是同样的结果,

 

但是测试结果却不一样

 

实际测试结果如下

N=1   A:3062.5       B:3062.5

N=2   A:3078.2       B:3062.5

N=3   A:3074.94      B:3062.5

N=4   A:3130.35      B:3062.5

N=5   A:3156.75      B:3078.2

N=6   A:317409      B:3074.94

N=7   A:3272.21      B:3130.35

 

请老师给予解释


--  作者:jinzhe
--  发布时间:2016/6/24 14:37:14
--  

N表示偏移,N若不填则视为0,
N变量有2种用途
1、当CYC周期<=19时,为左右偏移周期个数(可选)0表示引用当前数据,<0为引用之前数据,>0为引用之后数据。
2、当CYC周期>=20时,为自定义N周期的具体数字
如果找不到同期数据,那么将返回最近的一个。

例如:CALLSTOCKEX(\'1A0001\',VTCLOSE,6,-1)表示引用日线周期的1A0001 的日线昨收盘价

 

这个是callstock里面的参数解释,这里说明了偏移引用,也就是引用之前的数据是怎么操作的

 

你的要改成:

C300:CALLSTOCKEX(\'sh000300\',vtCLOSE,7,0,100);

B:CALLSTOCKEX(\'sh000300\',vtCLOSE,7,-1*n,100);


--  作者:jinzhe
--  发布时间:2016/6/24 14:37:56
--  
由于你的引用的是周线数据,所以要保证有日线数据,注意补充日线数据,最简单的就是直接切换到日k线
--  作者:花哥
--  发布时间:2016/6/24 14:51:22
--  

当前图表是中证500的周线

 

A :CALLSTOCKEX(\'sh000300\',vtCLOSE,7,-1*n,100);   //沪深300的周线收盘价

 

C300:CALLSTOCKEX(\'sh000300\',vtCLOSE,7,0,100);

B:REF(C300,n)

 

按照我的理解,在周K线图标上A的值应该是和B的值是一样的,但是实际却是不同,不知是什么原因

 

我的目的就是为了理解CALLSTOCK REF的区别


--  作者:jinzhe
--  发布时间:2016/6/24 14:57:01
--  

因为sh000300是沪深300,不是中证500

sh000905才是中证500


--  作者:花哥
--  发布时间:2016/6/24 15:00:05
--  
当前图表示中证500的周线,我就是要在中证500的图表上调用沪深300的周线收盘价
--  作者:jinzhe
--  发布时间:2016/6/24 15:04:38
--  

ref是偏移的是当前k线图,不是偏移引用k线图。当前k线图和偏移k线上的时间坐标不一致,就会出现不一样的结果

你可以去看一下这两个k线图,时间坐标上有不一样的地方

 


--  作者:jinzhe
--  发布时间:2016/6/24 15:06:17
--  
如果有坐标不一样的,说明数据不齐全,切换到两个k线图的日线,让系统自动补日线数据