/// <summary> /// Creates and returns a new <see cref="MarketDataRequest"/> FIX message. /// </summary> /// <param name="symbol">The symbol.</param> /// <param name="marketDepth">The market depth.</param> /// <param name="timeNow">The time now.</param> /// <returns>The FIX message.</returns> public static MarketDataRequest Create(string symbol, int marketDepth, ZonedDateTime timeNow) { Debug.NotEmptyOrWhiteSpace(symbol, nameof(symbol)); Debug.NotNegativeInt32(marketDepth, nameof(marketDepth)); Debug.NotDefault(timeNow, nameof(timeNow)); var marketDataEntryGroup1 = new MarketDataRequest.NoMDEntryTypesGroup(); marketDataEntryGroup1.Set(new MDEntryType(MDEntryType.BID)); var marketDataEntryGroup2 = new MarketDataRequest.NoMDEntryTypesGroup(); marketDataEntryGroup2.Set(new MDEntryType(MDEntryType.OFFER)); var symbolGroup = new MarketDataRequest.NoRelatedSymGroup(); symbolGroup.SetField(new Symbol(symbol)); var message = new MarketDataRequest( new MDReqID($"MD_{timeNow.TickOfDay.ToString()}"), new SubscriptionRequestType(SubscriptionRequestType.SNAPSHOT_PLUS_UPDATES), new MarketDepth(marketDepth)); message.Set(new MDUpdateType(0)); // val:1 to receive shortened message message.AddGroup(marketDataEntryGroup1); message.AddGroup(marketDataEntryGroup2); message.Set(new NoRelatedSym(1)); message.AddGroup(symbolGroup); return(message); }
private static void addMDType(MarketDataRequest tickerRequest, char type) { MarketDataRequest.NoMDEntryTypesGroup g0 = new MarketDataRequest.NoMDEntryTypesGroup(); g0.Set(new MDEntryType(type)); tickerRequest.AddGroup(g0); }
private static void addMDType(MarketDataRequest tickerRequest, char type) { MarketDataRequest.NoMDEntryTypesGroup g0 = new MarketDataRequest.NoMDEntryTypesGroup(); g0.Set(new MDEntryType(type)); tickerRequest.AddGroup(g0); }