terminated by timeout?

 

После подключения эксперта сообщается:... terminated by timeout.Что это обозначает?

 

Прервано (прекращено) по таймауту. Т.е. Терминал прерывает работу эксперта т.к. тот не отвечает на запросы терминала долгое время. Т.е. Эксперт зацикленный - у меня такой же и не один.

В теле эксперта надо найти бесконечный цикл типа:

 while(true) {/*Тело цикла*/}

или цикл, который прерывается по условию, которое не срабатывает и поставить в начале этого цикла строку типа:

if (IsStopped()==true) { break; }

Вообще надо разобраться какой конкретно эксперт\скрипт\индикатор вызывает такое прерывание т.к. у вас может УЖЕ работать на графике другая (зацикленная) программа и это именно она прерывается, а не тот Эксперт, которого вы кидаете на график.

P.S. Чтоб у вас все было и вам за это ничего не было.

 
AlexTrader0618:

Прервано (прекращено) по таймауту. Т.е. Терминал прерывает работу эксперта т.к. тот не отвечает на запросы терминала долгое время. Т.е. Эксперт зацикленный - у меня такой же и не один.

В теле эксперта надо найти бесконечный цикл типа:

или цикл, который прерывается по условию, которое не срабатывает и поставить в начале этого цикла строку типа:

Вообще надо разобраться какой конкретно эксперт\скрипт\индикатор вызывает такое прерывание т.к. у вас может УЖЕ работать на графике другая (зацикленная) программа и это именно она прерывается, а не тот Эксперт, которого вы кидаете на график.

P.S. Чтоб у вас все было и вам за это ничего не было.


Спасибо за разъяснение, так как в документации не нашел описание сообщений терминала.Интересно, что один и тотже советник, с одинаковыми параметирами запущен на нескольких (20) терминалах одного и того же брокера, а выше указанное сообщение выдается в 3 случаях.На остальных терминалах советники нормально работают. При этом других советников и скриптов нет. В советникаx имеется цикл for(int x=1;x<=175;x++)
 

Подобная ситуация на windows server 2003. Эксперт писался на windows xp - все хорошо работает, стабильно. Поставил работать на windows server 2003 никак не хочет, выдает сообщение terminated by timeout. Почитал на форумах: говорят причина в зацикленности.

Хоть на ХР все работает и нет зацикленности - пробую на сервере по новому создавать советника. Код компилирую кусками(усложняю по шагам, чтобы найти ошибчный момент). Сбоит: пустая страница всего лишь файловая операция - чтение из файла и вот terminated by timeout. На следующий день: файловые операции работают нормально, циклом из пяти иттераций считываю данные из файла - terminated by timeout. На третий день: файловые опереции - нормально, цикл - нормално данные циклом читаю в масив и опять terminated by timeout.

В общем то я программист очень начального уровня - думаю если в массив перегружаю неправильно, создам пять разных файлов по одной переменной в каждом - следующая же операция записи в файл измененной переменной выдает terminated by timeout.

Тот же терминал, тот же брокер, тот же эксперт, но на windows xp работает, а на windows server 2003 никак. Причем при подключении кода из 10 строк процессор работает на 100% и после закрытия окна терминала процесс остается, необходимо убивать из диспетчера задач. Галимотня какая то, может подскажете, что происходит и как с этим бороться.