Версия 4.0.21. Произошёл такой случай. На одном из котирований:
вместо покупки 1 контракта, как должно было быть, купились 2 контракта. Причём второй контракт появился только в квике (две сделки в таблице "Мои сделки" и "Текущая чистая позиция"=2), а стратегия его не увидела: PositionManager.Position = 1. Ниже приведен лог-файл, жёлтым выделил то место, где как раз и появляется лишний контракт (Стратегия котирования зафиксировала сделку-покупку и зачем-то тут же отправила ещё заявку на покупку, и только после этого закончила свою работу. Почему так?).
Quote:18:14:33.824 18:14:33.824 9982пп ЗАПУСКАЮ КОТИРОВАНИЕ Buy Open Pos= 0, CntOnProc= 3844, 2787, 0
18:14:33.826 Стратегия запущена. CntOnProc= 3844, 2787, 0
18:14:33.826 Котирование на Buy объема 1. CntOnProc= 3845, 2788, 0
18:14:33.826 Цена текущей NULL и лучшей 9984. CntOnProc= 3845, 2788, 0
18:14:33.826 Лучший бид 9983 и лучший аск 9985. CntOnProc= 3845, 2788, 0
18:14:33.826 Регистрация новой заявки на Buy с ценой 9984 и объемом 1. CntOnProc= 3845, 2788, 0
18:14:33.826 Заявка 54528375 на Buy отправлена с ценой 9984 объемом 1. CntOnProc= 3845, 2788, 0
18:14:33.826 Заявка 54528375 в процессе регистрации. CntOnProc= 3845, 2788, 0
18:14:33.836 Заявка 54528375 в процессе регистрации. CntOnProc= 3845, 2788, 0
18:14:33.836 Заявка 54528375 в процессе регистрации. CntOnProc= 3845, 2788, 0
18:14:33.901 Заявка 54528375 принята биржей. CntOnProc= 3845, 2788, 0
18:14:33.901 Цена текущей 9984 и лучшей 9982. CntOnProc= 3845, 2788, 0
18:14:33.901 Лучший бид 9982 и лучший аск 9983. CntOnProc= 3845, 2788, 0
18:14:33.901 Котирование заявки 54528375 на Buy с ценой 9984 объемом 1. CntOnProc= 3845, 2788, 0
18:14:33.901 Перекотирование зарегистрировано для заявки 54528376 на Buy с ценой 9982 объемом 1. CntOnProc= 3845, 2788, 0
18:14:33.945 Заявка 54528376 в процессе перерегистрации. CntOnProc= 3846, 2789, 0
18:14:33.947 Заявка 54528376 в процессе перерегистрации. CntOnProc= 3846, 2789, 0
18:14:33.947 Заявка 54528376 в процессе перерегистрации. CntOnProc= 3846, 2789, 0
18:14:34.153 Заявка 54528376 не была принята по причине System.InvalidOperationException: Сервер для транзакции 'ACTION=MOVE_ORDERS; TRANS_ID=54528376; CLASSCODE=SPBFUT; SECCODE=SRH2; MODE=0; FIRST_ORDER_NUMBER=7013399505; FIRST_ORDER_NEW_PRICE=9982; FIRST_ORDER_NEW_QUANTITY=1;' вернул неправильное сообщение 'Ошибка перестановки заявок. [FORTS] "Не найдена заявка для перестановки.".' по передвинутым заявкам.. CntOnProc= 3846, 2789, 0
18:14:34.154 Заявка 54528376 не принята биржей по причине 'Сервер для транзакции 'ACTION=MOVE_ORDERS; TRANS_ID=54528376; CLASSCODE=SPBFUT; SECCODE=SRH2; MODE=0; FIRST_ORDER_NUMBER=7013399505; FIRST_ORDER_NEW_PRICE=9982; FIRST_ORDER_NEW_QUANTITY=1;' вернул неправильное сообщение 'Ошибка перестановки заявок. [FORTS] "Не найдена заявка для перестановки.".' по передвинутым заявкам.'. CntOnProc= 3846, 2789, 0
18:14:34.157 Новая Buy сделка 517627504 по цене 9984 на 1 заявки 54528375. CntOnProc= 3846, 2789, 0
18:14:34.157 Новая Buy сделка 517627504 по цене 9984 на 1 заявки 54528375. CntOnProc= 3847, 2790, 0
18:14:34.157 Новая позиция 1. CntOnProc= 3847, 2790, 0
18:14:34.157 18:14:34.157 9983пп OnPositionChanged Pos= 1, CntOnProc= 3847, 2790, 0
18:14:34.158 Цена текущей NULL и лучшей 9983. CntOnProc= 3847, 2790, 0
18:14:34.158 Лучший бид 9982 и лучший аск 9984. CntOnProc= 3847, 2790, 0
18:14:34.158 Регистрация новой заявки на Buy с ценой 9983 и объемом 1. CntOnProc= 3847, 2790, 0
18:14:34.158 Заявка 54528377 на Buy отправлена с ценой 9983 объемом 1. CntOnProc= 3847, 2790, 0
18:14:34.159 Новая позиция 1. CntOnProc= 3847, 2790, 0
18:14:34.159 Позиция изменилась на 1. Оставшийся объем 0. CntOnProc= 3847, 2790, 0
18:14:34.159 Заканчиваем котирование. CntOnProc= 3847, 2790, 0
18:14:34.159 Стратегия останавливается. CntOnProc= 3847, 2790, 0
18:14:34.160 Стратегия остановлена. CntOnProc= 3847, 2790, 0