Интересная картина в csv файле после закрытия стратегии:
Номер заявки Номер транзакции Направление Время Цена Цена (усредн.) Статус Состояние Баланс 5797112190 37034615 Покупка 01.01.0001 0:00:00 147800 147780 Не активна Исполнена 0 1 5797153218 37034616 Покупка 10.11.2011 10:19 147585 147550 Не активна Исполнена 0 1 Заявка 5797112190 реально отработала, но время написано, похоже, сбойное. При этом не изменился счетчик PositionManager.Position.
Комментарии (14)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
Возникает периодически. Поймал еще одну.
Что за csv файл? Что значит закрытие стратегии?
Остановка стратегии, не точно выразился
Время никак не меняется от времени прихода через SmartCom до момента создания сделки. Это историческая сделка или нет, в риалтайме получена?
Попробуйте подписаться на событие Log у SmartTrade, поискать строчку "SmartTrader.AddTrade:" с нулевым временем.
В общем в любом случае тут надо пинать поддержку SmartCom.
Сделка с рынка. Ок сейчас посмотрю.
Александр, а PositionManager.Position с этим как может быть связан? (см. первое сообщение)
Smart отпадает:
из файла CSV:
5804063161 46547763 Продажа 10.11.2011 13:08 149760 149760 Не активна Исполнена 5804093249 46547764 Покупка 01.01.0001 0:00:00 149760 149730 Не активна Исполнена 5804097730 46547765 Продажа 10.11.2011 13:09 149670 149670 Не активна Исполнена
из log файла:
SmartLog: SmartTrader.AddTrade: tradeId 446513552 orderId 5804093249 price 149730 volume 1 time 10.11.2011 13:09:00 security RTS-12.11_FT
13:09:05:1335 Сделка по заявке 5804093249 446513552, количество 1,
Это через SmartCOMWrapper?
Нет:
_trader = new SmartTrader(TextBoxLogin.Text, TextBoxPassword.Password);
А второй лог через что?
Один - файл по результатам работы стратегии - CsvStrategyReport(_strategy, "robot_report.csv").Generate();
второй - лог работы стратегии.
А генерация отчета в какой момент вызывается?
Когда торговля останавливается. Т.е. следующщим шагом остановка Smart и выход из программы.
А какая версия? Там ведь ещё "Объем", "Тип", "Проскальзывание", "Задержка" должны выводиться. И это не сделки, а заявки, дезинформировали нас :)
Попробуйте перед генерацией отчёта сами распечатать Strategy.Orders в формате order.Id : order.TransactionId : order.Time
И поищите в том же логе где заявка строку с: "SmartTrader.UpdateOrder: id" Необходимо найти данную строку с нужным id и посмотреть какое время передаётся.