Это почти сделано, но строка не является непрерывной и обновляется

#pine-script

Вопрос:

В последний раз, когда я задавал вопрос о рисовании горизонтальной линии, ответа не было в течение нескольких дней, поэтому я учился в течение нескольких дней и преуспел в написании, грубо используя синтаксис «От».

Однако, в отличие от желаемого результата, при передаче оператора For существующая строка теряется и создается новая строка.

Что я хочу сделать, так это каждый день проверять стартовую строку биржи и рисовать горизонтальную линию с высоким значением для маяка и низким значением для отрицательного.

Что я хочу сделать

Я хочу избавиться от этого ярма.

 //@version=4
study(title = "Horizen Line", shorttitle = "Come on...", overlay = true)

t = timestamp("GMT", year(timenow), month(timenow), dayofmonth(timenow), 00, 00, 00)

var float l = 0.0
var bool c_color = true

for i = 1 to 2
    if time >= t and na(l[1])
        if close > open
            l := high, c_color := true
        else
            l := low, c_color := false
    else
        l := l[1]
    line.new(t, l, time, l, xloc = xloc.bar_time, extend = extend.right, color = color.new(c_color ? color.teal : color.maroon, 80), style = line.style_solid, width = 1)
    t := t - 86400000 * i
 

Ответ №1:

Это то, что вы ищете, но упрощенное.

 //@version=4
study(title = "Horizen Line", shorttitle = "Come on...", overlay = true)

var color   c1 = color.new(color.teal,   0)
var color   c2 = color.new(color.maroon, 0)

if change(dayofmonth)
    l = close > open ? high : low
    line.new(time, l, time 1, l, xloc = xloc.bar_time, extend = extend.right, color = l == high ? c1 : c2, style = line.style_solid, width = 1)
 

Это дает

Пример

Комментарии:

1. Спасибо, сэр, это действительно помогло мне!