使用plotbool出现问题

我需要使用plotbool确认开仓的条件判断,当写入 raiseback = close < ref(close, n);raiseback=raiseback[1];时,用if(raiseback){ plotbool("raiseback",true,low-20);}输出到图表没有结果,删掉raiseback=raiseback[1]后有正常显示,如何表达raiseback = close < ref(close, n)的向前引用,我尝试用raiseback = (close < ref(close, n))[1]显示报错说缺少分号,应该如何解决

什么意思,看不懂如果你是if(raiseback) { plotbool("raiseback",true,low-20); }这样写没有结果,说明的raiseback一直是false。至于为什么是false,要看你raiseback之前的运算结果raiseback = close < ref(close, n); //这句意思当前bar收盘价小于n根bar前的收盘价,判断结果存放在raiseback中。 raiseback=raiseback[1];//把上一根raiseback的值放到当前bar的raiseback中根据你这两句代码的运算结果,实际上第一根bar的 raiseback的值会一直传递下去,因为无论你当前bar收盘价是否小于n根bar的收盘价,你最终还是会取上一根bar的raiseback作为计算结果,raiseback = close < ref(close, n);这句代码完全是无意义的。所以这个问题主要还是你写了很奇怪的业务逻辑导致的。具体要怎么改,还是要问你自己,你到底想实现什么样的算法逻辑?

回复:我想表达昨天的收盘价低于N日前的收盘价,在今天判断这个条件是否成立,应该怎么写

回复:raiseback=raiseback[1];//把上一根raiseback的值放到当前bar的raiseback中 也就是说只要第一根线的结果是false,他之后就一直会显示false?第一根线的结果是true,他会一直显示true,因为函数[1]这样的表达只是显示上一次的结果,而不对每一根线的raiseback = close < ref(close, n)这句进行重新运算,是这个意思吗

回复:是的你如果表达 昨天的收盘价低于N日前的收盘价直接写raiseback = close < ref(close, n);raiseback就是你要的结果

回复:tbq3语言里的close就是指收盘价吗,那如果今天的K线走完了,close还是表示的昨天的收盘价吗

回复:close在历史k线表示当前bar的收盘价在实时bar上表示当前bar的最新价。

回复:那我想在历史K线中表达昨天的收盘价,直接用close是不是不太对

回复:上一根k线的收盘价是close[1]