Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共9 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]多次调用同一系统函数的效率问题

1楼
kminer 发表于:2014/12/29 12:18:03
请问客服:
我在代码中如果大量使用了多次“TIME”,“ENTERPRICE”,“ENTERBARS”等等金字塔自带的返回函数。
        请问:如果引用100次“ENTERBARS”,是不是系统也反复计算了100次“ENTERBARS”?
        是否,我在所有引用“ENTERBARS”之前自定义一个参量AAA:=ENTERBARS; 后续就直接引用AAA的结果就可以极大的减小运算量,从而提高代码效率?
2楼
FexTel 发表于:2014/12/29 13:22:53

1,其它指标引用ENTERBARS?还是光在指标里面进行统计

 

3楼
kminer 发表于:2014/12/29 13:44:00
例如:
直接引用方式
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;

上面的直接引用与预处理之后引用,两种方式的执行效率是一样的吗?

4楼
FexTel 发表于:2014/12/29 13:51:04
....一样的哦
5楼
kminer 发表于:2014/12/29 14:02:28
为什么呢?因为我不知金字塔如果取得ENTERBARS的值,但我想这跟REF函数类似,都要在数据序列中倒推计算出结果。每次使ENTERBARS,应该就会使用ENTERBARS函数一次,然后计算一堆历史数据,并返回出结果。这个结果被赋值后,应该会被释放吧。后续再次使用ENTERBARS时,会再执行这个函数一次。难道执行一次ENTERBARS之后,代码后续其它函数再次使用了ENTERBARS函数时,能直接取得前次ENTERBARS的结果???而不用重新计算。(我是按C进行设想的:变量可以直接引用,但引用的函数都要被执行一次,引用一个函数多少次,被引用的函数就会被执行多少次。提高效率就需要预处理这个函数的返回值,后续直接引用这个返回值就行了。)
6楼
kminer 发表于:2014/12/29 14:06:23
难道类似“ENTERBARS”的返回函数,是系统已经预处理过,其实是一个变量,一直在系统中,可以直接引用,每个周期会自动重新计算一次?
7楼
kminer 发表于:2014/12/29 14:07:59
http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=30443
8楼
kminer 发表于:2014/12/29 14:09:43
这个链接也没提到ENTERBARS的计算原理。
9楼
FexTel 发表于:2014/12/29 14:24:21
1,这个值运行后都会记录在内存里面的哦
共9 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03125 s, 2 queries.