我正在尝试将 PartyID 组添加到 FIX4.4 消息中。
我找不到 PartyID 的“组”。所以我按顺序添加它们。
NoPartyIDs、PartyRole、PartyIDSource、PartyID
但是,无论我以哪种方式添加它们,修复引擎似乎都会重新排序它们。
我应该怎么做,或者有没有办法指定顺序?
public QuickFix.FIX44.MarketDataRequest QueryMarketDataRequest44(string symbol)
{
MDReqID mdReqID = new MDReqID("RqID"+symbol);
SubscriptionRequestType subType = new SubscriptionRequestType(SubscriptionRequestType.SNAPSHOT_PLUS_UPDATES);
MarketDepth marketDepth = new MarketDepth(1);
QuickFix.FIX44.MarketDataRequest.NoMDEntryTypesGroup marketDataEntryGroup = new QuickFix.FIX44.MarketDataRequest.NoMDEntryTypesGroup();
QuickFix.FIX44.MarketDataRequest.NoRelatedSymGroup symbolGroup = new QuickFix.FIX44.MarketDataRequest.NoRelatedSymGroup();
symbolGroup.Set(new Symbol(symbol));
QuickFix.FIX44.MarketDataRequest message = new QuickFix.FIX44.MarketDataRequest(mdReqID, subType, marketDepth);
message.Set(new MDUpdateType(0));
message.AddGroup(symbolGroup);
QuickFix.Fields.NoPartyIDs noPartyIDs = new QuickFix.Fields.NoPartyIDs(1);
QuickFix.Fields.PartyID partyID = new QuickFix.Fields.PartyID("XXXX");
QuickFix.Fields.PartyIDSource partyIDSource = new QuickFix.Fields.PartyIDSource('D');
QuickFix.Fields.PartyRole partyRole = new QuickFix.Fields.PartyRole(35);
message.SetField(noPartyIDs);
message.SetField(partyRole);
message.SetField(partyIDSource);
message.SetField(partyID);
return message;
}