如何定义非序列布尔变量定位过去第N根K线并标记?
如何在Pine Script中标记10根K线前的K线背景
首先要明确:非序列变量是全局固定值,无法随K线变化返回不同的true/false,所以你需要的是一个序列布尔变量,才能在特定历史K线(10根之前的那根)上返回true。
以下是实现代码:
//@version=5 indicator("标记10分钟前的K线", overlay=true) // 序列布尔变量:判断当前K线是否为最新K线往前数第10根 isTargetBar = bar_index == ta.bar_index - 10 // 为目标K线添加红色背景 bgcolor(isTargetBar ? color.red : na)
代码解释:
ta.bar_index返回图表中最新K线的索引值,bar_index则是当前遍历到的K线索引。isTargetBar会在最新K线往前第10根的K线上返回true,其余K线返回false,这样就能精准标记你需要的那根10分钟前的K线(1分钟图中1根K线对应1分钟)。
如果你想要每一根K线对应的10根前的K线都标记(比如第10根标记第0根,第11根标记第1根),可以使用offset参数简化实现,无需额外变量:
//@version=5 indicator("标记所有10根前的K线", overlay=true) // 直接为每根K线的前10根添加红色背景 bgcolor(color.red, offset=-10)
内容的提问来源于stack exchange,提问作者Vendrel
相关产品推荐
相关产品推荐

