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; } } }