нужна помощь с коментарием

 

Нужна помощь с комментарием. Проблема вот в чём. Когда я ставлю по умолчания комментарий состоящий из трёх строк в верхний левый угол, у меня всё нормально. Если я ставлю этот же комментарий в нижний левый угол, то в место трёх строк, у меня получается одна строка с коментами. Вопрос, как мне переместить комментарий из трёх строк в низ, чтобы структура по строчкам не изменилась?

Вот код:

void ShowTrendLabel(string text)
{
   // Проверяем, существует ли уже объект метки
   if (ObjectFind(0, labelName) < 0)
   {
      // Если объект не существует, создаем его
      if (!ObjectCreate(0, labelName, OBJ_LABEL, 0, 0, 0))
      {
         Print("Ошибка создания метки для комментария.");
         return;
      }

      // Настроим параметры для метки (левый нижний угол)
      ObjectSetInteger(0, labelName, OBJPROP_CORNER, CORNER_LEFT_LOWER);
      ObjectSetInteger(0, labelName, OBJPROP_XDISTANCE, 10);
      ObjectSetInteger(0, labelName, OBJPROP_YDISTANCE, 50);
      ObjectSetInteger(0, labelName, OBJPROP_FONTSIZE, 10);
      ObjectSetInteger(0, labelName, OBJPROP_COLOR, clrWhite);
      ObjectSetString(0, labelName, OBJPROP_FONT, "Arial");
      ObjectSetInteger(0, labelName, OBJPROP_BORDER_TYPE, BORDER_FLAT);
   }

   // Обновляем текст метки
   ObjectSetString(0, labelName, OBJPROP_TEXT, text);
}
//+------------------------------------------------------------------+
// Функция для отображения комментария о тренде
void DisplayTrendComment(bool isUpTrend, double highPrice, double lowPrice)
{
   // Формируем строки
   string line1 = isUpTrend ? "Восходящий тренд" : "Нисходящий тренд";
   string line2 = "  Максимум: " + DoubleToString(highPrice, _Digits);
   string line3 = "  Минимум: " + DoubleToString(lowPrice, _Digits);

   // Формируем текст, который раньше выводился через Comment()
   string commentText = "Тренд: " + line1 + "\n" + line2 + "\n" + line3;

   // Выводим ТОЛЬКО в метке внизу
   ShowTrendLabel(commentText);
}


 
Igor Nagorniuk:

Нужна помощь с комментарием. Проблема вот в чём. Когда я ставлю по умолчания комментарий состоящий из трёх строк в верхний левый угол, у меня всё нормально. Если я ставлю этот же комментарий в нижний левый угол, то в место трёх строк, у меня получается одна строка с коментами. Вопрос, как мне переместить комментарий из трёх строк в низ, чтобы структура по строчкам не изменилась?

Вот код:

OBJ_LABEL не поддерживает многострочность. Хотите три строки, выводите три OBJ_LABEL.

Если нужен многострочный коммент, то вот.

Comment
Comment
  • 2024.03.16
  • www.mql5.com
Простенький коммент.
 
Aleksandr Slavskii #:

OBJ_LABEL не поддерживает многострочность. Хотите три строки, выводите три OBJ_LABEL.

Если нужен многострочный коммент, то вот.

Здравствуйте. Тогда вопрос к Вам. Почему  с OBJ_LABEL текст в левом верхнем углу многострочность формирует без ошибок? Может, я что то не понимаю. И такой вопрос,если нельзя использовать OBJ_LABEL, чем его можно заменить, не перезагружая индикатор лишним кодом?
 
Igor Nagorniuk #:
Здравствуйте. Тогда вопрос к Вам. Почему  с OBJ_LABEL текст в левом верхнем углу многострочность формирует без ошибок? Может, я что то не понимаю. И такой вопрос,если нельзя использовать OBJ_LABEL, чем его можно заменить, не перезагружая индикатор лишним кодом?

1. Потому, что у вас в левом верхнем углу не OBJ_LABEL, а Comment().

2. Ничем.

 
Aleksandr Slavskii #:

OBJ_LABEL не поддерживает многострочность. Хотите три строки, выводите три OBJ_LABEL.

Если нужен многострочный коммент, то вот.

Спасибо всё получилось