Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:救命啊,我快愁死了,逐K线模式下HHV,LLV问题紧急求助!!

1楼
钱多多 发表于:2011/10/17 16:08:44

 

我在逐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个值才正常,

有人知道这是为什么么?

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

2楼
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编辑过]
3楼
钱多多 发表于:2011/10/17 16:27:16

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

 

但不换为什么不行呢?

 

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

如:

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);

 

这样不行么?

4楼
admin 发表于:2011/10/17 16:28:31
你之前的公式因为在逐K线模式下执行,barpos<5之前的数据被你提前忽略掉了.因此用户要特别注意逐K线与序列模式在工作原理上的不同区分
5楼
钱多多 发表于:2011/10/17 16:30:03
好的,谢谢!
共5 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.04688 s, 3 queries.