Новая версия платформы MetaTrader 5 build 2940: Перенос витрин MQL5-сервисов в рабочую область и обновление дизайна - страница 12

 

Переключение на другой торговый счет вызало зависание Терминала.

После нескольких минут (не считал) появилось это сообщение Терминала.


 
Vladislav Andruschenko:

не всегда так работало :-) 

Пример, пожалуйста.
 
fxsaber:
Пример, пожалуйста.

Это моя заморочка. я использовал массив string и представление цвета как C'xxx,xxx,xxx' - в мт4 до сих пор работает

в мт5 исправили/изменили/.... придумать свое....

Обнаружил - вопрос решил. .. не хочется углубляться в это.... дело 5 минут

 

а вот и нашел причину!!!!! 


Итак: 

Print здесь только для вывода в журнал. Без принта тоже работает. не хочется создавать сложные проверки

в мт4: 


void OnStart()
  {
//--StringToColor-
   Print (StringToColor(C'0,255,255'));
   Print (StringToColor(C'0,255,157'));
  }
//+------------------------------------------------------------------+

Выдает:


2021.06.03 12:48:16.117 StringToColorTEST EURUSD,H1: 10354432 (Тут все ок, номер цвета)

2021.06.03 12:48:16.117 StringToColorTEST EURUSD,H1: 16776960 (Тут все ок, номер цвета)


в мт5: 

void OnStart()
  {
//--StringToColor-
   Print (StringToColor(C'0,255,255'));
   Print (StringToColor(C'0,255,157'));
  }
//+------------------------------------------------------------------+


выдает :

2021.06.03 12:48:00.872 StringToColorTEST (EURUSD,H1) clrAqua

2021.06.03 12:48:00.872 StringToColorTEST (EURUSD,H1) clrBlack -

Черный цвет. Т.е. система выдает либо название цвета(константа ), если такого названия нет (clrXXXXXX), то выдает ЧЕРНЫЙ  ( clrBlack  )

Соответственно любая комбинация 

StringToColor(C'xxx,xxx,xxx')

которой нет в стандартной таблице цвета MQL (константы clrxxxxx) всегда будет выдавать clrBLACK 




На этом и решили

Баг это ? будем ждать ответа Администрации @MetaQuotes


 
Vladislav Andruschenko:

не всегда так работало :-) 

Если люди выше сообщают, что даже в стандартной библиотеке появились ошибки. Значит ранее работало правильно, а теперь неправильно (или правильно, тогда нужно и в мт4 поправить).


Я записывал все цвета как C'xxx,xxx,xxx'

что подтверждает тип color 

мне удобнее было все делать в массив string. 

далее я использовал StringToColor - который работал исправно с  C'xxx,xxx,xxx' и сейчас работает в МТ4. 

Но в новом билде МТ5 - эта функция не работает с  C'xxx,xxx,xxx'


Ну, не знаю как не работает. У меня печатает так

2021.06.03 12:49:24.733 00 (EURUSD,M1)  clrGray

А вообще в документации пример написан так

color str_color=StringToColor("0,127,0");

в парных кавычках.

 
Alexey Viktorov:

Ну, не знаю как не работает. У меня печатает так

А вообще в документации пример написан так

в парных кавычках.

выше написал причину

 
Vladislav Andruschenko:

выше написал причину

Но раньше вы писали, что вместо серого даёт чёрный. Я это и проверил у себя. А потом увидел, то что выше. Может и так, но уже перепроверять не буду…

 
Alexey Viktorov:

Но раньше вы писали, что вместо серого даёт чёрный. Я это и проверил у себя. А потом увидел, то что выше. Может и так, но уже перепроверять не буду…

не писал "вместо серого" - то я просто взял пример из справки, и думал что все цвета так не работают. 

Сейчас выяснил причину и написал ее выше. 

Сомневаюсь, что прям много используют такую схему.

Я использовал в своих целях. Просто сообщил, что имеет место быть такая ситуация. 

 
Vladislav Andruschenko:

не писал "вместо серого" - то я просто взял пример из справки, и думал что все цвета так не работают. 

Сейчас выяснил причину и написал ее выше. 

Сомневаюсь, что прям много используют такую схему.

Я использовал в своих целях. Просто сообщил, что имеет место быть такая ситуация. 

Не так давно барабашка говорил об этом-же. Может там что путного есть, если есть желание поищите.

Это точно…

 
Alexey Viktorov:

Не так давно барабашка говорил об этом-же. Может там что путного есть, если есть желание поищите.

Это точно…

Спасибо поищу. 
)))