Сегдня произошел забавеый случай. Вот выкладываю кусок лога, я в нем сотавил только значимые записи
16:44:13,703 - Sell limit. GZU0 BA = 16281, BAinMD = 16280 order price = 16280, TransId = 57362 16:44:14,062 - I AM CANCEL ORDER 57362 16:44:14,625 - Name = GAZP, TransID = 57362, Id = 2177093423, Vol = 20, Bal = 18, State = Done, Status = Done 16:44:14,625 - Name = GAZP, TransID = 57362, Id = 2177093423, Vol = 20, Bal = 13, State = Active, Status = Done 16:44:14,781 - Name = GAZP, TransID = 57362, Id = 2177093423, Vol = 20, Bal = 6, State = Active, Status = Done 16:44:15,140 - Name = GAZP, TransID = 57362, Id = 2177093423, Vol = 20, Bal = 1, State = Done, Status = Done
то есть выставилась заявка на 20 конкрактов, потом изза того что сигнал изменился, я отправил снятие заявки, в результате в OrderChaged пришла строка
16:44:14,625 - Name = GAZP, TransID = 57362, Id = 2177093423, Vol = 20, Bal = 18, State = Done, Status = Done
в потом в OrderChaged пришло строки 16:44:14,625 - Name = GAZP, TransID = 57362, Id = 2177093423, Vol = 20, Bal = 13, State = Active, Status = Done 16:44:14,781 - Name = GAZP, TransID = 57362, Id = 2177093423, Vol = 20, Bal = 6, State = Active, Status = Done 16:44:15,140 - Name = GAZP, TransID = 57362, Id = 2177093423, Vol = 20, Bal = 1, State = Done, Status = Done
получается что заявка была активна, потом Done, потом снова активна?
16:44:15,140 - Name = GAZP, TransID = 57362, Id = 2177093423, Vol = 20, Bal = 1, State = Done, Status = Done - это заявка реально снялась. так же прилагаю скрин с заявками (Orders.jpeg)
Комментарии (13)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
Асинхронный режим? И еще, а почему в Квике время выставления и снятия для заявки одинаковое?
Асинхронные. ну вот так заявку выставил - и сигнал ушел - надо снимать. эт овсе в рамках одной секнуды, на деле прошло около полсекунды
16:44:13,703 - Sell limit. GZU0 BA = 16281, BAinMD = 16280 order price = 16280, TransId = 57362 16:44:14,062 - I AM CANCEL ORDER 57362
Ок, понятно. Буду разбираться. По возникновению вопросов - отпишусь. Примерно понятно где. Я некоторую эвристику вставлял в состояния заявок (чтобы побыстрее менять ее состояния по некоторым признакам, например, когда стоп активировал производную, значит он матчед и т.д.), видимо оно и глючит.
Заметил на скрине разницу с логом в 2-3 секунды.
Кстати есть еще несколько наблюдей насчет Order.Status - чуть попзже постараюсь внятно сформулировать. Прблема похожая - приходит заявка со State.Done, только в Status у нее по тем или иным причнам стоит NotDone или NotValidate - (первый случай -когда заявки исполняется в несколько сделок, второй - пытаюсь снять заявку со статусом Active , но на бирже она походу уже исполнена).В таких слкчаях тоже приходят заяки так же - State.Done но баланс меняется.
Ну лог то по локальному времени компа, а не биржевому
Насчет NotValidated - вполне закономерное поведения. Статусов у заявки может быть много. При регистрации - один статус, при снятии - второй. По хорошему надо делать коллекцию статусов, как я сделал с сообщениями
http://stocksharp.com/doc/help/html/P_Ecng_Trading_BusinessEntities_Order_Messages.htm
но это будет просто не удобно использовать.
Насчет второго, надо проверить самому... Выглядит как баг Квика.
А разрешилась ситуация со статусом 13?
да нет. просто я подстроился под проблему и все. это говорят биржа сама снимает, когда колво транзакций закшкаливает. это вылезло на тестка, когда я туда сюда 100 акций гонял часто. видимо был превышен какой то тайны лимит количества заявок в единицу времени (может даже у брокера)
Получает что State.Done рановато выставляется?
Пока не смотрел... Не думаю, думаю неправильное поведение - когда Active снова перевыставляеца. Состояние заявки - оно ведь еще и по сделкам идет. А они приходят раньше чем заявки обновляются.
А они приходят раньше чем заявки обновляются.
ну а как же тогда понимать что с заявкой все ? если она приходит Done, а потом еще и еще Done, но с разными балансами? У меня же арбитраж, это очень важно.
Будет фикс в ближайшее время.
вот смотрите - снова
12:35:23,609 - Name = GAZP, TransID = 44699, Id = 2188980920, Vol = 20, Bal = 12, State = Done, Status = Done 12:35:23,625 - Name = GAZP, TransID = 44699, Id = 2188980920, Vol = 20, Bal = 5, State = Done, Status = Done
и со статусом повторилась ситуация
12:05:24,859 - Name = St_Ri, TransID = 38699, Id = 2188596122, Vol = 2, Bal = 1, State = Done, Status = NotValidated 12:05:25,859 - Name = St_Ri, TransID = 38699, Id = 2188596122, Vol = 2, Bal = 0, State = Done, Status = NotValidated
а фикс будет на какую версию стокшарпа?
Фикс - как отдельная версия. 2.3.