Esempio n. 1
0
        /// <summary>
        /// 得到单日的K线数据
        /// </summary>
        /// <param name="code"></param>
        /// <param name="date"></param>
        /// <param name="period"></param>
        /// <returns></returns>
        public virtual IKLineData GetKLineData(string code, int date, KLinePeriod period)
        {
            string path = CsvHistoryData_PathUtils.GetKLineDataPath(GetCsvDataPath(), code, date, period);

            if (!File.Exists(path))
            {
                return(null);
            }
            return(CsvUtils_KLineData.Load(path));
        }
Esempio n. 2
0
        public virtual ITradingTime GetDefaultTradingTime()
        {
            List <ITradingTime> tts = CsvUtils_TradingTime.Load(CsvHistoryData_PathUtils.GetDefaultTradingTimePath(GetCsvDataPath()));

            if (tts == null || tts.Count == 0)
            {
                return(null);
            }
            return(tts[0]);
        }
Esempio n. 3
0
        /// <summary>
        /// 得到现有的K线所有数据
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        public IList <int> GetKLineDataDays(string code)
        {
            string klinePath = CsvHistoryData_PathUtils.GetKLineDataPath(GetCsvDataPath(), code, KLinePeriod.KLinePeriod_1Minute);

            string[]   files     = Directory.GetFiles(klinePath);
            List <int> klineDays = new List <int>(files.Length);

            for (int i = 0; i < files.Length; i++)
            {
                string file       = files[i];
                int    startIndex = file.LastIndexOf('_') + 1;
                klineDays.Add(int.Parse(file.Substring(startIndex, 8)));
            }
            return(klineDays);
        }
Esempio n. 4
0
        /// <summary>
        /// 得到现有的tick所有数据
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        public IList <int> GetTickDataDays(string code)
        {
            string tickPath = CsvHistoryData_PathUtils.GetTickDataPath(GetCsvDataPath(), code);

            if (!Directory.Exists(tickPath))
            {
                return(null);
            }
            string[]   files    = Directory.GetFiles(tickPath);
            List <int> tickDays = new List <int>(files.Length);

            for (int i = 0; i < files.Length; i++)
            {
                string file       = files[i];
                int    startIndex = file.LastIndexOf('_') + 1;
                tickDays.Add(int.Parse(file.Substring(startIndex, 8)));
            }
            return(tickDays);
        }
Esempio n. 5
0
 /// <summary>
 /// 得到所有开盘日的开盘时间
 /// 实现该方法的原因:
 /// 系统需要有一个方法来获取指定日期的K线,比如获取20130106的1分钟K线
 /// 由于所有1分钟K线是保存在一个文件里的,系统无法获取20130106开盘那根K线的起始位置。
 /// 所以此处需要获取开盘时间数据
 ///
 /// 各个市场的开盘时间数据很混乱:
 /// 比如中国期货市场就有夜盘,而夜盘在交易时间上算是第二天,所以20160105可能在20160104就开盘了
 /// </summary>
 /// <param name="code"></param>
 /// <returns></returns>
 public virtual List <TradingSession> GetTradingSessions(String code)
 {
     return(CsvUtils_TradingSession.Load(CsvHistoryData_PathUtils.GetTradingSessionPath(GetCsvDataPath(), code)));
 }
Esempio n. 6
0
 /// <summary>
 /// 得到所有开盘日
 /// </summary>
 /// <returns></returns>
 public virtual List <int> GetTradingDays()
 {
     return(CsvUtils_TradingDay.Load(CsvHistoryData_PathUtils.GetTradingDaysPath(GetCsvDataPath())));
 }
Esempio n. 7
0
 /// <summary>
 /// 该插件提供的所有股票或期货信息
 /// </summary>
 /// <returns></returns>
 public virtual List <CodeInfo> GetInstruments()
 {
     return(CsvUtils_Code.Load(CsvHistoryData_PathUtils.GetInstrumentsPath(GetCsvDataPath())));
 }
Esempio n. 8
0
        public virtual IList <MainContractInfo> GetMainContractInfos()
        {
            string mainFuturesPath = CsvHistoryData_PathUtils.GetMainFuturesPath(GetCsvDataPath());

            return(TextExchangeUtils.Load <MainContractInfo>(mainFuturesPath, typeof(MainContractInfo)));
        }
Esempio n. 9
0
        private bool Exist(string code, int date, KLinePeriod period)
        {
            string path = CsvHistoryData_PathUtils.GetKLineDataPath(GetCsvDataPath(), code, date, period);

            return(File.Exists(path));
        }
Esempio n. 10
0
 /// <summary>
 /// 得到股票或期货的Tick数据
 /// </summary>
 /// <param name="code"></param>
 /// <param name="date"></param>
 /// <returns></returns>
 public virtual ITickData GetTickData(String code, int date)
 {
     return(CsvUtils_TickData.Load(CsvHistoryData_PathUtils.GetTickDataPath(GetCsvDataPath(), code, date)));
 }
Esempio n. 11
0
 public virtual IList <ITradingTime> GetTradingTime(string code)
 {
     return(CsvUtils_TradingTime.Load(CsvHistoryData_PathUtils.GetTradingTimePath(GetCsvDataPath(), code)));
 }