设为首页收藏本站

 找回密码
 注册
查看: 1285|回复: 2
打印 上一主题 下一主题

为什么一样的一条语句执行结果会不一样? [复制链接]

Rank: 1

精华
0
UID
269145
积分
14
帖子
6
主题
2
阅读权限
10
注册时间
2018-8-27
最后登录
2021-4-22
跳转到指定楼层
1#
发表于 2018-11-3 22:21:59 |显示全部楼层 |倒序浏览
图1比图2多个ok  
其实两个图中的语句是一样的  只不过是and 两边的表达式对调了一下
if (c>o  &&( countIf(close>open,3))>=2){
if (countIf(close>open,3)>=2 and c>o){

//////////////////////////////////////////////////////////完整如下
Vars
  
Begin

if (c>o  &&( countIf(close>open,3))>=2){
//if (countIf(close>open,3)>=2 and c>o){      //两个if 其实一样 但 结果不一样

PlotString("ok","ok");

}

End
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 1

精华
0
UID
269145
积分
14
帖子
6
主题
2
阅读权限
10
注册时间
2018-8-27
最后登录
2021-4-22
2#
发表于 2018-11-4 20:02:23 |显示全部楼层
zr1624357 发表于 2018-11-3 23:55
试了一下,挺奇怪的
不过,编译的时候,有一个警告,if里面有序列函数,可能存在潜在的错误
我把countif拿 ...


什么警告?我的有以下警告  但不影响运行
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 1

精华
0
UID
269145
积分
14
帖子
6
主题
2
阅读权限
10
注册时间
2018-8-27
最后登录
2021-4-22
3#
发表于 2018-11-5 22:07:41 |显示全部楼层
小米 发表于 2018-11-5 08:41
语法是通过了。
但是需要用户自己确保该运算的结果符合你的需求。。
如果不能确保,那还是建议也同样使用 ...

a=close>AverageFC(.........);
b=close>countif(...........);
c=close<=Cum(..);
//写法1:
abc= a and b and c
if (abc){}
//写法2:
if ( a and b and c  ) {}
//写法3:
abc=close>AverageFC(.........)  and  close>countif(...........)  and close<=Cum(..);
if (abc) {}

写法2 写法3 是否合适?

除了  "不要在条件语句,条件语句的判断表达式,循环语句中使用序列函数"  之外 还有哪些跟普通计算机语言不一样的地方.

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-3 22:39

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部