以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  当前BAR创下N日高点,求:前1日到前N-1日之间的最高点与当前BAR的跨度  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=146210)

--  作者:snowdog
--  发布时间:2017/1/9 11:28:26
--  当前BAR创下N日高点,求:前1日到前N-1日之间的最高点与当前BAR的跨度
下面这样写好像不行,因为前一日的HHVBARS(HIGH,HN-2)用的HN是本周期才确定的。。

不知道咋写了,求版主指点

// 当前BAR创下N日高点   

HN:=TOPRANGE(H);

// 前1日到前N-1日之间的最高点与当前BAR的跨度

HSPAN:=REF(HHVBARS(HIGH,HN-2),1);

--  作者:jinzhe
--  发布时间:2017/1/9 11:32:19
--  
如果hn是0,也就是当前k线比前面k线都低该怎么办?
--  作者:quentin24
--  发布时间:2017/1/9 11:34:58
--  
留个记号
--  作者:snowdog
--  发布时间:2017/1/9 12:36:57
--  
我的主条件会对HN做限制的(HN>60)。现在的问题是,用REF只能取前一BAR已经计算出的数据,
但无法以新参数重算,有没有其他方法能达到这个目的。




--  作者:jinzhe
--  发布时间:2017/1/9 13:25:08
--  

 

HN:=TOPRANGE(H);

nn:=0;

ss:=0;

for i=1 to hn do begin

    if h[barpos-i]>ss then begin

           ss:=h[barpos-i];

    end

end

 

for i=1 to hn do begin

     if h[barpos-i]=ss then begin

          nn:=i;

          break;

     end

end

nn为所求值


--  作者:jinzhe
--  发布时间:2017/1/9 13:25:19
--  
hn=0的情况你自己排除一下
--  作者:snowdog
--  发布时间:2017/1/9 13:43:01
--  
赞,多谢版主支援