Особенности языка mql5, тонкости и приёмы работы - страница 152
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А он есть? Точно есть? По какому пути?
Как можно воспроизвести?
Поместить скрипт в Избранное Навигатора.
Скомпилировать ошибочный вариант
Перезагрузить Терминал и попробовать из Избранного выбрать редактирование скрипта.
Разработчики. Пояснение нужно. Чему верить? Докам или реализации? Пока что undefined behavior получается.
@fxsaber, не советую до официальных пояснений юзать, вдруг возьмут и пофиксят.
Документация отстала, поправим
Я не рекомендую инициализировать статические переменные выражениями, если это возможно используйте константу.
Т.к. при использовании неконстантных выражений компилятором генерируется следующий код
Получается оверхед, на каждом вызове будет проверка флага __Implicit_myStaticVar_initialized
Для варианта с константой получится следующий код
Никакого оверхеда нет
Спасибо, теперь понятно с оверхедом.
Результат
... Вопрос в другом. Возможно в MQL5 баг, нужно разобраться, а перенос в тему для начинающих никак не способствует скорому разбору ситуации.
Название темы прочтите пожалуйста.
Название темы прочтите пожалуйста.
И в чем вы увидели противорчие? Описанная ситуация может быть как особенностью языка, так и багом. Это и требовалось выяснить.
И в чем вы увидели противорчие? Описанная ситуация может быть как особенностью языка, так и багом. Это и требовалось выяснить.
Нет. Сначала выясняется баг это или особенность - потом постится именно, и исключительно особенность. Тема - только про особенности.
@Ilyas @Slava @Renat Fatkhullin
В mql есть поддержка не документированных ключевых слов для функций
Есть ли смысл их использовать?
Если да, то в каких случаях компилятор примет их?
В справке ArrayReverse:
Функция ArraySetAsSeries() физически не перемещает элементы массива, а только меняет направление индексации задом наперед для организации доступа к элементам как в таймсерии. Функция ArrayReverse() физически перемещает элементы массива таким образом, что массив "переворачивается".
Но этот код доказывает обратное: