Комментарии и предложения
Atom Ответить
11.03.2011


Заметил пару нюансов по PlazaTrader:
1)
Код

_plazaStreamManager = new PlazaStreamManager(_plazaConnectionPool, TRequestType.RT_COMBINED_DYNAMIC, 1000);

Почему рекваест тайп фиксированный? надо конкретно задавать, например у меня так было:
Цитата:

"FORTS_FUTAGGR20_REPL" - RT_REMOTE_ONLINE
"FORTS_FUTTRADE_REPL" - RT_REMOTE_ONLINE
"FORTS_FUTINFO_REPL" - RT_COMBINED_DYNAMIC
"FORTS_FUTCOMMON_REPL" - RT_REMOTE_ONLINE
"FORTS_POS_REPL" - RT_COMBINED_DYNAMIC
"FORTS_PART_REPL" - RT_COMBINED_DYNAMIC
"FORTS_VM_REPL" - RT_COMBINED_DYNAMIC

Допустим если FORTS_FUTCOMMON_REPL задать в RT_COMBINED_DYNAMIC, то при реконнекте будет перекачиваться весь поток заново.
+Revision тоже надо указывать в некоторых потоках.
2) в PlazaStreamManager void Run()
Не обрабатывает состояния типа DS_STATE_ERROR или DS_STATE_CLOSE, те в случае чего будет затык и поток будет висеть закрытым или с ошибкой.
Я для себя брал реализацию с примера(могу выложить если что)
PS У меня несколько сместились приоритеты - придется задержаться на квике, но постораюсь не пропадать.

Теги:


Спасибо:




60 Ответов
< 1 2 3 
aspirant

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


Mikhail Sukhov Перейти
Вопрос уже содержит ответ.Smile


Кроме как создания дополнительного словаря, мне в голову больше ничего не приходитConfused
Спасибо:

Mikhail Sukhov

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


skuvv Перейти


А зачем PlazaActionType заменил на i1 у колонки Action?
Спасибо:

skuvv

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


Mikhail Sukhov Перейти
skuvv Перейти


А зачем PlazaActionType заменил на i1 у колонки Action?

Ошибки схемы, PlazaActionType не работает
Цитата:

error;p2err 32776=0x8008 - 'DB:WRONG_DB_SCHEME';Type mismatch for field 'action' in table 'orders_log'; server type i1; client type i4

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

skuvv

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


Пробовал отправить ордера, получил эксепшн.
В коде используется метод CreateMessageById, как оказалось по инфе суппорта функция пока не готова.
Её и в документации нет. Переделаю на использование CreateMessageByName
Автор топика
Спасибо:

Mikhail Sukhov

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


skuvv Перейти
Mikhail Sukhov Перейти
skuvv Перейти


А зачем PlazaActionType заменил на i1 у колонки Action?

Ошибки схемы, PlazaActionType не работает
Цитата:

error;p2err 32776=0x8008 - 'DB:WRONG_DB_SCHEME';Type mismatch for field 'action' in table 'orders_log'; server type i1; client type i4



Понятно. Но я думаю проблема вовсе не в PlazaActionType, так как он специально для этой колонки и создавался. Вопрос подозреваю уже к аспиранту.
Спасибо:

skuvv

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


Исправил некоторые ошибки в отправлении ордеров, остановился в PlazaTrader в методе SendTransaction.
В асинхронном режиме ошибка с _messageDispatcher.
В синхронном режиме кажется неправильно используется reply.
Автор топика
Спасибо:

aspirant

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


Mikhail Sukhov Перейти
aspirant Перейти
Теперь: ты предлагаешь, чтобы при запуске PlazaTrader парсил файлы-схемы в заданной папке и создавал переменные PlazaListener с наборами колоннок, заданными пользователем.


Не PlazaListener, а PlazaTable, который передается в PlazaListener.

aspirant Перейти
Вопрос: в каком месте пользователь будет задавать эти колоннки?


У себя в коде. До Connect, я так понимаю (после подключение ведь нельзя уже править метаданные?)


Вроде сделал, как ты предлагаешь. Старый код пока закомментил. Посмотри, пожалуйста. Папку с файл-схемами парсить не нужно.
Спасибо:

Mikhail Sukhov

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


aspirant Перейти

Вроде сделал, как ты предлагаешь. Старый код пока закомментил. Посмотри, пожалуйста. Папку с файл-схемами парсить не нужно.


А в чем необходимость PlazaSystemTableRegistry?
Спасибо:

aspirant

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


Mikhail Sukhov Перейти
А в чем необходимость PlazaSystemTableRegistry?


В нем таблицы, через которые мапятся стандартные объекты фреймворка. Мы должны быть уверены, что в стандартных (системных) таблица есть все колоннки. Если же использовать таблицу из PlazaTableRegistry возникнет проблема, если пользователь захочет указать в ней не все колоннки.
Спасибо:

aspirant

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


Вопрос по COM исключениям, которые могут возникать в PlazaStreamManager'е. По результатам небольшого тестирования возникают два:
  1. System.Runtime.InteropServices.InvalidComObjectException: по первой возникали при отписке от потоков, то есть при завершении работы. Я думаю, их стоит просто проглатывать.
  2. System.Runtime.InteropServices.COMException: возникали во всевозможных случаях, от тривиальных ошибок в файлах-схемах (с этим сейчас, надеюсь, не должно быть проблем), до всякой эзотерики, например, не запущен плазовский сервис Windows P2MQRouter.exe. Тут я вижу два варианта: 1) оборачивать в какой-нибудь InvalidOperation/ApplicationException или создавать открытое свойство-коллекцию ошибок. Прокидывать это исключение пользователю не хочется. Мы все-таки .Net-фреймворк, а не COM-библиотека?

Что лучше?
Спасибо:
< 1 2 3 

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

loading
clippy