Добрый день!
Теперь рекомендуется возвращаемые значения данных функций проверять.
К примеру, так:
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
{
//действия нашего кода, если функция вернула true
}
В новом МТ4 Version : 4,00 Build 625 программные коды сохранили свою рабочую среду, но "Компилятор" выдаёт предупреждения о некорректности некоторых строк исходного кода в советниках.
Самые часто встречающиеся предупреждения : - return value of 'OrderSelect' should be checked MACD Sample.mq4 92 7 на строку в коде -
-return value of 'OrderClose' should be checked MACD Sample.mq4 104 16 на строку в коде -
-return value of 'OrderModify' should be checked MACD Sample.mq4 115 22 на строку в коде -
и тому подобное...
Обращаюсь к знатокам за помощью, как это можно исправить? В чём корень недоразумения? Что нужно добавить в код или изменить?
if(!(OrderSelect(Cnt,SELECT_BY_POS,MODE_TRADES))) continue;
if(OrderClose()) { // код, если ордер закрыт}
else {// код обработки ошибки закрытия}
С OrderModify() так же
Считаю - лишнее это делат ьв обязательном порядке.
Через какой нибудь #property активировать эти ворнинги - было бы правильней.
Это правильное решение. А то наплодили говнокода в кодобазе. А народ потом возмущается. Нужно приучать кодеров писать правильно, а не абы-как, раз сами не желают нормальные коды делать.
Нет, неправильное. Компилятор не имеет право мне указывать КАК мне распоряжаться результатами работы функции. Это не ЕГО ДЕЛО!
Ну тогда просто удали всего одну строку
#property strict
или просто игнорируй все предупреждения и флаг тебе в руки... зачем-же настаивать на том чтобы убрали улучшения у всех?
В конце концов ещё можно найти старый компилятор, пиши и не возмущайся. В чём проблема-то. Откомпилированный код в старом МЕ отлично работает в новом МТ
О чём споришь-то?
Компилятор не только имеет право, а категорически обязан контролировать качество кода и прямо работать над максимально полным обучением и контролем программистов.
Сейчас 2014 год, а не 2000. Компиляторы обязаны думать в 10 раз глубже, чем это делают сейчас.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
В новом МТ4 Version : 4,00 Build 625 программные коды сохранили свою рабочую среду, но "Компилятор" выдаёт предупреждения о некорректности некоторых строк исходного кода в советниках.
Самые часто встречающиеся предупреждения : - return value of 'OrderSelect' should be checked MACD Sample.mq4 92 7 на строку в коде -
-return value of 'OrderClose' should be checked MACD Sample.mq4 104 16 на строку в коде -
-return value of 'OrderModify' should be checked MACD Sample.mq4 115 22 на строку в коде -
и тому подобное...
Обращаюсь к знатокам за помощью, как это можно исправить? В чём корень недоразумения? Что нужно добавить в код или изменить?