Как использовать разные строковые литералы в графике PINE в торговом представлении?

У меня есть сюжет, определенный следующим образом:

plotshape(xvalue, location=location.absolute, style=shape.labeldown, color=red, size=size.tiny, text ="Upper")

Проблема здесь с частью text="Upper". Я хотел разрешить пользователю сокращать метку, чтобы она могла быть «Верхняя» или «U». Обычно это можно сделать примерно так:

text = label ? "U" : "Upper"

Где «метка» имеет значение true/false для более коротких строк.

Проблема в том, что PINE не принимает его, и ошибка выглядит примерно так: «Вы должны использовать строковые литералы с 'text ='». https://www.tradingview.com/wiki/Literals#String_Literals

Есть ли способ обойти это, чтобы пользователь мог изменять текст сюжета на лету?

Спасибо.


person Mikeyy    schedule 08.10.2018    source источник
comment
Добро пожаловать в SO @Mikeyy. Хорошая работа по хорошо сформулированному вопросу.   -  person not2qubit    schedule 09.10.2018


Ответы (1)


Проблема в том, что pine-script не принимает строковые переменные в качестве меток графика. Таким образом, ответ заключается в том, что вы не можете изменить метку из скрипта. Он должен быть жестко закодирован. Единственный обходной путь — определить другой совершенно другой график, используя в нем другую метку.

person not2qubit    schedule 09.10.2018
comment
Таким образом, единственным обходным решением является засорение кода более избыточным кодом, который по умолчанию будет иметь значение na, когда переменная имеет значение false. :) Спасибо. - person Mikeyy; 09.10.2018