← Zurück

Не приходит информация о заявках

Использую S# 4.1(одна из последних сборок с дева, до этого был 4.0.23, на котором все несколько месяцев работало хорошо). Дистр плазы последний, который с поддержкой ммвб. На сервере был запущен рутер, робот в котором наблюдалась проблема и еще отдельным процессом сборщик данных с другим AppName.

В пятницу наблюдалась такая проблема, в понедельник она повторилась.

Робот работает и отправляет заявки через Register Order, также подписан на Order changed, New Order, Order Register Failed итд. В один прекрасный момент после Register Order, так больше и не приходило ни одного события изменения заявки будь то нью, чендж фэил итд. Т.е. заявка так и оставалась навечно со статусом ноне. Причем при последующих вызовах RegisterOrder все последующие заявки тоже оставались Ноне.

После перезапуска робота, все начинало работать опять нормально, причем на бирже была информация о самой первой заявки для которой не пришло событие, т.е. первая заявки реально дошла на биржу в отличии от остальных.

В логах, эксепшенах и процессдатаеррор тишина. Причем при всем этом стаканы нормально обновлялись и Trader.TableRegistry.StreamRegistry.TradeFuture.IsOnline возвращал True.

Проблема случилась в пятницу через час где-то после начала работы робота, в понедельник минут через 15, после перезапуска, ни в пятницу ни в понедельник проблема после перезапуска уже не повторялась.

Есть какие-нибудь соображения? Ибо проблема серьезная, теперь даже по середине дня в магазин спокойно не сходишь 😀

War dieses Thema hilfreich?

Thema teilen

Kommentare (20)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov

Попробуйте PlazaTrader.TransactionManager.UseTransactionQueue = true Если это влияет, то включим по умолчанию.

Justtrader
Justtrader Autor

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

Add: у TransactionManager сейчас нет паблик метода UseTransactionQueue.

Mikhail Sukhov
Mikhail Sukhov

Justtrader: Add: у TransactionManager сейчас нет паблик метода UseTransactionQueue.

Это свойство и оно должно быть. Может версия не последняя?

Justtrader
Justtrader Autor

Mikhail Sukhov:

Justtrader: Add: у TransactionManager сейчас нет паблик метода UseTransactionQueue.

Это свойство и оно должно быть. Может версия не последняя?

Да, библиотека была от 7-ого апреля. Сейчас скачал последнюю, свойство есть.

Но все равно не понимаю, если дело в транзакшен менеджере, то почему не приходили обновления по самой первой заявке?

Mikhail Sukhov
Mikhail Sukhov

Justtrader: если дело в транзакшен менеджере

Предлагаю вначале это выяснить.

Eskra
Eskra

Такая же проблема, UseTransactionQueue не помог.

Justtrader
Justtrader Autor

Вчера не пробовал, и сегодня по некоторым причинам робот не торговал. Но если Eskra не помогло, то вряд ли и меня бы спасло. Да и логично, что инфа по первый заявке должна была придти бы, если проблемы была только в отправке транзакций.

Погонял на тестовом с очередью. Если ставить ЮзКью в тру, то тогда должна быть возможность задать таймаут чисто для очереди, а то стандартный в 100мс тормозит отправку заявок на 50 мс в среднем, что неприемлемо.

Похоже придется пока откатываться на 4.0.23, а жаль, данные с ммвб нужны..

Mikhail Sukhov
Mikhail Sukhov

Justtrader: Похоже придется пока откатываться на 4.0.23, а жаль, данные с ммвб нужны..

Проверьте с UseQue, потом откатывайтесь😂

Alexander
Alexander

Justtrader: Погонял на тестовом с очередью. Если ставить ЮзКью в тру, то тогда должна быть возможность задать таймаут чисто для очереди, а то стандартный в 100мс тормозит отправку заявок на 50 мс в среднем, что неприемлемо.

PlazaTrader.StreamTimeOut

Вопрос ко всем у кого проблемы:

  1. Чему равно PlazaTrader.TransactionManager.UseTransactionQueue ?
  2. Чему равно PlazaTrader.TransactionManager.IsAsync?
  3. Вызывается ли PlazaTrader.OnConnect \ PlazaTrader.OnDisconnect перед проблемной заявкой (той, которая пропадает)?
  4. Как часто наблюдается?
  5. Как давно стало наблюдаться?
  6. Какая версия роутера? Если не последняя - просьба проверить на последней
Justtrader
Justtrader Autor

Alexander Mukhanchikov:

Justtrader: Погонял на тестовом с очередью. Если ставить ЮзКью в тру, то тогда должна быть возможность задать таймаут чисто для очереди, а то стандартный в 100мс тормозит отправку заявок на 50 мс в среднем, что неприемлемо.

PlazaTrader.StreamTimeOut

> 
> 
> Вопрос ко всем у кого проблемы:
> 1) Чему равно PlazaTrader.TransactionManager.UseTransactionQueue ?
> 2) Чему равно PlazaTrader.TransactionManager.IsAsync?
> 3) Вызывается ли PlazaTrader.OnConnect \ PlazaTrader.OnDisconnect перед проблемной заявкой (той, которая пропадает)?
> 4) Как часто наблюдается?
> 5) Как давно стало наблюдаться?
> 6) Какая версия роутера? Если не последняя - просьба проверить на последней


1) false
2) true
3) Нет, разрыва соединения нету, причем стаканы продолжают поступать и дальше.
4) один-два раза в день
5) как перешел на 4.1, сборка от 7 апреля
6) версия последняя

Откатился на 4.0.23 и все тфу-тфу работает нормально, уже второй день.
Дело не в роутере, та как с последним роутером до этого около 2 недель совершено нормально работала 4.0.23, а после перехода на 4.1. начались проблемы.

Alexander
Alexander

Justtrader:

Alexander Mukhanchikov:

Justtrader: Погонял на тестовом с очередью. Если ставить ЮзКью в тру, то тогда должна быть возможность задать таймаут чисто для очереди, а то стандартный в 100мс тормозит отправку заявок на 50 мс в среднем, что неприемлемо.

PlazaTrader.StreamTimeOut

> >
> >
> > Вопрос ко всем у кого проблемы:
> > 1) Чему равно PlazaTrader.TransactionManager.UseTransactionQueue ?
> > 2) Чему равно PlazaTrader.TransactionManager.IsAsync?
> > 3) Вызывается ли PlazaTrader.OnConnect \ PlazaTrader.OnDisconnect перед проблемной заявкой (той, которая пропадает)?
> > 4) Как часто наблюдается?
> > 5) Как давно стало наблюдаться?
> > 6) Какая версия роутера? Если не последняя - просьба проверить на последней
> 
> 
> 1) false

Поставьте в true

С 4.0.23 изменений куча, вся плаза была переписана. 4.0 даже сертификацию не прошла
Просьба как проблема воспроизведётся - отправить логи роутера и стокшарпа на биржу. Можно и нам отправить для исследования.
Justtrader
Justtrader Autor

Alexander Mukhanchikov:

Justtrader:

Alexander Mukhanchikov:

Justtrader: Погонял на тестовом с очередью. Если ставить ЮзКью в тру, то тогда должна быть возможность задать таймаут чисто для очереди, а то стандартный в 100мс тормозит отправку заявок на 50 мс в среднем, что неприемлемо.

PlazaTrader.StreamTimeOut

> > >
> > >
> > > Вопрос ко всем у кого проблемы:
> > > 1) Чему равно PlazaTrader.TransactionManager.UseTransactionQueue ?
> > > 2) Чему равно PlazaTrader.TransactionManager.IsAsync?
> > > 3) Вызывается ли PlazaTrader.OnConnect \ PlazaTrader.OnDisconnect перед проблемной заявкой (той, которая пропадает)?
> > > 4) Как часто наблюдается?
> > > 5) Как давно стало наблюдаться?
> > > 6) Какая версия роутера? Если не последняя - просьба проверить на последней
> >
> >
> > 1) false
> 
> Поставьте в true
> 
> С 4.0.23 изменений куча, вся плаза была переписана. 4.0 даже сертификацию не прошла
> Просьба как проблема воспроизведётся - отправить логи роутера и стокшарпа на биржу. Можно и нам отправить для исследования.


Сейчас работаю на 4.0.23, все ок, кстати на последнем рутере. Ставить опять на своем счете 4.1 и ловить убытки в случае повторения не хочется, сами понимаете. Там активная торговля идет и совсем не одним контрактом. К тому же один человек писал уже, что очередь не помогла. Да и странно если бы она помогла, почему - уже писал выше.

Не знаю прошла она сертификацию или нет, но в отличии от 4.1 она стабильно работает😒
Justtrader
Justtrader Autor

Возможные убытки при зависании робота возместите? 😀

Eskra
Eskra

Сегодня опять работал с UseTransactionQueue - после обеда проблема вылезла опять

Eskra
Eskra
  1. Пробовал и так и так
  2. true
  3. А это что? я просто проверяю Trader.IsConnected
  4. раз, два в день
  5. месяц, но до этого не торговал
  6. последняя

у меня предположение, что это из-за канала, тк сейчас я торгую не на сервере - как поторгую на коллокейшене результаты сообщу

Alexander
Alexander

Eskra: 3) А это что? я просто проверяю Trader.IsConnected 6) последняя

у меня предположение, что это из-за канала, тк сейчас я торгую не на сервере - как поторгую на коллокейшене результаты сообщу

  1. это методы, которые вызываются по событиям Connected \ Disconencted. Можно на них подписаться и посмотреть вызываются или нет
  2. Я про роутер РТС. Т.е. тот, который они на FTP выкладывают. 1.14.8 - вот последняя

если роутер последний, просьба отправить РТС логи роутера с проблемной заявкой. Интересно что они скажут.

Eskra
Eskra
  1. А, понял - нет, разрывов связи в ближайшее время до этого не было

  2. да, роутер последний - ок, отправлю, как повториться

Eskra
Eskra

Я работал только с 4.1

Alexander
Alexander

Исправлено, берите свежую версию 4.1 с codeplex

Eskra
Eskra

Потестировал - все отлично работает, спасибо!