Esempio n. 1
0
        private void CalculateData()
        {
            //对每个股票进行分析
            StockSQL.DeleteRule();

            analyse_now = 0;
            foreach (StockData stockheader in StockApp.allstock.Values)
            {
                //初始化股票
                StockData stock = StockSQL.GetStockDetail_2(stockheader.code, stockheader.name);
                UtilLog.AddInfo(TAG, "Start to calculate " + stock.code);
                int stock_length = stock.items.Length;
                //第几个分析的股票
                analyse_now++;

                CalBuy(stock);
                CalSell(stock);

                prog.SetProgress(analyse_now * 100 / analyse_total);
                //释放内存
                if (analyse_now % 100 == 0)
                {
                    UtilLog.AddInfo(TAG, "Start to free memory");
                    GC.Collect();
                    UtilLog.AddInfo(TAG, "Free memory done!");
                    System.Threading.Thread.CurrentThread.Join(500);
                }
                UtilLog.AddInfo(TAG, analyse_now + "/" + analyse_total + ":" + stock.name + "(" + stock.code + ")" + " calculate finished ");
            }

            RuleScore.SetRuleScore();
            RuleScore.SetAllPreScore();
            lbl_status.Text = "Calculation Done";
        }
Esempio n. 2
0
        private void dg_list_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            dg_detail.Rows.Clear();

            DataGridViewRow row = null;

            try
            {
                row = this.dg_list.Rows[this.dg_list.SelectedCells[0].RowIndex];
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                return;
            }

            StockData stock = StockSQL.GetStockDetail_2((string)row.Cells[0].Value, (string)row.Cells[1].Value);

            lbl_code.Text = stock.code;
            lbl_name.Text = stock.name;
            foreach (StockItem s in stock.items)
            {
                dg_detail.Rows.Add(s.ToRowInfo());
            }
            ShowDetail(true);
        }