Скрипт и так сам завершает работу и выгружается, если его не зацикливать.
Тогда можно проверять корректность входных данных в OnInit() и возвращать INIT_PARAMETERS_INCORRECT или INIT_FAILED
Тогда можно проверять корректность входных данных в OnInit() и возвращать INIT_PARAMETERS_INCORRECT или INIT_FAILED
Благодарю за подсказки, но о какой функции OnInit в скрипте идет речь?
Скрипт — программа, предназначенная для одноразового выполнения каких-либо действий. В отличие от экспертов, скрипты не обрабатывают никаких событий, кроме события запуска (для этого в скрипте должна быть функция-обработчик OnStart). Скрипты хранятся в директории каталог_терминала\MQL4\Scripts
Благодарю за подсказки, но о какой функции OnInit в скрипте идет речь?
Скрипт— программа, предназначенная для одноразового выполнения каких-либодействий. В отличие от экспертов, скрипты не обрабатывают никакихсобытий, кроме события запуска (для этого в скрипте должна бытьфункция-обработчик OnStart). Скрипты хранятся в директории каталог_терминала\MQL4\Scripts
У скрипта, также как и у советника, можно использовать функции OnInit и OnDeinit. Порядок их вызова аналогичен порядку вызова в советнике.Это легко проверяется таким примером (прошу прощения за оформление, но код снова не вставляется, как нужно):
int OnInit() { Print(__FUNCTION__); return(INIT_SUCCEEDED); } void OnStart() { Print(__FUNCTION__); } void OnDeinit(const int reason) { Print(__FUNCTION__); }

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте!
Не могу найти ответ на элементарный вопрос: можно ли из пользовательской функции завершить работу скрипта?
Например, чтобы каждый раз в коде не писать
создать функцию, к которой можно было бы обратиться при выполнении некоторого условия:
Если такое возможно реализовать, то что должно быть на месте знаков вопросов? И какой тип тогда должен быть у этой функции?