/// <summary> /// Categorized stock performance by each day of one week /// </summary> /// <param name="log">logger for output results</param> public void AnalyzeEachDayOfOneWeek(ICustomLog log) { StockWeekData mondaydata = new StockWeekData(); StockWeekData tuesdaydata = new StockWeekData(); StockWeekData wednesdaydata = new StockWeekData(); StockWeekData thursdaydata = new StockWeekData(); StockWeekData fridaydata = new StockWeekData(); foreach (WeeklyResult res in Results_.Values) { IStockData sdMonday = res.GetStockData(DayOfWeek.Monday); IStockData sdTuesday = res.GetStockData(DayOfWeek.Tuesday); IStockData sdWednesday = res.GetStockData(DayOfWeek.Wednesday); IStockData sdThursday = res.GetStockData(DayOfWeek.Thursday); IStockData sdFriday = res.GetStockData(DayOfWeek.Friday); mondaydata.AddStockData(sdMonday); tuesdaydata.AddStockData(sdTuesday); wednesdaydata.AddStockData(sdWednesday); thursdaydata.AddStockData(sdThursday); fridaydata.AddStockData(sdFriday); } log.LogInfo("Monday up percent: " + mondaydata.CalcUpPercent().ToString("F03") + ", Days = " + mondaydata.TotalDays); log.LogInfo("Tuesday up percent: " + tuesdaydata.CalcUpPercent().ToString("F03") + ", Days = " + tuesdaydata.TotalDays); log.LogInfo("Wednesday up percent: " + wednesdaydata.CalcUpPercent().ToString("F03") + ", Days = " + wednesdaydata.TotalDays); log.LogInfo("Thursday up percent: " + thursdaydata.CalcUpPercent().ToString("F03") + ", Days = " + thursdaydata.TotalDays); log.LogInfo("Friday up percent: " + fridaydata.CalcUpPercent().ToString("F03") + ", Days = " + fridaydata.TotalDays); }
public void JudgeShape(ICustomLog log) { int tTypeCount = 0; int revTTypeCount = 0; int crossTypeCount = 0; foreach (KeyValuePair <DateTime, IStockData> entry in DailyStocks_) { if (ShapeJudger.IsCross(entry.Value)) { crossTypeCount++; } if (ShapeJudger.IsT(entry.Value)) { tTypeCount++; } if (ShapeJudger.IsReverseT(entry.Value)) { revTTypeCount++; } } log.LogInfo("Total Count = " + DailyStocks_.Count + ", Cross = " + crossTypeCount + ", T = " + tTypeCount + ", Rev T = " + revTTypeCount); }
/// <summary> /// Categorize the stock data /// </summary> /// <param name="log">logger for output results</param> public void CalcResult(ICustomLog log) { int notCalcWeeks = 0; Dictionary <string, int> templateNumbers = new Dictionary <string, int>(); foreach (WeeklyResult res in Results_.Values) { string s = res.CalcUpTemplate(); if (string.IsNullOrEmpty(s)) { notCalcWeeks++; continue; } if (templateNumbers.ContainsKey(s)) { templateNumbers[s] = templateNumbers[s] + 1; } else { templateNumbers.Add(s, 1); } } var keys = templateNumbers.Keys; var query = keys.OrderBy(x => x); foreach (string item in query) { log.LogInfo(item + ": " + templateNumbers[item]); } log.LogInfo("Complete. Total weeks = " + Results_.Count + ", categorized types = " + templateNumbers.Count + ", error weeks = " + notCalcWeeks); }
public void Check(ICustomLog log) { DateTime startDate = MinDate; while (startDate < MaxDate) { if ((GetStock(startDate) == null) && !Holidays.IsWeekend(startDate)) { log.LogInfo("Date: " + startDate.ToLongDateString() + ", has no stock data."); } startDate = startDate.AddDays(1); } JudgeShape(log); }
public void Check(ICustomLog log) { DateTime startDate = MinDate; while (startDate < MaxDate) { if ((GetStock(startDate) == null) && !Holidays.IsWeekend(startDate)) { log.LogInfo("Date: " + startDate.ToLongDateString() + ", has no stock data."); } startDate = startDate.AddDays(1); } JudgeShape(log); }
public void JudgeShape(ICustomLog log) { int tTypeCount = 0; int revTTypeCount = 0; int crossTypeCount = 0; foreach (KeyValuePair<DateTime, IStockData> entry in DailyStocks_) { if (ShapeJudger.IsCross(entry.Value)) { crossTypeCount++; } if (ShapeJudger.IsT(entry.Value)) { tTypeCount++; } if (ShapeJudger.IsReverseT(entry.Value)) { revTTypeCount++; } } log.LogInfo("Total Count = " + DailyStocks_.Count + ", Cross = " + crossTypeCount + ", T = " + tTypeCount + ", Rev T = " + revTTypeCount); }
/// <summary> /// Categorized stock performance by each day of one week /// </summary> /// <param name="log">logger for output results</param> public void AnalyzeEachDayOfOneWeek(ICustomLog log) { StockWeekData mondaydata = new StockWeekData(); StockWeekData tuesdaydata = new StockWeekData(); StockWeekData wednesdaydata = new StockWeekData(); StockWeekData thursdaydata = new StockWeekData(); StockWeekData fridaydata = new StockWeekData(); foreach (WeeklyResult res in Results_.Values) { IStockData sdMonday = res.GetStockData(DayOfWeek.Monday); IStockData sdTuesday = res.GetStockData(DayOfWeek.Tuesday); IStockData sdWednesday = res.GetStockData(DayOfWeek.Wednesday); IStockData sdThursday = res.GetStockData(DayOfWeek.Thursday); IStockData sdFriday = res.GetStockData(DayOfWeek.Friday); mondaydata.AddStockData(sdMonday); tuesdaydata.AddStockData(sdTuesday); wednesdaydata.AddStockData(sdWednesday); thursdaydata.AddStockData(sdThursday); fridaydata.AddStockData(sdFriday); } log.LogInfo("Monday up percent: " + mondaydata.CalcUpPercent().ToString("F03") + ", Days = " + mondaydata.TotalDays); log.LogInfo("Tuesday up percent: " + tuesdaydata.CalcUpPercent().ToString("F03") + ", Days = " + tuesdaydata.TotalDays); log.LogInfo("Wednesday up percent: " + wednesdaydata.CalcUpPercent().ToString("F03") + ", Days = " + wednesdaydata.TotalDays); log.LogInfo("Thursday up percent: " + thursdaydata.CalcUpPercent().ToString("F03") + ", Days = " + thursdaydata.TotalDays); log.LogInfo("Friday up percent: " + fridaydata.CalcUpPercent().ToString("F03") + ", Days = " + fridaydata.TotalDays); }
/// <summary> /// Categorize the stock data /// </summary> /// <param name="log">logger for output results</param> public void CalcResult(ICustomLog log) { int notCalcWeeks = 0; Dictionary<string, int> templateNumbers = new Dictionary<string, int>(); foreach (WeeklyResult res in Results_.Values) { string s = res.CalcUpTemplate(); if (string.IsNullOrEmpty(s)) { notCalcWeeks++; continue; } if (templateNumbers.ContainsKey(s)) { templateNumbers[s] = templateNumbers[s] + 1; } else { templateNumbers.Add(s, 1); } } var keys = templateNumbers.Keys; var query = keys.OrderBy(x => x); foreach (string item in query) { log.LogInfo(item + ": " + templateNumbers[item]); } log.LogInfo("Complete. Total weeks = " + Results_.Count + ", categorized types = " + templateNumbers.Count + ", error weeks = " + notCalcWeeks); }