MQL4 - automated forex trading   /  

Форум

Как аварийно завершить работу эксперта

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

avatar
4
talester 12.02.2006 18:52 
предположим, при проверке некоторых первоначальных условий в Init обнаружилась фатальная ошибка, дальнейший запуск эксперта и Start не имеет смысла. Как завершить работу эксперта, или хотябы блокировать запуск Start ?
Пробовал из Инита вызывать Деинит - бесполезно.

Бесплатная Groupware для групп разработчиков

Установите систему групповой работы TeamWox и объедините усилия всех разработчиков. Это поможет вашей команде работать быстрее и организованнее. Благодаря TeamWox станет намного проще ставить задачи и контролировать их выполнение.


avatar
313
SKif 12.02.2006 19:40 
Это просто.
Для этого надо использовать флажок (переменную).

Переменную надо объявить за пределами инита и старта, тогда её значение будет доступно и из инита и из старта.
В ините, по факту некоторого события переменной присваивается некоторое значение.
Если всё хорошо, то =1, если плохо, то = 0.
При поступлении тика старт первым делом должен проверить этот флажок.
И если это значение, скажем, =0, то return из старта, дальше в код не углубляться.
А если =1, то исполнять дальнейший код.
---------------

Вызовы любых функций не приводят к загрузке-выгрузке. Функции просто исполняются, в том числе все 3 специальные.
Поэтому выгрузить эксперт нельзя, но можно не дать ему работать. Вернее заставить его работать так, чтоб он только то и делал, что слал Алерты, типа "всё плохо".

avatar
4
talester 12.02.2006 20:13 
Спасибо. Так в принципе и собирался сделать, только не уверен был, что это самое правильноое решение

avatar
313
SKif 12.02.2006 22:40 
Можно ещё оставить управление в деинете: по факту какого-то признака зайти в бесконечный цикл и там остаться ( в цикле желательно поставить Sleep(100) или больше).
К списку тем  

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