Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Не понимаешь, как работает сервис Торговых Сигналов? Прочти соответствующую статью!
talester
13
talester 2006.02.12 17:52 
предположим, при проверке некоторых первоначальных условий в Init обнаружилась фатальная ошибка, дальнейший запуск эксперта и Start не имеет смысла. Как завершить работу эксперта, или хотябы блокировать запуск Start ?
Пробовал из Инита вызывать Деинит - бесполезно.
Евгений Панин
702
Евгений Панин 2006.02.12 18:40  
Это просто.
Для этого надо использовать флажок (переменную).

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

Вызовы любых функций не приводят к загрузке-выгрузке. Функции просто исполняются, в том числе все 3 специальные.
Поэтому выгрузить эксперт нельзя, но можно не дать ему работать. Вернее заставить его работать так, чтоб он только то и делал, что слал Алерты, типа "всё плохо".
talester
13
talester 2006.02.12 19:13  
Спасибо. Так в принципе и собирался сделать, только не уверен был, что это самое правильноое решение
Евгений Панин
702
Евгений Панин 2006.02.12 21:40  
Можно ещё оставить управление в деинете: по факту какого-то признака зайти в бесконечный цикл и там остаться ( в цикле желательно поставить Sleep(100) или больше).
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий