以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  [注意]xx行解释错误  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=63846)

--  作者:qwer123
--  发布时间:2014/4/14 8:45:47
--  [注意]xx行解释错误
xx行解释错误在金字塔使用过程中经常遇到,开始还以为是自己写的程序有问题,往往是费了半天的工夫也找不到问题。一般把金字塔重启一下就能恢复正常。现在我才发现出现这个问题是由于计算机资源问题引起的(除个别是代码写的有问题)。
下面是一段进行统计的程序,在“日线”下显示
我的计算机一般情况下用4个“stkindiex”问题不大,如果多了就会出现“xx行解释错误”;
但有时候只用2个“stkindiex”也会出现这个问题,并且要把金字塔重启好几遍才能正常;

你们可以测试一下,看看这个问题是不是“正常”的。随便找一个交易程序替代“qq25”就可以了,qq25有500行的码;

//股指期货自动交易程序(系统测试)
//编制:
//日期:
//修改记录:

//********************************
r1:=barslast(date<>ref(date,1));
r2:=ref(o,r1);

//partline(r1>0,r2);

//********************************
rr1:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,80,0);
rr2:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,120,0);
rr3:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,135,0);
//rr4:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,120,0);
//rr5:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,135,0);
//rr6:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,95,0);
//rr7:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,100,0);
//rr8:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,105,0);
//rr9:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,110,0);
//rr10:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,115,0);
//rr11:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,120,0);
//rr12:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,125,0);
//rr13:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,130,0);
//rr14:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,135,0);
//rr15:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,140,0);
//rr16:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,145,0);
//rr17:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,150,0);
//rr18:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,155,0);
//rr19:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,160,0);
//rr20:=stkindiex(\'if00\',\'qq25.盈亏\',0,22,165,0);


r15:=rr1+rr2+rr3{+rr4+rr5+rr6+rr7+rr8+rr9+};
//********************************
总盈利:r15,colorred,linethick1,noaxis;

variable:hc=0;
回撤:=hhv(r15,3000)-r15,linethick0,coloryellow;
if 回撤>hc then hc:=回撤;
最大回撤:hc,linethick0,coloryellow;
日盈亏:r15-ref(r15,1),linethick0;
总盈利/最大回撤:r15/回撤,colorwhite,linethick0;

r20:=if(r15>ref(r15,1),1,0);
r22:=if(r15<>ref(r15,1),1,0);
r21:=100*sum(r20,0)/(sum(r22,0));
胜率:r21,linethick0,colorwhite;

r30:=if(r15>ref(r15,1),r15-ref(r15,1),0);
r31:=sum(r30,0);
r32:=if(r15>ref(r15,1),1,0);
r33:=sum(r32,0);
平均盈利:=r31/r33,linethick0,colorwhite;

r40:=if(r15<ref(r15,1),r15-ref(r15,1),0);
r41:=sum(r40,0);
r42:=if(r15<ref(r15,1),1,0);
r43:=sum(r42,0);
平均亏损:=r41/r43,linethick0,colorwhite;

r50:=平均盈利/(-1*平均亏损),linethick0;

平均盈利/平均亏损:r50,linethick0,colorwhite;

总盈利/总亏损:r31/(-1*r41),colorwhite,linethick0;
模型综合性能:胜率*r50,linethick0,colorwhite;


--  作者:yukizzc
--  发布时间:2014/4/14 9:50:45
--  
qq25这个换成系统自带的那些交易系统有这个现象吗?我这边调用个自带的没有这个错误提示
--  作者:qwer123
--  发布时间:2014/4/14 10:09:16
--  
这个没有试,把替代qq25的程序搞的复杂一点,qq25有500行代码。这个问题重复性非常好,多试试!
[此贴子已经被作者于2014/4/14 10:10:10编辑过]

--  作者:qwer123
--  发布时间:2014/4/14 10:17:23
--  
再:我用自己的其他程序替代qq25也会出现这个问题。qq25单独使用没有程序“解释错误”的问题!
--  作者:yukizzc
--  发布时间:2014/4/14 11:27:19
--  

这个盈亏是代码里其他计算得出的,你在qq25里面添加个a:c,然后引用这个a指标没有问题吧


--  作者:qwer123
--  发布时间:2014/4/14 14:57:32
--  
好,我什么时候试试
--  作者:lcgs005
--  发布时间:2020/11/28 9:47:26
--  
v5.31也出现同样的错误,策略写完后,点编译公式,显示 测试通过,加载到图表上时,显示错误,关键显示错误的行号内容是没问题的,导致查不到,