Пример #1
0
        //正式分析
        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.");
        }