以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 金字塔软件问题提交 (http://222.73.7.161/bbs/list.asp?boardid=2) ---- [求助]再赋值,BarsLast无法从新计算新赋值,只计算了一次??? (http://222.73.7.161/bbs/dispbbs.asp?boardid=2&id=76742) |
-- 作者:ppmjy -- 发布时间:2015/3/22 15:34:31 -- [求助]再赋值,BarsLast无法从新计算新赋值,只计算了一次??? VARIABLE:LastDate=0,LastTime=0; VARIABLE:LastDate1=0,LastTime1=0; M1:ma(C,5); M2:ma(C,10); M3:ma(C,30); //语句写在这个位置不显示??? nBars1:BARSLAST(date=LastDate and time=LastTime),NODRAW; if cross(M1,M2) then begin
LastDate:=DATE;
LastTime:=Time; end //在这个位置显示??? nBars2:BARSLAST(date=LastDate and time=LastTime),NODRAW; //*再赋值,BarsLast无法从新计算新赋值,只计算了一次??? if cross(M1,M3) then begin
LastDate1:=LastDate;
LastTime1:=LastTime; end //V1:LastDate1,NODRAW; //v2:LastTime1,NODRAW; nBars3:BARSLAST(date=LastDate1 and time=LastTime1),NODRAW; |
-- 作者:yukizzc -- 发布时间:2015/3/22 18:16:28 -- 你先做判断然后给变量赋值导致你判断的时候条件自然没有满足。写个简单例子你看,当第十根满足条件时,bb是没有当时的time值的。所以导致你的lasttime永远无法等于time。
|
-- 作者:ppmjy -- 发布时间:2015/3/23 0:50:22 -- 感谢你的例子,但注意,在我的例子中; 1 LastDate、LastTime申明的是全局变量,只要改变过一次,就有数据了; 2 if cross(M1,M3) then begin 这个条件是不断出现的,只要每次条件满足,LastDate、LastTime会重新赋值; 我的问题还没解决,希望能得到帮助。
|
-- 作者:yukizzc -- 发布时间:2015/3/23 8:57:25 -- 都是全局变量,我上面aa和bb只是作为输出让你看。 你每次条件出现都是在nBars1这个之后,导致都是下一根k才能取得date和time的值。 你后面每次赋值也都是这样,这话很难说,你自己在图上输出自己全局变量的值看下理解下。 |