以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  救命啊,我快愁死了,逐K线模式下HHV,LLV问题紧急求助!!  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=8455)

--  作者:钱多多
--  发布时间:2011/10/17 16:08:44
--  救命啊,我快愁死了,逐K线模式下HHV,LLV问题紧急求助!!

 

我在逐K线模式下,编写策略需要获取当前3跟K线的最高最低值和前3跟K线的最高最低值,取值代码如下

 

if barpos<5 then exit;
tt:=time;
dd:=date;
highm:hhv(high,3);
lowm:llv(low,3);
highn:ref(hhv(h,3),1);
lown:ref(llv(l,3),1);

 

 

结果发现在第5根K线时只有highm有值,其余为空,

第6根K线时,只有highm,highn有值,其余为空,

第7根k线时,highm,lowm,highn有值,lown为空,

只有第8根k线以后,4个值才正常,

有人知道这是为什么么?

百思不得其解,紧急求助,望各位大侠指点迷津,小弟先谢了!!


--  作者:admin
--  发布时间:2011/10/17 16:21:58
--  

tt:=time;
dd:=date;
highm:hhv(high,3);
lowm:llv(low,3);
highn:ref(hhv(h,3),1);
lown:ref(llv(l,3),1);

 

if barpos<5 then exit; //把这个IF语句放在语句后面,这样前面就可以存储数据了. 你之前的公式因为在逐K线模式下执行,barpos<5之前的数据被你提前忽略掉了.因此用户要特别注意逐K线与序列模式在工作原理上的不同区分

 

[此贴子已经被作者于2011-10-17 16:28:11编辑过]

--  作者:钱多多
--  发布时间:2011/10/17 16:27:16
--  逐K线模式下金字塔HHV,LLV函数 Bug!!

试验了一下,换个顺序确实是可以。

 

但不换为什么不行呢?

 

我写在前面的目的是指定启动的日期,

如:

if  TIME<=093000 then exit;

highm:=hhv(high,3);
lowm:=llv(low,3);
highn:=ref(hhv(h,3),1);
lown:=ref(llv(l,3),1);

 

这样不行么?


--  作者:admin
--  发布时间:2011/10/17 16:28:31
--  
你之前的公式因为在逐K线模式下执行,barpos<5之前的数据被你提前忽略掉了.因此用户要特别注意逐K线与序列模式在工作原理上的不同区分

--  作者:钱多多
--  发布时间:2011/10/17 16:30:03
--  
好的,谢谢!