Бета версия MetaTrader 4 IDE, включающая в себя новый компилятор MQL4 и редактор - страница 5

 
Наверное сложно найти более мелочного предложения по оптимизации, но может все-таки уже пора организовать вывод списка "Обзор рынка" по алфавиту? Или это во мне инженер говорит, что все должно быть параллельно/перпендикулярно... Как бы не напрягает, но и не радует. Может вы в эти 90% готовых функций добавите еще пару строк, а?
 
Zaxvatov:
Наверное сложно найти более мелочного предложения по оптимизации, но может все-таки уже пора организовать вывод списка "Обзор рынка" по алфавиту? Или это во мне инженер говорит, что все должно быть параллельно/перпендикулярно... Как бы не напрягает, но и не радует. Может вы в эти 90% готовых функций добавите еще пару строк, а?
Есть такое приложение для этого. Но лучше бы кнопкой...
 
VOLDEMAR:

Вопрос : Когда будет новый мт ??? Ждем не дождемся .....

Чего конкретно ждёте то? Появления новых багов? (а это неизбежно при таких серьёзных изменениях). Чешутся руки переписывать и отлаживать все свои коды, которые в один миг станут нерабочими? Свободное время чтоль девать некуда?

Лично меня весь этот кипеш, связанный с последними билдами, заставил глобально задуматься над перспективами такого MQL-программирования. Причём без разницы, на четвёрке или пятёрке. Суть одна. Ты пишешь свои программы на неком синтетическом языке, привязанном к торговой платформе, и в итоге становишься заложником всех прихотей и ошибок разработчиков этой платформы/языка. Сегодня они захотели скрестить MQL4 с MQL5, завтра с MQL6, и т.д. И у тебя нет выбора, ты вынужден переделывать свои разработки по новым правилам. Иначе всё перестанет работать. И так раз за разом. Это всё несерьёзно.

В общем для меня это послужило финальным толчком к переносу всех своих MQL-программ в независимую среду программирования, без привязки к конкретной торговой платформе. Ну а MQL использовать просто как связующее звено между МТ и своей программой. И это, пожалуй, единственно верный путь. Если конечно ты не собираешься продавать свои разработки на маркете )

Ну а если просто нравится программировать на MQL и хочется новых фишек (т.е. спортивный интерес), то что мешает кодить на пятёрке, где всё это уже реализовано?

 
Meat:

Чего конкретно ждёте то? Появления новых багов? (а это неизбежно при таких серьёзных изменениях). Чешутся руки переписывать и отлаживать все свои коды, которые в один миг станут нерабочими? Свободное время чтоль девать некуда?

Лично меня весь этот кипеш, связанный с последними билдами, заставил глобально задуматься над перспективами такого MQL-программирования. Причём без разницы, на четвёрке или пятёрке. Суть одна. Ты пишешь свои программы на неком синтетическом языке, привязанном к торговой платформе, и в итоге становишься заложником всех прихотей и ошибок разработчиков этой платформы/языка. Сегодня они захотели скрестить MQL4 с MQL5, завтра с MQL6, и т.д. И у тебя нет выбора, ты вынужден переделывать свои разработки по новым правилам. Иначе всё перестанет работать. И так раз за разом. Это всё несерьёзно.

В общем для меня это послужило финальным толчком к переносу всех своих MQL-программ в независимую среду программирования, без привязки к конкретной торговой платформе. Ну а MQL использовать просто как связующее звено между МТ и своей программой. И это, пожалуй, единственно верный путь. Если конечно ты не собираешься продавать свои разработки на маркете )

Ну а если просто нравится программировать на MQL и хочется новых фишек (т.е. спортивный интерес), то что мешает кодить на пятёрке, где всё это уже реализовано?

Поддерживаю, вот если бы разработчик оставил поддержку работы на старых билдах, хотя бы от 500 и убрал бы принудительное обновление на новый билд, что я подозреваю будет реализовано, тогда было бы нормально, а так это очередной непонятный ход разработчиков. Я конечно поддерживаю включение ООП, но оно реализуется в dll спокойно и городить огород в новой редакции языка как новом стандарте не стоит. К примеру тот же самый С++, у них есть несколько существующих стандартов, но в целом есть общая основа, которая при любых реализациях кода будет работать.
 
Barbarian:
Поддерживаю, вот если бы разработчик оставил поддержку работы на старых билдах, хотя бы от 500 и убрал бы принудительное обновление на новый билд, что я подозреваю будет реализовано, тогда было бы нормально, а так это очередной непонятный ход разработчиков. Я конечно поддерживаю включение ООП, но оно реализуется в dll спокойно и городить огород в новой редакции языка как новом стандарте не стоит. К примеру тот же самый С++, у них есть несколько существующих стандартов, но в целом есть общая основа, которая при любых реализациях кода будет работать.

У меня есть подозрение что вы гладите чугунными утюгами и топите печь углем ... Новшества это хорошо, рынок не только валютный очень динамичный и нужно быть всегда в тенденции если хочешь чего то добиться ... новые изменения к лучшему, надеюсь ....
 
VOLDEMAR:

Новшества это хорошо, рынок не только валютный очень динамичный и нужно быть всегда в тенденции если хочешь чего то добиться ... новые изменения к лучшему, надеюсь ....

Одно дело самому быть "в тренде", а другое дело чтобы твои прошлые разработки тоже стали "в тренде". Если у тебя их немного или они не представляют никакой ценности, тогда не вопрос. Но у многих людей тут скопилась огромная база кода, написанная и отлаженная годами. А теперь всех ставят перед фактом, что скоро значительная часть этого кода перестанет работать. Это нонсенс. В подобных случаях всегда предусматривается обратная совместимость, т.е. поддержка старых версий языка, но метаквоты этого не делают.

 
Meat:

Одно дело самому быть "в тренде", а другое дело чтобы твои прошлые разработки тоже стали "в тренде". Если у тебя их немного или они не представляют никакой ценности, тогда не вопрос. Но у многих людей тут скопилась огромная база кода, написанная и отлаженная годами. А теперь всех ставят перед фактом, что скоро значительная часть этого кода перестанет работать. Это нонсенс. В подобных случаях всегда предусматривается обратная совместимость, т.е. поддержка старых версий языка, но метаквоты этого не делают.


Вы в этом точно уверены ? Это инсайд ?
 
Meat:

Одно дело самому быть "в тренде", а другое дело чтобы твои прошлые разработки тоже стали "в тренде". Если у тебя их немного или они не представляют никакой ценности, тогда не вопрос. Но у многих людей тут скопилась огромная база кода, написанная и отлаженная годами. А теперь всех ставят перед фактом, что скоро значительная часть этого кода перестанет работать. Это нонсенс. В подобных случаях всегда предусматривается обратная совместимость, т.е. поддержка старых версий языка, но метаквоты этого не делают.

Слова паникёра. Метаквоты много раз говорили, и наверное не устанут повторять, что будет полная совместимость. Прекратите уже наконец детский сад.
 
FAQ:

Вы в этом точно уверены ? Это инсайд ?

artmedia70:
Слова паникёра. Метаквоты много раз говорили, и наверное не устанут повторять, что будет полная совместимость. Прекратите уже наконец детский сад.

Вот выделил, чтобы никто не говорил о полной совместимости:

Renat:


Какие есть отличия от старой версией MQL4:

  • Изменился приоритет логических операций И/ИЛИ. Теперь всё как в классическом C/C++

  • Введена укороченная оценка логических выражений. Теперь при досрочном вычислении логического выражения оставшиеся подвыражения не вычисляются. Как в C/C++.

  • В операторе switch теперь используются исключительно целочисленные значения. Раньше можно было использовать вещественные

  • Теперь нельзя использовать точку в именах переменных. Также в именах переменных нельзя использовать символ '@', '$', '?'

  • Ужесточились требования к функции start. Раньше в функции start можно было указывать параметры. Теперь все точки входа init, start, deinit, OnInit, OnStart, OnTick, OnTimer и тд. должны точно соответствовать своим сигнатурам

  • В связи с расширением состава ключевых слов теперь нельзя использовать имена типа short, long, float, const, virtual, input, delete, new, do, char

  • Теперь импортируемые dll-функции не могут принимать в качестве параметра массивы строк. Как в MQL5

  • Теперь появились предопределённые имена переменных _Period, _Symbol, _LastError, _CriticalError, _StopFlag, _Point, _Digits, _UninitReason, _RandomSeed, которые могут войти в конфликт с простыми переменными, объявленными в существующих исходниках под такими же именами

  • Тип datetime стал 8ми байтовым как в MQL5.

Различия не фатальные и легко исправляются в коде. Взамен становятся доступна масса возможностей MQL5, скорость выполнения и гораздо более жесткий контроль качества.

Красным выделил самое неприятное.
 
Barbarian:
Я конечно поддерживаю включение ООП, но оно реализуется в dll спокойно и городить огород в новой редакции языка как новом стандарте не стоит.

Я вообще считаю, что не стоило ничего менять в Mql4. Он существовал в неизменном виде уже многие годы, все болячки уже были вылечены, и пользователи к нему привыкли. И главное, что он был очень простым и самобытным языком со своими фишками, например позволял некоторые вольности, за счёт чего можно было экономить лишние строчки кода. Единственное, чего действительно не хватало - это структур. Можно было ограничиться их добавлением, и всё. А вот MQL5 с его занудной строгостью и ограничениями уже не так интересен, ибо, как справедливо заметил Barbarian, проще уж кодить на настоящем С++, имея при этом на порядок больше возможностей.

Короче, лучшим решением было бы оставить MQL4 как есть, а просто добавить MQL5 как отдельный язык в MT4 (только набор функций будет отличаться от MT5). Пользователь бы сам выбирал, на каком языке писать.

Причина обращения: