//正式分析 private void Analyse() { System.Collections.ArrayList list = new System.Collections.ArrayList(); int itemnum = 0; list.Clear(); foreach (Buy buyitem in pnl_buysell.GetAllBuy()) { foreach (Sell sellitem in pnl_buysell.GetAllSell()) { foreach (int buyrule in Rule.rulebuy_type) { //计算的时候可以看到并没有考虑止损, 但实际显示结果时都有考虑 StockOpeItem[] rule_items = StockAnalysisSQL.CalculateSave2Analysis2(startdate, enddate, buyitem.ToString(), sellitem.ToString(), buyrule); //计算当前分析进度 foreach (StockOpeItem rule_item in rule_items) { if (rule_item.grade < buyitem.minumum_grade) { continue; } list.Add(rule_item); } } itemnum++; prog.SetProgress(itemnum * 100 * StockApp.allstock.Count / analyse_total); UtilLog.AddInfo(TAG, buyitem.ToString() + "-" + sellitem.ToString() + " analysis finished "); } }// for each buy StockAnalysisSQL.SaveToDB_Analysis2(list); UtilLog.AddInfo(TAG, startdate + " till " + enddate + " buy analyse finished."); }