private void SetOrderPrice(Order order, DeviationInfo info)
        {
            switch (info.PriceAdjustMethod)
            {
            case OrderPriceAdjustMethod.UpperLowerLimit:
                order.Price = order.Side == OrderSide.Buy ? GetUpperLimitPrice() : GetLowerLimitPrice();
                break;

            case OrderPriceAdjustMethod.MatchPrice:
                order.Price = order.Side == OrderSide.Buy
                        ? order.Instrument.Ask.Price + info.Slippage
                        : order.Instrument.Bid.Price - info.Slippage;
                break;
            }
        }
        private void SetOrderPrice(Order order, DeviationInfo info, bool marketToLimit = true)
        {
            if (marketToLimit)
            {
                order.Type = OrderType.Limit;
            }
            switch (info.PriceAdjustMethod)
            {
            case OrderPriceAdjustMethod.UpperLowerLimit:
                if (_rules.MarketOrder)
                {
                    _logger.Debug($"{Order.Id}, adjust to market");
                    order.Type  = OrderType.Market;
                    order.Price = 0;
                }
                else
                {
                    _logger.Debug($"{Order.Id}, adjust to lower_upper_limit");
                    order.Price = GetUpperLowerPrice();
                }
                break;

            case OrderPriceAdjustMethod.MatchPrice:
                _logger.Debug($"{Order.Id}, adjust to match");
                order.Price = GetMatchPrice();
                break;
            }

            double GetUpperLowerPrice()
            {
                return(order.Side == OrderSide.Buy ? GetUpperLimitPrice() : GetLowerLimitPrice());
            }

            double GetMatchPrice()
            {
                if (order.Side == OrderSide.Buy)
                {
                    return(order.Instrument.Ask.Price + info.Slippage);
                }
                return(order.Instrument.Bid.Price - info.Slippage);
            }
        }