private static List <TradeTicker> TickersUpdateRoutine()
        {
            using (var ctx = DatabaseContext.Instance.Make())
            {
                try
                {
                    var list = new List <TradeTicker>();
                    foreach (var c in ctx.SPOT)
                    {
                        var ticker = new TradeTicker
                        {
                            Title         = c.Title,
                            ActiveBase    = c.ComBase,
                            ActiveCounter = c.ComCounter,
                            Description   = c.Description,
                            Precision     = c.Precise,
                            SwapBuy       = c.SwapBuy,
                            SwapSell      = c.SwapSell,
                            CodeFXI       = c.CodeFXI,
                            MinStepVolume = c.MinStepVolume,
                            MinVolume     = c.MinVolume
                        };
                        list.Add(ticker);
                    }

                    return(list);
                }
                catch (Exception ex)
                {
                    Logger.Error("DictionaryManager - ошибка в TickersUpdateRoutine()", ex);
                    return(new List <TradeTicker>());
                }
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            MamaTransport        transport    = null;
            MamaQueue            defaultQueue = null;
            MamaDictionary       dictionary   = null;
            CommandLineProcessor options      = new CommandLineProcessor(args);

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

            try
            {
                //Initialize MAMA API
                myBridge = new MamaBridge(options.getMiddleware());
                Mama.open();
                transport = new MamaTransport();
                transport.create(options.getTransport(), myBridge);
                defaultQueue = Mama.getDefaultEventQueue(myBridge);

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

                MamdaTradeFields.setDictionary(dictionary, null);

                mamdaSubscriptions = new MamdaSubscription [options.getSymbolList().Count];
                int i = 0;
                foreach (string symbol in options.getSymbolList())
                {
                    mamdaSubscriptions[i] = new MamdaSubscription();
                    MamdaTradeListener aTradeListener = new MamdaTradeListener();
                    TradeTicker        aTicker        = new TradeTicker();

                    aTradeListener.addHandler(aTicker);
                    mamdaSubscriptions[i].addMsgListener(aTradeListener);
                    mamdaSubscriptions[i].addStaleListener(aTicker);
                    mamdaSubscriptions[i].addErrorListener(aTicker);

                    mamdaSubscriptions[i].create(
                        transport,
                        defaultQueue,
                        options.getSource(),
                        symbol,
                        null);
                    i++;
                }

                //Start dispatching on the default MAMA event queue
                Console.WriteLine("Hit Enter or Ctrl-C to exit.");
                Mama.start(myBridge);
                GC.KeepAlive(dictionary);
                Console.ReadLine();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                Environment.Exit(1);
            }
        }
Пример #3
0
        static void Main(string[] args)
        {
            MamaTransport        transport    = null;
            MamaQueue            defaultQueue = null;
            MamaDictionary       dictionary   = null;
            CommandLineProcessor options      = new CommandLineProcessor (args);

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

            try
            {
                //Initialize MAMA API
                myBridge = new MamaBridge(options.getMiddleware());
                Mama.open();
                transport = new MamaTransport();
                transport.create(options.getTransport(), myBridge);
                defaultQueue = Mama.getDefaultEventQueue(myBridge);

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

                MamdaTradeFields.setDictionary(dictionary, null);

                mamdaSubscriptions = new MamdaSubscription [options.getSymbolList().Count];
                int i=0;
                foreach (string symbol in options.getSymbolList())
                {
                    mamdaSubscriptions[i] =  new MamdaSubscription();
                    MamdaTradeListener aTradeListener = new MamdaTradeListener();
                    TradeTicker aTicker = new TradeTicker();

                    aTradeListener.addHandler(aTicker);
                    mamdaSubscriptions[i].addMsgListener(aTradeListener);
                    mamdaSubscriptions[i].addStaleListener(aTicker);
                    mamdaSubscriptions[i].addErrorListener(aTicker);

                    mamdaSubscriptions[i].create(
                        transport,
                        defaultQueue,
                        options.getSource(),
                        symbol,
                        null);
                    i++;
                }

                //Start dispatching on the default MAMA event queue
                Console.WriteLine("Hit Enter or Ctrl-C to exit.");
                Mama.start(myBridge);
                GC.KeepAlive(dictionary);
                Console.ReadLine();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                Environment.Exit(1);
            }
        }