设为首页收藏本站

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

请教一个判断条件的顺序问题 [复制链接]

Rank: 1

精华
0
UID
163374
积分
2
帖子
1
主题
1
阅读权限
10
注册时间
2012-3-20
最后登录
2019-1-31
跳转到指定楼层
1#
发表于 2019-1-30 11:03:55 |只看该作者 |倒序浏览
Condition1= (  low<lowest(low[1],days) and HIGH[1]<MA1 );
Condition1= (   HIGH[1]<MA1  and low<lowest(low[1],days) );

经常遇到这两个条件的结果不一样 一个为真 一个为假的情况 一般上面那个跟预期是一致的 请教这是为什么

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2019-1-30 15:49:08 |只看该作者
lowest的计算需要用到序列变量,所以不应该放在条件下,因为条件的限制会影响其取值范围,从而影响计算结果的准确性。。

TB的条件语句里,有多个判断使用&&相连时,当一个判断式不成立时,就直接返回,不会再去判断第二个判断式的。
所以第二句的写法里,是可能因为high[1]<ma1的在前面K线的满足与否的情况而影响后面的计算 。。

在使用highest ,lowest,highD,openD,crossover等序列函数计算时,建议先声明一个中间变量,将这些序列函数的计算赋值给中间变量,再将中间变量代入条件中使用即可避免计算结果的正确性了。

使用道具 举报

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

bottom

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

GMT+8, 2024-4-25 06:55

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部