以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- [建议]PEL增加对else if 语法的支持 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=4563) |
-- 作者:z7c9 -- 发布时间:2010/12/24 8:31:06 -- [建议]PEL增加对else if 语法的支持 目前为了实现当cond1不满足时判断cond2,当cond2不满足时判断cond3这样的逻辑控制,要么如Test1进行大量的if嵌套,要么如Test2在if语句中加入goto语句,如果PEL支持else if语法的话,如Test3,很清晰明了的就能表达这个逻辑控制,而且当存在更多的如cond4,cond5...这样的逻辑时,无疑前两种方法的表式过于繁琐,建议PEL增加对else if语句的支持。
Test1 以下内容为程序代码:
1 if cond1 then 2 buy(1,1,limitr,close); 3 else begin 4 if cond2 then 5 buy(1,1,limitr,close); 6 else cond3 then 7 buy(1,1,limitr,close); 8 end;
Test2
以下内容为程序代码:
1 if cond1 then begin 2 buy(1,1,limitr,close); 3 goto end@; 4 end; 5 6 if cond2 then begin 7 buy(1,1,limitr,close); 8 goto end@; 9 end; 10 11 if cond3 then begin 12 buy(1,1,limitr,close); 13 goto end@; 14 end; 15 16 end@;
Test3 以下内容为程序代码:
1 if cond1 then 2 buy(1,1,limitr,close); 3 else if cond2 then 4 buy(1,1,limitr,close); 5 else if cond3 then 6 buy(1,1,limitr,close);
[此贴子已经被作者于2010-12-24 8:32:07编辑过]
|
-- 作者:大灰狼 -- 发布时间:2010/12/24 8:45:10 -- 楼主提出问题之前,可否自己先自行测试一下 1 if cond1 then 这个语法金字塔上完全可以执行 |
-- 作者:fly -- 发布时间:2010/12/24 8:47:08 -- 用已有的功能已经可以实现,且实现并不复杂. 因不是非增不可. 故暂不考虑增加 |
-- 作者:z7c9 -- 发布时间:2010/12/24 9:12:14 -- 以下是引用大灰狼在2010-12-24 8:45:10的发言:
楼主提出问题之前,可否自己先自行测试一下 1 if cond1 then 这个语法金字塔上完全可以执行 http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=4556&skin=0 |
-- 作者:z7c9 -- 发布时间:2010/12/24 9:14:36 -- 以下内容为程序代码:
1 runmode:0; 2 3 if true then 4 begin 5 buy(1,1,limitr,close); 6 end; 7 else if true then 8 begin 9 buy(1,1,limitr,close); 10 end; 11 else if true then 12 begin 13 buy(1,1,limitr,close); 14 end;
这样是能运行呀,到底PEL支不支持else if语法呀,晕了。 |
-- 作者:xian_0_9 -- 发布时间:2011/10/31 11:14:07 -- 这么写不行吗? if cond1 or cond2 or cond3 then buy(1,1,limitr,c);
和例子3有啥区别? if cond1 then |
-- 作者:fly -- 发布时间:2011/10/31 13:30:37 -- 1.任意cond1,cond2,cond3一个满足就开仓. 2.当cond1不满足时判断cond2,当cond2不满足时判断cond3. |
-- 作者:xian_0_9 -- 发布时间:2011/10/31 20:00:11 -- 谢谢 |