请版主高手核查,发现一个大智慧公式的BUG [大智慧]
- 咨询问题:
LLV,是我们编公式中经常用到的一个涵数,可是,最近,我却发现了一个问题。LLV里面如果带有参数的话,就会出错。
我特地弄了两个可以替换的涵数进行验证。
发现一个HHV,LLV的问题,请高手版主探讨
DIF:EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIF,9);
MACD:(DIF-DEA)*2,COLORSTICK;
A1:=BARSLAST(CROSS(DIF,DEA));
B11:LLV(REF(DIF,A1),4);
B12:min(REF(DIF,A1),REF(DIF,A1+1),REF(DIF,A1+2),REF(DIF,A1+3));按理说,B11和B12应该是同一条线,可是,我检测出来后发现,并不是这样,B12得出的结果没错,而B11得出的却是 REF(DIF,A1)当天的DIF值,而不是四天内的最低值。
不知是我的思路错误,还是真的软件BUG。版主和各位高手看看。
此主题相关图片如下:aa.gif
- 大智慧客服:
REF(REF(DIF,A1),1)
不等于
REF(DIF,A1+1)
- 大智慧客服:
以下是引用不咋地在2012-1-16 11:11:00的发言:
REF(REF(DIF,A1),1)
不等于
REF(DIF,A1+1)中间没有用到 REF(REF(DIF,A1),1)
- 网友交流:
LLV内部用到。
- 用户交流:
以下是引用zxlc888在2012-1-15 13:12:00的发言:
LLV,是我们编公式中经常用到的一个涵数,可是,最近,我却发现了一个问题。LLV里面如果带有参数的话,就会出错。
我特地弄了两个可以替换的涵数进行验证。
发现一个HHV,LLV的问题,请高手版主探讨
DIF:EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIF,9);
MACD:(DIF-DEA)*2,COLORSTICK;
A1:=BARSLAST(CROSS(DIF,DEA));
B11:LLV(REF(DIF,A1),4);
B12:min(REF(DIF,A1),REF(DIF,A1+1),REF(DIF,A1+2),REF(DIF,A1+3));
按理说,B11和B12应该是同一条线,可是,我检测出来后发现,并不是这样,B12得出的结果没错,而B11得出的却是 REF(DIF,A1)当天的DIF值,而不是四天内的最低值。
不知是我的思路错误,还是真的软件BUG。版主和各位高手看看。
此主题相关图片如下:aa.gif
这是个好问题:1、楼主对软件的理解有误,2、软件的确存在函数取值有问题
回答这个问题我们要做分解,一步步来
请先将以下式子引入,以今日分时状态下上证指数做说明
DIF:EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:EMA(DIF,9);
MACD:(DIF-DEA)*2,COLORSTICK;
A1:BARSLAST(CROSS(DIF,DEA)),linethick0,precis0,color54ff54;
B11:LLV(REF(DIF,A1),4),color52ff52;
B12:min(REF(DIF,A1),REF(DIF,A1+1),REF(DIF,A1+2),REF(DIF,A1+3)),color5252ff;
REF(DIF,A1),linethick0,colorffffff;
REF(DIF,A1+1),linethick0,colorffffff;
REF(DIF,A1+2),linethick0,colorffffff;
REF(DIF,A1+2),linethick0,colorffffff;配图
此主题相关图片如下:snap1.jpg
<1>、barslast问题
注意图中B12第一个有效值比B11早了叁个区间,这是为什么呢?
看A1的第一个有效值出现的时间是9:38分,这与B12起始值相同->没有问题
但是LLV(X,4)决定了B11第一个有效值出现在9:41分->问题就在这里
9:38-9:41的区间是第一次满足A1都出现有效值的条件所以LLV才有输出
而9:30-9:40,没有A1同时得到有效输出值,所以无法比较;
总结:LLV(X,N)第一个有效值应当出现在第一次区间>=N时!
<2>、LLV(X,N)函数对于负值会出现取值错误:
非常简单的一个实验: var1:close*(-1);var2:llv(var1,3);
为负数时,值越大越小,值越小越大,这时LLV可以体现这一点;
但是在本例中却颠倒,注意四个值中-0.813和-0.835
应是最大值却成了最小值
此主题相关图片如下:snap2.jpg
此主题相关图片如下:snap4.jpg
所以我们修改一下B12为如下条件,就会得到两线重合,
不重合的部分因<1>导致有三个初始值。
B12:MAX(REF(DIF,A1),REF(DIF,A1+1),REF(DIF,A1+2),REF(DIF,A1+3)),color5252ff;
此主题相关图片如下:snap3.jpg
[此贴子已经被作者于2012-1-16 12:12:55编辑过]
相关文章
-
没有相关内容

会员登录/注册