![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А может ли код эксперта исполниться в тот момент, когда закрытый ордер уже исчез из открытых ордеров, но еще не добавился в историю ордеров?
А в тот момент, в закладке "История счёта" не переключал диапазон отображаемых ордеров?
как вариант - проверять количество закрытых ордеров НЕ на текущем баре, а по времени закрытия - такая проверка более надежная.
Чтобы не гадать, запуститет советника TradeTransactionListener.mq5 из статьи С чего начать при создании торгового робота для Московской биржи MOEX и прослушайте все торговые события. Можно вручную совершать любые операции и смотреть, что выводится в лог.
Это не у меня, а у заказчика. Эксперт работает на VPS. Говорит, что в то время никаких действий он не совершал. Для истории стоит All History. Второй копии эксперта с таким же Magic не запускал.
А поинтересуйся, не начисляли каких ни-будь ... или наоборот, какую комиссию сняли? Вот и изменение количества ордеров в истории.
Я уже давно отказался от прочёсывания истории ордеров. Просто в цикле проверяю массив тикетов открытых ордеров и если оказалось что один из них закрыт принимаю факт закрытия ордера, выполняются соответствующие действия и перезаполняется массив в цикле по всем открытым ордерам.
А поинтересуйся, не начисляли каких ни-будь ... или наоборот, какую комиссию сняли? Вот и изменение количества ордеров в истории.
Я уже давно отказался от прочёсывания истории ордеров. Просто в цикле проверяю массив тикетов открытых ордеров и если оказалось что один из них закрыт принимаю факт закрытия ордера, выполняются соответствующие действия и перезаполняется массив в цикле по всем открытым ордерам.
У меня инвесторский пароль. Все чисто. Никаких начислений комиссий, никаких переоткрытий.
Чисто RunTime ошибка. Единственное объяснение - эксперт вклинился в интервал времени, когда ордер уже исчез из открытых ордеров, но еще не добавился в историю.
Еще вариант - OrderSelect для последнего ордера вернул false и ордер выпал из подсчета.