Указанный warning касается лишь второго цикла, хотя эти переменные используются и в первом.
В чем подвох и может ли это иметь критические последствия при выполнении. Ну, скажем, эти переменные для второго цикла будут иметь нулевые значения.
Разница между первым и вторым циклом в том, что в первом их значения никак не используются, лишь назначаются (инициализируются в данном случае, т.е. назначаются впервые); тогда как во втором их значения уже не назначаются, а используются (use в сообщениях компилятора). Факт того, что каждый ордер, обрабатываемый во втором цикле (по тому же символу и с OrderType(), равным 0 или 1), в первом цикле уже получил значение, компилятор опознать не в силах.
Совет RickD делает программу более надежной, ведь о соответствии этих двух циклов при правке MQL текста через 8 лет можно и забыть.
Кстати, сравнивать числа типа Double надо бы тоже понадежнее, чем по байтному совпадению (OrderTakeProfit() != BuyTP). Или нормализовать оба с одинаковым числом знаков, или использовать допустимую погрешность.
Наконец, и OrderType() надежнее сравнивать не с числами, а с константами. Вдруг разработчики, сохраняя имена, изменят значения констант, например, OP_BUY, которая сейчас нулевая (для этих целей, в частности, и вводятся имена вместо чисел). В этом случае вся логика отсева ненужных ордеров (OrderType()>1) станет другой (в неожиданный для Вас момент), а сохранять значения констант вечно разработчик вовсе не обязан.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Функция, определяющая профит последнего открытого рыночного ордера для buy и sell и дальнейшее приведение всех ордеров
к полученному значению.
Очевидно, что данные переменные определены в начале функции и их область видимости - вся функция. Указанный warning касается лишь второго цикла, хотя эти переменные используются и в первом.
В чем подвох и может ли это иметь критические последствия при выполнении. Ну, скажем, эти переменные для второго цикла будут иметь нулевые значения.
Заранее благодарен.