You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算最近X根K线中最高点至今的K线根数?

解决Pine Script中计算最近X根K线最高点到当前K线的根数问题

需求是计算最近X根K线内出现的最高点距离当前K线的根数,以X=10为例,你给出的这段代码无法实现目标:

float h = ta.highest(high, 10) 
float d = ta.barssince(high == h)

问题出在ta.barssince(high == h)的逻辑上:这个函数返回的是最后一次出现最高点的K线到当前K线的前一根K线的间隔数,而不是到当前K线的实际根数。比如最高点出现在前第3根K线,这段代码会返回2,但我们需要的是3。

修正后的代码

// 定义需要统计的K线数量X
X = 10
// 获取最近X根K线的最高价
float highestPrice = ta.highest(high, X)
// 计算最高点到当前K线的根数:barssince返回的是到前一根的间隔,加1得到到当前的实际根数
float distanceToCurrent = ta.barssince(high == highestPrice) + 1

逻辑说明

  • ta.barssince(condition)的返回值是“满足condition的最后一根K线到当前K线的前一根K线之间的K线数量”,所以加1后才是到当前K线的总根数。
  • 举个例子:如果最高点就在当前K线,ta.barssince返回0,加1后得到1;如果出现在前第5根K线,返回4,加1后得到5,完全符合需求。

内容的提问来源于stack exchange,提问作者Intetics

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 17:42:33