昨天开始看金字塔的公式编程,发现一些问题.下面贴几个我已经确认的,还有一些极可能有问题但还没具体整理或确认的将在后续逐步发贴.
1.COUNT()函数错误,这个问题很容易发现,直接用说明中的范例验证一下就可以看到.
统计满足条件的周期数。
用法:
COUNT(X,N),统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始。
例如:COUNT(CLOSE>OPEN,20)表示统计20周期内收阳的周期数
2.逻辑判断出现第三者.逻辑判断的结果不是真就是假,这是众所周知的,但在这个DATE<>REFX(DATE,1)的输出结果中出现了-1,出现时机在最后的BAR上,毫无疑问,DATE<>REFX(DATE,1)是求逻辑,逻辑输出不应该有-1.
3.OR逻辑有瑕疵.当两个或以上逻辑或时,只要任意一个为真,结果为真,也就是说只要有一个逻辑为真,就没有必要继续向下判断,这样也有利于提高速度.看下面例子:
IF(ISLASTBAR OR DATE<>REFX(DATE,1),1,0);
当在最后BAR执行时逻辑输出结果为-1,肯定不对。虽然这里也是引用第2个问题的语句,但这里与第2个问题还是有本质区别的,因为在其他方面完全有可能出现一个正确的逻辑与另一有瑕疵的逻辑相或,其结果将溢出或非法,肯定也是不对的。
COUNT() 函数是具体哪个错误,能否指出?
另外金字塔目前对未来函数支持的不够理想,尤其是REFX函数更是应该避免在程序中出现,我们发现最近几乎所有文华的公式前面都有这个东西,似乎都是一个人写的
文华的:
NN1:=BARSLAST(DATE<>REFX(DATE,1));
NN:=MAX(NN1,1);
在金字塔中用这一条指令替换
NN:=barslast(DATE<>REF(DATE,1))+1;
能否给出一个具体可用的公式例子,以便于我们这里运行看到效果,
置顶帖子上有何贴图的说明的
test:=count(wintrade>0,barpos) / count(wintrade<>0,barpos);
drawnumber(islastbar,h,test,2,colorblue,1);
这个段代码,你需要告诉我 wintrade 的参数是多少,否则我这里无法运行