Странно функция ExpertRemove не останавливает работу скрипта
if (Percent > 10) { // Задано ошибочно ..
ExpertRemove();
Print("Превышен максимальный процент риска");
Message("Превышен максимальный процент риска");
}
if (screenshot)fscreen(); // разве может выполнятся этот кусок кода, после вызова функции ExpertRemove();
Хоть и выполняется функция ExpertRemove. скрипт успевает выполнить следуюшие за ним функции. Вроде должно событие прекрашение, работы скрипта произойти или я чего то не понял.
функция должна закончить свою работу. Команда на завершение работы советника отправлена
функция должна закончить свою работу. Команда на завершение работы советника отправлена
Вы документацию читали?
Остановка эксперта не происходит немедленно при вызове функции ExpertRemove(), производится лишь взвод флага для прекращения работы эксперта. Т.е., любое следующее событие эксперт обрабатывать уже не будет, произойдет вызов OnDeinit() и выгрузка с удалением с графика.
функция должна закончить свою работу. Команда на завершение работы советника отправлена
Довьте return и будет OK, вот так, например:
if (Percent > 10) { // Задано ошибочно ..
ExpertRemove();
Print("Превышен максимальный процент риска");
Message("Превышен максимальный процент риска");
return(0);
}
if (screenshot)fscreen(); // разве может выполнятся этот кусок кода, после вызова функции ExpertRemove();
if (Percent > 10) { // Задано ошибочно ..
ExpertRemove();
Print("Превышен максимальный процент риска");
Message("Превышен максимальный процент риска");
}
if (screenshot)fscreen(); // разве может выполнятся этот кусок кода, после вызова функции ExpertRemove();
Хоть и выполняется функция ExpertRemove. скрипт успевает выполнить следуюшие за ним функции. Вроде должно событие прекрашение, работы скрипта произойти или я чего то не понял.