Я пытаюсь читать из механизма FIX, используя Python и Quickfix, и мне удалось заставить механизм распознавать пользовательские сообщения путем изменения используемого словаря данных (с необходимыми группами сообщений).
Проблема, с которой я сейчас сталкиваюсь, заключается в чтении повторяющихся групп из пользовательских сообщений. документация по быстрым исправлениям показывает следующее:
import quickfix
import quickfix42
noMDEntries = quickfix.NoMDEntries()
message.getField(noMDEntries)
group = quickfix42.MarketDataSnapshotFillRefresh.NoMDEntries()
MDEntryType = quickfix.MDEntryType()
MDEntryPx = quickfix.MDEntryPx()
MDEntrySize = quickfix.MDEntrySize()
orderID = quickfix.OrderID();
message.getGroup(1, group);
group.getField(MDEntryType);
group.getField(MDEntryPx);
group.getField(MDEntrySize);
group.getField(orderID);
... что хорошо для сообщений FIX. Когда я пытаюсь сослаться на свое собственное сообщение, вот так:
group = quickfix.CustomMessage.NoMDEntries()
... Я получаю ошибку атрибута.
Есть идеи, как читать повторяющиеся группы в пользовательских сообщениях?
Редактировать 1:
Я нашел взлом, но уверен, что есть лучший способ сделать это ...
for i in range(int(message.getField(NoMDEntries):
group = quickfix.Group(int(message.repeatingField), int(message.delimField))
message.getGroup(i+1, group)
print group.getField(MDEntryPx)
#do something with repeating fields etc
... идеи кто-нибудь?