求助修改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
相关产品推荐
相关产品推荐

