以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 怎样实现循环语句中的跨周期引用 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=96362) |
-- 作者:xiaoyue92 -- 发布时间:2016/4/15 22:34:51 -- 怎样实现循环语句中的跨周期引用 以下是一段阳线阴线统计的程序,原来运行于30分钟周期。现在主程序需要运行于5分钟周期,但这段代码还是需要在30分钟k线周期上统计。 请问如何修改实现?谢谢 duopiaoDP:=0; kongpiaoDP:=0; for con=0 to ss do begin
if ref(c,con)>ref(o,con) then duopiaoDS:=duopiaoDS+1;
if ref(c,con)<ref(o,con) then kongpiaoDS:=kongpiaoDS+1; end (duopiaoDP kongpiaoDP 是阳线 阴线计数器,ss是统计周期数(待优化参数)) (这个是5分钟周期上判断有效30分钟时间点的语句: time30:=time=013000 or time=020000 or time=023000 or time=030000 or time=033000 or time=133000 or time=140000 or time=141500 or time=141500 or time=150000 or time=153000 or time=180000 or time=183000 or time=190000;) |
-- 作者:jinzhe -- 发布时间:2016/4/18 9:03:57 -- 30分钟也用这段代码 |
-- 作者:xiaoyue92 -- 发布时间:2016/4/18 10:52:20 -- 原来是用于30分钟的,现在需要在主程序5分钟周期内实现访问30分钟的数据,实现跟原来一样的统计效果。需要如何改写?谢谢 |
-- 作者:jinzhe -- 发布时间:2016/4/18 10:57:21 -- 在5分钟周期上用stkindi直接引用上述代码的结果 |
-- 作者:xiaoyue92 -- 发布时间:2016/4/18 11:06:08 -- 不好意思,以前没用过跨周期引用,能麻烦您写一下吗?谢谢! |
-- 作者:jinzhe -- 发布时间:2016/4/18 11:08:06 -- duopiaoDP:=0;
kongpiaoDP:=0; for con=0 to ss do
begin
if ref(c,con)>ref(o,con) then duopiaoDS:=duopiaoDS+1;
if ref(c,con)<ref(o,con) then kongpiaoDS:=kongpiaoDS+1;
end
d1:duopiaods; d2:kongpiaods; 这公式命名为"公式1"
然后新建一个公式,命名任意,代码为: dd1:stkindi(\'\',\'公式1.d1\',0,4); dd2:stkindi(\'\',\'公式1.d2\',0,4); |