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


Использую 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, после перезапуска, ни в пятницу ни в понедельник проблема после перезапуска уже не повторялась.

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

Теги:


Спасибо:




20 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 25.04.2012
Ответить


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

Justtrader

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


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

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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 25.04.2012
Ответить


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


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

Justtrader

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


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


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


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

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

Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 25.04.2012
Ответить


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


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

Eskra

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


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

Justtrader

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


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

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

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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 26.04.2012
Ответить


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


Проверьте с UseQue, потом откатывайтесьLaugh
Спасибо:

Justtrader

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


Возможные убытки при зависании робота возместите? BigGrin
Автор топика
Спасибо:

Eskra

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


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

Alexander

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


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


Код
PlazaTrader.StreamTimeOut



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

Eskra

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


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

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

Alexander

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


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

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



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


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

Eskra

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


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

6) да, роутер последний - ок, отправлю, как повториться
Спасибо:

Justtrader

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


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. начались проблемы.

Автор топика
Спасибо:

Eskra

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


Я работал только с 4.1
Спасибо:

Alexander

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


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

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


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 она стабильно работаетGlare
Автор топика
Спасибо:

Alexander

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


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

Eskra

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


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


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

loading
clippy