コード例 #1
0
        public Result PositionMoveIn(PositionMoveIn model)
        {
            StockInfo stock = StockInfoBiz.GetStock(model.code);

            if (stock == null || model.unit_id == 0 || model.account_id == 0 || model.price_cost == 0 || model.count == 0)
            {
                return(Result(ApiResultEnum.Failed));
            }

            Position position = PositionRA.Get("P_" + model.code + "_A_" + model.account_id + "_U_" + model.unit_id);
            Deal     deal     = new Deal()
            {
                code       = model.code,
                name       = stock.name,
                count      = model.count,
                price      = model.price_cost,
                money      = model.count * model.price_cost,
                unit_id    = model.unit_id,
                account_id = model.account_id,
                type_enum  = OrderTypeEnum.Buy,
            };

            TradeBiz.AdjustPosition(position, deal, model.price_cost, 2);
            return(Result(ApiResultEnum.Success));
        }
コード例 #2
0
ファイル: Trade.svc.cs プロジェクト: wshPrt/trading
        public Result <List <Base> > Search(string key)
        {
            IEnumerable <Base> stocks = StockInfoBiz.SearchStock(key.ToUpper()).Select(s => new Base()
            {
                code = s.code,
                name = s.name
            });

            return(Result(stocks.ToList()));
        }
コード例 #3
0
ファイル: Global.asax.cs プロジェクト: wshPrt/trading
        protected void Application_Start(object sender, EventArgs e)
        {
            Config.Init();
            StockInfoBiz.Init();

            int status_trade = MonitorRA.GetStatusTrade();

            if (status_trade > 0)
            {
                OpenCloseBiz.Open();
            }
        }
コード例 #4
0
ファイル: Trade.svc.cs プロジェクト: wshPrt/trading
        public Result <long> OrderAutoAdd(OrderAutoAdd model)
        {
            if (model.count_min > model.count_max || model.price_min > model.price_max || model.time_min > model.time_max)
            {
                return(Result(ApiResultEnum.Parameter_Error, 0L));
            }

            HQItem hq    = HQService.Get(model.code);
            Order  order = new Order()
            {
                user_id  = user_id,
                unit_id  = model.unit_id,
                code     = model.code,
                price    = hq.Last,
                count    = model.count_total,
                type     = model.type,
                platform = platform
            };

            ApiResultEnum result = LimitBiz.CheckStatus(order);

            if (result != ApiResultEnum.Success)
            {
                return(Result(result, 0L));
            }
            result = LimitBiz.CheckUnit(order);
            if (result != ApiResultEnum.Success)
            {
                return(Result(result, 0L));
            }

            model.name     = StockInfoBiz.GetStock(model.code).name;
            model.id       = FuncHelper.GetUniqueID();
            model.user_id  = user_id;
            model.platform = platform;
            if (model.account_id > 0)
            {
                model.account_name = AccountRA.GetName(model.account_id);
            }
            else
            {
                model.account_name = "";
            }
            string key = "S_" + model.id + "_U_" + model.unit_id + "_D_0";

            OrderAutoRA.Add(model, key);
            return(Result(ApiResultEnum.Success, model.id));
        }