Использую один график для всех инструментов, заменяя на нем инструменты. Метки (Labels), установленные для SBER, не отображаются для ROSN, и наоборот. Однако, функция DelAllLabels() удаляет метки, как для SBER, так и для ROSN. Как удалить метки, установленные только для SBER? В таблице Labels никакого признака нет. Где его можно найти?
Использую один график для всех инструментов, заменяя на нем инструменты. Метки (Labels), установленные для SBER, не отображаются для ROSN, и наоборот. Однако, функция DelAllLabels() удаляет метки, как для SBER, так и для ROSN. Как удалить метки, установленные только для SBER? В таблице Labels никакого признака нет. Где его можно найти?
Самый простой вариант: прописываете при установке метки "SBER" в HINT. Когда нужно удалить: удаляете в цикле все метки, которые удовлетворяют условию label.hint == sec_code, где sec_code = "SBER". Все остальные варианты сложнее.
Самый простой вариант: прописываете при установке метки "SBER" в HINT. Когда нужно удалить: удаляете в цикле все метки, которые удовлетворяют условию label.hint == sec_code, где sec_code = "SBER". Все остальные варианты сложнее.
А как сама система распознает, какому инструменту какие метки принадлежат?
Покажите скрипт и уточните, когда Вы хотите удалять метки.
Хочу в любой момент вызвать скрипт test.lua, который удалит все метки по текущему инструменту, в том числе поставленные вручную, и нарисует новые метки.
Код
test.lua
function main()
удалить_все_метки_по_текущему_инструменту();
...
нарисовать_новые_метки();
end;
Андрей_тлт написал: А как сама система распознает, какому инструменту какие метки принадлежат?
Нет, метка привязывается к графику (идентификатор графика привязан к графику, а не к инструменту). Варианты, типа как nikolz предложил, я не писал, так как там сложно: если руками метку удалили, то все идентификаторы при перезагрузке терминала сдвигаются). Перебором и проверкой всех существующих меток проще.
Нет, метка привязывается к графику (идентификатор графика привязан к графику, а не к инструменту). Варианты, типа как nikolz предложил, я не писал, так как там сложно: если руками метку удалили, то все идентификаторы при перезагрузке терминала сдвигаются). Перебором и проверкой всех существующих меток проще.
Это я понимаю, что метки в одной куче лежат. Но если я метку вручную поставил через меню, и не указал инструмент в HINT, то мне уже никак не понять, на каком инструменте я ее поставил? Сам торговый терминал распознает как-то.
Нет, метка привязывается к графику (идентификатор графика привязан к графику, а не к инструменту). Варианты, типа как nikolz предложил, я не писал, так как там сложно: если руками метку удалили, то все идентификаторы при перезагрузке терминала сдвигаются). Перебором и проверкой всех существующих меток проще.
Это я понимаю, что метки в одной куче лежат. Но если я метку вручную поставил через меню, и не указал инструмент в HINT, то мне уже никак не понять, на каком инструменте я ее поставил? Сам торговый терминал распознает как-то.
непонятно, у Вас на графике есть какие-то индикаторы и на них метки. Кидаете на этот график индикатор. В нем в функции init удаляете все метки и далее в onCalc рисуются новые. что не так?
непонятно, у Вас на графике есть какие-то индикаторы и на них метки. Кидаете на этот график индикатор. В нем в функции init удаляете все метки и далее в onCalc рисуются новые. что не так?
Индикаторов нет. Есть всего один график.
Последовательность моих действий: 1. Открыл на графике SBER. 2. Поставил метки для SBER 3. Заменил SBER на ROSN на этом же графике. Метки SBER-а теперь не отображаются. 4. Поставил метки для ROSN 5. Переключился снова на SBER. Отобразились метки SBER-а, а метки ROSN теперь скрыты.
Как терминал понимает, какие метки надо отображать, а какие скрывать? Можно как-то программно это распознать, без записи в HINTы или массивы?
Андрей_тлт написал: Последовательность моих действий: 1. Открыл на графике SBER. 2. Поставил метки для SBER 3. Заменил SBER на ROSN на этом же графике. Метки SBER-а теперь не отображаются. 4. Поставил метки для ROSN 5. Переключился снова на SBER. Отобразились метки SBER-а, а метки ROSN теперь скрыты.
Как терминал понимает, какие метки надо отображать, а какие скрывать? Можно как-то программно это распознать, без записи в HINTы или массивы?
Вы как меняете инструмент, правой кнопкой на мыши: Заменить инструмент? Если да, то метки никуда не скрываются, они остаются. Вы их из-за масштаба не видите. Покрутите график по вертикали.
Вы как меняете инструмент, правой кнопкой на мыши: Заменить инструмент? Если да, то метки никуда не скрываются, они остаются. Вы их из-за масштаба не видите. Покрутите график по вертикали.
Нее, я меняю инструмент через привязку к другому окну (кнопка в верхнем углу графика). Вот иллюстрация того, что метки скрываются:
Можно написать индикатор, который при смене настроек графика (а это произойдет при смене инструмента) получит информацию о текущем инструменте и выведет (обновит) метку на графике, записав необходимую информацию в текст, подсказку метки.
непонятно, у Вас на графике есть какие-то индикаторы и на них метки. Кидаете на этот график индикатор. В нем в функции init удаляете все метки и далее в onCalc рисуются новые. что не так?
Индикаторов нет. Есть всего один график.
Последовательность моих действий: 1. Открыл на графике SBER. 2. Поставил метки для SBER 3. Заменил SBER на ROSN на этом же графике. Метки SBER-а теперь не отображаются. 4. Поставил метки для ROSN 5. Переключился снова на SBER. Отобразились метки SBER-а, а метки ROSN теперь скрыты.
Как терминал понимает, какие метки надо отображать, а какие скрывать? Можно как-то программно это распознать, без записи в HINTы или массивы?
Полагаю, что ответ -никак. На разных графиках инструментов у Вас разные значения цены. Метки другого инструмента вне поля картинки. Попробуйте сжать масштаб по Y так чтобы он покрывал диапазон цен двух инструментов.
Провел тест. Как и говорил ранее, КВИК никак не связывает метку с инструментом. Но метка связывается с ценой, временем и номером отсчета. --------------------- Как говорят фокусники - следите за руками: --------------------------- График инструмента ГАЗПРОМ c меткой
Меняем инструмент на SOLF и выставляем новую метку. Старой метки не видно.
теперь возвращаем первый инструмент и видим старую метку. и редактируем метку, отключаем ее перемещение со шкалой времени и со шкалой цены
Теперь устанавливаем второй инструмент обратно. И видим обе метки