Exemple #1
0
        /// <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);
        }
Exemple #2
0
 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);
 }