private static Order Deviation(Order order,
                                       OrderDeviationMode mode, int threshold,
                                       OrderDeviationMethod method,
                                       OrderPriceAdjustMethod adjustMethod,
                                       byte slippage, byte maxTry)
        {
            var info = GetOrderInfo(order);

            if (mode == OrderDeviationMode.Disabled)
            {
                info.DeviationMode = mode;
            }
            else
            {
                switch (info.DeviationMode)
                {
                case OrderDeviationMode.QuoteAndTrade:
                case OrderDeviationMode.Trade:
                case OrderDeviationMode.Time:
                    info.DeviationMode |= mode;
                    break;

                default:
                    info.DeviationMode = mode;
                    break;
                }
            }
            info.DeviationInfo.Threshold         = threshold;
            info.DeviationInfo.Method            = method;
            info.DeviationInfo.PriceAdjustMethod = adjustMethod;
            info.DeviationInfo.Slippage          = slippage;
            info.DeviationInfo.MaxTry            = maxTry;
            return(order);
        }
 public void LoadForm(BinaryReader reader)
 {
     PriceAdjustMethod = (OrderPriceAdjustMethod)reader.ReadByte();
     Method            = (OrderDeviationMethod)reader.ReadByte();
     Slippage          = reader.ReadByte();
     MaxTry            = reader.ReadByte();
     TryCount          = reader.ReadByte();
     Threshold         = reader.ReadInt32();
 }