Странности поведения Order.State

Странности поведения Order.State
Atom
8/19/2010
Tauler


Сегдня произошел забавеый случай. Вот выкладываю кусок лога, я в нем сотавил только значимые записи

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)


Tags:


Thanks:


1 2  >
Mikhail Sukhov

Avatar
Date: 8/20/2010
Reply


Асинхронный режим? И еще, а почему в Квике время выставления и снятия для заявки одинаковое?

Thanks:

Tauler

Avatar
Date: 8/20/2010
Reply


Асинхронные. ну вот так заявку выставил - и сигнал ушел - надо снимать. эт овсе в рамках одной секнуды, на деле прошло около полсекунды

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

Thanks:

Mikhail Sukhov

Avatar
Date: 8/20/2010
Reply


Ок, понятно. Буду разбираться. По возникновению вопросов - отпишусь. Примерно понятно где. Я некоторую эвристику вставлял в состояния заявок (чтобы побыстрее менять ее состояния по некоторым признакам, например, когда стоп активировал производную, значит он матчед и т.д.), видимо оно и глючит.

Заметил на скрине разницу с логом в 2-3 секунды.

Thanks:

Tauler

Avatar
Date: 8/20/2010
Reply


Кстати есть еще несколько наблюдей насчет Order.Status - чуть попзже постараюсь внятно сформулировать. Прблема похожая - приходит заявка со State.Done, только в Status у нее по тем или иным причнам стоит NotDone или NotValidate - (первый случай -когда заявки исполняется в несколько сделок, второй - пытаюсь снять заявку со статусом Active , но на бирже она походу уже исполнена).В таких слкчаях тоже приходят заяки так же - State.Done но баланс меняется.

Thanks:

Tauler

Avatar
Date: 8/20/2010
Reply


Ну лог то по локальному времени компа, а не биржевому

Thanks:

Mikhail Sukhov

Avatar
Date: 8/20/2010
Reply


Насчет NotValidated - вполне закономерное поведения. Статусов у заявки может быть много. При регистрации - один статус, при снятии - второй. По хорошему надо делать коллекцию статусов, как я сделал с сообщениями

http://stocksharp.com/doc/help/html/P_Ecng_Trading_BusinessEntities_Order_Messages.htm

но это будет просто не удобно использовать.

Насчет второго, надо проверить самому... Выглядит как баг Квика.

А разрешилась ситуация со статусом 13?

Thanks:

Tauler

Avatar
Date: 8/20/2010
Reply


да нет. просто я подстроился под проблему и все. это говорят биржа сама снимает, когда колво транзакций закшкаливает. это вылезло на тестка, когда я туда сюда 100 акций гонял часто. видимо был превышен какой то тайны лимит количества заявок в единицу времени (может даже у брокера)

Thanks:

Tauler

Avatar
Date: 8/20/2010
Reply


Получает что State.Done рановато выставляется?

Thanks:

Mikhail Sukhov

Avatar
Date: 8/20/2010
Reply


Пока не смотрел... Не думаю, думаю неправильное поведение - когда Active снова перевыставляеца. Состояние заявки - оно ведь еще и по сделкам идет. А они приходят раньше чем заявки обновляются.

Thanks:

Tauler

Avatar
Date: 8/20/2010
Reply


А они приходят раньше чем заявки обновляются.

ну а как же тогда понимать что с заявкой все ? если она приходит Done, а потом еще и еще Done, но с разными балансами? У меня же арбитраж, это очень важно.

Thanks:
1 2  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy