有如下语句m:=if(条件,A,B);A和B都是有一定复杂度的计算式,请问程序执行时,是满足条件则计算A,不满足条件则计算B;还是先计算出A和B的结果,满足条件则取A的值,不满足条件则取B的值?
上述问题可能比较无聊,一个更具体的情况如下:后台逐k线1秒轮循模式下有如下外部引用语句:
m:"ccc.A#min1";
而外部引用指标A是经过较多语句运算得到的。在轮循模式下每个k线上都调用A感觉太影响速度,想改为:
m:if(islastbar,"ccc.A#min1",0);
即仅在最后一根k线上调用ccc.A,否则取0.不知道这样改是否可以提高运行效率?
[此贴子已经被作者于2014/4/30 17:45:52编辑过]
计算方式是写在外面先计算外面,写在里面就先判断if再计算表达式