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

请求修改Pine Script代码:实现每N根K线绘制前期N根最高价线

解决指定K线区间最高价水平线绘制问题

问题描述

你希望每完成指定数量(如50根)的K线后,在该区间内绘制一条对应最高价的水平线,但现有代码仅会在每第N根K线时更新最高价数值,导致绘制的是连续的水平线而非分区间的独立水平线。

修正后的代码

//@version=5
indicator(title='Test-1', shorttitle='Test-1', overlay=true, timeframe='')
barLength = input.int(50, minval=1, title='区间长度')

var int counter = 0
var int segmentStartBar = bar_index

counter := counter + 1

// 当完成一个指定长度的K线区间时
if counter == barLength
    // 计算当前区间的最高价
    segmentHigh = ta.highest(bar_index - segmentStartBar + 1)
    // 绘制横跨该区间的最高价水平线
    line.new(
        x1=segmentStartBar, y1=segmentHigh,
        x2=bar_index, y2=segmentHigh,
        color=color.green, width=2,
        style=line.style_solid
    )
    // 重置计数器并更新下一个区间的起始K线索引
    counter := 0
    segmentStartBar := bar_index + 1

关键改动说明

  • 替换绘制方式:用line.new()替代plot(),生成独立的水平线段,精准覆盖每个完成的K线区间,而非连续线条。
  • 追踪区间起点:通过segmentStartBar记录每个区间的起始K线索引,确保水平线仅绘制在对应区间范围内。
  • 区间最高价计算:在每个区间完成时,计算该区间内的最高价,并绘制横跨整个区间的水平线。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 17:15:45