У меня почему-то нет таких лаптей. Максимум штук 20 набирается в коде из нескольких тыщь строк. Всё зависит наверное от того, как привык писать код тот или иной программер.
И мне в старых кодах не мешает. А в новых - не будет.
Причем здесь стиль, не понятно. А то что не мешает не верю.
Если библиотеки MQL4 и MQL5 будут унифицированы, то в перспективе появится возможность написания универсальных оветников, скриптов и индикаторов, но для этого наверное потребуется программная идентификация версий (MT4 || MT5), с помощью макросов во время компиляции или рантайм функций.
Может такая возможность уже предусмотрена, тогда подскажите.
Странно - таких сообщений быть не должно. Хотя это и предупреждения, они означают, что код написан "опасно", допускает конверсию там, где программист ее не указал явно. Согласен с теми, кто говорит, что код СРАЗУ надо писать так, чтобы подобных предупреждений не было - хоть в МТ4, хоть в МТ5
trora: в новом билде будет корректно работать пользовательские индикаторы для старых билдов- или нужно будет ждать обновления их авторами?
Старые ex4 (индикаторы, эксперты, скрипты, библиотеки) работают безо всяких ограничений. Мы полностью сохранили в новом терминале старую исполняющую машину
Спасибо, макросы __MQL5__ и __MQL4__ работают это, позволяет делать унифицированные программы.
Только вот компилятор <mql.exe> не хочет транслировать один и тот же файл под разные платформы, только отдельные *.mq4 и *.mq5, не смотря на указание параметра командной строки - /mql4 или /mql5.
Хотя по логике, явное указание параметров должно подавлять условную типизацию файлов по расширению.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
И там всё чудно. У каждой переменной свой блок {}. В нём она и видна.
У меня почему-то нет таких лаптей. Максимум штук 20 набирается в коде из нескольких тыщь строк. Всё зависит наверное от того, как привык писать код тот или иной программер.
И мне в старых кодах не мешает. А в новых - не будет.
Причем здесь стиль, не понятно. А то что не мешает не верю.
Стиль? Ну как же?
Print("Моя цифиря = "+var1); или
Print("Моя цифиря = "+DoubleToStr(var1,2));
А?
И... знаете ... не мешает ...
Это в новом так, а в старом нет.
А в старом вы разве могли объявить переменную с тем же именем, что уже есть, но в другом блоке кода внутри start()? Не смешите.
Поэтому таких ошибок у вас просто быть не может при компиляции старых кодов в новом компиляторе.
Если библиотеки MQL4 и MQL5 будут унифицированы, то в перспективе появится возможность написания универсальных оветников, скриптов и индикаторов, но для этого наверное потребуется программная идентификация версий (MT4 || MT5), с помощью макросов во время компиляции или рантайм функций.
Может такая возможность уже предусмотрена, тогда подскажите.
Уже сделали, включая графические обьекты.
Вау. Вот за это - огромное спасибо.
Меня больше интересуют не "свистелки и перделки", а внутренние базовые классы типа CArrayObj.
У программистов добавится работу.
Все коды придется править. Избавляясь от таких сообщений:
implicit conversion from 'number' to 'string' ExpCandleHighLowBreakdown_v3.mq4 34 39
в новом билде будет корректно работать пользовательские индикаторы для старых билдов- или нужно будет ждать обновления их авторами?
https://www.mql5.com/ru/docs/basis/preprosessor/conditional_compilation
Спасибо, макросы __MQL5__ и __MQL4__ работают это, позволяет делать унифицированные программы.
Только вот компилятор <mql.exe> не хочет транслировать один и тот же файл под разные платформы, только отдельные *.mq4 и *.mq5, не смотря на указание параметра командной строки - /mql4 или /mql5.
Хотя по логике, явное указание параметров должно подавлять условную типизацию файлов по расширению.