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

如何用Pine Script的ta函数简洁获取倒数第二次条件的K线偏移

Pine Script 获取倒数第二次满足条件的K线偏移值

可以利用Pine Script的ta.valuewhen()函数结合ta.bar_index来简洁实现需求,核心思路是提取倒数第二次满足条件时的K线索引,再用当前K线索引减去该值得到偏移量:

// 假设AB_crossover是已定义的布尔条件变量
second_last_offset = ta.bar_index - ta.valuewhen(AB_crossover, ta.bar_index, 1)

代码解释

  • ta.valuewhen(AB_crossover, ta.bar_index, 1):该函数会返回倒数第二次满足AB_crossover条件时的K线索引(第三个参数1表示取上一次满足的记录,0对应最近一次)。
  • 用当前K线的ta.bar_index减去这个索引值,得到的就是从当前K线(offset 0)到倒数第二次满足条件K线的偏移值(对应示例中的6)。

注意事项

当满足条件的K线次数不足2次时,ta.valuewhen()会返回na,此时可以添加判断逻辑处理这种情况:

second_last_offset = na
if ta.barssince(AB_crossover) != na and ta.valuewhen(AB_crossover, ta.bar_index, 1) != na
    second_last_offset := ta.bar_index - ta.valuewhen(AB_crossover, ta.bar_index, 1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 07:16:17