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

求助修改Pine Script:仅显示当日高低线不向后延伸

解决Pine Script高低线仅显示在当前周期的问题

修改后代码

//@version=5
indicator(title="_CM_High_Low_Open_Close", shorttitle="_CM_H_L_O_C", overlay=true)

yellow_color = color.new(color.yellow, 0)

// Inputs
st = input(true, title="THL")
swt = input(false, title="WHL")
swy = input(false, title="Prvs-WHL")
smh = input(false, title="MHL")
spmh = input(false, title="Prvs-MHL")

// 周期判断:当前K线是否属于最新的日/周/月
is_current_day = ta.time >= ta.time("D")
is_current_week = ta.time >= ta.time("W")
is_current_month = ta.time >= ta.time("M")

// Daily
ph = request.security(syminfo.tickerid, "D", high)
pl = request.security(syminfo.tickerid, "D", low)

// Weekly
wph = request.security(syminfo.tickerid, "W", high)
wpdh = request.security(syminfo.tickerid, "W", high[1])
wpl = request.security(syminfo.tickerid, "W", low)
wpdl = request.security(syminfo.tickerid, "W", low[1])

// Monthly
mph = request.security(syminfo.tickerid, "M", high)
mpdh = request.security(syminfo.tickerid, "M", high[1])
mpl = request.security(syminfo.tickerid, "M", low)
mpdl = request.security(syminfo.tickerid, "M", low[1])

// Daily Plots:仅在当前交易日显示
plot(st and is_current_day ? ph : na, title="TH", style=plot.style_line, linewidth=2, color=yellow_color)
plot(st and is_current_day ? pl : na, title="TL", style=plot.style_line, linewidth=2, color=yellow_color)

//Weekly Plots:仅在当前交易周显示
plot(swt and is_current_week ? wph : na, title="WH", style=plot.style_line, linewidth=3, color=yellow_color)
plot(swy and not is_current_week ? wpdh : na, title="Prvs-WH", style=plot.style_line, linewidth=3, color=yellow_color)
plot(swt and is_current_week ? wpl : na, title="WL", style=plot.style_line, linewidth=3, color=yellow_color)
plot(swy and not is_current_week ? wpdl : na, title="Prvs-WL", style=plot.style_line, linewidth=3, color=yellow_color)

//Monthly Plots:仅在当前交易月显示
plot(smh and is_current_month ? mph : na, title="MH", style=plot.style_line, linewidth=4, color=yellow_color)
plot(spmh and not is_current_month ? mpdh : na, title="Prvs-MH", style=plot.style_line, linewidth=4, color=yellow_color)
plot(smh and is_current_month ? mpl : na, title="ML", style=plot.style_line, linewidth=4, color=yellow_color)
plot(spmh and not is_current_month ? mpdl : na, title="Prvs-ML", style=plot.style_line, linewidth=4, color=yellow_color)

关键改动说明

  • 新增周期判断逻辑:通过ta.time >= ta.time("周期标识")判断当前K线是否属于目标周期(当日/当周/当月),确保高低线仅在对应周期的K线区间内显示
  • 调整plot显示条件:移除原代码中错误的颜色判断逻辑,替换为周期判断条件,非目标周期区间直接返回na,避免线延伸到历史K线
  • 适配历史周期(上周/上月)显示:针对“Prvs-WHL”“Prvs-MHL”选项,添加反向周期判断,确保历史周期的高低线仅在对应历史区间显示,不会干扰当前周期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 06:57:06