Недавно вдруг освоил MQL4. Просто безупречный язык. Владея программированием на уровне школы, без особых проблем написал пару роботов буквально за один день. Все предельно просто, предельно приспособлено под трейдерские задачи, логично, интуитивно понятно. Но. Metatrader 5 начинает свое шествие по планете. Четвертая версия, по идее, должна отойти на второй план и кануть в Лету.
С удивлением обнаружил, что мой недавно обретенный навык программирования на MQL4 абсолютно бесполезен в новой версии. Более того MQL5 мне показался откровенно бредовым, сложным и непонятным. Заинтересовавшись вопросом отличий этих языков наткнулся на такую таблицу:

Полная версия этого документа доступна по адресу:
http://ruforum.mt5.com/threads/12812-konverter-programm-iz-mql4-v-mql5
(вложение «Таблица основных различий MQL4to5_0.2.zip» во втором сообщении темы)
Объясните мне пожалуйста, зачем все так трудно? Какие преимущества и достоинства вытекают из такого невообразимого усложнения языка? Какая в этом культурно-историческая ценность? Спасибо.
так что развивайся
1) скорость на этапе выполнения (~ в 20 раз быстрее)
2) контроль ошибок на этапе компиляции и отладки
3) гибкость конструкций языка. Написать можно почти всё и это удобно делать.
У меня индюк ~600 строк кода (сложные адаптивные функции с большим кол-вом расчётов в циклах на несколько буферов).
В МТ4 эта зверюга тормозит по 5-15 секунд перерисовывая историю таймфрейма (при любом переключении или обновлении ТФ). Так что приходилось dll вешать, что не есть удобно.
Кроме того, функции этого индюка универсальны, я их пытался подключать к другим вещам. В итоге наткнулся на кучу неудобств (отсутствие пространств имён, капсуляции и т.п.).
На MQL5 написал класс за час (вообще 1-й раз тогда в глаза видел MT5!). Всё лишнее убралось в капсулу, перегрузки методов дали красивый и интуитивный расклад. Код чистый, пользоваться удобно, писать удобно, отлаживать так себе, но всё же лучше mt4. А главное — ни каких тормозов на графиках и на тестах справляется приемлемо быстро.