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


Судя по всему у некоторых участников на 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 стало больше логов, особенно в плане заявок и сделок.

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

Теги:


Спасибо:


<< < 2 3 4 5 6  >
Alexander

Фотография
Дата: 24.09.2011
Ответить


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

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


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

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

Фотография
Дата: 26.09.2011
Ответить


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);
Спасибо:

Alexander

Фотография
Дата: 26.09.2011
Ответить


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);


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

Mikhail Sukhov

Фотография
Дата: 26.09.2011
Ответить


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


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

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

Фотография
Дата: 26.09.2011
Ответить


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


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


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

Спасибо:

hobo

Фотография
Дата: 12.10.2011
Ответить


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


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


для скорейшего нахождения возможных ошибок эту задачу необходимо делать не одному человеку :)

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

esper

Фотография
Дата: 13.10.2011
Ответить


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. перенесите последние два сообщения в эту тему
Спасибо:

sergun

Фотография
Дата: 28.10.2011
Ответить


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

4.03. Пользую QuikTrader

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

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

Mikhail Sukhov

Фотография
Дата: 29.10.2011
Ответить


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

4.03. Пользую QuikTrader

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

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


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

sergun

Фотография
Дата: 29.10.2011
Ответить


Mikhail Sukhov Перейти
sergun Перейти
Мда, грустно все как-то со S#.

4.03. Пользую QuikTrader

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

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


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


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

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

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy