Я новичок в языке MQL, поэтому, пожалуйста, исправьте меня, если я что-то не так описал.
Я сделал скрипт редактором скриптов для автоматического размещения заказов.Программу никогда не следует останавливать, если она не завершена вручную.Мой код выглядит так:
void onStart()
{
While(true)
{
Sleep(10000);
MakeOrder(....);//of course actual code is much more complicated
}
}
Единственными предустановленными функциями, которые я использую, являются торговые функции, математические функции и функции времени.
Код работает в большинстве случаев, которые могут продолжатьсяпо крайней мере, в течение 48 часов, но иногда это может неожиданно прекратить сообщать о причине деинита 4 (это тот же код завершения, если я нажимаю кнопку stop
при отладке) в течение одного часа после запуска.Похоже, что в MQL отсутствует модуль try...catch
, и получение ошибки в некоторых строках кода не остановит его.Интересно, что могло произойти за прекращением?Или как я могу это игнорировать, чтобы хотя бы программа могла автоматически перезапускаться?