Justinas Shimkus:
Возможно нужно переписать функцию, или изменить её логику. Если возможности нет, тогда можно сделать контроль через глобальную переменную терминала, если там начала работать, то писать в глоб.переменную "0", когда отработала - писать "1"
Добрый день.
Ситуация такая - в процессе работы советника, запускается функция, которая кушает много оперативки (выделена в mqh файл). Работает редко, и недолго. Но если одновременно по 3-м валютным парам выполняется эта функция, то терминал крашится. Есть ли возможность как-нибудь поставить в очередь выполнение этой функции от разных советников ?
Уже спасибо.
Точно ) Только в моем случае нужен внешний файл, а не глобальная переменная и в нем хранить положение флага. За идею спасибо.
Justinas Shimkus:
Точно ) Только в моем случае нужен внешний файл, а не глобальная переменная и в нем хранить положение флага. За идею спасибо.
Точно ) Только в моем случае нужен внешний файл, а не глобальная переменная и в нем хранить положение флага. За идею спасибо.
Ну она у вас где-то вызывается, значит можно что-то типа
if(GlobalVariableGet("flag") == 1 && условие выполнения) { GlobalVariableSet("flag", 0); // пишем что занято // что-то делаем - вызываем функцию с внешнего файла // ... // что-то сделали GlobalVariableSet("flag", 1); // пишем что свободно }
Да, так даже проще, спасибо большое.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день.
Ситуация такая - в процессе работы советника, запускается функция, которая кушает много оперативки (выделена в mqh файл). Работает редко, и недолго. Но если одновременно по 3-м валютным парам выполняется эта функция, то терминал крашится. Есть ли возможность как-нибудь поставить в очередь выполнение этой функции от разных советников ?
Уже спасибо.