Сценарий Pine, как я могу использовать более старую скорость закрытия

#pine-script

#сценарий pine

Вопрос:

Как я могу использовать более старую скорость закрытия в своем коде сценария Pine?

 //@version=5
indicator('FRG 1', overlay=true)
L_close = close[2]
hline(L_close)
 

Ошибка: не удается вызвать ‘hline’ с аргументом ‘price’ =’L_close’. Использовался
аргумент типа ‘series float’, но ожидается ‘input float’

Ответ №1:

Ошибка говорит о том, что вы не можете использовать series переменную. Функция hline() принимает только константы ( input значения и литералы), в то время close как значение меняется через столбцы, поэтому горизонтальная линия не может быть нанесена.

Поэтому вам нужно plot вместо этого использовать функцию:

 //@version=5
indicator('FRG 1', overlay=true)
L_close = close[2]
plot(L_close)
 

https://www.tradingview.com/pine-script-docs/en/v5/concepts/Plots.html

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

1. Спасибо, но он показывает непрерывную линию, и мне нужно создать только одну горизонтальную линию на основе предыдущей скорости закрытия свечи

Ответ №2:

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

Поскольку я не уверен, чего именно вы пытаетесь достичь (пытаетесь ли вы нарисовать горизонтальную линию для одного бара при определенных условиях или вам нужна линия для предыдущего закрытия для каждой свечи?), Я приведу пример из одного из моих сценариев:

 plot(strategy.position_size != 0 ? tradeStopPrice : na, title = "Trade Stop Price", color = color.red, style = plot.style_linebr)
 

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

Тогда «style = plot.style_linebr» означает, что он не будет заполнять пустые части (na), чтобы попытаться создать непрерывную линию (попробуйте без нее, чтобы увидеть разницу)

В зависимости от того, чего вы хотите достичь, вы можете немного поработать с этим.