Ejemplo n.º 1
0
        void menuPlugin_ChangePosition_Click(object sender, EventArgs e)
        {
            // 要用到PortfolioNode这个类,但这个类是内部类
            if (tvView.SelectedNode == null)
            {
                return;
            }

            var PortfolioName = tvView.SelectedNode.Text;

            var form = new ChangePositionForm();

            form.Text = string.Format("[{0}]ChangePosition", PortfolioName);
            if (DialogResult.OK == form.ShowDialog())
            {
                var instrument = form.Instrument;
                var amount     = form.Amount;

                var portfolio = Global.Framework.PortfolioManager.Portfolios.GetByName(PortfolioName);
                if (amount > 0)
                {
                    portfolio.Add(new Fill(DateTime.Now, new Order(), instrument, portfolio.Account.CurrencyId, OrderSide.Buy, (double)amount, 0, "XXX"));
                }
                else if (amount < 0)
                {
                    portfolio.Add(new Fill(DateTime.Now, new Order(), instrument, portfolio.Account.CurrencyId, OrderSide.Sell, (double)-amount, 0, "XXX"));
                }
            }
        }
Ejemplo n.º 2
0
        void menuPlugin_ChangePosition_Click(object sender, EventArgs e)
        {
            // 要用到PortfolioNode这个类,但这个类是内部类
            if (tvView.SelectedNode == null)
            {
                return;
            }

            var PortfolioName = tvView.SelectedNode.Text;

            var form = new ChangePositionForm();
            form.Text = string.Format("[{0}]ChangePosition", PortfolioName);
            if (DialogResult.OK == form.ShowDialog())
            {
                var instrument = form.Instrument;
                var amount = form.Amount;

                var portfolio = Global.Framework.PortfolioManager.Portfolios.GetByName(PortfolioName);
                if (amount > 0)
                {
                    portfolio.Add(new Fill(DateTime.Now, new Order(), instrument, portfolio.Account.CurrencyId, OrderSide.Buy, (double)amount, 0, "XXX"));
                }
                else if (amount < 0)
                {
                    portfolio.Add(new Fill(DateTime.Now, new Order(), instrument, portfolio.Account.CurrencyId, OrderSide.Sell, (double)-amount, 0, "XXX"));
                }
            }
        }