Как изменить порядок тегов в сообщении MarketDataRequest? - PullRequest
0 голосов
/ 12 сентября 2011

Я пытаюсь подписаться на ценовой поток, используя следующий код:

Using l_msg As New QuickFix42.MarketDataRequest(New MDReqID(Date.Now.Ticks.ToString), New SubscriptionRequestType(SubscriptionRequestType.SNAPSHOT_PLUS_UPDATES), New MarketDepth(1))

            l_msg.setField(New MDUpdateType(1))
            l_msg.setField(New AggregatedBook(False))
            l_msg.setField(New NoMDEntryTypes(2))
            l_msg.setField(New MDEntryType("0"c))
            l_msg.setField(New MDEntryType("1"c))
            l_msg.setField(New Symbol("EUR/USD"))
            l_msg.setField(New NoRelatedSym(1))

            Session.sendToTarget(l_msg, SENDER_COMP_ID.Value, TARGET_COMP_ID.Value)
        End Using

Полученное сообщение FIX:

8 = FIX.4.2 9 =140 35 = V 34 = 2 49 = SENDER_COMP_ID 52 = 20110909-15: 44: 02,855 56 = TARGET_COMP_ID 55 = EUR / USD 146 = 1 262 = 634511906383686907 263 = 1 264 = 1 265 = 1 266 = N 267 = 2 269 =1 10 = 079

Мне нужно изменить порядок тегов, чтобы сразу после тега 146 появлялось 55. Я пытался вызывать setField в другом порядке, но каждый раз это дает один и тот же результат.

Как правильно обрабатывать порядок тегов сообщений?

Правка - проблема решена:

Я следовал Предложение DumbCoder и создавал сообщениеиспользуя addGroup вместо setField.Следующий пример кода мне также помог: http://forexforums.dailyfx.com/fix-api-support/411090-fix-api-example.html

Примечание. Пример написан на Java и предназначен для QF44.

1 Ответ

0 голосов
/ 13 сентября 2011

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

Установите ValidateFieldsOutOfOrder как N на вашем акцепторе, поэтому даже если теги не в порядке, ваше сообщение не будет отклонено.Это вызвало у меня много работы, потому что все, что я пробовал, теги никогда не были в порядке, и я должен был сосредоточиться на приведении тегов в порядок.И акцептор, который отклоняет сообщения, если теги не в порядке, не является хорошим вариантом.Вы не можете полагаться на каждую библиотеку исправлений для выполнения ставок.

...