Обновление платформы MetaTrader 4 билд 625: Журналы в MetaTrader Market и новый MetaViewer - страница 51
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Наверное скоро, предупреждения будут о лишних пробелах. Не хочу я здесь проверять успешность, сюда передаются как отоложки, так и открытые ордера.
В смысле, - неважно, произошла модификация ордера или нет?
Так, может, тогда и вовсе не вызывать эту функцию, - ведь, неважно же?
Предупреждения об отсутствии контроля ошибок имеют очень высокую ценность.
В смысле, - неважно, произошла модификация ордера или нет?
Так, может, тогда и вовсе не вызывать эту функцию, - ведь, неважно же?
Предупреждения об отсутствии контроля ошибок имеют очень высокую ценность.
Предупреждение на этапе компиляции о том, что я не проверил возврат от функции OrderModify. Функция выглядит так:
Под этим магиком могут быть и отложки и открытые ордера. Зачем мне проверять возврат, если я понимаю что не всегда модификация будет происходить (если magic указывает на открытый ордер), логика программы это допускает?
Кстати, таких строк в том файле нет, кроме последней.
Не тот почему-то. Старый. Прикрепил исправленный под 625.
Сергеев смотрел неисправленный код.
Сергеев теперь может смотреть новый код?
Сергеев помогать однако.
Глюк с отображением значков на графике. С линиями и другими графическими элементами не пробовал.
Вот простая программа. Индикатор, который рисует значок "стрелка вверх" красного цвета в координатах нулевой бар и цена хай нулевого бара.
Все прекрасно работает, пока мы не попытаемся прицепить индикатор на график посредством шаблона. В этом случае стрелка рисуется на пятом баре и на 14 пунктов выше цены хай нулевого бара. Но если график перерисовать (ткнуть кнопочку временного периода, например), стрелка нарисуется там где ее "попросили".
Глюк с отображением значков на графике. С линиями и другими графическими элементами не пробовал.
Вот простая программа. Индикатор, который рисует значок "стрелка вверх" красного цвета в координатах нулевой бар и цена хай нулевого бара.
Все прекрасно работает, пока мы не попытаемся прицепить индикатор на график посредством шаблона. В этом случае стрелка рисуется на пятом баре и на 14 пунктов выше цены хай нулевого бара. Но если график перерисовать (ткнуть кнопочку временного периода, например), стрелка нарисуется там где мы ее "попросили".
Потом, когда меняешь ТФ и выполняется deinit, то объект удаляется и рисуется на новом месте...
Когда сохраняешь шаблон deinit не выполняется и объект остаётся на графике. При применении шаблона этот объект отображается на "старом" месте, а создание нового не происходит потому, что объект с таким именем уже существует.
Потом, когда меняешь ТФ и выполняется deinit, то объект удаляется и рисуется на новом месте...
Вот оно что! То есть перед тем как сохранять шаблон нужно почистить список объектов? Или можно как то объяснить МТ, что не все "рисовалки" нужно сохранять?(((((
Предупреждение на этапе компиляции о том, что я не проверил возврат от функции OrderModify. Функция выглядит так:
Под этим магиком могут быть и отложки и открытые ордера. Зачем мне проверять возврат, если я понимаю что не всегда модификация будет происходить (если magic указывает на открытый ордер), логика программы это допускает?
Чтобы узнать, успешно отработала функция или нет. Если это - неважно, то, наверное, и неважно, была вообще вызвана функция или нет. То есть, можно выкинуть весь код и не вызывать его, - ведь, не важно же, есть результат от его работы или нет?
Дело в том, что все случаи должны быть запрограммированы, а не оставлены на "как получится". Это - важно для качества кода.
В данном конкретном случае компилятор не в состоянии "догадаться", что пользователю все равно. Но, поскольку в большинстве случаев - не все равно, предупреждение выдаётся.
Во "взрослых" языках для избавления от подобных вещей обычно достаточно выполнить приведение к типу void, но компилятор MQL4 упорно сопротивляется таким попыткам.
Но, если очень хочется, чтобы проверять не надо было, можно свои функции-обёртки создать на основе "системных", например:
И вызывать свои функции-обёртки, основная цель которых - "надурить" компилятор, чтобы он "думал", что там, якобы, что-то действительно проверяется.