Ошибки, баги, вопросы - страница 2891
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Возможно это когда компилятор объективно не располагает информацией:
т.е. может в f() была инициализация i, а может и нет. И здесь C++ компилятор даёт предупреждение, а MQL почему то - нет
В С++ не скрыты адреса ячеек памяти, по этому переменная инициализируется мусором.
Короче инициализируйте всегда переменные, и не будет головняка.В Mql адреса ячеек памяти скрыты и не доступны. Тут уже как разработчик Mql намудрил в компиляторе ))
Да, но до первой итерации переменная j ещё не инициализирована, на это и ругается компилятор.
если эту переменную не использовать или поставить присвоение i=j вниз тела цикла, что будет идентично выполнению первого варианта, то предупреждений не будет. Компилятор не проверяет логику цикла и последовательность исполнения, а сверху вниз проверяет синтаксис, думаю так, не знаю точно)
fxsaber:
И в других ситуациях.
жмешь ответить вместо это качаешь терминал - шикарное нововведение
жмешь ответить вместо это качаешь терминал - шикарное нововведение
Это всё одного поля ягодки... И с тем вопросом, за который меня тут чуть не прибили (в одном выпадающем меню кошелёк и непрочитанные темы - прям братья-близнецы), и с Вашим, и ещё (не знаю как у кого) у меня висит такая ... "фича"
![](https://c.mql5.com/3/334/rchkywgj4j.png)
Вот что делать с этой надписью? Нигде никакой ссылки на просмотр кто просится и зачем, нет (возможно, она лежит в кошельке, но я туда не заглядывал).
Очень стойкое впечатление, что все эти "замечательные" изменения на сайте делает один человек.... И лично под себя. Именно так, как ОН сам считает нужным для себя же. И на наше мнение чихать он хотел...
Вот что делать с этой надписью?
При смене торгового счета REASON_ACCOUNT ожидалось получать прошлый счет и завершать работу именно с ним, по логике вещей, но нет если счет изменился то уже в деините при REASON_ACCOUNT получаем новый номер.
По логике программа должна закончить работу с текущими данными и при новом вызове уже передавать новые данные и не менять данные в процессе работы...
При смене торгового счета REASON_ACCOUNT ожидалось получать прошлый счет и завершать работу именно с ним, по логике вещей, но нет если счет изменился то уже в деините при REASON_ACCOUNT получаем новый номер.
По логике программа должна закончить работу с текущими данными и при новом вызове уже передавать новые данные и не менять данные в процессе работы...
Вот код демонстрирующий не верное поведение
Результат
При смене торгового счета REASON_ACCOUNT ожидалось получать прошлый счет и завершать работу именно с ним, по логике вещей, но нет если счет изменился то уже в деините при REASON_ACCOUNT получаем новый номер.
По логике программа должна закончить работу с текущими данными и при новом вызове уже передавать новые данные и не менять данные в процессе работы...
Это не ошибка, а потому поведение меняться не будет. Просто учитывайте данную особенность.