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

为何部分加密货币图表中昨日高低点中线绘制代码失效?

问题排查:Pine Script昨日高低点中线在部分品种图表失效

我写的Pine Script代码原本要实现三个功能:

  • 绘制昨日高点(PDH)的绿色水平线
  • 绘制昨日低点(PDL)的红色水平线
  • 绘制昨日高低点中间值的蓝色水平线

目前代码在BTC等部分图表能正常生效,但在LTC等图表中蓝色中线绘制失效,不过昨日高低点的线条显示正常。附上代码:

//@version=5
indicator('Plot Lines', overlay=true)

PDH = request.security(syminfo.tickerid, 'D', high)
PDL = request.security(syminfo.tickerid, 'D', low)

var line l_pdh = na
var line l_pdl = na
var line l_midPoint = na

if barstate.islast
    l_pdh := line.new(bar_index - 1, PDH[1], bar_index, PDH[1], extend=extend.both,color=color.green)
    l_pdl := line.new(bar_index - 1,PDL[1],bar_index,PDL[1],extend=extend.both,color=color.red)

    // Calculate midpoint between high and low
    midPoint = (PDH + PDL) / 2

    // Plot blue open line at midpoint
    l_midPoint := line.new(bar_index - 1,midPoint ,bar_index,midPoint ,extend=extend.both,color=color.blue)

line.delete(l_pdh[1])
line.delete(l_pdl[1])
line.delete(l_midPoint[1])

问题原因

高低点线条使用的是PDH[1]和PDL[1],也就是前一根K线通过request.security获取的昨日日高低点数据,这个数值是稳定的(昨日已经收盘,不会变动)。

但中线计算用的是PDH + PDL,直接取的是当前K线周期下请求到的日高低点——如果当前交易日还未收盘,这个数值会随着日内行情不断变化;部分品种可能因为数据同步逻辑的差异,导致当前K线的PDH/PDL并非昨日数据,而是当日的临时值,最终中线无法正确显示昨日高低点的中间值。

修复后的代码

把中线计算也改成使用前一根K线的昨日高低点数据,和高低点线条保持一致:

//@version=5
indicator('Plot Lines', overlay=true)

PDH = request.security(syminfo.tickerid, 'D', high)
PDL = request.security(syminfo.tickerid, 'D', low)

var line l_pdh = na
var line l_pdl = na
var line l_midPoint = na

if barstate.islast
    l_pdh := line.new(bar_index - 1, PDH[1], bar_index, PDH[1], extend=extend.both,color=color.green)
    l_pdl := line.new(bar_index - 1,PDL[1],bar_index,PDL[1],extend=extend.both,color=color.red)

    // 修改为使用昨日的高低点数据(和高低点线保持一致)
    midPoint = (PDH[1] + PDL[1]) / 2

    l_midPoint := line.new(bar_index - 1,midPoint ,bar_index,midPoint ,extend=extend.both,color=color.blue)

line.delete(l_pdh[1])
line.delete(l_pdl[1])
line.delete(l_midPoint[1])

说明

修复后,中线和高低点线一样,都基于前一根K线获取的昨日日K线高低点计算,确保所有品种图表中都能稳定显示昨日高低点的中间值水平线。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 16:37:29