Индикаторы: Сетка - страница 4

 

Не понимаю почему, но если в коде рисования вертикальных линий:

         line_counter++;

         TimeToStruct(time[i],str);

         StringConcatenate(line_name,IntegerToString(str.hour,2,'0'),":",IntegerToString(str.min,2,'0'),"_N",line_counter);

         SetVLine(line_name,time[i],line_color);

заменить последнюю строку на следующую:

         SetVLine(IntegerToString(str.hour,2,'0')+":"+IntegerToString(str.min,2,'0')+"_N"+IntegerToString(line_counter),time[i],line_color);

то всё работает как и должно.

При печати через Print переменной line_name после строки с  StringConcatenate - имя линий пишутся в терминал верно.

Почему то при подстановке этой переменной, полученной в StringConcatenate в функцию SetVLine линии не рисуются, только прямое вычисление имени линий в коде вызова функции рисования работает.

И это проявляется именно после билда 3021.

P.S. Индюк запустил, но "тараканы" в терминале живут.

 

Спасибо разработчикам, что исправили ошибку в функции  StringConcatenate в билде 3090.

https://www.mql5.com/ru/forum/380121

Теперь индикатор прекрасно работает в оригинальном коде.

Новая версия платформы MetaTrader 5 build 3090: Улучшения в работе
Новая версия платформы MetaTrader 5 build 3090: Улучшения в работе
  • 2021.10.20
  • www.mql5.com
В четверг 21 октября 2021 года будет выпущена обновленная версия платформы MetaTrader 5...
Причина обращения: