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

如何在Pine Script中实现间隔两根K线的交叉条件plotshape绘制

Pine Script 优化交叉标记绘制逻辑

针对你的需求,我们需要给plotshape的触发条件加上前两根K线未触发相同交叉的判断,具体实现如下:

// 定义上穿条件:当前K线上穿,且前两根K线都未上穿
crossoverCondition = ta.crossover(close, upper1) and not ta.crossover(close[1], upper1[1]) and not ta.crossover(close[2], upper1[2])
// 定义下穿条件:当前K线下穿,且前两根K线都未下穿
crossunderCondition = ta.crossunder(close, lower1) and not ta.crossunder(close[1], lower1[1]) and not ta.crossunder(close[2], lower1[2])

// 使用新条件绘制标记
plotshape(series = crossoverCondition, style=shape.xcross, location=location.abovebar, color=color.new(color.blue, 0), size=size.tiny, display=display.pane)
plotshape(series = crossunderCondition, style=shape.xcross, location=location.belowbar, color=color.new(color.yellow, 0), size=size.tiny, display=display.pane)

代码说明:

  • close[1]代表前一根K线的收盘价,upper1[1]对应前一根K线的upper1数值,以此类推close[2]/upper1[2]是前两根K线的数据
  • not用来取反,确保前两根K线没有触发对应的交叉信号
  • 只有当当前触发交叉 + 前两根都没触发时,crossoverCondition/crossunderCondition才会返回true,此时才会绘制叉形标记

这样就完全实现了你要的逻辑:仅在当前K线触发交叉且前两根K线未触发相同条件时,才显示标记。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 08:09:22