如何根据特定的收盘蜡烛和时间表绘制水平线

时间:2019-08-17 01:27:09

标签: pine-script

我希望根据特定时间和特定时间在tradingview(松树脚本)中绘制一条水平线。因此,例如,我想在1600点(美国东部标准时间下午4点)的时间在5m蜡烛的收盘线上绘制一条线。

我已经尝试了很多,但似乎无法弄清楚如何在松本脚本中获得历史价值。这意味着您正在寻找从下午4点开始的一条线,并将其显示在当天的其余时间和第二天的开始时。使用PS中的函数show_last = 1可以很容易地做到这一点。但我不知道如何计算下午4点的5m烛光?

我的某些代码无法完全正常工作

//@version=3
study("4pm_Line")

highTimeFrame = input("5", type = resolution)
sessSpec = input("1600-0930", type = session)

is_newbar(res, sess) =>
    t = time(res, sess)
    na(t[1]) and not na(t) or t[1] < t

newbar = is_newbar("5", sessSpec)
s2 = na
s2 := newbar ? close : nz(s2[1])

plot(s2, style=line, linewidth=1, color=lime, trackprice = true, 
     show_last = 1)

绘制的线已关闭,我不知道它如何获得其值。

1 个答案:

答案 0 :(得分:0)

实际上很容易。 我为您创建了一个脚本

//@version=4
//@author=lucemanb
study("Closing Time", overlay=true)

period  = input("5", "Period", input.resolution)
session = input("1500-1600", "Session", input.session)

float data = na
data := data[1]
getData() =>
    float d = na
    inSession = time(period, session)
    if not inSession and inSession[1]
        d := close[1]
    d
d = security(syminfo.tickerid, period, getData())
if not na(d)
    data := d

plot(data, "Line", color.yellow, 2, plot.style_line, true, show_last=1)

我们基本上将找到的值存储在每个蜡烛中访问的变量中 我希望这有帮助。享受