请问客服:
我在代码中如果大量使用了多次“TIME”,“ENTERPRICE”,“ENTERBARS”等等金字塔自带的返回函数。
请问:如果引用100次“ENTERBARS”,是不是系统也反复计算了100次“ENTERBARS”?
是否,我在所有引用“ENTERBARS”之前自定义一个参量AAA:=ENTERBARS; 后续就直接引用AAA的结果就可以极大的减小运算量,从而提高代码效率?
1,其它指标引用ENTERBARS?还是光在指标里面进行统计
例如:
直接引用方式
A1:ENTERBARS>0;
B2:ENTERBARS>5;
C3:ENTERBARS<4
D4:ENTERPRICE>5000;
E5:ENTERPCIEC-C;
F6:ENTERPCIE-L;
与预处理后引用方式:
MY_ENTERBARS:=ENTERBARS;
A1:MY_ENTERBARS>0;
B2:MY_ENTERBARS>5;
C3:MY_ENTERBARS<4
MY_ENTERPRICE:=ENTERPRICE;
D4:MY_ENTERPRICE>5000;
E5:MY_ENTERPRICE-C;
F6:MY_ENTERPRICE-L;
上面的直接引用与预处理之后引用,两种方式的执行效率是一样的吗?
为什么呢?因为我不知金字塔如果取得ENTERBARS的值,但我想这跟REF函数类似,都要在数据序列中倒推计算出结果。每次使ENTERBARS,应该就会使用ENTERBARS函数一次,然后计算一堆历史数据,并返回出结果。这个结果被赋值后,应该会被释放吧。后续再次使用ENTERBARS时,会再执行这个函数一次。难道执行一次ENTERBARS之后,代码后续其它函数再次使用了ENTERBARS函数时,能直接取得前次ENTERBARS的结果???而不用重新计算。(我是按C进行设想的:变量可以直接引用,但引用的函数都要被执行一次,引用一个函数多少次,被引用的函数就会被执行多少次。提高效率就需要预处理这个函数的返回值,后续直接引用这个返回值就行了。)