esper
|
Дата: 09.10.2014
Как воспроизвести?
|
|
Спасибо:
|
|
|
|
|
devruss
|
Дата: 09.10.2014
Ну уж это то вы должны сами проверять... Выставление ордеров и отслеживание изменения статуса - это одна из основополагающих состовляющих алго платформы. Можно на ваших же примерах смотреть UPDATE: 1. Live - вроде все ок. Проблемы возникают на HistoryEmulation 2. Задержки с репортингом статусов исполения ордеров При большом сайзе ордера и частичном исполнении возникают ситуации, когда ставится заявка по-рынку, статус OrderStates.Done, Balance = 0, но при этом задержка между трейдами на первую и вторую часть такая, что робот успевает еще 2 раза закрыть позицию, полагая, что приказы исполнились частично 3. На 2.20 все ок! Работающие стратегии начинают сходить с ума именно на .26
|
|
Спасибо:
|
|
|
|
|
RomSunZ
|
Дата: 09.10.2014
|
|
|
|
У меня в MarketQuotingStrategy такая-же байда с частичным исполнением заявок на версии 4.2.26. Как видно из логов, как только появилась сделка по заявке, MQS снимает остаток, и считает, что все выполнено ("|S_LKZ4@FORTS_SPBFUT00756|Стратегия останавливается. [0,1]. Позиция 4."). Но реальное исполнение было только на 1шт, что и подтверждается в родительской стратегии ("|PS_LKZ4@FORTS_SPBFUT00756|Новая позиция: SPBFUT00756-LKZ4@FORTS=1."). В таблице "заявки" в квике этот ордер имеет состояние="Снята", Кол-во=4, Остаток=3. Связано это судя по-всему с тем, что Вы опираетесь на поле заявки State, вместо Status, о чем я писал в ветке про новый Lua-коннектор. Код
20:08:59.767| |PS_LKZ4@FORTS_SPBFUT00756|Стратегия запущена. [0,-1]. Позиция 0.
20:09:16.630| |PS_LKZ4@FORTS_SPBFUT00756|curPos=0 quoting vol=4 revers=False
20:09:16.630| |PS_LKZ4@FORTS_SPBFUT00756|Начинаем котирование по LKZ4@FORTS направление покупка объем 4 реверс=False
20:09:16.630|Debug |S_LKZ4@FORTS_SPBFUT00756|Переход из состояния Stopped в Started.
20:09:16.630| |S_LKZ4@FORTS_SPBFUT00756|Стратегия запущена. [0,1]. Позиция 0.
20:09:16.630| |S_LKZ4@FORTS_SPBFUT00756|Котирование на Buy объема 4.
20:09:16.630|Debug |S_LKZ4@FORTS_SPBFUT00756|Приостановка правил. _rulesSuspendCount 1.
20:09:16.630|Debug |S_LKZ4@FORTS_SPBFUT00756|Возобновление правил. _rulesSuspendCount 0.
20:09:16.630| |S_LKZ4@FORTS_SPBFUT00756|Цена текущей NULL и лучшей 19585.
20:09:16.630| |S_LKZ4@FORTS_SPBFUT00756|Лучший бид 19580 и лучший аск 19592.
20:09:16.630| |S_LKZ4@FORTS_SPBFUT00756|Регистрация новой Limit (0x1AB7839) заявки на Buy с ценой 19585 и объемом 4.
20:09:16.630|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Регистрация заявки 72533791/ (0x1C6BB82)'. Подписалось на события.
20:09:16.630|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Ошибка регистрации заявки 72533791/ (0x1E54885)'. Подписалось на события.
20:09:16.630|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Полное исполнение 72533791/ (0x261AE0E)'. Подписалось на события.
20:09:16.630|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Полное исполнение 72533791/ (0x1DAA204)'. Подписалось на события.
20:09:16.630|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Все сделки заявки 72533791/ (0x3583362)'. Подписалось на события.
20:09:16.630|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Отмена заявки 72533791/ (0x83A5F8)'. Подписалось на события.
20:09:16.630|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Ошибка регистрации заявки 72533791/ (0x14FF46B)'. Подписалось на события.
20:09:16.630|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Ошибка снятия заявки 72533791/ (0x305AA9F)'. Подписалось на события.
20:09:16.937|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:16.937|Debug |S_LKZ4@FORTS_SPBFUT00756|Заявка 72533791 (0x1AB7839) в процессе регистрации.
20:09:17.045|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:17.045|Debug |S_LKZ4@FORTS_SPBFUT00756|Заявка 72533791 (0x1AB7839) в процессе регистрации.
20:09:17.261|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Регистрация заявки 72533791/2466496401 (0x1C6BB82)'. Активация.
20:09:17.261| |S_LKZ4@FORTS_SPBFUT00756|Заявка 72533791 (0x1AB7839) принята биржей.
20:09:17.261| |S_LKZ4@FORTS_SPBFUT00756|Сброс счетчика ошибок регистрации с 0 до нуля.
20:09:17.261|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Регистрация заявки 72533791/2466496401 (0x1C6BB82)'. Удаляется.
20:09:17.261|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Регистрация заявки 72533791/2466496401 (0x1C6BB82)'. Освободило ресурсы.
20:09:17.261|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Ошибка регистрации заявки 72533791/2466496401 (0x1E54885)'. Удаляется.
20:09:17.261|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Ошибка регистрации заявки 72533791/2466496401 (0x1E54885)'. Освободило ресурсы.
20:09:17.261|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Ошибка регистрации заявки 72533791/2466496401 (0x1E54885)'. Удалено.
20:09:17.261|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Регистрация заявки 72533791/2466496401 (0x1C6BB82)'. Удаление.
20:09:17.261|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Ошибка регистрации заявки 72533791/2466496401 (0x1E54885)'. Удаление.
20:09:17.427|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:17.680|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:20.640|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:20.888|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:21.777|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:24.092|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:25.491|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:27.278|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:27.799|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:28.315|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:30.114|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:30.362|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:31.154|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:34.302|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:34.811|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:36.703|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Активация.
20:09:40.139| |PS_LKZ4@FORTS_SPBFUT00756|Новая позиция: SPBFUT00756-LKZ4@FORTS=4.
20:09:40.139| |S_LKZ4@FORTS_SPBFUT00756|Новая позиция: SPBFUT00756-LKZ4@FORTS=4.
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение позиции (0x4AA454)'. Активация.
20:09:40.139| |S_LKZ4@FORTS_SPBFUT00756|Позиция изменилась на 4. Оставшийся объем 0.
20:09:40.139| |S_LKZ4@FORTS_SPBFUT00756|Заканчиваем котирование.
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Переход из состояния Started в Stopping.
20:09:40.139| |S_LKZ4@FORTS_SPBFUT00756|Стратегия останавливается. [0,1]. Позиция 4.
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'S_LKZ4@FORTS_SPBFUT00756 - останавливается (0x233CCD2)'. Активация.
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'S_LKZ4@FORTS_SPBFUT00756 - останавливается (0x233CCD2)'. Удаляется.
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'S_LKZ4@FORTS_SPBFUT00756 - останавливается (0x233CCD2)'. Освободило ресурсы.
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'S_LKZ4@FORTS_SPBFUT00756 - останавливается (0x233CCD2)'. Удаление.
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Попытка остановки. Осталось 2 правил. Правила Отмена заявки OR Полное исполнение OR Все сделки заявки OR Ошибка регистрации заявки , Ошибка снятия заявки .
20:09:40.139| |S_LKZ4@FORTS_SPBFUT00756|Ожидание снятия всех активных заявок.
20:09:40.139| |S_LKZ4@FORTS_SPBFUT00756|Отмена заявки 72533791 (0x1AB7839).
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Удаляется.
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Освободило ресурсы.
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Освободило ресурсы.
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение стакана инструмента LKZ4@FORTS (0x2CD6BF9)'. Удалено.
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Полное исполнение 72533791/2466496401 (0x261AE0E)'. Удаляется.
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Полное исполнение 72533791/2466496401 (0x261AE0E)'. Освободило ресурсы.
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Полное исполнение 72533791/2466496401 (0x261AE0E)'. Удалено.
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Попытка остановки. Осталось 2 правил. Правила Отмена заявки OR Полное исполнение OR Все сделки заявки OR Ошибка регистрации заявки , Ошибка снятия заявки .
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение позиции (0x4AA454)'. Удаляется.
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение позиции (0x4AA454)'. Освободило ресурсы.
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Правило 'Изменение позиции (0x4AA454)'. Удаление.
20:09:40.139|Debug |S_LKZ4@FORTS_SPBFUT00756|Попытка остановки. Осталось 2 правил. Правила Отмена заявки OR Полное исполнение OR Все сделки заявки OR Ошибка регистрации заявки , Ошибка снятия заявки .
20:09:40.139| |PS_LKZ4@FORTS_SPBFUT00756|Новая Buy сделка 117792745 по цене 19585 на 1 заявки 72533791.
20:09:40.139| |S_LKZ4@FORTS_SPBFUT00756|Новая Buy сделка 117792745 по цене 19585 на 1 заявки 72533791.
20:09:40.139| |PS_LKZ4@FORTS_SPBFUT00756|Новая позиция: SPBFUT00756-LKZ4@FORTS=1.
20:09:40.139| |S_LKZ4@FORTS_SPBFUT00756|Новая позиция: SPBFUT00756-LKZ4@FORTS=1.
|
|
|
|
|
Mikhail Sukhov
|
Дата: 09.10.2014
RomSunZ что Вы опираетесь на поле заявки State, вместо Status И правильно делает. Не смешивайте все в одну кучу. Один написал неправильное о своем. Второй написал неправильное о другом. В итоге получился рассказ Бэтмэн и Русалочка.
|
|
Спасибо:
|
|
|
|
|
devruss
|
Дата: 09.10.2014
Михаил Сухов RomSunZ что Вы опираетесь на поле заявки State, вместо Status И правильно делает. Не смешивайте все в одну кучу. Один написал неправильное о своем. Второй написал неправильное о другом. В итоге получился рассказ Бэтмэн и Русалочка. и так каждый раз... топик, что при переходе с версии .X на .X+1 стратегии сходят с ума из-за очередного факапа, встречается в штыки вот такими конструктивными комментариями... Еще раз повторю: есть проблема с обработкой ордеров - выставлнием статусов и обработкой partial fills. И "неправильная" - это работа билда. Скоро баг репорты только в форме 5 стопного ямба будут приниматься, а все остальное игнорироваться. Михиаил, начни уже наконец пользоваться своим продуктом. Тогда, когда в очередной раз просадишь кучу бабла на неправильно обработанном ордере при переходе на свежий билд, тебе не будет казаться, что это какая-то мелочь
|
|
Спасибо:
|
|
|
|
|
RomSunZ
|
Дата: 09.10.2014
Михаил Сухов RomSunZ что Вы опираетесь на поле заявки State, вместо Status И правильно делает. Не смешивайте все в одну кучу. Один написал неправильное о своем. Второй написал неправильное о другом. В итоге получился рассказ Бэтмэн и Русалочка. Что я смешал в кучу? 1. "Начиная с 4.2.2.26 появилась ошибка в выставлении статуса ордера: OrderStates.done присваивается не когда ордер полностью исполнился, а когда только поставился, также присваивается при частичном исполнении, что в корне неверно " 2. "У меня в MarketQuotingStrategy такая-же байда с частичным исполнением заявок на версии 4.2.26." Читайте внимательнее, я здесь не критикой занимаюсь, а пытаюсь помочь в выявлении критических ошибок с привидением доступных логов.
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 09.10.2014
RomSunZ 1. "Начиная с 4.2.2.26 появилась ошибка в выставлении статуса ордера: OrderStates.done присваивается не когда ордер полностью исполнился, а когда только поставился, также присваивается при частичном исполнении, что в корне неверно "
Как воспроизвести?
|
|
Спасибо:
|
|
|
|
|
RomSunZ
|
Дата: 09.10.2014
В моем случае воспроизводится в момент частичного (не полного) исполнения котируемой MarketQuotingStrategy заявки (логи выше).
|
|
Спасибо:
|
|
|
|
|
Andrii
|
Дата: 09.10.2014
RomSunZ В моем случае воспроизводится в момент частичного (не полного) исполнения котируемой MarketQuotingStrategy заявки (логи выше). можешь показать как создается MarketQuotingStrategy?
|
|
Спасибо:
|
|
|
|
|
RomSunZ
|
Дата: 09.10.2014
Также, как и в SampleSma Код
var quoting = new MarketQuotingStrategy(Side, vol)
{
Security = this.Security,
Portfolio = this.Portfolio,
WaitAllTrades = true,
Connector = this.Connector,
Volume = vol,
PriceType = MarketPriceTypes.Following,
// LogLevel = LogLevels.Debug,
PriceOffset = v1,
BestPriceOffset = v2,
};
|
|
Спасибо:
|
|
|
|