以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  有没有办法不用跨周期函数表示五天最高最低价  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=173871)

--  作者:372566119
--  发布时间:2020/1/7 11:33:40
--  有没有办法不用跨周期函数表示五天最高最低价
一分钟周期,有么有办法有没有办法不用跨周期函数表示包括今天在内的五天最高最低价,不包括正在进行的当根一分钟线,
--  作者:FireScript
--  发布时间:2020/1/7 13:17:16
--  
 x:SUMBARS(TODAYBAR=1,5);
5dayhhv:ref(hhv(h,x),1);
5dayllv:ref(llv(l,x),1);

必须保证有至少五天的1分钟才能正确计算出来。

--  作者:372566119
--  发布时间:2020/1/7 13:48:54
--  
这个加载五天的一分钟线太多了,如果在一分钟周期上用跨周期调用不包括今天的前面四天的最高最低价如何表示
--  作者:FireScript
--  发布时间:2020/1/7 13:53:41
--  
 又不跨周期,又不能数据太多,那就没办法计算啦 。

--  作者:372566119
--  发布时间:2020/1/7 13:59:38
--  
跨周期调用不包括今天的前面四天的最高最低价,你看看我说的是跨周期
--  作者:FireScript
--  发布时间:2020/1/7 14:08:39
--  
2种方式。一种是用stkindi函数,但是要新建一个指标来进行调用。也可以用callstock函数,就是代码冗余点,但是stkindi一般情况下会比较吃内存。
方式1:callstock调用

d1h:CALLSTOCK(\'\',vtHIGH,6,-1);
d2h:CALLSTOCK(\'\',vtHIGH,6,-2);
d3h:CALLSTOCK(\'\',vtHIGH,6,-3);
d4h:CALLSTOCK(\'\',vtHIGH,6,-4);

d1l:CALLSTOCK(\'\',vtLOW,6,-1);
d2l:CALLSTOCK(\'\',vtLOW,6,-2);
d3l:CALLSTOCK(\'\',vtLOW,6,-3);
d4l:CALLSTOCK(\'\',vtLOW,6,-4);

dh:max(max(d1h,d2h),max(d3h,d3h));
dl:min(min(d1l,d2l),min(d3l,d4l));


方式2:stkindi函数调用
新建一个指标A:
dh:hhv(h,4);
dl:llv(l,4);
当前指标下:
dh:STKINDI(\'\',\'A.dh\',0,6,-1);
dl:STKINDI(\'\',\'A.dl\',0,6,-1);

2种方式都可以,你根据情况取舍就可以了。