Проблема: завис МТ4.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
khorosh
12499
khorosh  
Не дожидаясь окончания компиляции быстро переключился в терминал и терминал завис. После принудительного закрытия перестал загружаться. Контуры окон только рисует и висит. Если я его деинсталлирую, католог данных сохранится?
Alexey Viktorov
27891
Alexey Viktorov  
khorosh:
Не дожидаясь окончания компиляции быстро переключился в терминал и терминал завис. После принудительного закрытия перестал загружаться. Контуры окон только рисует и висит. Если я его деинсталлирую, католог данных сохранится?

А то что компилировал в этот момент присутствовало на графике?

Ihor Herasko
21808
Ihor Herasko  
khorosh:
Не дожидаясь окончания компиляции быстро переключился в терминал и терминал завис. После принудительного закрытия перестал загружаться. Контуры окон только рисует и висит. Если я его деинсталлирую, католог данных сохранится?

Не нужно переустанавливать терминал. Можно пойти одним из двух путей:

  1. В коде той программы, которую компилировали, внести лишний символ в любом месте. То есть код будет испорчен. Теперь нужно удалить ex4-файл этой программы из каталога данных терминала и запустить терминал. После запуска терминала убрать лишний символ из кода и найти ошибку в коде, которая приводит к зависанию терминала.
  2. В каталоге Profiles\<имя используемого профиля> найти окно чарта, к которому была подключена программа. Этот файл удалить или же в его содержимом (там текстовый файл) найти упоминание имени запущенной программы и удалить все, что с ней связано.
Запуск платформы - Для продвинутых пользователей - MetaTrader 5
Запуск платформы - Для продвинутых пользователей - MetaTrader 5
  • www.metatrader5.com
По завершении установки в меню "Пуск" создается группа программ торговой платформы, а на рабочем столе дополнительно помещается ярлык программы. Используйте их для запуска. Нельзя запускать одновременно две копии платформы из одной директории. Чтобы одновременно запустить несколько копий, установите соответствующее количество программ в разные...
Renat Akhtyamov
16178
Renat Akhtyamov  
khorosh:
Не дожидаясь окончания компиляции быстро переключился в терминал и терминал завис. После принудительного закрытия перестал загружаться. Контуры окон только рисует и висит. Если я его деинсталлирую, католог данных сохранится?
Найдите тестируемую программу и индикатор, попробуйте перенести в другое место и запустить терминал
khorosh
12499
khorosh  
Alexey Viktorov:

А то что компилировал в этот момент присутствовало на графике?

Да, индикатор сочинял. Изменения вносил.

Ihor Herasko:

Не нужно переустанавливать терминал. Можно пойти одним из двух путей:

  1. В коде той программы, которую компилировали, внести лишний символ в любом месте. То есть код будет испорчен. Теперь нужно удалить ex4-файл этой программы из каталога данных терминала и запустить терминал. После запуска терминала убрать лишний символ из кода и найти ошибку в коде, которая приводит к зависанию терминала.
  2. В каталоге Profiles\<имя используемого профиля> найти окно чарта, к которому была подключена программа. Этот файл удалить или же в его содержимом (там текстовый файл) найти упоминание имени запущенной программы и удалить все, что с ней связано.
Renat Akhtyamov:
Найдите тестируемую программу и индикатор, попробуйте перенести в другое место и запустить терминал

Всем спасибо. Просветили тёмного, век живи - век учись)

khorosh
12499
khorosh  
Если эксперт установлен на онлайн графике, и если я вношу какие то изменения в коде и произвожу компиляцию, то почти всегда терминал зависает, даже если компиляция прошла без ошибок. Это что? Так и должно быть или это только у меня? Бильд 1090. Что-то раньше такого не припомню, если и случалось то редко. Тогда что, перед внесением изменений нужно всегда эксперт снимать с графиков?
Alexey Viktorov
27891
Alexey Viktorov  
khorosh:
Если эксперт установлен на онлайн графике, и если я вношу какие то изменения в коде и произвожу компиляцию, то почти всегда терминал зависает, даже если компиляция прошла без ошибок. Это что? Так и должно быть или это только у меня? Бильд 1090. Что-то раньше такого не припомню, если и случалось то редко. Тогда что, перед внесением изменений нужно всегда эксперт снимать с графиков?

Нет. Такого быть не должно и у меня такое не наблюдается.

khorosh
12499
khorosh  
Alexey Viktorov:

Нет. Такого быть не должно и у меня такое не наблюдается.

Что же делать? Переустанавливать МТ4? Совсем недавно с ДЦ скачивал.  А может это связано с тем, что файл эксперта довольно объёмный (287 кб), да ещё несколько библиотек подключено?

Ihor Herasko
21808
Ihor Herasko  
khorosh:

Что же делать? Переустанавливать МТ4? Совсем недавно с ДЦ скачивал.  А может это связано с тем, что файл эксперта довольно объёмный (287 кб), да ещё несколько библиотек подключено?

Это связано со спецификой самого советника. Ищите проблему в OnDeinit. Если используются DLL, то потребуется их корректная выгрузка в OnDeinit. Скорее всего, этого нет.

khorosh
12499
khorosh  
Ihor Herasko:

Это связано со спецификой самого советника. Ищите проблему в OnDeinit. Если используются DLL, то потребуется их корректная выгрузка в OnDeinit. Скорее всего, этого нет.

Большое спасибо. DLL в эксперте не используется. Но в OnDeinit() остались ошмётки от старого кода советника, который использовался как шаблон. Часть кода в которой создавались кое какие не нужные объекты в теле OnTick() я удалил, а вот удаление этих объектов в OnDeinit() не удалил. И видимо попытки удаления несуществующих объектов  при выполнении OnDeinit() и приводило к зависанию. Теперь компиляция происходит без проблем. Ну теперь я этот конфуз надолго запомню. Аккуратно надо корректировать код и думать, к чему это может привести.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий