以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  一个问题,关于代码简化  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=170898)

--  作者:zxsd
--  发布时间:2019/7/8 17:17:32
--  一个问题,关于代码简化
A1:=DIFF<REF(DIFF,1) and REF(DIFF,1)<REF(DIFF,2) and REF(DIFF,2)>max(max(DIFF,REF(DIFF,1)),max(REF(DIFF,3),REF(DIFF,4))) and
REF(DIFF,4)<REF(DIFF,3) and REF(DIFF,3)<REF(DIFF,2);


这里是判断一个波峰的方法,是以前的版主给的,现在回看到这里,发现这一句不知道目的为何:
and REF(DIFF,2)>max(max(DIFF,REF(DIFF,1)),max(REF(DIFF,3),REF(DIFF,4)))


我理解的是,把这句去掉也已经能判断出大小顺序并且保证 REF(DIFF,2)是最高的了,去掉会有什么特殊情况发生吗?
[此贴子已经被作者于2019/7/8 17:18:36编辑过]

--  作者:FireScript
--  发布时间:2019/7/8 17:29:55
--  
 这里要判断的是ref(,2)这个位置是不是波峰。 后面那个还是需要的。
DIFF<REF(DIFF,1) and REF(DIFF,1)<REF(DIFF,2)
只这一句  只能判断这三个位置是递减过来的。
并且代码原意应该是希望这个波峰的判断,周期跨度是五个周期。所以才ref了多个K。


--  作者:zxsd
--  发布时间:2019/7/8 17:59:18
--  
但是还有这一句那:
 and REF(DIFF,4)<REF(DIFF,3) and REF(DIFF,3)<REF(DIFF,2)

这样不就已经等于确定 REF(DIFF,2)是波峰了吗?

--  作者:FireScript
--  发布时间:2019/7/9 8:48:27
--  
 哦是的。当时没注意到。REF(DIFF,2)>max(max(DIFF,REF(DIFF,1)),max(REF(DIFF,3),REF(DIFF,4))) 这个可以去掉。