使用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]显示报错说缺少分号,应该如何解决

关于PlotBool的布尔值颜色问题
系统数据中心 期权数据出现问题
关于一用策略单元设置就出现问题
PlotBool设置输出值的显示颜色无效
关于一段代码,无法PlotBool的问题,看了两个小时也没明白
因电脑出现问题,卸载TB软件,重新安装TB软件后,我自己编写的程序都不见了
图表开盘仓价格为什么会出现问题?
保存TICK报价到series类型变量中,调用出现问题。
积分的使用问题:不能使用积分购买模拟账户使用权限了吗?
跨周期策略,大周期在上小周期在下会出现问题吗?

什么意思,看不懂

如果你是

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]