Search code examples
fix-protocol

Market Data Request Code Formatting


    var noMDETGroup1 = new QuickFix.FIX42.MarketDataRequest.NoMDEntryTypesGroup();
    noMDETGroup1.MDEntryType = new MDEntryType('0');
    var noMDETGroup2 = new QuickFix.FIX42.MarketDataRequest.NoMDEntryTypesGroup();
    noMDETGroup2.MDEntryType = new MDEntryType('1');
    var noMDETGroup3 = new QuickFix.FIX42.MarketDataRequest.NoMDEntryTypesGroup();
    noMDETGroup3.MDEntryType = new MDEntryType('2');
    var noMDETGroup4 = new QuickFix.FIX42.MarketDataRequest.NoMDEntryTypesGroup();
    noMDETGroup4.MDEntryType = new MDEntryType('4');

    msg.AddGroup(noMDETGroup1);
    msg.AddGroup(noMDETGroup2);
    msg.AddGroup(noMDETGroup3);
    msg.AddGroup(noMDETGroup4);
}

Is there any simpler way to do the repeating group? The Quick Fix/n site give me this idea: http://quickfixn.org/tutorial/repeating-groups.html


Solution

  • Well, here's one way:

    char[] mdEntryTypes = {'0', '1', '2', '4'};
    foreach (char c in mdEntryTypes)
    {
        var group = new QuickFix.FIX42.MarketDataRequest.NoMDEntryTypesGroup();
        group.MDEntryType = new MDEntryType(c);
        msg.AddGroup(group);
    }