Невозможно использовать функцию для стиля печати, но работает для цвета графика - PullRequest
0 голосов
/ 04 мая 2020
//@version=4
study("PlayGround", overlay=true)

f_color() => color.lime
f_style() => plot.style_line

plot(close, color=f_color())
plot(high,  style=f_style())

Этот скрипт не компилируется.
Выдает ошибку Cannot read property 'apply' of undefined.

Причиной, по-видимому, является использование функции f_style() для стиля печати. ​​
Я не понимаю, почему это не работает.

Я нашел связанный вопрос Почему логика true / false c на «style =» не работает? .
Принятый ответ предполагает, что это должно быть возможно в Сосна v4.

1 Ответ

1 голос
/ 05 мая 2020

Использование функции для параметров, требующих аргумент в форме input (параметр style= требует input integer ), иногда кажется, что компилятор не может отследить тот факт, что функция возвращает приемлемую форму.

Вы можете обойти эту проблему, отключив код. За исключением функции, все они работают:

//@version=4
study("PlayGround", overlay=true)

lineStyle = input(true)

f_color() => color.lime
f_style() => plot.style_line

style2 = lineStyle ? 0 : 6
style3 = lineStyle ? plot.style_line : plot.style_circles
style4 = plot.style_line

plot(close, color=f_color())
plot(high,  style=style3)

Я добавил пример в похожий отчет об ошибках, который мы уже создали.

...