Пример #1
0
 public void Update(BfaParentOrder order, BfaParentOrderDetail detail)
 {
     PagingId    = order.PagingId;
     State       = order.ParentOrderState;
     OrderDate   = order.ParentOrderDate;
     TimeInForce = detail.TimeInForce;
 }
Пример #2
0
        public BfParentOrder(BfaParentOrder order, BfaParentOrderDetail detail, IBfChildOrder[] children)
        {
            _order      = order;
            ProductCode = BfProductCodeEx.Parse(order.ProductCode);

            Children = children;
        }
Пример #3
0
        public void Update(BfaParentOrderDetail detail, int childOrderIndex)
        {
            OrderType   = detail.Parameters[childOrderIndex].ConditionType; // To overwrite limit/market to stop/stop limit/trail
            Side        = detail.Parameters[childOrderIndex].Side;
            OrderSize   = detail.Parameters[childOrderIndex].Size;
            ExpireDate  = detail.ExpireDate;
            TimeInForce = detail.TimeInForce;

            if (OrderType is BfOrderType.Limit or BfOrderType.StopLimit)
            {
                OrderPrice = detail.Parameters[childOrderIndex].Price;
            }
            if (OrderType is BfOrderType.Stop or BfOrderType.StopLimit)
            {
                TriggerPrice = detail.Parameters[childOrderIndex].TriggerPrice;
            }
            if (OrderType == BfOrderType.Trail)
            {
                Offset = detail.Parameters[childOrderIndex].Offset;
            }

            ParentOrderAcceptanceId = detail.ParentOrderAcceptanceId;
            ParentOrderId           = detail.ParentOrderId;
            ChildOrderIndex         = childOrderIndex;
        }
Пример #4
0
        public DbParentOrder(BfProductCode productCode, BfaParentOrderDetail order)
        {
            ProductCode = productCode;

            PagingId     = order.PagingId;
            OrderId      = order.ParentOrderId;
            OrderType    = order.OrderMethod;
            ExpireDate   = order.ExpireDate;
            TimeInForce  = order.TimeInForce;
            AcceptanceId = order.ParentOrderAcceptanceId;
        }
Пример #5
0
        public DbParentOrder(BfProductCode productCode, BfaParentOrder order, BfaParentOrderDetail detail)
        {
            ProductCode = productCode;

            PagingId     = order.PagingId;
            OrderId      = order.ParentOrderId;
            OrderType    = order.ParentOrderType;
            ExpireDate   = order.ExpireDate;
            TimeInForce  = detail.TimeInForce;
            AcceptanceId = order.ParentOrderAcceptanceId;
            State        = order.ParentOrderState;
            OrderDate    = order.ParentOrderDate;
        }
Пример #6
0
        public void Upsert(BfProductCode productCode, BfaChildOrder order, BfaParentOrderDetail detail, int childOrderIndex)
        {
            var rec = GetChildOrders().Where(e => e.ProductCode == productCode && e.AcceptanceId == order.ChildOrderAcceptanceId).FirstOrDefault();

            if (rec == default)
            {
                rec = new DbChildOrder(productCode, detail, childOrderIndex);
                rec.Update(order);
                ChildOrders.Add(rec);
            }
            else
            {
                rec.Update(detail, childOrderIndex);
                rec.Update(order);
            }
        }
Пример #7
0
 public DbChildOrder(BfProductCode productCode, BfaParentOrderDetail detail, int childOrderIndex)
 {
     ProductCode = productCode;
     Update(detail, childOrderIndex);
 }