Ошибки, баги, вопросы - страница 3108
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Понятно.
Ох, уж этот коридор затмений...
у меня на демо идет время, с того времени как нет связи и уже 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 к беззнаковому целому. Потом беззнаковый целый результат приводится к целому с приобретением знака.
Правильно?
Трендовая линия не примагничивается к Low красной свечи (EURUSD, M5; Точная шкала времени; Примагничивание: 15)
тогда пояните почему
и
int itemp=(int)(iNext-iCurrent);
дает правильный результат?
Запросто
беззнаковое целое длиной 32 бита 4294966796 при приведении к знаковому целому той же размерности даёт -500
Вопрос был, почему такой порядок типов дает не правильный результат. Могу предположить только, что зависит от порядка иерархии типов в выражении. Если типы расположены в порядке иерархии в выражении по ходу исполнения, то ответ правильный, а если нет, то не явное приведение типа с нарушением иерархии может изменить значение переменной.
Зы В общем не явное приведение типов и при этом нарушение иерархии.
Я уже привёл ссылку https://www.mql5.com/ru/docs/basis/types/casting
Там всё очень подробно написано. Прочитайте от начала и до конца, ничего не пропуская