Как построить горизонтальную линию на основе конкретной свечи закрытия и таймфрейма

Я хочу построить горизонтальную линию в торговом представлении (скрипт сосны) на основе определенного времени и определенного периода времени. Так, например, я хочу построить линию h на закрытии 5-метровой свечи на таймфрейме 1600 (16:00 EST).

Я много пробовал, но не могу понять, как получить историческую ценность в сосновом сценарии. Это означает, что вы хотите построить линию с 16:00 и показать ее на своих графиках до конца этого дня и в начале следующего дня. Это легко сделать с помощью функции show_last = 1 внутри PS. но я не могу понять, как рассчитать 5-минутную свечу закрытия в 16:00?

Часть моего кода не работает полностью

//@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)

Строка, которая рисует, отключена, и я понятия не имею, как она получает свои значения.


person nicktrader    schedule 17.08.2019    source источник


Ответы (1)


это довольно легко на самом деле. Я создал сценарий для вас

//@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)

В основном мы сохраняем значение, которое мы нашли, в переменной, к которой мы обращаемся на каждой свече. Надеюсь, это поможет. Наслаждаться

person Lucem    schedule 17.08.2019
comment
Спасибо, @lucem. Я ценю направление. Во-первых, если я прямо сейчас добавлю это в свою кодовую базу в TradingView для BABA; он показывает ценовую линию 177,50; когда истинное значение должно быть около 174,80. Не уверен, почему разница. Просто пытаюсь следовать логике, если мы сохраняем значения, есть ли способ просто сказать, что мы хотим этот точный таймфрейм в это конкретное время и вытащить его? Извините, просто пытаюсь научиться этому. - person nicktrader; 17.08.2019
comment
да, это то, что он делает, он получает точные временные рамки, которые вы установили. Пожалуйста, проверьте ввод @nicktrader - person Lucem; 18.08.2019