Новая версия платформы MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5 - страница 39

 
Artyom Trishkin:

А компилятор не должен ли написать об ошибочном запросе в функцию? Так было бы удобнее - запрашиваем нулевой размер, и получаем в ответ от компилытора, что как бы не корректно сиё действо.

Это мнимая защита, потому что в общем случае count - переменная и её значение не известно в момент компиляции

Там и в некоторых других(!) функциях использование по умолчанию WHOLE_ARRAY сомнительно

логичнее

int  ArrayMaximum( const void& array[], int start=0, int count=0 )
{
    if ( count < 0 )
        return -1;
//...
}

потому что проверка проще, а сейчас результат:

        Print(ArrayMaximum(Array, 0, -5 ));

аномальный, как будто минуса и нет вовсе

Опять же.... эта не одна функция, а их несколько там таких

 
A100:

Это мнимая защита, потому что в общем случае count - переменная и её значение не известно в момент компиляции

Там и в некоторых других(!) функциях использование по умолчанию WHOLE_ARRAY сомнительно

логичнее

потому что проверка проще, а сейчас результат:

аномальный, как будто минуса и нет вовсе
Тогда уж uint count или ulong count - не введёшь отрицательное. Впрочем, вряд ли будут менять поведение.
 
Artyom Trishkin :
Тогда уж uint count или ulong count - не введёшь отрицательное. Впрочем, вряд ли будут менять поведение.
Они не могут не сломать весь существующий код.
 
Artyom Trishkin:
Тогда уж uint count или ulong count - не введёшь отрицательное. Впрочем, вряд ли будут менять поведение.
int  ArrayMaximum( const void& array[], int start=0, uint count=0 )

Согласен

 
Alain Verleyen:
Они не могут не сломать весь существующий код.

Да. Потому и сказал: "вряд ли будут менять поведение".

 

Форум по торговле, автоматизированные торговые системы и тестирование торговых стратегий

to mt5 support, mt5 error news (1940+)

Ален Верлен , 2018.11.21 23:10

Я подтверждаю. На моей стороне это всегда называется, но с огромной задержкой (более 3 минут!).


Тем не менее, build 1949.
 
Alain Verleyen:
Тем не менее, в 1949 году.

1949 Build. Not year.

 
Artyom Trishkin :

1949 Build . Not year.

:-D

Спасибо, плохой перевод, оригинал был:

"Still the same in 1949."

 
Slava:

Какая проблема и как затрагивает?

Мои предположения насчёт ID были не обоснованы.

Выяснилось, что окна МТ5 (Справка, F8 и т.п.) закрываются в результате исполнения функции ChartApplyTemplate(). Вот пример:

void OnInit() 
   {
   EventSetMillisecondTimer(3000);
   }

void OnTimer() 
   {
   long id = ChartFirst();                         
   ChartApplyTemplate(id, "TPL_Example");     
   }

ID должен быть реальным, шаблон TPL_Example должен быть в наличии.

Видимо, такая реакция и должна быть.

Спасибо за потраченное время.

 

1949 - Возможно, война закончилась?

1949 maybe the war is over now?