Билд 2280. Прогоняется следующий советник (ниже). По идее исходя из документации при ExpertRemove он должен быть удалён с графика
через 3 секунды. Реально же в лог выводится, что был
вызван
ExpertRemove, но сам советник остаётся. И, к примеру при перезапуске MetaTrader, снова вешается на график и начинает
работать. Баг или фича?
Успеете поправить этот баг? ExpertRemove не срабатывает в этой ситуации.
class A
{
public:
~A()
{
Print(__FUNCSIG__);
}
} a;
constbool Init = EventSetTimer(1);
voidOnTimer()
{
EventKillTimer(); // Если это закомментировать, то все норм.ExpertRemove();
Print("ExpertRemove()");
}
OnTick() запустите хоть раз. ExpertRemove() не удаляет советник, а взводит флаг необходимости удаления на следующем тике.
А если нету больше тиков? На это как-то можно влиять из советника? Или он обречён висеть в ожидании внешнего и независящего от него события,
хотя вроде как и отдал команду выгрузиться?
Билд 2280. Прогоняется следующий советник (ниже). По идее исходя из документации при ExpertRemove он должен быть удалён с графика
через 3 секунды. Реально же в лог выводится, что был
вызван
ExpertRemove, но сам советник остаётся. И, к примеру при перезапуске MetaTrader, снова вешается на график и начинает
работать. Баг или фича?
Вы какую задачу хотите решить? Однократное выполнение кода?
Для этого есть специальный тип mql5-программ - скрипты
А если нету больше тиков? На это как-то можно влиять из советника? Или он обречён висеть в ожидании внешнего и независящего от него
события, хотя вроде как и отдал команду выгрузиться?
Обычно эта функция должна вызываться из функции OnDeinit() в том случае, если в функции OnInit() была вызвана функция EventSetTimer(). Либо должна вызываться из деструктора класса, если в конструкторе этого класса вызывается функция EventSetTimer(). Каждый...
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Билд 2280. Прогоняется следующий советник (ниже). По идее исходя из документации при ExpertRemove он должен быть удалён с графика через 3 секунды. Реально же в лог выводится, что был вызван ExpertRemove, но сам советник остаётся. И, к примеру при перезапуске MetaTrader, снова вешается на график и начинает работать. Баг или фича?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 2190
fxsaber, 2019.11.22 21:57
Успеете поправить этот баг? ExpertRemove не срабатывает в этой ситуации.
OnTick() запустите хоть раз. ExpertRemove() не удаляет советник, а взводит флаг необходимости удаления на следующем тике.
А если нету больше тиков? На это как-то можно влиять из советника? Или он обречён висеть в ожидании внешнего и независящего от него события, хотя вроде как и отдал команду выгрузиться?
После обновления ваших VPS до 2280 у меня перестали мигрировать эксперты на сервер.
По логам все хорошо, только через секунду все эксперты автоматически удаляются.
Создал тему 4 часа назад, но видимо админы ее не читают.
Сервисдеск не дает выбрать технические вопросы. Куда писать - непонятно.
Не очень приятно, у меня там открытые позиции и робот должен их сопровождать.
Похоже ошибка с буфером спрэда, данные не совпадают и занижены. Такая ситуация по всем символам кроме мажоров и кроссов.
График чистый, без индикаторов.
Какой сервер?
Задайте вопрос про спред Вашему брокеру
Что-то когда-то изменилось, OnTimer теперь срабатывает в тестере?
А еще увеличилось время передачи структур в библиотечную функцию аж в 2 раза.
Как делали замеры?
Билд 2280. Прогоняется следующий советник (ниже). По идее исходя из документации при ExpertRemove он должен быть удалён с графика через 3 секунды. Реально же в лог выводится, что был вызван ExpertRemove, но сам советник остаётся. И, к примеру при перезапуске MetaTrader, снова вешается на график и начинает работать. Баг или фича?
Вы какую задачу хотите решить? Однократное выполнение кода?
Для этого есть специальный тип mql5-программ - скрипты
А если нету больше тиков? На это как-то можно влиять из советника? Или он обречён висеть в ожидании внешнего и независящего от него события, хотя вроде как и отдал команду выгрузиться?
Вы совсем не читаете документацию
Вы какую задачу хотите решить? Однократное выполнение кода?
Для этого есть специальный тип mql5-программ - скрипты
Так это же результат вырезания из кода всего лишнего. Там баг.
Так это же результат вырезания из кода всего лишнего. Там баг.
С чего это?
Просто не надо вызывать EventKillTimer вместе с ExpertRemove и не будет никакого бага. Документацию надо читать. Внимательно.