Ошибки, баги, вопросы - страница 1525
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
MT4. Хочу ещё раз обратить внимание на особенности инициализации глобальных переменных программы.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
Slawa, 2016.02.24 07:34
В очередь. Заявка всего лишь двухчасовой давности.
Вообще, такие вопросы надо бы задавать на форуме. Так как многих может коснуться. Позволю себе Вас процитировать и тут же отвечу
Это запланированное поведение. Боле того, явно описано в документации
Выгрузка и загрузка предполагают полную переинициализацию всего.
В пятёрке, как Вы правильно заметили, ситуация аналогичная
Правда, в четвёрке так сложилось исторически, и при переходе на новый MQL4 мы сначала поменяли это поведение (чтобы было, как у экспертов, то есть, ожидаемое Вами поведение). Но возникло множество вопросов с прежними индикаторами, которые заложились именно на такую, прежнюю, инициализацию. Вынуждены были вернуть
В пятёрке так сложилось сразу из-за архитектуры. При смене параметров старый индикатор с прежними параметрами уничтожается, а новый индикатор с изменёнными параметрами создаётся.
Спасибо. Вывод - цитата из документации: "... предопределенная функция OnInit(), назначение которой состоит в правильной инициализации всех глобальных и статических переменных программы."
Стало быть обнуляй или устанавливай по умолчанию все глобальные переменные или массивы в функции OnInit().
1. Создаю массив вида:
CArrayString list[5];
2. Пытаюсь вызвать список методов через <Ctrl+Space>
list[0].
Список методов не появляется. Так и должно быть?1. Создаю массив вида:
2. Пытаюсь в коде вызвать список методов через <Ctrl+Space>
Список методов не появляется. Так и должно быть?Попробую предположить. Если в коде есть другие ошибки, помимо того, что не указан метод/член, то список появляется не всегда.
Попробовал. Нет, ошибочное предположение. Но помогло несколько повторных нажатий комбинации.
Alexey Kozitsyn:
Но помогло несколько повторных нажатий комбинации.
К сожалению мне ваш рецепт не помогает.
1. Простой код:
результат: 50
2. Добавляем модификатор input:
результат: 4294967276
Ожидал результата 50. Где я неправ?
1. Простой код:
результат: 50
2. Добавляем модификатор input:
результат: 4294967276
Ожидал результата 50. Где я неправ?
fmax сравнивает два double числа. Значит будет так:
и результат:
fmax сравнивает два double числа. Значит будет так:
В языке MQL заявлено и выполняется неявное приведение типов. В частности uint -> double.
Вопрос в том почему оно не работает корректно с input переменными.
1. Простой код:
результат: 50
2. Добавляем модификатор input:
результат: 4294967276
Ожидал результата 50. Где я неправ?
Вы полный код приведите.
Тут возможны 2 варианта и оба неверные.
1. Код исполняется вне всяких функций.
2. input переменная объявлена внутри функции