private String GetTickDataPath(String code, int date) { int month = date / 100; CodeIdParser parser = new CodeIdParser(code); VarietyInfo varietyInfo = dataLoader_Variety.GetVariety(parser.VarietyId); if (varietyInfo == null) { return(null); } string market = varietyInfo.Exchange; if (market.Equals("DL")) { market = "dc"; } else if (market.Equals("SQ")) { market = "sc"; } else if (market.Equals("ZZ")) { market = "zc"; } string path = srcDataPath + "\\" + month + "\\" + market + "\\" + GetFullCode(code, parser, market == "zc") + "_" + date + ".csv"; return(path); //return srcDataPath + "\\" + dataLoader_InstrumentInfo.GetBelongMarket(code) + "\\" + date + "\\" + code + "_" + date + ".csv"; }
private void GetCodeId(string fileName, List <CodeInfo> codes, HashSet <string> hashset) { int startIndex = fileName.LastIndexOf('\\'); int endIndex = fileName.LastIndexOf('_'); string codeId = fileName.Substring(startIndex + 1, endIndex - startIndex - 1); if (codeId.IndexOf("主力连续") >= 0) { return; } CodeIdParser parser = new CodeIdParser(codeId); if (parser.Suffix.Length == 3) { codeId = parser.VarietyId + "1" + parser.Suffix; } int tradingDay = int.Parse(fileName.Substring(endIndex + 1, 8)); SetVarietyStart(parser.VarietyId, tradingDay); if (!hashset.Contains(codeId)) { hashset.Add(codeId); CodeInfo codeInfo = CodeInfoUtils.GetCodeInfo(codeId, dataLoader_Variety); if (codeInfo == null) { return; } codeInfo.Start = tradingDay; codes.Add(codeInfo); } }
private String GetCodePath(String code, int date) { CodeIdParser parser = new CodeIdParser(code); VarietyInfo varietyInfo = dataLoader_Variety.GetVariety(parser.VarietyId); return(srcDataPath + "\\" + varietyInfo.Exchange + "\\" + date + "\\" + CodeInfoUtils.GetSimpleCodeId(code) + "_" + date + ".csv"); }
private string GetFullCode(String code, CodeIdParser parser, bool isZZ) { if (isZZ) { string suffix = parser.Suffix; return(parser.VarietyId + suffix.Substring(1, 3)); } return(code); }
private void Loop(string path, int tradingDay, List <CodeInfo> codes, HashSet <string> set_Codes) { DirectoryInfo dir = new DirectoryInfo(path); FileInfo[] files = dir.GetFiles(); for (int i = 0; i < files.Length; i++) { string fileName = files[i].Name; string oldCodeId = fileName.Substring(0, fileName.IndexOf('_')); CodeIdParser parser = new CodeIdParser(oldCodeId); //if (parser.Suffix == "MI") // continue; string complexCodeId = CodeInfoUtils.GetComplexCodeId(parser, tradingDay); if (complexCodeId == null) { continue; } CodeIdParser parser2 = new CodeIdParser(complexCodeId); if (parser2.Suffix == null) { continue; } if (parser2.Suffix.Length < 2 || parser2.Suffix.Length > 4) { continue; } //string varietyId = CodeInfoUtils.GetVariety(oldCodeId); //string[] splitCodeArr = CodeInfoUtils.SplitCodeId(oldCodeId); //string newCodeId = GetCodeId(tradingDay, splitCodeArr); if (set_Codes.Contains(complexCodeId)) { continue; } set_Codes.Add(complexCodeId); CodeInfo codeInfo = CodeInfoUtils.GetCodeInfo(complexCodeId, dataLoader_Variety); if (codeInfo == null) { continue; } if (!codeInfo.Code.EndsWith("0000") && !codeInfo.Code.EndsWith("MI")) { codeInfo.Start = tradingDay; SetVarietyStart(parser2.VarietyId, tradingDay); } else { //indexCodes.Add(codeInfo); continue; } codes.Add(codeInfo); } }
public List <double[]> GetUpdatedTradingSessionDetail(string code, int date) { CodeIdParser parser = new CodeIdParser(code); string variety = parser.VarietyId; VarietyInfo varietyInfo = dataLoader_Variety.GetVariety(variety); if (varietyInfo == null) { return(null); } string exchange = varietyInfo.Exchange; return(dataLoader_TradingSessionDetail.GetTradingSessionDetail(exchange, variety, date)); }
public ITickData GetNewTickData(string code, int date) { CodeIdParser parser = new CodeIdParser(code); if (parser.Suffix == "MI") { return(generator_Main.Generate(parser.VarietyId, date)); } else if (parser.Suffix == "0000") { return(generator_Index.Generate(parser.VarietyId, date)); } return(dataProvider.LoadTickData(code, date)); }
private List <CodeInfo> GetNotIndexCodes(List <CodeInfo> codes) { List <CodeInfo> notIndexCodes = new List <CodeInfo>(); for (int i = 0; i < codes.Count; i++) { CodeInfo codeInfo = codes[i]; CodeIdParser parser = new CodeIdParser(codeInfo.Code); if (!parser.IsIndex) { notIndexCodes.Add(codeInfo); } } return(notIndexCodes); }