以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  帮忙比较那句的效率更高  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=9066)

--  作者:yin8jun
--  发布时间:2011/11/21 14:13:48
--  帮忙比较那句的效率更高

序列模式下,下面两句的功能一样,请帮忙比较那句的效率更高。

 

1.乙:=if(乙>1,乙,sum(乙,barslast(乙>1)+1));

2.乙:=if(乙>1,乙,ref(乙,barslast(乙>1)));


--  作者:yin8jun
--  发布时间:2011/11/21 14:15:33
--  

第一句要有barslast(乙>1)+1个周期的和,而第二句只是引用前面barslast(乙>1)的数据,所以第二句的效率高?


--  作者:26327756l
--  发布时间:2011/11/21 14:22:24
--  
都差不多。序列模式只运行一次。sum求和只是累加一下前一个sum。
--  作者:fly
--  发布时间:2011/11/21 14:29:35
--  

咋看这两句都不象功能等同.


--  作者:26327756l
--  发布时间:2011/11/21 14:34:25
--  
功能是不同,算法时间复杂度是差不多。
--  作者:yin8jun
--  发布时间:2011/11/21 14:48:54
--  

谢谢。

忘说一个前提条件了,乙原来的值不是为正就是为零。功能是把为0的周期都赋上最近一个不为0的值。


--  作者:yin8jun
--  发布时间:2011/11/21 14:52:59
--  

请继续指教:

 

sum(c,5)和ref(c,5)哪个运算量小,还是一样? 总觉得ref(c,5)运算量要小些,牵涉的数据就一个,sum(c,5)要牵涉5个数据。

 


--  作者:26327756l
--  发布时间:2011/11/21 15:05:06
--  
ref(c,5)运算量要小些
--  作者:yin8jun
--  发布时间:2011/11/21 15:12:37
--  

谢谢。