Beispiel #1
0
        /// <summary>
        /// 创建交易区间管理类。
        /// </summary>
        private void CreateTradeRangeManager()
        {
            string dbConnStr = ConfigurationManager.ConnectionStrings["KLineDB"].ConnectionString;

            if (string.IsNullOrEmpty(dbConnStr))
            {
                throw new ArgumentException("Not found KLineDB ConnectionString");
            }
            string alpahDBName = ConfigurationManager.AppSettings["AlphaDBName"];

            if (string.IsNullOrEmpty(alpahDBName))
            {
                throw new ArgumentException("Not foun AlphaDBName config");
            }

            try
            {
                TradeRangeManager tradeRangeManager = new TradeRangeManager(dbConnStr, alpahDBName);
                tradeRangeManager.Initialize();
                m_tradeRangeManager = tradeRangeManager;

                string text = String.Format("{0} Create {1} OK.", this, tradeRangeManager);
                m_eventLogger.WriteInformation(text);
            }
            catch (Exception ex)
            {
                string text = "Create TradeRangeManager object failed, " + ex.Message;
                throw new ApplicationException(text, ex);
            }
        }
Beispiel #2
0
        /// <summary>
        /// 启动。
        /// </summary>
        /// <param name="marketDataProvider"></param>
        /// <param name="dbStore"></param>
        public void Start(List <IKLineDataListener> storers, ITradeRangeManager tradeRangeManager,
                          MainContractManager mainContractManager, USeProductManager productManager, AlphaDBVistor alphaDBVistor,
                          USeTradingInstrumentManager instrumentManager,
                          IAppLogger eventLogger)
        {
            m_runFlag = true;

            if (storers == null)
            {
                throw new ArgumentNullException("storers");
            }
            if (tradeRangeManager == null)
            {
                throw new ArgumentNullException("tradeRangeManager");
            }
            if (mainContractManager == null)
            {
                throw new ArgumentNullException("mainContractManager");
            }
            if (productManager == null)
            {
                throw new ArgumentNullException("productManager");
            }
            if (alphaDBVistor == null)
            {
                throw new ArgumentNullException("kLineVistor");
            }
            if (instrumentManager == null)
            {
                throw new ArgumentNullException("instrumentManager");
            }
            if (eventLogger == null)
            {
                throw new ArgumentNullException("eventLogger");
            }

            m_storers             = storers;
            m_tradeRangeManager   = tradeRangeManager;
            m_productManager      = productManager;
            m_mainContractManager = mainContractManager;
            m_alphaDBVistor       = alphaDBVistor;
            m_instrumentManager   = instrumentManager;
            m_eventLogger         = eventLogger;

            KLinePublisher kLinePublisher = new KLinePublisher();

            kLinePublisher.SetMarketDataStore(storers);
            m_kLinePublisher = kLinePublisher;

            this.m_workThread = new Thread(new ThreadStart(DoWork));
            this.m_workThread.Start();
        }