以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- [建议]开发人员留意下,跨周期的算法可以改进下 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=48349) |
-- 作者:readonly -- 发布时间:2013/2/1 17:10:14 -- [建议]开发人员留意下,跨周期的算法可以改进下 通过同一个公式里取多个跨周期变量的话,金字塔会重算多次,浪费了CPU运算。 举例来说明: 日周期程序 if barpos=1 then aa:=1; if barpos=1 then bb:=1; for j=1 to 10000 do begin
aa:=aa+1; end aaa:aa; for k=1 to 10000 do begin
bb:=bb+1; end bbb:bb; 分钟周期程序 if barpos=1 then aaa:=1; if barpos=1 then bbb:=1; if time=opentime(0)+100 then aaa:="日测试.aaa#day"; if time=opentime(0)+100 then bbb:="日测试.bbb#day"; a1:aaa; b1:bbb; 此时,取bbb值,跟不取bbb值,速度慢了一倍。 其实金字塔应该在第一次计算“日测试.aaa#day”时就应该寄存起所有可输出变量,取bbb时就不用再算一次这么笨了。 |
-- 作者:jinzhe -- 发布时间:2013/2/1 17:18:10 -- 感谢提交建议! |
-- 作者:ackvz -- 发布时间:2013/2/1 19:30:29 -- 应该在第一次计算“日测试.aaa#day”时就应该寄存起所有可输出变量,取bbb时就不用再算一次这么笨了。
有道理 支持 |
-- 作者:RogarZ -- 发布时间:2013/2/1 20:12:40 -- 工具:自定义数据 不就是达到这样的效果嘛 自定义数据 标准版以上 |
-- 作者:readonly -- 发布时间:2013/2/4 9:52:29 -- 那我用全局变量也可以达到同样的效果。 请谨记:设计软件的最高境界是把功能设计出来,让用户忘掉。
|