如何在Pine Script中获取最高最高价K线的索引?
获取最高价对应K线的索引(Pine Script)
在Pine Script中,ta.highest()仅返回价格值,要获取对应K线的索引,需要通过对比价格来定位,以下是具体实现方式:
基础实现代码
//@version=5 indicator("Highest Price Index", overlay=true) length = 3 MyHighest = ta.highest(high, length) // 初始化索引变量为na(未赋值) highestIndex = na // 遍历最近length根K线,匹配最高价对应的索引 for i = 0 to length - 1 if high[i] == MyHighest highestIndex := i // 输出结果 label.new(bar_index, high, str.tostring(highestIndex), color=color.red)
代码说明
- 变量
highestIndex存储的是相对于当前K线的偏移索引:0代表当前K线,1代表前1根K线,2代表前2根K线(对应length=3的场景)。 - 若存在多根K线价格相同且均为最高价,上述代码会返回最近出现的那根K线的索引;如果需要获取最早出现的,可将循环顺序改为
for i = length - 1 downto 0。
验证方式
可以通过label.new()将索引值标注在对应K线的最高价位置,直观查看结果是否符合预期。
内容的提问来源于stack exchange,提问作者Mohammad Hasanpoor
相关产品推荐
相关产品推荐

