以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  求最高价到当前的k线数,相同的思路为什么结果会不同  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=70376)

--  作者:jinzhe
--  发布时间:2014/9/24 14:00:22
--  求最高价到当前的k线数,相同的思路为什么结果会不同

nn:hhvbars(h,4),linethick0;
nn1:barslast(h=hhv(h,4)),linethick0;

这个是求4周期最高价到当前的k线数,但是往往结果会不同,以前不得其解,今天总算是弄明白了图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 

图里面可以见到,当前4个周期里面,前3个周期的最高价是一致的,那么从上面的两个公式里面可以得出不同的结果!

 

nn求的是离当前k线最远的那个最高价周期!

nn1求的是离当前k线最近的那个最高价周期!

这是错误的计算方法,正确的看下面:

[此贴子已经被作者于2016/4/13 15:21:14编辑过]

--  作者:jinzhe
--  发布时间:2014/9/24 16:28:52
--  

上面的思路有疏忽的地方,做了如下修改,

runmode:0;
hh:hhv(h,4);
h1:=h;
if barpos>4 then begin
 for i=0 to 3 do begin
  if h1[barpos-i]=hh then begin
   n:=i; 
  end
 end
end
nn:n,linethick0;

这个就是HHVBARS的效果,求的是最远的值

 

runmode:0;
hh:hhv(h,4);
h1:=h;
if barpos>4 then begin
 for i=0 to 3 do begin
  if h1[barpos-i]=hh then begin
   n:=i;
   goto abc;
  end
 end
end
abc@ nn:n,linethick0;

 

这就是后面那段原来的意思,求的是最近的效值


--  作者:jinzhe
--  发布时间:2014/9/24 16:29:37
--  
图片点击可在新窗口打开查看请大家再看看,说不定又有不对的地方了
--  作者:自渔自乐
--  发布时间:2014/9/24 17:48:58
--  
学习了,循环语句好好学习,我一直不会
--  作者:tjwkl
--  发布时间:2014/9/25 4:40:10
--  
好好学习
--  作者:FJ6008
--  发布时间:2014/10/27 16:13:38
--  
运行结果一样的
图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

--  作者:jinzhe
--  发布时间:2014/10/27 16:23:16
--  
不要再看前面写的了,是不对的,后面那一段循环是对的