以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  STKINDI函数引用自编公式出错  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=74307)

--  作者:心芯鑫
--  发布时间:2015/1/12 12:21:04
--  STKINDI函数引用自编公式出错
我用STKINDI引用自己编写的主图公式出错,
就是引用不到,不返回数据,
而引用副图公式没问题,
但是我用STKINDI引用系统公式却没有问题,这是为什么。

--  作者:pyd
--  发布时间:2015/1/12 13:02:40
--  
把引用有问题的代码发出来看下
[此贴子已经被作者于2015/1/12 13:02:50编辑过]

--  作者:心芯鑫
--  发布时间:2015/1/12 13:20:15
--  
参数1:STKINDI(STKLABEL,\'30BOLL.ATR\',0,4),LINETHICK0;
参数2:STKINDI(STKLABEL,\'30布林.ATR\',0,4),LINETHICK0;

上面那条是有问题的,引用主图的参数,
而下面这条,是没有问题的,可以引用出来,
应用的自编公式如下,代码都一样,只是一个是主图指标,一个是副图指标,唯一不同的就是,最后一句,主图加了一个LINETHICK0;
MA1:=ma(c,N1),COLORWHITE;
MID:=ma(c,N2),COLORGREEN;
MA2:=ma(c,N3),COLORYELLOW;
UPPER:=30MID+2*STD(CLOSE,N2),COLORGREEN;
LOWER:=30MID-2*STD(CLOSE,N2),COLORGREEN;
昨开:=CALLSTOCK(STKLABEL,VTOPEN,6,-1);
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
昨昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-2);
昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
前二日低:=CALLSTOCK(STKLABEL,VTLOW,6,-2);
前二日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-2);
前三日低:=CALLSTOCK(STKLABEL,VTLOW,6,-3);
前三日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-3);
前四日低:=CALLSTOCK(STKLABEL,VTLOW,6,-4);
前四日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-4);
前五日低:=CALLSTOCK(STKLABEL,VTLOW,6,-5);
前五日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-5);
前六日低:=CALLSTOCK(STKLABEL,VTLOW,6,-6);
前六日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-6);
前七日低:=CALLSTOCK(STKLABEL,VTLOW,6,-7);
前七日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-7);
前八日低:=CALLSTOCK(STKLABEL,VTLOW,6,-8);
前八日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-8);
前九日低:=CALLSTOCK(STKLABEL,VTLOW,6,-9);
前九日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-9);
前十日低:=CALLSTOCK(STKLABEL,VTLOW,6,-10);
前十日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-10);
ATRR:=((昨高-昨低)+(前二日高-前二日低)+(前三日高-前三日低)+(前四日高-前四日低)+(前五日高-前五日低)+(前六日高-前六日低)+(前七日高-前七日低)+(前八日高-前八日低)+(前九日高-前九日低)+(前十日高-前十日低))/10,LINETHICK0;
ATR:(30UPPER-30LOWER)/ATRR;

[此贴子已经被作者于2015/1/12 13:20:43编辑过]

--  作者:pyd
--  发布时间:2015/1/12 13:33:03
--  

30mid 改成30*MID,称号不能省略,

UPPER:=30*MID+2*STD(CLOSE,N2),COLORGREEN;
LOWER:=30*MID-2*STD(CLOSE,N2),COLORGREEN;

ATR:(30*UPPER-30*LOWER)/ATRR;
改后你再试试


--  作者:心芯鑫
--  发布时间:2015/1/12 14:58:34
--  
刚才的代码帖错了,重新帖一下,那几个参数,就是普通布林线前面,加了一个30,以与原始布林线区别。

下面才是的,,如果代码错了,副图指标也不会引用成功的,应该不是代码的问题。

参数1:STKINDI(STKLABEL,\'30BOLL.ATR\',0,4),LINETHICK0;
参数2:STKINDI(STKLABEL,\'30布林.ATR\',0,4),LINETHICK0;

上面那条是有问题的,引用主图的参数,
而下面这条,是没有问题的,可以引用出来,
应用的自编公式如下,代码都一样,只是一个是主图指标,一个是副图指标,唯一不同的就是,最后一句,主图加了一个LINETHICK0;
30MA1:=ma(c,N1),COLORWHITE;
30MID:=ma(c,N2),COLORGREEN;
30MA2:=ma(c,N3),COLORYELLOW;
30UPPER:=30MID+2*STD(CLOSE,N2),COLORGREEN;
30LOWER:=30MID-2*STD(CLOSE,N2),COLORGREEN;
昨开:=CALLSTOCK(STKLABEL,VTOPEN,6,-1);
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
昨昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-2);
昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
前二日低:=CALLSTOCK(STKLABEL,VTLOW,6,-2);
前二日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-2);
前三日低:=CALLSTOCK(STKLABEL,VTLOW,6,-3);
前三日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-3);
前四日低:=CALLSTOCK(STKLABEL,VTLOW,6,-4);
前四日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-4);
前五日低:=CALLSTOCK(STKLABEL,VTLOW,6,-5);
前五日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-5);
前六日低:=CALLSTOCK(STKLABEL,VTLOW,6,-6);
前六日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-6);
前七日低:=CALLSTOCK(STKLABEL,VTLOW,6,-7);
前七日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-7);
前八日低:=CALLSTOCK(STKLABEL,VTLOW,6,-8);
前八日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-8);
前九日低:=CALLSTOCK(STKLABEL,VTLOW,6,-9);
前九日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-9);
前十日低:=CALLSTOCK(STKLABEL,VTLOW,6,-10);
前十日高:=CALLSTOCK(STKLABEL,VTHIGH,6,-10);
ATRR:=((昨高-昨低)+(前二日高-前二日低)+(前三日高-前三日低)+(前四日高-前四日低)+(前五日高-前五日低)+(前六日高-前六日低)+(前七日高-前七日低)+(前八日高-前八日低)+(前九日高-前九日低)+(前十日高-前十日低))/10,LINETHICK0;
ATR:(30UPPER-30LOWER)/ATRR;

--  作者:pyd
--  发布时间:2015/1/12 15:08:33
--  

不能简单的加一个数字,要加上乘号,30*MID 都这样写,不能写30MID


--  作者:心芯鑫
--  发布时间:2015/1/12 15:24:20
--  
并非是30倍,而只是加一个数字,表示和系统的那个区别一下,并非要乘以30,,,,

难道不能用数字做变量开头?

--  作者:pyd
--  发布时间:2015/1/12 15:39:05
--  

5楼那个可以,30mid定义过了可以直接那样写

参数1:STKINDI(STKLABEL,\'30BOLL.ATR\',0,4),LINETHICK0;
参数2:STKINDI(STKLABEL,\'30布林.ATR\',0,4),LINETHICK0;
30boll和30布林是同一个公式只是分别放在交易系统和指标交易,起了不同名字吗?我这里都有引用结果

此主题相关图片如下:1.jpg
按此在新窗口浏览图片

--  作者:心芯鑫
--  发布时间:2015/1/12 16:24:24
--  
谢谢,也许是我的语句出了问题,
总是出现莫名其妙的问题,百思不得其解。

--  作者:心芯鑫
--  发布时间:2015/1/12 17:09:30
--  
问题解决了,那个主图公式,我禁用了周期,
只要禁用任意一个周期,这个公式在其他公式中引用就会出问题,
不管是不是调用的没有禁用的周期都一样。

这应该是个bug