Esempio n. 1
0
        private void comboBoxStockId_SelectedIndexChanged(object sender, EventArgs e)
        {
            int id = int.Parse(comboBoxStockId.Text, CultureInfo.CurrentCulture);
            IEnumerable <StockData> stocks = DbReader_.Load(id);

            History_.InitAllStocks(id, stocks);

            // ˢнçÃæÏÔʾ
            ShowStockInfo();
        }
Esempio n. 2
0
        private void Start(IStockValues values, IFinanceStrategy strategy)
        {
            LogMgr.Logger.LogInfo("==>Start With Strategy: " + strategy.Name + "...");
            Account acc = new Account();

            acc.BankRoll = INITCASH;

            IStockHolder holder = new StockHolder();

            holder.History  = History_;
            acc.Holder      = holder;
            strategy.Holder = holder;
            HolderManager.Instance().Holder = holder;

            acc.Processor = CurrentBonusProcessor;

            DateTime startDate = History_.MinDate;
            DateTime endDate   = History_.MaxDate;

            LogMgr.Logger.LogInfo("Min Date = {0}, Max Date = {1}", startDate, endDate);
            Debug.Assert(endDate > startDate);

            while (startDate < endDate)
            {
                double totalvalue = acc.TotalValue(startDate);
                values.SetTotalValue(startDate, totalvalue);

                //acc.ProcessBonus(startDate);

                ICollection <StockOper> opers = strategy.GetOper(startDate, acc);

                if (opers != null)
                {
                    foreach (StockOper oper in opers)
                    {
                        if (History_.IsOperSuccess(startDate, oper))
                        {
                            acc.DoBusiness(oper);
                            values.SetOperationSignal(startDate, oper.Type);
                        }
                    }
                }

                startDate = DateFunc.GetNextWorkday(startDate);
            }

            LogMgr.Logger.LogInfo("Strategy " + strategy.Name + " End Value: "
                                  + acc.TotalValue(startDate).ToString(CultureInfo.CurrentCulture));
            LogMgr.Logger.LogInfo("Strategy " + strategy.Name
                                  + ": Buys: " + acc.BuyTransactionCount
                                  + ", Sells: " + acc.SellTransactionCount);
            LogMgr.Logger.LogInfo("<== End With Strategy: " + strategy.Name);
        }
Esempio n. 3
0
        private void ShowCompareResults()
        {
            if (_results != null)
            {
                FormResultChart frm = new FormResultChart();

                History_.MaxDate = dateTimePickerEnd.Value;
                History_.MinDate = dateTimePickerStart.Value;
                frm.SetStockDrawer(History_.GetStockDrawer());

                frm.SetStrategyResults(_results);

                frm.ShowDialog();
            }
        }