Не пропускает новые версии продуктов, хотя до этого было все без ошибок.
Похоже что проблемы не у меня. build 3110
Вчера у нас были проблемы с подключением в серверу MetaQuotes-Demo, который используется в том числе для валидации продуктов Маркета.
Мы исправили данную ошибку вчера и заново провели проверку всех продуктов, которые не смогли пройти валидацию по техническим причинам.
Приносим извинения за доставленные неудобства.
Если мы случайно пропустили ваш продукт и не запустили заново его проверку, просим вас сделать это самостоятельно. Сейчас проверка должна работать штатным образом.
Вопрос был, почему такой порядок типов дает не правильный результат. Могу предположить только, что зависит от порядка иерархии типов в выражении. Если типы расположены в порядке иерархии в выражении по ходу исполнения, то ответ правильный, а если нет, то не явное приведение типа с нарушением иерархии может изменить значение переменной.
long temp=(long)((int)iNext-(uint)iCurrent);
Зы В общем не явное приведение типов и при этом нарушение иерархии.
Вчера у нас были проблемы с подключением в серверу MetaQuotes-Demo, который используется в том числе для валидации продуктов Маркета.
Мы исправили данную ошибку вчера и заново првоели проверку всех продуктов, которые не смогли пройти валидацию по технитческим причинам.
Приносим извинения за доставленные неудобства.
Если мы случайно пропустили ваш продукт и не запустили заново его проверку, просим вас сделать это самостоятельно. Сейчас проверка должны работать штатным образом.
Не пропускает новые версии продуктов, хотя до этого было все без ошибок.
Похоже что проблемы не у меня.
build 3110
Воз и ныне там.

Почините пожалуйста.
Воз и ныне там.
Почините пожалуйста.
Скорее всего массовая проблема с сервером.
Понятно.
Ох, уж этот коридор затмений...
Понятно.
Ох, уж этот коридор затмений...
у меня на демо идет время, с того времени как нет связи и уже 40 часов.
Не пропускает новые версии продуктов, хотя до этого было все без ошибок.
Похоже что проблемы не у меня.
build 3110
Вчера у нас были проблемы с подключением в серверу MetaQuotes-Demo, который используется в том числе для валидации продуктов Маркета.
Мы исправили данную ошибку вчера и заново провели проверку всех продуктов, которые не смогли пройти валидацию по техническим причинам.
Приносим извинения за доставленные неудобства.
Если мы случайно пропустили ваш продукт и не запустили заново его проверку, просим вас сделать это самостоятельно. Сейчас проверка должна работать штатным образом.
Вот образец кода:
Результат:
Кто-то может пояснить - почему
дает
4294966796а не -500.
Что-то совсем голова не варит... (
Вот образец кода:
Результат:
Кто-то может пояснить - почему
дает
а не -500.
Что-то совсем голова не варит... (
https://www.mql5.com/ru/docs/basis/types/casting
У вас получилось сначала приведение iNext к беззнаковому целому. Потом беззнаковый целый результат приведён к лонгу.
В моём примере iNext сразу приводится к типу long, поэтому iCurrent тоже приводится к типу long, только неявно. Результат сразу типа long
Вопрос был, почему такой порядок типов дает не правильный результат. Могу предположить только, что зависит от порядка иерархии типов в выражении. Если типы расположены в порядке иерархии в выражении по ходу исполнения, то ответ правильный, а если нет, то не явное приведение типа с нарушением иерархии может изменить значение переменной.
Зы В общем не явное приведение типов и при этом нарушение иерархии.
Вчера у нас были проблемы с подключением в серверу MetaQuotes-Demo, который используется в том числе для валидации продуктов Маркета.
Мы исправили данную ошибку вчера и заново првоели проверку всех продуктов, которые не смогли пройти валидацию по технитческим причинам.
Приносим извинения за доставленные неудобства.
Если мы случайно пропустили ваш продукт и не запустили заново его проверку, просим вас сделать это самостоятельно. Сейчас проверка должны работать штатным образом.
https://www.mql5.com/ru/docs/basis/types/casting
У вас получилось сначала приведение iNext к беззнаковому целому. Потом беззнаковый целый результат приведён к лонгу.
В моём примере iNext сразу приводится к типу long, поэтому iCurrent тоже приводится к типу long, только неявно. Результат сразу типа long
тогда пояните почему
и
int itemp=(int)(iNext-iCurrent);
дает правильный результат?
Следуя Вашему описанию сначала приведение iNext к беззнаковому целому. Потом беззнаковый целый результат приводится к целому с приобретением знака.
Правильно?