Example #1
0
 public void prettyPrint(MamdaOrderBook book)
 {
     if (myPrintEntries)
     {
         prettyPrintEntries(book);
     }
     else
     {
         prettyPrintLevels(book);
     }
 }
Example #2
0
 public void prettyPrintEntries(MamdaOrderBook book)
 {
     if (myQuietModeLevel < 2)
     {
         Console.WriteLine("Book for: " + book.getSymbol());
     }
     if (myQuietModeLevel < 1)
     {
         Console.WriteLine("    ID/NUM         TIME      SIZE   PRICE");
     }
     prettyPrintEntriesSide(book.getBidLevels(), "BID");
     prettyPrintEntriesSide(book.getAskLevels(), "ASK");
 }
Example #3
0
 public void onFailure(
     MamdaOrderBookCheckType checkType,
     string reason,
     MamaMsg msg,
     MamdaOrderBook realTimeBook,
     MamdaOrderBook checkBook)
 {
     //Failed Check
     Console.WriteLine("Failure check ({0} - {1})", checkType, reason);
     Console.WriteLine("msg: {0}", msg);
     Console.WriteLine("Failed Current Book: ");
     realTimeBook.dump();
     Console.WriteLine("Failed Checking Book: ");
     checkBook.dump();
 }
Example #4
0
            public void onFailure(
				MamdaOrderBookCheckType  checkType,
				string reason,
				MamaMsg msg,
				MamdaOrderBook realTimeBook,
				MamdaOrderBook checkBook)
            {
                //Failed Check
                Console.WriteLine("Failure check ({0} - {1})", checkType, reason);
                Console.WriteLine("msg: {0}", msg);
                Console.WriteLine("Failed Current Book: ");
                realTimeBook.dump();
                Console.WriteLine("Failed Checking Book: ");
                checkBook.dump();
            }
Example #5
0
            public void prettyPrintLevels(MamdaOrderBook  book)
            {
                IEnumerator bidEnum = book.getBidLevels().GetEnumerator();
                IEnumerator askEnum = book.getAskLevels().GetEnumerator();
                bool bidHasNext = bidEnum.MoveNext();
                bool askHasNext = askEnum.MoveNext();

                if (myQuietModeLevel<2)
                {
                    Console.WriteLine ("Book for: " + book.getSymbol());
                }
                if (myQuietModeLevel<1)
                {
                    Console.WriteLine ("        Time     Num  Size      Price      Act | Act     Price   Size    Num       Time  ");
                }

                while (bidHasNext || askHasNext)
                {
                    if (bidHasNext)
                    {
                        MamdaOrderBookPriceLevel bidLevel = (MamdaOrderBookPriceLevel)bidEnum.Current;
                        if (myQuietModeLevel < 1)
                        {
                            Console.Write("   ");
                            paddedPrint(bidLevel.getTime().ToString("hh:mm:ss.FFF"), 12, false);
                            paddedPrint(bidLevel.getNumEntries(), 4, false);
                            paddedPrint(bidLevel.getSize(), 7, false);
                            paddedPrintPrice(bidLevel.getPrice(), 12, false);
                            Console.Write (" ");
                            paddedPrint(bidLevel.getAction(), 7, false);
                            Console.Write (" ");
                        }
                        bidHasNext = bidEnum.MoveNext();
                    }
                    else
                    {
                        if (myQuietModeLevel < 1)
                            Console.Write ("                                               ");
                    }
                    if (myQuietModeLevel < 1)
                    {
                        Console.Write("|");
                    }

                    if(askHasNext)
                    {
                        MamdaOrderBookPriceLevel askLevel = (MamdaOrderBookPriceLevel)askEnum.Current;
                        if (myQuietModeLevel < 1)
                        {
                            Console.Write ("  ");
                            Console.Write (askLevel.getAction());
                            Console.Write ("  ");
                            paddedPrintPrice(askLevel.getPrice(), 12, true);
                            Console.Write (" ");
                            paddedPrint(askLevel.getSize(), 7, true);
                            Console.Write (" ");
                            paddedPrint(askLevel.getNumEntries(), 6, true);
                            Console.Write (" ");
                            paddedPrint(askLevel.getTime().ToString("hh:mm:ss.FFF"), 12, true);
                        }
                        askHasNext = askEnum.MoveNext();
                    }
                    if (myQuietModeLevel < 1)
                    {
                        Console.WriteLine("");
                    }
                }
                if (myQuietModeLevel < 1)
                {
                    Console.WriteLine("");
                }
            }
Example #6
0
 public void prettyPrintEntries(MamdaOrderBook book)
 {
     if (myQuietModeLevel < 2)
     {
         Console.WriteLine ("Book for: " + book.getSymbol());
     }
     if (myQuietModeLevel < 1)
     {
         Console.WriteLine ("    ID/NUM         TIME      SIZE   PRICE");
     }
     prettyPrintEntriesSide (book.getBidLevels(), "BID");
     prettyPrintEntriesSide (book.getAskLevels(), "ASK");
 }
Example #7
0
 public void prettyPrint(MamdaOrderBook  book)
 {
     if (myPrintEntries)
     {
         prettyPrintEntries(book);
     }
     else
     {
         prettyPrintLevels(book);
     }
 }
Example #8
0
        public static void Main(string[] args)
        {
            CommandLineProcessor options      = new CommandLineProcessor(args);
            MamaTransport        transport    = null;
            MamaQueue            defaultQueue = null;
            MamaDictionary       dictionary   = null;
            double intervalSecs = options.getTimerInterval();

            if (options.hasLogLevel())
            {
                myLogLevel = options.getLogLevel();
                Mama.enableLogging(myLogLevel);
            }

            try
            {
                myBridge = new MamaBridge(options.getMiddleware());
                Mama.open();

                transport = new MamaTransport();
                transport.create(options.getTransport(), myBridge);
                mySource = new MamaSource();

                defaultQueue = Mama.getDefaultEventQueue(myBridge);

                // We might as well also enforce strict checking of order book updates
                MamdaOrderBook.setStrictChecking(true);

                /*Get the Data Dictionary*/
                MamaSource dictionarySource = new MamaSource();
                dictionarySource.symbolNamespace = "WOMBAT";
                dictionarySource.transport       = transport;
                dictionary = buildDataDictionary(transport, defaultQueue, dictionarySource);
                MamdaOrderBookFields.setDictionary(dictionary, null);

                if (intervalSecs == 0)
                {
                    intervalSecs = 5;
                }

                foreach (string symbol in options.getSymbolList())
                {
                    BookSelfTest          aSelfTest    = new BookSelfTest();
                    MamdaOrderBookChecker aBookChecker = new MamdaOrderBookChecker(
                        transport,
                        defaultQueue,
                        aSelfTest,
                        options.getSource(),
                        symbol,
                        intervalSecs);
                    obookCheckers.Add(aBookChecker);
                }

                Mama.start(myBridge);
                GC.KeepAlive(dictionary);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                Environment.Exit(1);
            }
        }
Example #9
0
            public void prettyPrintLevels(MamdaOrderBook book)
            {
                IEnumerator bidEnum    = book.getBidLevels().GetEnumerator();
                IEnumerator askEnum    = book.getAskLevels().GetEnumerator();
                bool        bidHasNext = bidEnum.MoveNext();
                bool        askHasNext = askEnum.MoveNext();

                if (myQuietModeLevel < 2)
                {
                    Console.WriteLine("Book for: " + book.getSymbol());
                }
                if (myQuietModeLevel < 1)
                {
                    Console.WriteLine("        Time     Num  Size      Price      Act | Act     Price   Size    Num       Time  ");
                }

                while (bidHasNext || askHasNext)
                {
                    if (bidHasNext)
                    {
                        MamdaOrderBookPriceLevel bidLevel = (MamdaOrderBookPriceLevel)bidEnum.Current;
                        if (myQuietModeLevel < 1)
                        {
                            Console.Write("   ");
                            paddedPrint(bidLevel.getTime().ToString("hh:mm:ss.FFF"), 12, false);
                            paddedPrint(bidLevel.getNumEntries(), 4, false);
                            paddedPrint(bidLevel.getSize(), 7, false);
                            paddedPrintPrice(bidLevel.getPrice(), 12, false);
                            Console.Write(" ");
                            paddedPrint(bidLevel.getAction(), 7, false);
                            Console.Write(" ");
                        }
                        bidHasNext = bidEnum.MoveNext();
                    }
                    else
                    {
                        if (myQuietModeLevel < 1)
                        {
                            Console.Write("                                               ");
                        }
                    }
                    if (myQuietModeLevel < 1)
                    {
                        Console.Write("|");
                    }

                    if (askHasNext)
                    {
                        MamdaOrderBookPriceLevel askLevel = (MamdaOrderBookPriceLevel)askEnum.Current;
                        if (myQuietModeLevel < 1)
                        {
                            Console.Write("  ");
                            Console.Write(askLevel.getAction());
                            Console.Write("  ");
                            paddedPrintPrice(askLevel.getPrice(), 12, true);
                            Console.Write(" ");
                            paddedPrint(askLevel.getSize(), 7, true);
                            Console.Write(" ");
                            paddedPrint(askLevel.getNumEntries(), 6, true);
                            Console.Write(" ");
                            paddedPrint(askLevel.getTime().ToString("hh:mm:ss.FFF"), 12, true);
                        }
                        askHasNext = askEnum.MoveNext();
                    }
                    if (myQuietModeLevel < 1)
                    {
                        Console.WriteLine("");
                    }
                }
                if (myQuietModeLevel < 1)
                {
                    Console.WriteLine("");
                }
            }