private void InitRules()
        {
            SetMarketData();
            _rules = Agent.InstTradeInfoList[Order.Instrument.Id];
            _info.DeviationMode = GetMode();
            if (_info.DeviationMode != OrderDeviationMode.Disabled)
            {
                _info.Market2Limit.PriceAdjustMethod = GetMarket2LimitMethod();
            }

            OrderPriceAdjustMethod GetMarket2LimitMethod()
            {
                if (_info.Market2Limit.PriceAdjustMethod == OrderPriceAdjustMethod.Default)
                {
                    return(Agent.Info.Market2Limit.PriceAdjustMethod);
                }
                return(_info.Market2Limit.PriceAdjustMethod);
            }

            OrderDeviationMode GetMode()
            {
                if ((Order.Type == OrderType.Market || Order.Type == OrderType.Stop) && _rules.MarketOrder)
                {
                    return(OrderDeviationMode.Disabled);
                }
                return(_info.DeviationMode);
            }
        }
 private void InitRules()
 {
     SetMarketData();
     _rules = _agent.instTradeInfoList[_order.Instrument.Id];
     if ((_order.Type == OrderType.Market || _order.Type == OrderType.Stop) && _rules.HasMarketOrder)
     {
         _info.DeviationMode = OrderDeviationMode.Disabled;
         _info.Market2Limit.PriceAdjustMethod = OrderPriceAdjustMethod.Default;
     }
     else
     {
         if (_info.Market2Limit.PriceAdjustMethod == OrderPriceAdjustMethod.Default)
         {
             _info.Market2Limit.PriceAdjustMethod = _agent.Info.Market2Limit.PriceAdjustMethod;
         }
     }
 }