static public OnePeriodResult Load(string path, DateTime startDateTime, int period) { OnePeriodResult result = new OnePeriodResult(); using (StreamReader strReader = new StreamReader(Path.Combine(path, "strategy_allData.csv"))) { string[] strEquity = strReader.ReadLine().Replace("{", "").Replace("}", "").Trim().Split(new char[] { ',' }); int lastEquity = 0; foreach (string currString in strEquity) { if (currString.Length == 0) { continue; } int currEquity = Int32.Parse(currString); if (lastEquity == 0) { result.dictDayEquity.Add(startDateTime, 0); } else { result.dictDayEquity.Add(startDateTime, currEquity - lastEquity); } lastEquity = currEquity; do { startDateTime = startDateTime.AddDays(1); } while (startDateTime.DayOfWeek == DayOfWeek.Saturday); } } return(result); }
static public TestResult Load(string path, int learningPeriod, int testPeriod) { TestResult result = new TestResult(); foreach (string periodPath in Directory.GetDirectories(path)) { string[] testParam = Path.GetFileName(periodPath).Split(new char[] { '_' }); DateTime dateTime = DateTime.ParseExact(testParam[0], "yyyyMMdd", CultureInfo.InvariantCulture); result.listOnePeriodresult.Add(OnePeriodResult.Load(periodPath, dateTime, testPeriod)); } return(result); }