Ошибки, баги, вопросы - страница 2399

 

Терминал повис наглухо при переключении к другому счёту.

Билд: 2007, ОС: Win7 x64


 
Vitaly Muzichenko:

Терминал повис наглухо при переключении к другому счёту.

Билд: 2007, ОС: Win7 x64

Грешил на кастомные символы в таких ситуациях, т.к. у меня все в них.

У Вас их, наверное, нет. Тогда проблема в другом.

 
fxsaber:

Если зацикленный скрипт попытаться удалить, то может возникнуть зависание Терминала на некоторое время.

Но если же зацикленный советник запустить в Тестере, то он сразу тормозится по нажатию на кнопку Стоп.


Почему получается разное поведение в этих случаях?

Насколько зацикленный? В цикле есть проверка IsStopped()?

Если терминал зависает, то это означает блокировку интерфейсного потока. Скрипту даётся 3 секунды на остановку, и если у скрипта нет проверки IsStopped(), то он так и будет работать, пока его жёстко не остановят. И в этом случае возможна блокировка интерфейсного потока.

У тестера остановка производится гораздо быстрее, так как он не может выполнять критически важных функций (например, торговля). Кроме этого, тестер - это совсем отдельный процесс, не влияющий на клиентский терминал

 
Slava:

Насколько зацикленный? В цикле есть проверка IsStopped()?

Вел речь специально о скрипте без этой проверки.

Если терминал зависает, то это означает блокировку интерфейсного потока. Скрипту даётся 3 секунды на остановку, и если у скрипта нет проверки IsStopped(), то он так и будет работать, пока его жёстко не остановят. И в этом случае возможна блокировка интерфейсного потока.

У тестера остановка производится гораздо быстрее, так как он не может выполнять критически важных функций (например, торговля). Кроме этого, тестер - это совсем отдельный процесс, не влияющий на клиентский терминал

Вот и обратил внимание, что в Тестере и в Терминале жесткая остановка происходит по-разному.

 
fxsaber:

Грешил на кастомные символы в таких ситуациях, т.к. у меня все в них.

У Вас их, наверное, нет. Тогда проблема в другом.

Кастомных нет.

Если переключать между счетами на одном сервере, то подвисает не надолго и в журнале "abnormal terminal"

Если переключать между разными серверами(ДЦ), то зависание долгое.

Если очень долго работает на одном сервере без переключений, к примеру 3-5 дней, а потом переключиться, тогда терминал зависает наглухо.

 
Vitaly Muzichenko:


 то подвисает не надолго и в журнале "abnormal terminal"


Эту запись журнала приведите полностью

 
Slava:

Эту запись журнала приведите полностью

Ясно, проблема видимо на моей стороне и зависание от моего советника

EJ      2       08:58:24.000    EA_Trade (EURCAD,H1)    Abnormal termination

Верно?

 
Vitaly Muzichenko:

Ясно, проблема видимо на моей стороне и зависание от моего советника

Верно?

Похоже на зацикленный эксперт без проверки IsStopped()
 
Slava:
Похоже на зацикленный эксперт  без проверки IsStopped()

Да, так и есть, но не зацикленный, а по таймеру.

Добавлю IsStopped()

Спасибо!

 
Vitaly Muzichenko:

Да, так и есть, но не зацикленный, а по таймеру.

Добавлю IsStopped()

Спасибо!

Если OnTimer не зациклена, то не должно быть Abnormal termination.

Можете дать Вашего эксперта для проверки поведения клиентского терминала?