Как вы читаете части многопланового ордера, используя QuickFix в C #? - PullRequest
3 голосов
/ 26 июля 2011

Когда вы обрабатываете сообщение QuickFix44.NewOrderMultileg в C #, как вы извлекаете детали ног?

Единственная документация, которую я нашел до сих пор, похоже, относится только к рыночным данным и / или сильно устарела http://www.quickfixengine.org/quickfix/doc/html/csharp/repeating_groups_2.html

1 Ответ

3 голосов
/ 26 июля 2011

То же самое, что вы сделали в приложении, но вам нужно пойти немного глубже.

NewOrderMultileg -> InstrumentLeg/LegSipulations and other groups and fields.

Получить количество ног, присутствующих в сообщении, прочитав NoLegs . Затем переберите сообщение, читая группы по очереди.

Компоненты в сообщении могут быть в группе или отдельно. Всякий раз, когда вы найдете суффикс Grp , ожидайте несколько групп. См. здесь для уточнения.

Не пишите один и тот же кусок кода несколько раз, сделайте цикл. Вы не знаете, сколько групп в сообщении.

for (int i = 1; i <= groupCount; ++i)
{
    message.getGroup(i, group);
    group.get(MDEntryType);
    group.get(MDEntryPx);
    group.get(MDEntrySize);
    group.get(orderID);
    /* Do other stuff */
}

Для компонентов в сообщении, по одному для каждой ветви, прочитайте также компонент в этом цикле.

...