private static void ConvertCSV(string csvFile) { string[] sData = LoadCSV(csvFile); if (sData == null) { return; } bool bConvert = false; SeriesSymbolData cMSeries = null, cDSeries = null; if (logger.IsInfoEnabled) { logger.Info("[Convert] 開始轉換 CSV 期貨檔案資訊..."); } string[] sItems = sData[0].Split(','); string sSymbolId = null; bConvert = cTargetSymbols.TryGetValue(Path.GetFileNameWithoutExtension(csvFile), out sSymbolId); if (bConvert) { int iLength = sData.Length; cMSeries = CreateSeries(sSymbolId, EResolution.Minute); cMSeries.SetRange(iLength); cMSeries.AdjustSize(iLength, true); for (int i = iLength - 1; i >= 0; i--) { sItems = sData[i].Split(','); DateTime cTime = DateTime.Parse(sItems[0]); double dOpen = double.Parse(sItems[1]); double dHigh = double.Parse(sItems[2]); double dLow = double.Parse(sItems[3]); double dClose = double.Parse(sItems[4]); double dVolume = double.Parse(sItems[5]); cMSeries.AddSeries(cTime, dOpen, dHigh, dLow, dClose, dVolume, false); } cDSeries = CreateSeries(sSymbolId, EResolution.Day); cMSeries.Merge(cDSeries); FileAdapter cAdapter = new FileAdapter(Settings.GlobalSettings.Settings.DataPath, true); cAdapter.Write(cMSeries); cAdapter.Write(cDSeries); cMSeries.Dispose(); cDSeries.Dispose(); } }
/// <summary> /// 調整商品資料容量 /// </summary> /// <param name="count">欲調整資料個數</param> protected void AdjustSize(int count) { __cSeries.AdjustSize(count, true); }