以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- PEL语句执行效率问题 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=184865) |
-- 作者:youop -- 发布时间:2021/3/24 9:42:21 -- PEL语句执行效率问题 我使用下面的无意义程序测试20个品种,2014年~2021年的数据,用了将近4分半钟,是不是意思是说,不用复杂函数,系统的行数其实对PEL的执行效率能产生很大影响。 if barpos = 1 then DEBUGFILE2(\'D:\\2222.TXT\',\'开始\',0,1); if barpos= DATACOUNT then DEBUGFILE2(\'D:\\2222.TXT\',\'结束\',0,1); //========================================================= //定义变量 //========================================================= X:=100;Et:=0; Lti:=Ref(Time,1);Mc:=c; If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1; If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1; If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1; If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1; If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1; If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1; If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1; If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1; If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1;If Et>0 Then Et:=Et+1; Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x); Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x); Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x); Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x); Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x); Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x); Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x); Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x); Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x);Cs:=If(Et>=6000,x*0.6,x); |
-- 作者:banzhuan -- 发布时间:2021/3/24 9:56:13 -- 不知道这样有什么意义呢?策略后面的代码都会去运算一遍,回测个7,8年的数据用4分钟也很正常啊 |
-- 作者:youop -- 发布时间:2021/3/24 9:59:26 -- PEL语句执行效率问题 自己的pel跑大概是40~50多秒,比这个短,因为看到一句话,逐k+最后一根k线,tick过来是刷新最新一根,但是等新的k线形成,还是要整理刷新一遍,所以我想看看能不能简化下代码。 |