编写取值问题

aa = Highest(H,10); bb = NthCon(CurrentBar<100 && H>=aa,1); 老师,这个我一直写不好,帮我解决下: //假设当前CurrentBar数为150 //取CurrentBar<100 且 最近一个H>=aa到现在的周期数 //目前发现的问题是aa在条件成立时候,没有数据,不知道如何解决,请老师帮忙下

你的写法完全没有问题,只需把aa和bb都定义成序列变量即可。 Vars Series<Numeric> aa; Series<Numeric> bb; Events OnBar(ArrayRef<Integer> indexs) { aa = Highest(H,10); bb = NthCon(CurrentBar<100 && H>=aa,1); PlotString("BB",Text(bb),Low); }

回复://老师,我的意思是: 当前CurrentBar必须大于100,求CurrentBar<100前第一次的H>aa到当前的周期数

回复:要这么说的话,你的逻辑根本就是错的。你仔细看看我那个图,100根之前,第一个满足aa>=H的并不是你画出来的那根,而是我标出的第100根K线往前数的第三根。如果想要取到你标的那个K线,要么你修改你的逻辑,要么你修改参数,你把10改成50、60,大概率就会取到你说的那根。 就你当前的逻辑来说,那两句代码是完全没问题的。

回复:这个2605是经过一系列计算得到,如果是固定数值例如: bb = NthCon(CurrentBar<100 && H>=2605,1); 这样是可以取到正确数据。 现在的问题是这个得到的2605不固定,能不能向前传递,或者有没有其他的办法?

回复:刚刚又重新写了: If(CurrentBar>=164) { aa = 2605; }Else { aa = 0; } PlotString("aa",Text(aa),L); bb = NthCon(CurrentBar<154 && H>=aa,1); PlotString("bb",Text(bb),H); 这个数据也不是想要的结果

回复:把你经过一系列计算得到的结果赋值给一个全局变量CC,然后bb = NthCon(CurrentBar<100 && H>=CC,1); 应该就可以的吧

置顶帖有投稿

回复:好伤心啊,这么些小问题都要投稿,还要去看直播,最可悲的是还要排队,还要等几个星期? TB,爱你不容易啊?