Как вывести значение цены в пользовательском TOOLTIP

 

Читаем справку:

OBJPROP_TOOLTIP

Текст всплывающей подсказки. Если свойство не задано, то показывается подсказка, автоматически сформированная терминалом. Можно  отключить показ подсказки, установив для нее значение "\n" (перевод строки)

string


Если TOOLTIP сформирован терминалом, то выводится во всплывающей подсказке (TOOLTIP) значение цены в точке расположения курсора

А если создается пользовательский TOOLTIP, то значение цены не выводится.

Кто-нибудь смог реализовать в пользовательском тултипе вывод цены в точке расположения курсора?

 

так ведь подсказка всплывает только над объектом, а не на пустом месте...

разве что создавать белый объект на белом фоне, и в нём изменять подсказку (перемещая за курсором)

или же таскать за курсором объект — "ценовая метка"

 
Eugeni Neumoin:

Кто-нибудь смог реализовать в пользовательском тултипе вывод цены в точке расположения курсора?

Для этого имеется инструмент "Перекрестие". Вызывается нажатием Ctrl+F или просто кликом по колесу мыши. Зачем велосипед изобретать?
 
Ihor Herasko:
Для этого имеется инструмент "Перекрестие". Вызывается нажатием Ctrl+F или просто кликом по колесу мыши. Зачем велосипед изобретать?

Это не решение. Мне нужно, чтобы при наведении на линии графических инструментов во всплывающей подсказке выводилась дополнительно информация о значении цены:

 

Также, как это делает терминал. Вывод перекрестия - это костыли. Не хочется быть инвалидом...Надо по-человечески.

Подвел курсор в искомую точку и во всплывающей подсказке вывелась вся необходимая информация:


Использование аналитических объектов - Графики котировок, технический и фундаментальный анализ - Справка по MetaTrader 5
Использование аналитических объектов - Графики котировок, технический и фундаментальный анализ - Справка по MetaTrader 5
  • www.metatrader5.com
Определение трендов, построение каналов, выявление циклов и уровней поддержки/сопротивления — все эти и многие другие задачи решаются при помощи...
 
Eugeni Neumoin:

Мне нужно, чтобы при наведении на линии графических инструментов во всплывающей подсказке выводилась дополнительно информация о значении цены:

Тоже имеется. Вот одна и та же трендовая линия. При наведении на нее в разных местах появляется подсказка со значением цены:



 Не хочется быть инвалидом...Надо по-человечески.

Чтобы по-человечески, конкретизируйте задачу. Тогда и ответ получить шансы выше будут.
 

А что еще конкретнее? На картинках выше и в комментариях к картинкам вся информация есть.

На картинках показаны пользовательские тултипы. Причем для таких линий, для которых терминал даже подсказку на выводит.

 
Eugeni Neumoin:

Подвел курсор в искомую точку и во всплывающей подсказке вывелась вся необходимая информация:


Так и скажите, что речь идет об объектах, которые создаются программно. В этом случае, как и сказали сами же выше - заполняйте ToolTip нужного объекта при каждом перемещении мыши. Чтобы его отлеживать, используйте событие ChartEvent. В обработчике отлавливайте CHART_EVENT_MOUSE_MOVE (на него нужно подписаться). Полученные координаты затем перевести во время и цену при помощи ChartXYToTimePrice и записать в нужный объект.

 
Ihor Herasko:

Так и скажите, что речь идет об объектах, которые создаются программно. В этом случае, как и сказали сами же выше - заполняйте ToolTip нужного объекта при каждом перемещении мыши. Чтобы его отлеживать, используйте событие ChartEvent. В обработчике отлавливайте CHART_EVENT_MOUSE_MOVE. Полученные коррдинаты затем нужно перевести во время и цену при помощи ChartXYToTimePrice и записать в нужный объект.

Не  катит? Ваш вариант уже опробован прежде чем была создана эта тема. Я на форум стараюсь выносить вопросы, которые не получается реализовать имеющимися средствами.

Чтобы реализовать Ваше предложение, надо перерисовывать все имеющиеся на графичке объекты, чтобы актуализировать информацию в тултипе при каждом движении мыши. А если объектов на графике много? При движении мыши терминал может просто зависнуть.

 
Eugeni Neumoin:
Не  катит? Ваш вариант уже опробован прежде чем была создана эта тема. Я на форум стараюсь выносить вопросы, которые не получается реализовать имеющимися средствами.

Так мы далеко не уедем. Что именно не получается? По всей видимости, что-то не учитываете. Вариант рабочий, проверено.

 

Если я выведу на экран несколько спиралей, то при Вашем предложении терминал просто зависнет.

Говорите вариант опробован - покажите на картинке результат


Вот такая картинка подвесит терминал при активном перемещении мыши, если будет реализован Ваш вариант:



Каждая спираль прорисовывается несколькими сотнями отрезков. При каждом смещении мыши все это надо будет перерисовывать, чтобы актуализировать в тултипе значение цены.

Но на этой картинке еще мало графических объектов. Их может быть значительно больше.

 
Eugeni Neumoin:

Читаем справку:

OBJPROP_TOOLTIP

Текст всплывающей подсказки. Если свойство не задано, то показывается подсказка, автоматически сформированная терминалом. Можно  отключить показ подсказки, установив для нее значение "\n" (перевод строки)

string


Если TOOLTIP сформирован терминалом, то выводится во всплывающей подсказке (TOOLTIP) значение цены в точке расположения курсора

А если создается пользовательский TOOLTIP, то значение цены не выводится.

Кто-нибудь смог реализовать в пользовательском тултипе вывод цены в точке расположения курсора?

это довольно много кода с непонятной целью :-)

1 - разрешить перехват событий движения мыши

2 - при движении мыша взвести таймер

3 - по истечении таймера вычислить что за объект рядом с указателем

4 - вывести нужный текст оформленный как tooltip, при след.движении текст убрать

самое гиморное пп3 - несложно делается только для прямых. а для всех прочих придётся делать цикл ObjectGetValueByTime чтобы выяснить рядом ли с ним мышь и в какое место объекта она указывает