Проблемы со сделками, позициями

Проблемы со сделками, позициями
Atom
8/11/2011
Mikhail Sukhov


Судя по всему у некоторых участников на 3.2.xxx появился сабж. Давайте сделаем следующее для поиска причины:

  1. Подпишемся на QuikTrader.ProcessDataError, QuikTrader.PreProcessDdeData, QuikTrader.NewOrders, QuikTrader.OrdersChanged, QuikTrader.OrdersFailed, QuikTrader.NewMyTrades, Strategy.NewOrder, Strategy.OrderChanged, Strategy.NewMyTrades.
  2. Из этих событий сделайте логирование.
  3. У стратегии сделайте логирование. В 3.2.6 стало больше логов, особенно в плане заявок и сделок.

Без логов разобраться сложно. Скажу больше, скорее всего, невозможно. Поэтому, чтобы взаимно упростить работу, ждем от вас логов.


Tags:


Thanks:


<< < 2 3 4 5 6  >
Alexander

Avatar
Date: 9/24/2011
Reply


samujan: использовал 3.2.11 и были иногда какие то глюки c PositionManager скачал 3.2.12 ,но так же остались проблемы( К сожелениею логи от стокшарпа не использую,но просто хочу сказать ,что помоему проблемы с positionmanager не решили(

С уважением!Спасибо за S#)

Проблемы при работе с квиком? какую сборку 3.2.12 использовали?

Thanks:

Самунджян Артем

Avatar
Date: 9/26/2011
Reply


Alexander:

samujan: использовал 3.2.11 и были иногда какие то глюки c PositionManager скачал 3.2.12 ,но так же остались проблемы( К сожелениею логи от стокшарпа не использую,но просто хочу сказать ,что помоему проблемы с positionmanager не решили(

С уважением!Спасибо за S#)

Проблемы при работе с квиком? какую сборку 3.2.12 использовали?

Использовал сборку 3.2.12 ,никаких проблем с квиком не было всё отлично работало.Раньше просто один робот работал на одном инструменте,затем решили использовать несколько роботов на одном инструменте и тут понадобился S# методы,чтобы использовать именно колиечство позиций со стратегии ,а не с одного инструмента.Запускал для теста всё нормально работало,пока местами начали проскальзывать глюки там допустим на счету 2 позиции,а он пишет 3. Затем поставил новую сборку и вот она тоже дала глюк.

Все заявки через стратегию реалицию через this.CreateOrder(......); this.RegisterOrder(order); this.ChildStrategies.Add(mqs);

Thanks:

Alexander

Avatar
Date: 9/26/2011
Reply


samujan:

Alexander:

samujan: использовал 3.2.11 и были иногда какие то глюки c PositionManager скачал 3.2.12 ,но так же остались проблемы( К сожелениею логи от стокшарпа не использую,но просто хочу сказать ,что помоему проблемы с positionmanager не решили(

С уважением!Спасибо за S#)

Проблемы при работе с квиком? какую сборку 3.2.12 использовали?

Использовал сборку 3.2.12 ,никаких проблем с квиком не было всё отлично работало.Раньше просто один робот работал на одном инструменте,затем решили использовать несколько роботов на одном инструменте и тут понадобился S# методы,чтобы использовать именно колиечство позиций со стратегии ,а не с одного инструмента.Запускал для теста всё нормально работало,пока местами начали проскальзывать глюки там допустим на счету 2 позиции,а он пишет 3. Затем поставил новую сборку и вот она тоже дала глюк.

Все заявки через стратегию реалицию через this.CreateOrder(......); this.RegisterOrder(order); this.ChildStrategies.Add(mqs);

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

Thanks:

Mikhail Sukhov

Avatar
Date: 9/26/2011
Reply


samujan: Все заявки через стратегию реалицию через this.CreateOrder(......); this.RegisterOrder(order); this.ChildStrategies.Add(mqs);

Дочерние стратегии имеют свойство заканчивать свою работу раньше, чем по ним придут сделки. Лечится через Strategy.RemoveChildsStrategy

Thanks:

Самунджян Артем

Avatar
Date: 9/26/2011
Reply


Mikhail Sukhov:

samujan: Все заявки через стратегию реалицию через this.CreateOrder(......); this.RegisterOrder(order); this.ChildStrategies.Add(mqs);

Дочерние стратегии имеют свойство заканчивать свою работу раньше, чем по ним придут сделки. Лечится через Strategy.RemoveChildsStrategy

Даже если я захожу обычной лимитной заявкой он всё равно не всегда правильно распознаёт кол-во позиций.Причём если бы я что-то неправильно делал,то он скорее всего,всегда бы писал ноль количество позиций.[confused]

Thanks:

hobo

Avatar
Date: 10/12/2011
Reply


Проблемы со сделками, позициями. Потестировать изменение позиции с помощью указанного PositionManager.

Тестирование с указанным PositionManager-ом уже выполняется, о результатах отпишусь позднее.

для скорейшего нахождения возможных ошибок эту задачу необходимо делать не одному человеку :) Интересно, какие результаты Вы, esper, получили. По моим наблюдениям ошибки в подсчете позиции бывают когда в стратегию не приходит столько же OnOrderChanged, сколько их появляется через QuikTrader.

Thanks:

esper

Avatar
Date: 10/13/2011
Reply


hobo: Интересно, какие результаты Вы, esper, получили. По моим наблюдениям ошибки в подсчете позиции бывают когда в стратегию не приходит столько же OnOrderChanged, сколько их появляется через QuikTrader.

Все верно, в некоторых случаях, OrderChanged для стратегии не вызывается и PositionManager стратегии не пересчитывает свою позицию. Происходит это, скорее всего, из-за того, что:

  1. в шлюз приходит информация о новой заявке
  2. в шлюз приходит информация о сделке
  3. в шлюз приходит информация что заявка из п.1 изменена
  4. заявка добавляется в стратегию получается, что заявка не успевает добавиться в стратегию до п.3, когда приходит событие изменения заявки, а после того как заявка добавится в стратегию она больше не меняется => не меняется и позиция.

Примерный лог работы:> 14:37:54:8445 | Debug | Trader | Новая заявка id: 966412305 (49537765) state:Done Buy code:RIZ1 price:135280 volume:1

14:37:54:8635 | Debug | Trader | Новая сделка id: 37415401 order id: 966412305 Buy code:RIZ1 price:135255 volume:1 14:37:54:8695 | Debug | Trader | Заявка изменена id: 966412305 (49537765) state:Done Buy code:RIZ1 price:135280 volume:1 14:37:54:8755 | Debug | Trader | Заявка изменена id: 966412305 (49537765) state:Done Buy code:RIZ1 price:135280 volume:1 14:37:54:8775 | Info | RIZ | Новая заявка id: 966412305 (49537765) state:Done Buy code:RIZ1 price:135280 volume:1 14:37:54:9185 | Info | RIZ | Новая сделка id: 37415401 order id: 966412305 Buy code:RIZ1 price:135255 volume:1 14:37:54:9755 | Info | PS | Новая заявка id: 966412305 (49537765) state:Done Buy code:RIZ1 price:135280 volume:1 14:37:55:0305 | Info | PS | Новая сделка id: 37415401 order id: 966412305 Buy code:RIZ1 price:135255 volume:1

P.s. перенесите последние два сообщения в эту тему

Thanks:

sergun

Avatar
Date: 10/28/2011
Reply


Мда, грустно все как-то со S#.

4.03. Пользую QuikTrader

Эвент Strategy.OrderChanged действительно не появляется. От греха по-дальше перешел на ITrader.NewOrders и ITrader.OrdersChanged было уже спокойно выдохнул.

Ан нет, порой исполненные либо снятые заявки так и остаются в стейте Active, хоть ты тресни.

Thanks:

Mikhail Sukhov

Avatar
Date: 10/29/2011
Reply


sergun: Мда, грустно все как-то со S#.

4.03. Пользую QuikTrader

Эвент Strategy.OrderChanged действительно не появляется. От греха по-дальше перешел на ITrader.NewOrders и ITrader.OrdersChanged было уже спокойно выдохнул.

Ан нет, порой исполненные либо снятые заявки так и остаются в стейте Active, хоть ты тресни.

А с чего решили, что это S#? Ошибку с позами уже почти локализовали, проверим на этих выхах. Но она явно не связана с вашей ситуацией (вообще из другой оперы). С учетом того, что больше никто о проблеме с Active не писал, вывод напрашивается сам собой.[cool]

Thanks:

sergun

Avatar
Date: 10/29/2011
Reply


Mikhail Sukhov:

sergun: Мда, грустно все как-то со S#.

4.03. Пользую QuikTrader

Эвент Strategy.OrderChanged действительно не появляется. От греха по-дальше перешел на ITrader.NewOrders и ITrader.OrdersChanged было уже спокойно выдохнул.

Ан нет, порой исполненные либо снятые заявки так и остаются в стейте Active, хоть ты тресни.

А с чего решили, что это S#? Ошибку с позами уже почти локализовали, проверим на этих выхах. Но она явно не связана с вашей ситуацией (вообще из другой оперы). С учетом того, что больше никто о проблеме с Active не писал, вывод напрашивается сам собой.[cool]

Насчет "оперы" не буду судить. Увидел сообщение тов. esper.

Но вот заявочки остаются в Active. Смотрите, вот даже после всего вызываю CancelActiveOrders и в логе возникают сообщения "Вы не можете снять данную заявку". Предположу, что QuikTrader, как и мои обработчики изменения состояния заявок видят их как Active и соответственно CancelActiveOrders пытается их снять. Хотя в квике заявы давно исполнены либо сняты.

Thanks:
<< < 2 3 4 5 6  >

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

loading
clippy