示例#1
0
        private void btnEtfBuyBasket_Click(object sender, EventArgs e)
        {
            if (etf == null)
            {
                return;
            }
            var orders = new List <Dwjk.Dtp.PlaceBatchOrder.Types.BatchOrderItem>();

            etf.Items.ForEach((item) => {
                Stock stock      = StockFacade.GetStock(item.Code);
                StockQuote quote = StockFacade.GetQuote(item.Code);
                if (stock == null || quote == null)
                {
                    return;
                }
                if (!string.Equals(item.ReplaceFlag, "1"))
                {
                    return;
                }
                orders.Add(
                    Trader.NewBatchOrderItem(
                        stock.SecurityId.Exchange == Exchange.Sh ? Dwjk.Dtp.Exchange.ShA : Dwjk.Dtp.Exchange.SzA,
                        item.Code,
                        quote.HighLimited.ToString(),
                        (uint)item.Quantity,
                        Dwjk.Dtp.OrderSide.Buy
                        ));
            });
            if (FrmOrderConfirm.ShowList(orders))
            {
                Trader.BatchOrder(orders);
            }
        }
示例#2
0
        private void Place()
        {
            var order =
                Trader.NewOrder(
                    TradeDict.Exchange[Exchange.Text],
                    Code.Text,
                    Price.Value.ToString(),
                    (uint)Quantity.Value,
                    TradeDict.OrderSide[OrderSide.Text]
                    );

            if (FrmOrderConfirm.Show(order))
            {
                Trader.Order(order);
            }
        }
示例#3
0
        private void btnEtfSellBasket_Click(object sender, EventArgs e)
        {
            if (etf == null)
            {
                return;
            }
            var orders = new List <Dwjk.Dtp.PlaceBatchOrder.Types.BatchOrderItem>();

            etf.Items.ForEach((item) => {
                if (item.Available == 0)
                {
                    return;
                }
                var stock    = StockFacade.GetStock(item.Code);
                var quote    = StockFacade.GetQuote(item.Code);
                var exchange = Dwjk.Dtp.Exchange.ShA;
                if (stock != null)
                {
                    exchange = stock.SecurityId.Exchange == Exchange.Sh ? Dwjk.Dtp.Exchange.ShA : Dwjk.Dtp.Exchange.SzA;
                }
                else
                {
                    exchange = item.Code.StartsWith("6") ? Dwjk.Dtp.Exchange.ShA : Dwjk.Dtp.Exchange.SzA;
                }
                var price = "0.00";
                if (quote != null)
                {
                    price = quote.LowLimited.ToString();
                }
                orders.Add(
                    Trader.NewBatchOrderItem(
                        exchange,
                        item.Code,
                        price,
                        (uint)item.Quantity,
                        Dwjk.Dtp.OrderSide.Sell
                        ));
            });
            if (FrmOrderConfirm.ShowList(orders))
            {
                Trader.BatchOrder(orders);
            }
        }
示例#4
0
        private void btnEtfSell_Click(object sender, EventArgs e)
        {
            if (etf == null)
            {
                return;
            }
            var order =
                Trader.NewOrder(
                    Dwjk.Dtp.Exchange.ShA,
                    etf.Code,
                    Price.Value.ToString(),
                    (uint)etf.TradeUnit,
                    Dwjk.Dtp.OrderSide.Sell
                    );

            if (FrmOrderConfirm.Show(order))
            {
                Trader.Order(order);
            }
        }