![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Говорите вариант опробован - покажите на картинке результат
Вот:
Урезано с варианта со множеством объектов. Все работает корректно.
При каждом смещении мыши все это надо будет перерисовывать, чтобы актуализировать в тултипе значение цены.
Не нужно перерисовывать все. Только тот отрезок, над которым мышь находится.
Кстати, еще один вариант. Он универсальный и простой до безобразия: не заполняйте подсказку. Терминал ее сам заполнит и сам выведет нужную цену.
Кстати, еще один вариант. Он универсальный и простой до безобразия: не заполняйте подсказку. Терминал ее сам заполнит и сам выведет нужную цену.
В этом варианте не выводится необходимая информация. Также подсказка будет выведена не с той информацией, которая необходима для каждой конкретной линии.
Ну если Вы будете любезны и расскажете, что это за "необходимая информация" (в старте топика упоминалась только цена), то, может быть, можно будет что-то придумывать. А свои телепатические способности я пока не развил настолько, чтобы безошибочно определить, что же именно Вы хотите найти )))
Не нужно перерисовывать все. Только тот отрезок, над которым мышь находится.
Вы не представляете, во что это выливается.
Проще сделать нейросеть... или лучше займусь созданием автомата по выводу волн Эллиотта... тем более, что вся информация собрана. Осталось все перенести в код.
Ну если Вы будете любезны и расскажете, что это за "необходимая информация" (в старте топика упоминалась только цена), то, может быть, можно будет что-то придумывать. А свои телепатические способности я пока не развил настолько, чтобы безошибочно определить, что же именно Вы хотите найти )))
Вот картинки с тултипами:
В первой строке название графического инструмента. Если перед названием стоит фиба, то это означает, что курсор подведен к линии соответствующей фибы. Номер показывает, под каким номером создан данный графический инструмент на графике. Наименование таймфрейма - значение таймфрейма на графиек, когда создавался данный графический инстумент. В следующей строке диапазон таймфреймов указывает на каких таймфреймах данный графический инструмент будет выведен, где его пропускает на график фрактальная фильтрация. Для спирали также указывается, к какому витку спирали подвенен курсор. К другим графическим инструментам может выводиться какая-то другая информация, специфическая для данного инструмента.
В одном из постов выше они были представлены.
Вы не представляете, во что это выливается.
Ну почему же не представляю? Я же говорю - задача решена для множества (более тысячи) объектов различной конфигурации, не только для линий, но и для дуг, стрелок и т. д. Ведь все их координаты известны (если объект перемещается, то в массив вносятся изменения). Вот они и хранятся в массиве. Достаточно пройтись по массиву и сравнить текущее положение курсора с уже вычисленными координатами с поправкой на область отображения объекта. Кроме того, не нужно забывать, что далеко не все объекты из этой тысячи находятся в видимой области графика. Это значительно сужает круг поиска объекта.
Я не говорю, что решение вообще простое, но оно и не относится к категории высокой сложности. Это обычная задача среднего уровня. На выходе же получаем достаточно шустро работающую программу.
Вот картинки с тултипами:
Ну тогда способ с отлавливанием положения курсора мыши вполне подойдет. Тем более, что Вы оперируете всего лишь линиями, для которых достаточно знаний уравнения прямой - математика 5-го класса. Если дуги добавите, то там увеличивается область, принадлежащая объекту. В этом случае, возможно, будет происходить перекрытие областей и однозначно идентифицировать объект не получится. Но для этой задачи не страшно - измените подсказки не у одного, а у двух-трех объектов, у которых области перекрыты. А терминал уже сам разберется, для какого именно объекта выводить подсказку.
Спасибо. Громоздко получается. Было бы интересней, если б в терминале была возможность без перерисовки линий обновлять тултипы.
Самый простой способ заключается в следующем. В массиве хранить названия объектов, где надо обновлять тултипы и текст тултипа, который не обновляется.
А при перемещении мыши просто обновлять тултип
И не надо перерисовывать сами объекты.
Правда при этом массив с наименованиями объектов может иметь умопомрачительную размерность. Несколько десятков тысяч элементов. А массив строковый.
Спасибо. Громоздко получается. Было бы интересней, если б в терминале была возможность без перерисовки линий обновлять тултипы.
Самый простой способ заключается в следующем. В массиве хранить названия объектов, где надо обновлять тултипы и текст тултипа, который не обновляется.
Да, массив структур, каждая из которых описывает один объект (не только подсказка, но и все необходимые сведения об объекте - координаты, область действия и сама подсказка). Об этом я и говорил выше.
А при перемещении мыши просто обновлять тултип
И не надо перерисовывать сами объекты.
В моем примере так и есть.
Правда при этом массив с наименованиями объектов может иметь умопомрачительную размерность. Несколько десятков тысяч элементов. А массив строковый.