BarsSinceToday问题

Commentary(Text(CloseD(1)));

If(BarsSinceToday==0)

{

   Commentary(Text(CloseD(1)));

}

两个输出结果完全不一样,放到外面是对的,但只要放到BarsSinceToday条件里,取的closeD就是错的了,这是什么原因?

关于BarsSinceToday的问题
请教BarsSinceToday函数
barssincetoday barcount 等bar相关函数的应用和变形
旗舰版有个closeD,openD,BarsSinceToday函数,如何编写类似的closeW,openW,BarsSincethisweek函数
跨周期的问题
跨周期的问题那位老师帮我看看
关于画线打断代码问题
信号闪烁问题!
关于序列变量的问题
请教老师求和函数的问题?

放到外面编译通过

放到BarsSinceToday条件里编译有警告错误

你确要放到BarsSinceToday条件里可用下面的,效果是一样的

谢谢,用closeD(1)可能超范围所以有警告吧?我还不能用close[1],因为还要取closeD(2),closeD(3)等,就是搞不懂这个条件BarsSinceToday==0,用了就取出的是错误的

不是超范围警告 而是序列函数的警告

close[1]只是一个数据,在任何地方使用都一样

closeD () 是系统函数 ,是需要进行运算的,运算需要的取值如果是有条件的,那就会出错,凡是用到了序列变量的函数,都最好不要放在分支条件下执行

至于为什么会出错

零基础课有讲

https://video.tbquant.net/video?id=video443

最近直播课又有专门讲

https://video.tbquant.net/video?id=20250928093034238402

感谢,已学习

👍