Нужна помощь разработчиков MT4 и программистов - страница 8

 
marketeer:

Причем, если я правильно помню, то раньше такого не было, то есть это, мягко выражаясь, "фича", специально для "удобства" программистов добавленная, но которая нарушает инвариантность существующих кодов (писанных под прежние правила инициализации). Таким образом не соблюдается незыблемый принцип сохранения совместимости старого кода с новыми версиями софта везде, где это возможно.

Никто не против новых фич и оптимизаций. Но почему бы не делать их так, чтобы не ломать старые коды? В частности, для такой новой инициализации вполне можно было выделить дополнительную команду препроцессора по аналогии с #property strict. Сделать например, #property lazyinit, и если она в коде указана программистом (т.е. явно, что означает его осведомленность о новой инициализации в mql), то радуемся оптимизированной оптимизации. А если не указана, то радуемся тому, что прежние коды работают стабильно без всякого перелопачивания и вылавливания мест, где могли остаться глобальные переменные, которые теперь, видите-ли нужно не только продекларировать, но и отдельно проинициализировать в OnInit. Для каждой такой переменной вместо одной строки кода будет 2.

5+
 

Поддерживаю топикстартера на все 100%. MQ в последнее время подкидывают все больше и больше подводных камней в сторону четверки.

Если даете какой-то новый функционал - обязаны обеспечить работу всех компонент на всех программных уровнях.

Не важно бесконечный ли цикл использовался, таймер и т.п. Разговоры о дурном тоне программирования тут неуместны когда налицо недоработка MQ.

Это что получается, разработчик MQ, работавший над этим окошком с параметрами даже задуматься не мог что в MQL программе могут быть использованы циклы?

Хотите сказать что разработчики MQ не знают об их существовании в принципе? Или же просто не тестируют софт после корректировки?

Просто такое ощущение и складывается.

Хочу напомнить всем, что мы работаем с рынком Forex, который не терпит ни ошибок, ни задержек.

Поэтому абсолютно любой баг (нарушение процесса информационного взаимодействия), а в данном случае явно нарушается связь ПОЛЬЗОВАТЕЛЬ - ТОРГОВЫЙ РОБОТ, является КРИТИЧЕСКИ ВАЖНЫМ.

Складывается ощущение что в готовую и отлаженную четверку влили сырую пятерку (кипяченое молоко разбавили сырым) и теперь всех пучит.