是执行顺序的原因,ref放在if判断体内是可以的,参考如下范例:
BH:(HIGH>=REF(HIGH,1)&&LOW<=REF(LOW,1)) OR (HIGH<=REF(HIGH,1)&&LOW>=REF(LOW,1)),NODRAW;
VARIABLE:HH=0;
HH:=IF(BARPOS=1,HIGH,IF(BH AND REF(HH,1)>=REF(HH,2),MAX(REF(HH,1),HIGH),IF(BH AND REF(HH,1)<REF(HH,2),MIN(REF(HH,1),HIGH),HIGH)));
X3:HH;
A17:REF(HH,1),NODRAW;
B17:REF(HH,2),NODRAW;