hline не работает должным образом в PineScript

Как работает приведенный ниже код:

//@version=3
study("My Script", overlay=true)
price = (ticker == "EURUSD" ? 1.1600 : 1.1500)
hline(1.1500, title='Pi', color=blue, linestyle=dotted, linewidth=2)
plot(price)

Но это не так:

//@version=3
study("My Script", overlay=true)
price = (ticker == "EURUSD" ? 1.1600 : 1.1500)
hline(price, title='Pi', color=blue, linestyle=dotted, linewidth=2)
plot(price)

Единственное отличие заключается в использовании переменной для параметра hline.


person Élodie Petit    schedule 30.08.2018    source источник


Ответы (1)


Ну, идея hline() состоит в том, чтобы иметь горизонтальную линию по фиксированной цене. Если вы используете переменную для параметра price, то он больше не будет не "фиксированным". Потому что переменная может иметь другое значение во время выполнения. Следовательно, вы не можете использовать переменные.

person Baris Yakut    schedule 31.08.2018
comment
Этот ответ достаточно близок. Но реальная проблема, похоже, заключается в том, что pine-script ограничен, чтобы использовать только (векторные) ряды для переменных. Поэтому hline() недоволен, увидев ряд вместо одного значения. - person not2qubit; 20.09.2018
comment
hline() в TradingView — отстой. Этого недостаточно, чтобы предоставить инструмент для аннотирования диаграммы по желанию разработчика. - person Hao Nguyen; 29.04.2019
comment
Так как же можно построить горизонтальную линию на переменном уровне цен? Или, может быть, есть способ передать переменную как константу в функцию? - person philosopher; 18.09.2019