Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
И там всё чудно. У каждой переменной свой блок {}. В нём она и видна.
У меня почему-то нет таких лаптей. Максимум штук 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.
Хотя по логике, явное указание параметров должно подавлять условную типизацию файлов по расширению.