上周 H/L 指标仅在小时时间范围内可见

Previous Week H/L Indicator ONLY visible on hourly timeframe and below

我对编码和 pine 脚本知之甚少,但我正在尝试编辑一个公开可用的 pine 脚本指标,使其仅在每小时及以下时间范围内可见。如果您能就此事提供帮助,我将不胜感激。

该脚本用于绘制前一周 high/low/close 当前周价格走势。这是脚本:

study(title="Week", shorttitle="Week", overlay=true)

highLevel   = input(defval = true, title = "Previous High")
lowLevel    = input(defval = true, title = "Previous Low")
closeLevel  = input(defval = true, title = "Previous Close")

timeFrame   = input(defval = "D", title = "Select Time Frame ( or choose below )
use4hour    = input(defval = false, title = "Use 4 hour?")
useMonth    = input(defval = false, title = "Use Month?")

reso(exp, res) => security(tickerid, res, exp)

tf() => use4hour and not useMonth ? "240" : useMonth and not use4hour ? "M" : timeFrame

highPrev    = change(time(tf())) ? na : reso(high[1], tf())
lowPrev     = change(time(tf())) ? na : reso(low[1], tf())
closePrev   = change(time(tf())) ? na : reso(close[1], tf())

plot(highLevel ? highPrev : na, title = "High", color = silver, linewidth = 2, style = linebr, transp = 50)
plot(lowLevel ? lowPrev : na, title = "Low", color = silver, linewidth = 2, style = linebr, transp = 50)
plot(closeLevel ? closePrev : na, title = "Close", color = silver, linewidth = 2, style = linebr, transp = 50)
//@version=4
study(title="Week", shorttitle="WK", overlay=true)

var color silver50 = color.new(color.silver, 50)
var color green50  = color.new(color.green,  50)
var color red50    = color.new(color.red,    50)

var bool canPlot = (timeframe.isminutes and timeframe.multiplier <= 60) or timeframe.isseconds

[h,l,c] = security(syminfo.ticker, "W", [high,low,close])

if not canPlot
    h := na, l := na, c := na

plot(h, "High",  green50,  2, plot.style_linebr)
plot(l, "Low",   red50,    2, plot.style_linebr)
plot(c, "Close", silver50, 2, plot.style_linebr)