Exemple #1
0
        private void currentStatusToolStripMenuItem_Click(object sender, EventArgs e)
        {
            StatisticInfo dlg = new StatisticInfo();

            //refresh current data
            RefreshObservedPool();
            RefreshLongTermPool();
            RefreshShortTermPool();
            RefreshTacticalPool();
            //calculate statistic data
            decimal longtermprofit  = m_statData.LongTermProfit;
            decimal shorttermprofit = m_statData.ShortTermProfit;
            decimal tacticalprofit  = m_statData.TacticalProfit;

            StockPool.LongTermTableDataTable longdt = (StockPool.LongTermTableDataTable)dataGridViewObserved.DataSource;
            foreach (StockPool.LongTermTableRow row in longdt.Rows)
            {
                m_statData.LongTermValue += row.CurrentPrice * row.Amount;
                longtermprofit           += (row.CurrentPrice - row.CostPrice) * row.Amount;
            }
            StockPool.TacticalTableDataTable tacticaldt = (StockPool.TacticalTableDataTable)dataGridViewTactical.DataSource;
            foreach (StockPool.TacticalTableRow row in tacticaldt.Rows)
            {
                m_statData.TacticalValue += row.CurrentPrice * row.DealCount;
                tacticalprofit           += (row.CurrentPrice - row.CostPrice) * row.DealCount;
            }
            StockPool.ShortTermTableDataTable shortdt = (StockPool.ShortTermTableDataTable)dataGridViewTactical.DataSource;
            foreach (StockPool.ShortTermTableRow row in shortdt.Rows)
            {
                m_statData.ShortTermValue += row.CurrentPrice * row.Amount;
                shorttermprofit           += (row.CurrentPrice - row.CostPrice) * row.Amount;
            }

            //display
            dlg.textBoxLongTermValue.Text  = m_statData.LongTermValue.ToString();
            dlg.textBoxLongProfit.Text     = longtermprofit.ToString();
            dlg.textBoxLongLeftCash.Text   = m_statData.LongTermLeftCash.ToString();
            dlg.textBoxLongAvailable.Text  = m_statData.LongTermAvailableCash.ToString();
            dlg.textBoxTacticalValue.Text  = m_statData.TacticalValue.ToString();
            dlg.textBoxTacticalProfit.Text = tacticalprofit.ToString();
            dlg.textBoxShortValue.Text     = m_statData.ShortTermValue.ToString();
            dlg.textBoxShortProfit.Text    = shorttermprofit.ToString();
            dlg.textBoxShortLeft.Text      = m_statData.ShortTermLeftCash.ToString();
            dlg.textBoxTotalLeft.Text      = (m_statData.LongTermLeftCash + m_statData.ShortTermLeftCash).ToString();
            m_statData.TotalAsset          = m_statData.LongTermLeftCash + m_statData.ShortTermLeftCash + m_statData.LongTermValue + m_statData.TacticalValue + m_statData.ShortTermValue;
            dlg.textBoxTotalAsset.Text     = m_statData.TotalAsset.ToString();
            m_statData.TotalProfit         = longtermprofit + tacticalprofit + shorttermprofit;
            dlg.textBoxTotalProfit.Text    = m_statData.TotalProfit.ToString();
            dlg.textBoxCostCash.Text       = m_statData.CostCash.ToString();
            dlg.textBoxNetCount.Text       = m_statData.curNetCount.ToString();
            m_statData.curNetValue         = m_statData.TotalAsset / m_statData.curNetCount;
            dlg.textBoxNetValue.Text       = m_statData.curNetValue.ToString();
            dlg.ShowDialog();
        }
Exemple #2
0
 private void RefreshTacticalPool()
 {
     StockPool.TacticalTableDataTable dt = (StockPool.TacticalTableDataTable)dataGridViewObserved.DataSource;
     foreach (StockPool.TacticalTableRow row in dt.Rows)
     {
         string  stocknumber = row.Code;
         decimal price       = WebUtil.GetCurrentPrice(stocknumber);
         if (price != 0)
         {
             row.CurrentPrice = price;
         }
     }
 }
Exemple #3
0
        private void closePositionToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.tabControl1.SelectedIndex != 1)
            {
                return;
            }

            PositionDlg dlg = new PositionDlg();

            string name = dataGridViewLongTerm.SelectedRows[0].Cells["Name"].Value.ToString();

            StockPool.TacticalTableDataTable dt = (StockPool.TacticalTableDataTable)dataGridViewTactical.DataSource;
            if (dt.Select("Name=" + name).Length != 0)
            {
                MessageBox.Show("please underweight stock in tactical pool first");
                return;
            }

            dlg.textBoxName.Text   = dataGridViewLongTerm.SelectedRows[0].Cells["Name"].Value.ToString();
            dlg.textBoxNumber.Text = dataGridViewLongTerm.SelectedRows[0].Cells["Code"].Value.ToString();
            dlg.textBoxType.Text   = "ClosePosition";
            dlg.textBoxCount.Text  = dataGridViewLongTerm.SelectedRows[0].Cells["Amount"].Value.ToString();
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                //update statistic data
                StockPool.LongTermTableDataTable longtermdt = (StockPool.LongTermTableDataTable)dataGridViewLongTerm.DataSource;
                StockPool.LongTermTableRow       row        = (StockPool.LongTermTableRow)longtermdt.Rows[dataGridViewLongTerm.SelectedRows[0].Index];
                decimal sellprice = Convert.ToDecimal(dlg.textBoxPrice.Text);
                decimal profit    = (sellprice - row.CostPrice) * row.Amount;
                m_statData.LongTermProfit        += profit;
                m_statData.LongTermLeftCash      += sellprice * row.Amount;
                m_statData.LongTermAvailableCash += sellprice * row.Amount + row.AvailableCash;
                //insertDealRecord
                DealRecordData data = new DealRecordData();
                data.Name   = dlg.textBoxName.Text;
                data.Type   = dlg.textBoxType.Text;
                data.Price  = dlg.textBoxPrice.Text;
                data.Count  = dlg.textBoxCount.Text;
                data.Pool   = "LongTermPool";
                data.Profit = profit.ToString();
                InsertDealRecord(data);
                //delete longterm record
                DeleteFromStockPool(dataGridViewLongTerm, dataGridViewLongTerm.SelectedRows[0].Index);
            }
        }
Exemple #4
0
        private void InsertTacticalPool(DealDlg dlg, int index)
        {
            StockPool.TacticalTableDataTable dt = (StockPool.TacticalTableDataTable)dataGridViewTactical.DataSource;

            StockPool.TacticalTableRow row = dt.NewTacticalTableRow();
            row.Name      = dlg.textBoxName.Text;
            row.Code      = dlg.textBoxNumber.Text;
            row.CostPrice = Convert.ToDecimal(dlg.textBoxPrice.Text);
            row.DealCount = Convert.ToUInt32(dlg.textBoxCount.Text);

            if (index != -1)
            {
                dt.Rows.InsertAt(row, index);
            }
            else
            {
                dt.Rows.Add(row);
            }
        }