Beispiel #1
0
 /// <summary>
 /// 获得股票基本数据的构造函数
 /// </summary>
 /// <returns>股票数据列表</returns>
 private static List <StockBasicInfo> getStockBasicInfo()
 {
     if (_stockBasicInfo == null)
     {
         try
         {
             _stockBasicInfo = Caches.get <List <StockBasicInfo> >("StockBasicInfo_allStocks");
         }
         catch (Exception e)
         {
             log.Error(e, "未将股票基本信息数据存入内存,需重新获取数据!{0}");
         }
         if (_stockBasicInfo == null)
         {
             StockBasicInfoService stockInfoService = Platforms.container.Resolve <StockBasicInfoService>();
             _stockBasicInfo = stockInfoService.fetchFromLocalCsvOrWindAndSaveAndCache(localCsvExpiration: 180, tag: "StockBasicInfo", code: "allStocks");
         }
     }
     return(_stockBasicInfo);
 }
Beispiel #2
0
        public static void __Initialize(IContainer container)
        {
            //配置NLog日志模块
            if (ConfigurationManager.AppSettings["ConsoleLog"] == "on")
            {
                MyNLogConfig.ApplyWithConsole();
            }
            else
            {
                MyNLogConfig.Apply();
            }

            //初始化CacheData文件夹
            var cdPath = ConfigurationManager.AppSettings["RootPath"] + ConfigurationManager.AppSettings["CacheData.RootPath"];

            if (!Directory.Exists(cdPath))
            {
                Directory.CreateDirectory(cdPath);
            }


            //初始化wind连接
            try
            {
                WindAPI wapi = Platforms.GetWindAPI();
            }
            catch (Exception e)
            {
                log.Error(e, "Wind未连接!");
            }



            //初始化交易日数据
            TradeDaysService tradeDaysService = container.Resolve <TradeDaysService>();

            if (Caches.WindConnection == true)
            {
                tradeDaysService.fetchFromLocalCsvOrWindAndSaveAndCache();
            }
            else
            {
                tradeDaysService.fetchFromLocalCsvOnly();
            }

            //初始化交易费用
            switch (ConfigurationManager.AppSettings["Setting"])
            {
            case "common":
                MySettings.CommonSettings();
                break;

            default:
                break;
            }

            switch (ConfigurationManager.AppSettings["DisplayNetWorth"])
            {
            case "on":
                Caches.DisplayNetWorth = true;
                break;

            default:
                break;
            }

            switch (ConfigurationManager.AppSettings["50ETFOptionInfoRecord"])
            {
            case "on":
                OptionInfoOf50ETFService optionInfoService = container.Resolve <OptionInfoOf50ETFService>();
                optionInfoService.fetchFromLocalCsvOrWindAndSaveAndCache(tag: "OptionInfo", code: "510050.SH");
                break;

            default:
                break;
            }

            //程序有问题,暂时注释
            switch (ConfigurationManager.AppSettings["StockBasicInfoRecord"])
            {
            case "on":
                StockBasicInfoService stockInfoService = container.Resolve <StockBasicInfoService>();
                stockInfoService.fetchFromLocalCsvOrWindAndSaveAndCache(localCsvExpiration: 0, tag: "StockBasicInfo", code: "allStocks");
                var stockInfoList = StockBasicInfoUtils.getAllStockList();
                foreach (var stock in stockInfoList)
                {
                    container.Resolve <StockDailyMarketService>().fetchFromLocalCsvOrWindAndSave(stock.code, new DateTime(2007, 1, 1), DateTime.Today);
                }
                break;

            default:
                break;
            }

            //switch (ConfigurationManager.AppSettings["CommodityOptionInfoRecord"])
            //{
            //    case "on":
            //        OptionInfoDailyService optionInfoService = container.Resolve<OptionInfoDailyService>();
            //        optionInfoService.fetchFromLocalCsvOrWindAndSave(tag: null, code: "M1707.DCE",date: new DateTime(2017, 05, 15));
            //        break;
            //    default:
            //        break;
            //}
        }