Ошибки, баги, вопросы - страница 1035
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Перечитайте внимательно, что я вам написал. Вычисление, а не вывод.
Вы правы, что нужно разделить моменты: вычисления аргументов функций, подстановки этих аргументов и вычисление самой функции. Этот скрипт - показывает, что и аргументы вычисляются слева направо и само выражение слева направо:
Не это?
Неа - там использование непроинициализированного стандартного класса.
У меня - все классы самописанные. Да и непонятно - почему внутри класса метод отрабатывает нормально, а в OnInit() - нет.
Upd: крайне интересно... ;-) Если эксперта запускать в MetaEditor'е под отладчиком - все работает нормально. Более того - скомпилированный под отладчиком EX5 (в полтора раза больше обычного) тоже потом работает нормально. Но как только эксперт перекомпилируется в нормальном режиме - он начинает глючить. Видимо, придется открывать новую заявку в Сервисдеске.
Знающие люди подскажите пожалуйста, чем отличается extern от static, в чем заключается глобальность времени жизни?
В вашем случае вы решили, что два набора переменных, независимо описанных в двух разных файлах, сливаются в одно представление. На самом деле это не так.
Путем добавления mqh файла вы явным образом определяете отдельные наборы переменных в каждый включаемый файл. Грубо говоря, не ставьте в заголовочные файлы опеределения переменных - они будут раскопированы.
Я хотел использовать одну (единую) переменную в нескольких модулях, но не знаю как. Убал .mqhPезультат вывода: e1=0 не поменялся
Специально для вашего случая предусмотрен класс памяти extern. Попробуйте
Я хотел использовать одну (единую) переменную в нескольких модулях, но не знаю как. Убал .mqhPезультат вывода: e1=0 не поменялся. Куда пропало e=10? Если e1 в разных модулях разные, то получается функционал static и extern идентичен? А если нет - то где у меня ошибка?
Так она вроде как 1 раз должна быть инициализирована. Внешняя же.
Если нельзя менять значение - тогда это константа. А если можно - то почему изменение значения не отражается в другом модуле?
У вас она везде extern. Уберите модификатор в одном из модулей. Должна же она где-то реально распределяться.