Ejemplo n.º 1
0
 /// <summary>
 /// 索引时序数据
 /// </summary>
 /// <param name="code"></param>
 /// <param name="tu"></param>
 /// <returns></returns>
 public TimeSerialsDataSet this[String code]
 {
     get {
         if (timeserials.ContainsKey(code))
         {
             return(timeserials[code]);
         }
         if (!securities.ContainsKey(code))
         {
             return(null);
         }
         SecurityProperties sp = securities[code];
         TimeSerialsDataSet ds = TimeSerialsDataSet.Create(sp, dataPath);
         timeserials[code] = ds;
         return(ds);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// 初始化,缺省初始读取日线数据
        /// </summary>
        /// <param name="datapath"></param>
        public static TimeSerialsDataSet Create(SecurityProperties code, String datapath)
        {
            TimeSerialsDataSet ds = new TimeSerialsDataSet();

            ds.datapath = datapath;
            ds.code     = code.Code;
            ds.baseName = code.Exchange + ds.code;
            String dayFilename = ds.baseName + ".csv";

            ds.CreateOrLoad <KLine>("kline", TimeUnit.day);

            /*KLine kline = new KLine(code.Code, TimeUnit.day);
             * kline.Load(datapath+"kline\\"+dayFilename, false, ",");
             * //kline.Load(dayFilename, false, ",", new String[] { "时间", "开盘", "最高", "最低", "收盘", "成交量", "成交额" });
             * ConcurrentDictionary<String, Object> datas = new ConcurrentDictionary<string, object>();
             * datas["kline"] = kline;
             * ds.timeSerials.Add(TimeUnit.day, datas);*/


            return(ds);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 静态初始化方法
        /// </summary>
        static TimeSerialsDataSet()
        {
            IndicatorMetaCollection.META_CUBEBUY.Geneartor = props =>
            {
                TimeSerialsDataSet tsd      = (TimeSerialsDataSet)props["TimeSerialsDataSet"];
                TimeUnit           tu       = (TimeUnit)props["timeunit"];
                String             dataname = (String)props["name"];
                String             code     = (String)props["code"];

                return(tsd.CubeCreate(tu, false).buyLine);
            };
            IndicatorMetaCollection.META_CUBESELL.Geneartor = props =>
            {
                TimeSerialsDataSet tsd      = (TimeSerialsDataSet)props["TimeSerialsDataSet"];
                TimeUnit           tu       = (TimeUnit)props["timeunit"];
                String             dataname = (String)props["name"];
                String             code     = (String)props["code"];

                return(tsd.CubeCreate(tu, false).sellLine);
            };
            IndicatorMetaCollection.META_CUBEPT.Geneartor = props =>
            {
                TimeSerialsDataSet tsd      = (TimeSerialsDataSet)props["TimeSerialsDataSet"];
                TimeUnit           tu       = (TimeUnit)props["timeunit"];
                String             dataname = (String)props["name"];
                String             code     = (String)props["code"];

                return(tsd.CubeCreate(tu, false).buysellPoints);
            };
            IndicatorMetaCollection.META_FUND_TREND.Geneartor = props =>
            {
                TimeSerialsDataSet tsd      = (TimeSerialsDataSet)props["TimeSerialsDataSet"];
                TimeUnit           tu       = (TimeUnit)props["timeunit"];
                String             dataname = (String)props["name"];
                String             code     = (String)props["code"];

                return(tsd.FundTrendCreate(tu));
            };
            IndicatorMetaCollection.META_FUND_CROSS.Geneartor = props =>
            {
                TimeSerialsDataSet tsd      = (TimeSerialsDataSet)props["TimeSerialsDataSet"];
                TimeUnit           tu       = (TimeUnit)props["timeunit"];
                String             dataname = (String)props["name"];
                String             code     = (String)props["code"];

                return(tsd.FundTrendCrossCreate(tu));
            };
            IndicatorMetaCollection.META_MACD.Geneartor = props =>
            {
                TimeSerialsDataSet tsd      = (TimeSerialsDataSet)props["TimeSerialsDataSet"];
                TimeUnit           tu       = (TimeUnit)props["timeunit"];
                String             dataname = (String)props["name"];
                String             code     = (String)props["code"];

                KLine kline = tsd.KLineCreateOrLoad(tu);
                if (kline == null)
                {
                    return(null);
                }

                return(MACD.Create(kline));
            };
        }