示例#1
0
 internal override void FillOrderCommonData(OrderCommonData orderData, Guid instrumentId, DateTime?tradeDay = null)
 {
     base.FillOrderCommonData(orderData, instrumentId, tradeDay);
     this.PhysicalSettings = new PhysicalConstructParams();
     if (orderData is Protocal.Physical.PhysicalOrderData)
     {
         var physicalOrderData = (Protocal.Physical.PhysicalOrderData)orderData;
         this.PhysicalSettings.Fill(physicalOrderData);
         if (physicalOrderData.InstalmentPart != null && this.PhysicalSettings.PhysicalType != Protocal.Physical.PhysicalType.FullPayment)
         {
             this.Instalment = new InstalmentConstructParams();
             this.Instalment.FIll(physicalOrderData.InstalmentPart);
         }
     }
     else if (orderData is Protocal.Physical.PhysicalOrderBookData)
     {
         var bookData = (Protocal.Physical.PhysicalOrderBookData)orderData;
         this.PhysicalSettings.FillForBookData(bookData);
         if (bookData.InstalmentPart != null)
         {
             this.Instalment = new InstalmentConstructParams();
             this.Instalment.FIll(bookData.InstalmentPart);
         }
     }
 }
示例#2
0
 protected override void ParseAttrs(OrderCommonData order, XmlNode orderXml)
 {
     base.ParseAttrs(order, orderXml);
     if (orderXml.HasAttribute("ExecutePrice"))
     {
         ((OrderBookData)order).ExecutePrice = orderXml.GetAttrValue("ExecutePrice");
     }
 }
示例#3
0
        protected override void ParseAttrs(OrderCommonData order, XmlNode orderXml)
        {
            base.ParseAttrs(order, orderXml);
            var boOrder = (BOOrderData)order;

            boOrder.BOBetTypeID = (Guid)orderXml.GetAttrValue("BOBetTypeID", typeof(Guid));
            boOrder.BOFrequency = (int)orderXml.GetAttrValue("BOFrequency", typeof(Int32));
            boOrder.BOOdds      = (decimal)orderXml.GetAttrValue("BOOdds", typeof(decimal));
            boOrder.BOBetOption = (long)orderXml.GetAttrValue("BOBetOption", typeof(Int64));
        }
示例#4
0
        protected override void ParseAttrs(OrderCommonData order, XmlNode orderXml)
        {
            base.ParseAttrs(order, orderXml);
            PhysicalOrderParameters physicalOrderParameters = orderXml.ParsePhysicalOrderParameters();
            var physicalOrder = (PhysicalOrderData)order;

            physicalOrder.InstalmentPart    = physicalOrderParameters.InstalmentPart;
            physicalOrder.PhysicalType      = physicalOrderParameters.PhysicalType;
            physicalOrder.PhysicalTradeSide = physicalOrderParameters.PhysicalTradeSide;
        }
示例#5
0
        internal override void FillOrderCommonData(OrderCommonData orderData, Guid instrumentId, DateTime?tradeDay = null)
        {
            base.FillOrderCommonData(orderData, instrumentId, tradeDay);
            var boOrderData = (BOOrderData)orderData;

            this.BetTypeId = boOrderData.BOBetTypeID;
            this.Frequency = boOrderData.BOFrequency;
            this.BetOption = boOrderData.BOBetOption;
            this.Odds      = boOrderData.BOOdds;
        }
 protected void ValidateForCloseOrder(OrderCommonData orderData, OrderConstructParams constructParams)
 {
     Logger.InfoFormat("closeOrderId = {0}, totalClosedLot = {1}, lot = {2}", orderData.Id, constructParams.LotBalance, orderData.Lot);
     foreach (var eachOrderRelation in orderData.OrderRelations)
     {
         var closedLot = eachOrderRelation.ClosedLot;
         constructParams.LotBalance -= closedLot;
     }
     if (constructParams.LotBalance != 0)
     {
         throw new TransactionServerException(TransactionError.InvalidLotBalance, string.Format("closeOrderId = {0}, leftLotBalance = {1}, lot = {2}", orderData.Id, constructParams.LotBalance, orderData.Lot));
     }
 }
示例#7
0
        protected override void ParseAttrs(OrderCommonData order, XmlNode orderXml)
        {
            base.ParseAttrs(order, orderXml);
            var physicalOrder = (PhysicalOrderBookData)order;
            PhysicalOrderParameters physicalOrderParameters = orderXml.ParsePhysicalOrderParameters();

            physicalOrder.InstalmentPart    = physicalOrderParameters.InstalmentPart;
            physicalOrder.PhysicalType      = physicalOrderParameters.PhysicalType;
            physicalOrder.PhysicalTradeSide = physicalOrderParameters.PhysicalTradeSide;
            if (physicalOrder.PhysicalTradeSide == PhysicalTradeSide.None)
            {
                physicalOrder.PhysicalTradeSide = order.IsBuy ? PhysicalTradeSide.Buy : PhysicalTradeSide.Sell;
            }
            physicalOrder.PhysicalRequestId = orderXml.HasAttribute("PhysicalRequestId") ? orderXml.GetGuidAttrValue("PhysicalRequestId") : (Guid?)null;
        }