以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- between函数这个居然返回1 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=149863) |
-- 作者:qq代人发帖 -- 发布时间:2017/3/29 15:50:11 -- between函数这个居然返回1 dzdk:between(3072,3072.0,3067.3),linethick0;
这个居然返回1 按道理,应该等价于 3072>=3072.0 and 3072<3067.3 怎么能返回1 按道理,应该等价于 3072>=3072.0 and 3072<=3067.3 |
-- 作者:jinzhe -- 发布时间:2017/3/29 15:56:00 -- 这个结果没问题,结果是1
|
-- 作者:百湛必胜客 -- 发布时间:2017/3/29 16:00:43 -- 结果是1就错了,难道,3072>=3072.0 and 3072<=3067.3 ? [此贴子已经被作者于2017/3/29 16:00:58编辑过]
|
-- 作者:百湛必胜客 -- 发布时间:2017/3/29 16:01:38 -- 回答问题都不认真看 |
-- 作者:jinzhe -- 发布时间:2017/3/29 16:12:23 -- 你不能用自己的理解来认为我们的函数就是你想的那样 在两个数之间,一个是3072.0,一个是3067.3 ,那么之间的范围就是 3072.0>=x >=3067.3 函数说明里面并没有说,一定是大等于前面的数,小于等于后面的数。只要在这两个数之间有一个范围,那么就是一个between
|
-- 作者:百湛必胜客 -- 发布时间:2017/3/29 16:23:23 -- 哦,那between这个函数等于阉割了本该有的功能 你比如betwee(close,ref(c,barslast(c>ma(c,120)),ref(c,barslast(c>ma(c,50))) 编公式的时候,因为between的后两个变量可能是序列的,你无法确定这两个变量大小,但是你想要的逻辑是大于等于第一个变量,小于等于第二个变量,between函数在这种情况下难道无法正确的得出本该有的逻辑?
|
-- 作者:百湛必胜客 -- 发布时间:2017/3/29 16:25:51 -- 这样的话,我也没什么好说的了,只能说,很多人会用错这个BETWEEN,写出了意外的逻辑判断 |
-- 作者:百湛必胜客 -- 发布时间:2017/3/29 16:27:02 -- 其实,你们的本意BETWEEN也是前小后大的判断,只是我提出来了你们不想承认是缺陷而已 |