Проверка наличия текста (OBJ_TEXT) в точке привязки

 

Уважаемые знатоки.

Есть ли способ проверить наличие текстового объекта с определенными координатами привязки на графике?

Я в mql5 не большой знаток. Просто научился передавать координаты объектов для отрисовки через socket.

Если объект уже существует, то на данный момент новый объект с теми же координатами перекрывает существующий.

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

 
Ernesto Che:

Уважаемые знатоки.

Есть ли способ проверить наличие текстового объекта с определенными координатами привязки на графике?

Я в mql5 не большой знаток. Просто научился передавать координаты объектов для отрисовки через socket.

Если объект уже существует, то на данный момент новый объект с теми же координатами перекрывает существующий.

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

А по имени объекта никак не проверить?

 
Alexey Viktorov #:
А по имени объекта никак не проверить?

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

 
Ernesto Che #:

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

Да, формировать имя объекта особым образом, чтобы по этому имени его потом и найти. Это самый распространенный принцип идентификации объектов.

 
Ihor Herasko #:

Да, формировать имя объекта особым образом, чтобы по этому имени его потом и найти. Это самый распространенный принцип идентификации объектов.

Спасибо огромное. Сегодня с этим поколдую.

Я так понимаю, что каких-то встроенных способов создавать OBJ_TEXT с возможностью переноса строк нет и не предвидится?

Если так, то не могли бы подсказать, возможно ли как-то подредактировать текст baloon, если я правильно его называю, возникающего при наведении мыши на объект?

У свечей он выглядит вот как в приаттаченном файле 12 и имеет многострочную структуру.

У моих текстовых объектов в нем на разных строках выводится имя объекта и координата привязки по цене (файл 14)

Файлы:
12.png  4 kb
14.png  2 kb
 
Ernesto Che #:

Спасибо огромное. Сегодня с этим поколдую.

Я так понимаю, что каких-то встроенных способов создавать OBJ_TEXT с возможностью переноса строк нет и не предвидится?

Если так, то не могли бы подсказать, возможно ли как-то подредактировать текст baloon, если я правильно его называю, возникающего при наведении мыши на объект?

У свечей он выглядит вот как в приаттаченном файле 12 и имеет многострочную структуру.

У моих текстовых объектов в нем на разных строках выводится имя объекта и координата привязки по цене (файл 14)

Изменяйте значение по свойству OBJPROP_TOOLTIP. В нем доступна многострочность.

 
Ernesto Che #:

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

Не обязательно. Если вы научились передавать через socket координаты, то, возможно и имя передать есть возможность. Я с сокетами не дружу, не знаю передаются-ли текстовые данные… А по сути, можно и координаты использовать как имя.

 
Ernesto Che #:

Спасибо огромное. Сегодня с этим поколдую.

Я так понимаю, что каких-то встроенных способов создавать OBJ_TEXT с возможностью переноса строк нет и не предвидится?

Если так, то не могли бы подсказать, возможно ли как-то подредактировать текст baloon, если я правильно его называю, возникающего при наведении мыши на объект?

У свечей он выглядит вот как в приаттаченном файле 12 и имеет многострочную структуру.

У моих текстовых объектов в нем на разных строках выводится имя объекта и координата привязки по цене (файл 14)

Пишите canvas. Это совсем не сложно.

 
Можно в имя зашивать не прямо координаты, а хеш.
 
Alexey Viktorov #:

Не обязательно. Если вы научились передавать через socket координаты, то, возможно и имя передать есть возможность. Я с сокетами не дружу, не знаю передаются-ли текстовые данные… А по сути, можно и координаты использовать как имя.

По сокету только текст (байты) и передается. Он других типов не знает. На мой взгляд передача имени из координат -- это излишне, когда координаты уже есть.

Про canvas видел. Просто не хочется сильно в mql погружаться, тем более использовать ненативные инструменты. Компилируемые языки не мое, и дрожь берет от MetaEditor после VisualStudio и PyCharm ))

 
Ernesto Che:
Есть ли способ проверить наличие текстового объекта с определенными координатами привязки на графике?
   string name1 = "name1";
   ObjectCreate(0, name1, OBJ_TEXT, 0, D'22.04.2024 15:00', SymbolInfoDouble(Symbol(), SYMBOL_BID) + 100 * Point());
   ObjectSetString(0, name1, OBJPROP_TEXT, name1);
   
   string name2 = "name2";
   ObjectCreate(0, name2, OBJ_TEXT, 0, D'22.04.2024 15:30', SymbolInfoDouble(Symbol(), SYMBOL_BID) - 100 * Point());
   ObjectSetString(0, name2, OBJPROP_TEXT, name2);
   
   datetime searchTime = D'22.04.2024 15:30';
   int cnt = ObjectsTotal(0, -1, -1);
   for (int i = 0; i < cnt; i++) {
      string name = ObjectName(0, i);
      datetime objTime = (datetime)ObjectGetInteger(0, name, OBJPROP_TIME);
      //Print("Time for ", name, " is ", objTime);
      if (searchTime == objTime) Print("Found ", name, " for ", searchTime);
   }
Причина обращения: