runmode:1;//序列模式
zzd:=c;
newH:=high;
newL:=low;
fxState:=ref(zzd, 1) ;
fh:=ref(newh,1);
fl:=ref(newl,1);
zzdx:=0;
cond:=HIGH>fh and low>fl , NOAXIS;
if COND then zzdx:=10;
zzdx显示: zzdx,NOAXIS;
上述代码逐K线模式下正常,序列模式下 zzdx显示永远显示的是0,cond正常,哪里出问题了?
难道,if then语句在序列模式下不起作用?
自己的代码不理解为什么会等于0?条件cond不成立就是0,最后根k线为0,向前赋值全部为0
if cond then
zzdx:=10;
else
zzdx:=5;
和下面的语句看起来是一样的啊, 结果却是,下面的可以实现zzdx有5 和10不同的值。
zzdx:=if(cond , 10 ,5);
这两个是不一样
zzdx:=是直接赋值,根据图表的特性每根k线上都先计算一遍就和close:=c;是一样的,先在每根k线上计算出具体的数值
后面的是判断赋值,图表序列就只计算最后一根k线的判断
谢谢专家, 这个太重要了, 看说明书真的没有这么详细的。
我有个想法:金字塔在公式编辑器里增加一个功能, 就是用户可以对公式函数的使用添加说明和例子(类似百度百科), 这样帮助就丰富多了。 这样论坛上也就没必要出现我这样的低水平问题了。毕竟现在金字塔工程师写的帮助天简陋了,而且很多是基于程序员思维写的,普通用户理解困难。
回复收藏,谢谢7楼,今天也遇到了类似的疑问