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

Pine Script实现价格与偏移价格、一目滞后跨度交叉的方法

Pine Script 一目均衡表滞后跨度与价格交叉的正确实现方式

错误原因说明

  • plot() 函数返回的是绘图对象,而非数值序列,ta.crossover()/ta.crossunder() 仅支持接收数值序列作为入参,因此无法直接用plot返回值计算交叉
  • offset 是绘图专属参数,仅调整指标的显示位置,不会修改原始数值的时序关系,无法参与计算逻辑

实现逻辑

一目均衡表的滞后跨度(Lagging Span/Chikou Span)本质是将当前收盘价显示在过去N个周期(默认25)的位置,要判断该线与同位置收盘价的交叉,只需将计算逻辑做等价转换:
当前周期的收盘价 = 滞后跨度在「当前周期往前数25个周期」位置的数值
25个周期前的收盘价 = 该位置的原始收盘价
因此直接比较当前收盘价与25周期前的收盘价的交叉关系即可,不会引入未来数据,也无需依赖绘图参数。

完整实现代码

//@version=5
indicator("Ichimoku Chikou Span Cross", overlay=true)

// 可自定义滞后周期,一目均衡表默认值为25
lagging_period = input.int(25, minval=1, title="滞后跨度周期")

// 交叉条件计算
// 滞后跨度上穿对应位置收盘价
cond_golden_cross = ta.crossover(close, close[lagging_period])
// 滞后跨度下穿对应位置收盘价
cond_death_cross = ta.crossunder(close, close[lagging_period])

// 可选:绘制两条参考线,offset仅用于显示调整,不参与计算
plot(close, color=color.aqua, title="收盘价")
plot(close, color=color.lime, title="滞后跨度", offset=-lagging_period)

// 绘制交叉信号,标签同步偏移至交叉发生的实际位置
plotshape(cond_golden_cross, title="上穿信号", location=location.belowbar, color=color.green, style=shape.labelup, text="多", offset=-lagging_period, size=size.small)
plotshape(cond_death_cross, title="下穿信号", location=location.abovebar, color=color.red, style=shape.labeldown, text="空", offset=-lagging_period, size=size.small)

关键说明

  • 所有计算逻辑完全基于原始数值序列,和绘图逻辑解耦,避免了绘图参数干扰计算的问题
  • 信号标签添加了同滞后跨度一致的负偏移,可直接对齐到两条线实际发生交叉的K线位置,符合一目均衡表的常规看盘逻辑
  • 若需要调整滞后周期,只需修改lagging_period参数即可,无需调整交叉计算逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 20:03:00