以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  STKINDI跨合约有时取不到数据!  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=50379)

--  作者:stardna
--  发布时间:2013/3/28 20:49:04
--  STKINDI跨合约有时取不到数据!

比如我在PTA连续合约的副图上显示PTA指数合约的成交量信息,我的操作如下:

1:登陆软件后直接点击模型测试,选择日线,时间段2009-1-1~2012-11-1,选择测试合约,PTA连续,PTA指数,然后点击测试,系统提示需要补数据,自动补充数据完毕后,退出软件。

2:再次登陆软件,打开PTA连续合约日线图,副图是一个自编指标,代码如下,结果显示的成交量就很奇怪,一段有一段没有如图,下面的成交量柱状图是不是很怪异:

 

成交量副图代码如下:

IF STRCMP(STRLEFT(STKLABEL,1),\'M\')=0  OR STRCMP(STRLEFT(STKLABEL,1),\'L\')=0 THEN
 ZSVOLStr:=STRLEFT(STKLABEL,1)&\'13\';

 

IF STRCMP(STRLEFT(STKLABEL,3),\'SRX\')=0 THEN
 ZSVOLStr:=STRLEFT(STKLABEL,3)&\'13\';

 

ZSVOL:=STKINDI(ZSVOLStr,\'VOL.VOLUME\',0,-1);
ZSVOLMA:=STKINDI(ZSVOLStr,\'VOL.MA1(20,20,20)\',0,-1);

VOLUME:ZSVOL,VOLSTICK;

MA1:ZSVOLMA,COLORGREEN;

 

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2013-3-28 20:49:41编辑过]

--  作者:stardna
--  发布时间:2013/3/28 20:52:32
--  
虽然我没有用单独的补数据模块来补数据,用的是模型测试中提供的自动补数据功能,这两个功能补出来的数据理论应该是一致的。
--  作者:stardna
--  发布时间:2013/3/28 20:54:33
--  

我必须再次打开PTA指数的日k线图,按下箭头把图缩到最小,然后再切换到PTA连续图,下面的成交量柱状图才能完整的显示!说明什么问题呢,老师?如果不这样做,连测试的结果都是错的!

[此贴子已经被作者于2013-3-28 20:55:19编辑过]

--  作者:admin
--  发布时间:2013/3/28 21:46:26
--  
工具菜单-》数据补充,你需要实现补充好被引用品种的历史数据
--  作者:RogarZ
--  发布时间:2013/3/28 22:10:56
--  
自己阅读stkindi函数说明!!!!
STKINDI(ZSVOLStr,\'VOL.VOLUME\',0,-1)
这一位有-1这一项吗????

STKINDI(\'SH600000\',\'RSI\',0,11,0);表示引用RSI指标多分钟周期的公式数据

自己对比函数说明的案例仔细看看!!!!
麻烦可以不偷懒,在怀疑软件前自己检查清楚嘛图片点击可在新窗口打开查看

--  作者:stardna
--  发布时间:2013/3/29 8:55:59
--  

1:首先回复admin,我就知道肯定有老师会说让我补齐数据,请仔细看我的帖子,我用测试模块自动补数据难道就不算补数据吗?别告诉我工具里的补数据和测试里的补数据补的是2份数据!!!!

2:回复Rogarz,我就是阅读了贵公司的“金字塔程式化交易设计指南--高级篇2.doc”中对STKINDI函数的详细说明!部分说明如下:

例如:

STKINDI(\'\',\'RSI.RSI1\',0,-1);

//----计算当前品种当前周期RSI指标的RST1指标线的值

//其中第1个参数为空表示当前品种

//第4个参数为-1表示当前周期

 

请问我哪里错了?


--  作者:jinzhe
--  发布时间:2013/3/29 9:37:53
--  
程序和PTA的关系是?
--  作者:stardna
--  发布时间:2013/3/29 9:46:37
--  

我只是拿pta举个例子,上面的帖子少贴了取pta数据的一小段代码,下面把完整的贴过来,其实豆粕连续是一样。

 

IF STRCMP(STRLEFT(STKLABEL,2),\'ZN\')=0 OR STRCMP(STRLEFT(STKLABEL,2),\'RB\')=0
   OR STRCMP(STRLEFT(STKLABEL,2),\'TA\')=0 OR STRCMP(STRLEFT(STKLABEL,2),\'RU\')=0
   OR STRCMP(STRLEFT(STKLABEL,2),\'IF\')=0
THEN
 ZSVOLStr:=STRLEFT(STKLABEL,2)&\'13\';

IF STRCMP(STRLEFT(STKLABEL,1),\'M\')=0  OR STRCMP(STRLEFT(STKLABEL,1),\'L\')=0 THEN
 ZSVOLStr:=STRLEFT(STKLABEL,1)&\'13\';

IF STRCMP(STRLEFT(STKLABEL,3),\'SRX\')=0 THEN
 ZSVOLStr:=STRLEFT(STKLABEL,3)&\'13\';

ZSVOL:=STKINDI(ZSVOLStr,\'VOL.VOLUME\',0,-1);
ZSVOLMA:=STKINDI(ZSVOLStr,\'VOL.MA1(20,20,20)\',0,-1);

VOLUME:ZSVOL,VOLSTICK;

MA1:ZSVOLMA,COLORGREEN;

[此贴子已经被作者于2013-3-29 9:46:57编辑过]

--  作者:jinzhe
--  发布时间:2013/3/29 9:59:50
--  
数据不正确,只要开一下TA13的k线,就可以了
--  作者:admin
--  发布时间:2013/3/29 10:00:48
--  

我用测试模块自动补数据难道就不算补数据吗?

 

这个我看不懂,你咋做到的能自动补充数据?