2015-08-14 3 views
1

Я хочу, чтобы произвести запрос рыночных данных с 2 группами, NoMDEntryTypes и NoRelatedSym один за другим, как показано ниже:quickfixj свопы группы заказ

267=2 269=0 269=1 146=1 55=EUR/USD 

но когда я отправить сообщение как-то quickfixj или мои словаря данных свопы по заказу групп к следующему:

146=1 55=EUR/USD 267=2 269=0 269=1 

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

Что я могу сделать, чтобы группы были в порядке, который я хочу?! THANKS

+0

Генерация кода QuickFIX/J включает в себя опцию «orderedFields» для упорядочения регулярных полей тела с помощью упорядочения словаря данных. Я не уверен, что это будет заказывать повторяющиеся группы, но, возможно, стоит попробовать, если вам действительно нужно заказать группы по какой-то причине. http://www.quickfixj.org/quickfixj/usermanual/1.5.3/usage/codegen.html –

ответ

3

В FIX порядок тегов в корпусе верхнего уровня не имеет значения. Различные внутренние представления модулей QuickFIX объектов Message игнорируют порядок тегов верхнего уровня, потому что нет никакой пользы для его хранения. Когда сообщение преобразуется в строку, оно упорядочивает их по порядку числового тега. Он не меняет сообщение каким-либо значимым образом в соответствии с FIX.

(Приказ сохраняется внутри повторяющихся групп, поскольку FIX имеет мандат, что упорядочение имеет смысл внутри групп.)

Что я могу сделать, чтобы держать группы в порядке, я хочу?!

Для QuickFix, ответ: Вы не может.

Если это действительно большая проблема для ваших нужд (нет причин, по которым это должно быть), то, я думаю, вам придется исследовать другие параметры двигателя FIX.

+0

Thx Grant ... Так почему же заказ вообще менялся? – rupweb

+2

Поскольку класс 'Message' хранит поля тела верхнего уровня в' HashMap' (я думаю), который используется тегом. Хэши не сохраняют порядок. Это потребует дополнительного кодирования для хранения информации о заказе, что было бы нецелесообразно, потому что FIX не заботится о заказе. –

Смежные вопросы