コード例 #1
0
        private void QuotesLogin(MessageMbtQuotes message)
        {
            var    writePacket = QuoteSocket.MessageFactory.Create();
            string textMessage = "G|100=DEMOXJSP;8055=demo01\n";

            if (debug)
            {
                log.Debug("Login response: " + textMessage);
            }
            writePacket.DataOut.Write(textMessage.ToCharArray());
            QuotePacketQueue.Enqueue(writePacket, message.SendUtcTime);
        }
コード例 #2
0
        private void SymbolRequest(MessageMbtQuotes message)
        {
            var symbolInfo = Factory.Symbol.LookupSymbol(message.Symbol);

            log.Info("Received symbol request for " + symbolInfo);
            ProviderSimulator.AddSymbol(symbolInfo.Symbol);
            switch (message.FeedType)
            {
            case "20000":     // Level 1
                if (symbolInfo.QuoteType != QuoteType.Level1)
                {
                    throw new ApplicationException("Requested data feed of Level1 but Symbol.QuoteType is " + symbolInfo.QuoteType);
                }
                break;

            case "20001":     // Level 2
                if (symbolInfo.QuoteType != QuoteType.Level2)
                {
                    throw new ApplicationException("Requested data feed of Level2 but Symbol.QuoteType is " + symbolInfo.QuoteType);
                }
                break;

            case "20002":     // Level 1 & Level 2
                if (symbolInfo.QuoteType != QuoteType.Level2)
                {
                    throw new ApplicationException("Requested data feed of Level1 and Level2 but Symbol.QuoteType is " + symbolInfo.QuoteType);
                }
                break;

            case "20003":     // Trades
                if (symbolInfo.TimeAndSales != TimeAndSales.ActualTrades)
                {
                    throw new ApplicationException("Requested data feed of Trades but Symbol.TimeAndSale is " + symbolInfo.TimeAndSales);
                }
                break;

            case "20004":     // Option Chains
                break;

            default:
                throw new ApplicationException("Sorry, unknown data type: " + message.FeedType);
            }
        }