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

TradingView Pine Script:能否编写在回溯20/50/200根K线处绘制垂直线的脚本?

TradingView Pine Script:绘制回溯指定K线数的垂直线

当然可以实现这个需求,以下是完整的Pine Script v5代码,能在当前K线回溯20、50、200根K线的位置绘制垂直线:

//@version=5
indicator("回溯指定K线垂直线", overlay=true)

// 定义需要回溯的K线数量
lookback_periods = [20, 50, 200]
// 定义对应线条的颜色
line_colors = [color.new(color.blue, 0), color.new(color.red, 0), color.new(color.green, 0)]

// 仅在最后一根K线绘制,避免重复生成线条
if barstate.islast
    for i = 0 to array.size(lookback_periods) - 1
        period = array.get(lookback_periods, i)
        // 确保回溯的K线数不超过已加载的K线总量
        if bar_index >= period
            target_bar_index = bar_index - period
            target_time = time[target_bar_index - bar_index] // 获取目标K线的时间戳
            // 绘制垂直线
            line.new(
                x1=target_time, y1=ta.lowest(ta.low, 100), 
                x2=target_time, y2=ta.highest(ta.high, 100), 
                color=array.get(line_colors, i), 
                width=2, 
                style=line.style_dashed,
                title=str.tostring(period) + "根前"
            )

代码说明:

  • overlay=true:让指标直接叠加在主图上,和你用的"Anchored Vertical Line"效果一致
  • barstate.islast:仅在当前最新K线执行绘制逻辑,避免每根K线都重复生成线条,节省资源
  • 循环处理多个回溯周期:通过数组批量定义需要的回溯数和对应颜色,方便后续修改或添加新周期
  • 边界检查bar_index >= period:防止脚本在K线数量不足时报错
  • line.new:核心绘制函数,通过目标K线的时间戳定位垂直线位置,y轴范围取最近100根K线的高低区间,确保线条覆盖当前可见的价格范围

你可以直接将这段代码复制到TradingView的Pine编辑器中,保存后就能看到效果。如果需要调整线条样式(比如实线/虚线、宽度、颜色),修改line.new里的参数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 00:25:54