以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://www.weistock.com/bbs/list.asp?boardid=4)
----  后台程序化里5日最高价  (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=160403)

--  作者:yin8jun
--  发布时间:2017/12/14 9:14:03
--  后台程序化里5日最高价
在后台1分钟周期中要用到5日最高价,请问是否有比较好的方式?引用日线数据的方法除外,因为测试中会报警。
如下这个太耗资源吧:

variable:h5=0;
hhvday5:=hhv(h,5*240);
if time=150000 then h5:=hhvday5;

--  作者:FireScript
--  发布时间:2017/12/14 9:26:24
--  

引用会报错?最合理的方式就是引用了,你原先的代码怎么写的会导致报错。帖下我看下。

 你这个代码建议重构下,我觉得是有问题的。如果你当前位置是第五日中间的某个位置,hhv的跨度就会跨越6日的数据了。


--  作者:yin8jun
--  发布时间:2017/12/14 10:16:46
--  
1,先前的代码是先建公式h5:=ref(hhv(h,5),1); 然后用stkindi引用。跨周期引用在后台测试中会报超过50次引用?
2,表述错了,应该是前5日的最高价。取的是time=150000时的值,所以第6日中间位置取的值不会变动。

--  作者:FireScript
--  发布时间:2017/12/14 10:32:02
--  

1.你可以把代码贴下。 我本地测试下。我刚才单独测试了引用,没出现这个报错的。 你原先代码是不是出现过引用自身的情况?这种是可能出问题的。

 

2.除了stk引用之外,还可以直接CALLSTOCK引用日线最高价,然后你这个周期也不是很长,可以再比较下数值的大小情况。


--  作者:yin8jun
--  发布时间:2017/12/14 11:13:45
--  
1,没有引用自身。我是后台测试深市加沪市。只测一个票时不会出现引用过50的问题,测的票多了才会出现。
--  作者:qq代人发帖
--  发布时间:2017/12/14 11:15:48
--  

http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=10380&replyID=46307&skin=1

按链接里方法改下打破50个引用的限制


--  作者:zenyu_you
--  发布时间:2018/2/25 20:49:58
--  
n:=barslast(date<>ref(date,1))+1;

hhvday5:= HHV(H,n*5);