Ошибки, баги, вопросы - страница 2971
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это правильное поведение статических переменных?
При переключении таймфрейма или изменении параметров их значение не меняется:
Результат после запуска советника и переключения таймфрейма:
Статические переменныеЭто из справки:
Статические переменные существуют с момента выполнения программы и инициализируются однократно перед вызовом специализированной функции OnInit().
Так однократно перед каждым вызовом OnInit() или однократно перед запуском, хотя переинициализация больше похожа на второй запуск.
В тестере тоже так происходит?
Глобальные переменные тоже себя так ведут.
При переключении таймфрейма, эксперт не перезапускается, он продолжает работать
https://www.mql5.com/ru/docs/runtime/running
При смене символа или таймфрейма графика, к которому эксперт прикреплен, выгрузка и загрузка эксперта не производится. При этом последовательно вызываются обработчики OnDeinit() на старом символе/таймфрейме и OnInit() на новом символе/таймфрейме (если они есть), значения глобальных переменных и статических переменных не сбрасываются. Все события, поступившие для эксперта до завершения инициализации (функции OnInit()), пропускаются.
При переключении таймфрейма, эксперт не перезапускается, он продолжает работать
https://www.mql5.com/ru/docs/runtime/running
Заметил одну особенность, которой раньше не было в MetaTrader. Удаляю эксперта с графика (с помощью команды его контекстного меню), вслед за ним закрывается график. Раньше график не закрывался после удаления эксперта.
Заметил одну особенность, которой раньше не было в MetaTrader. Удаляю эксперта с графика (с помощью команды его контекстного меню), вслед за ним закрывается график. Раньше график не закрывался после удаления эксперта.
Это может быть запрограммировано в самом советнике, проверьте с помощью другого советника...
в win7 при отладке на исторических данных переменные добавляемые в наблюдение не отображают своих значений. при отладке на реальных данных все работает. в настройках метаэдитора используемые параметры для отладки указал.
получается, что при добавлении переменные в окне сразу не отображаются, а появляются только при следующем запуске отладки, но значения их уже <not implemented>. подскажите что настроить надо чтобы отладка заработала
Это может быть запрограммировано в самом советнике, проверьте с помощью другого советника...
Действительно, бросил стандартного эксперта на график. Удаляется без проблем. В исходниках своего эксперта попробовал найти ChartClose. Нигде не нашел. У меня и не было такой задумки изначально, закрывать график при удалении эксперта. В нём я использую стандартные элементы UI, такие как CAppDialog. Может быть где-то в стандартных классах прописано закрытие графика...
Действительно, бросил стандартного эксперта на график. Удаляется без проблем. В исходниках своего эксперта попробовал найти ChartClose. Нигде не нашел. У меня и не было такой задумки изначально, закрывать график при удалении эксперта. В нём я использую стандартные элементы UI, такие как CAppDialog. Может быть где-то в стандартных классах прописано закрытие графика...
Нашел. В классе CAppDialog есть поле CChart m_chart.
Когда CAppDialog удаляется (его наследник используется в моём эксперте), то вероятней всего тогда и происходит закрытие чарта, за счёт срабатывания деструктора объекта m_chart.
С помощью отладчика данный процесс к сожалению отследить нельзя. Но просмотрев исходный код CAppDialog, а также CChart, всё становится понятно. Обращаю на это внимание разработчиков.
Нашел. В классе CAppDialog есть поле CChart m_chart.
Когда CAppDialog удаляется (его наследник, CDialog, используется в моём эксперте), то вероятней всего тогда и происходит закрытие чарта, за счёт срабатывания деструктора объекта m_chart.
С помощью отладчика данный процесс к сожалению отследить нельзя. Но просмотрев исходный код CAppDialog, а также CChart, всё становится понятно. Обращаю на это внимание разработчиков.
отвязывает от чарта, в том числе.
Подскажите кто знает: почему функция SignalBaseTotal() всегда возвращает значение 1000.
В сервисе сигналов mql5.com больше тысячи транслируемых сигналов, но в терминале доступна ровно тысяча. Почему?
И может ли так статься, что сейчас в составе этой тысячи один набор сигналов, а через час уже другой?Ошибка с производной структурой, при которой не добавляются новые данные при сохранении / загрузке из файла.