Ejemplo n.º 1
0
        public void Update(IBfChildOrder order)
        {
            AcceptanceId = order.AcceptanceId;
            OrderId      = order.OrderId;
            OrderDate    = order.OrderDate;
            ExpireDate   = order.ExpireDate;

            switch (order.State)
            {
            case BfOrderState.Active:
                ChangeState(ExecutedSize == 0m ? BfxOrderState.Ordered : BfxOrderState.PartiallyExecuted);
                break;

            case BfOrderState.Completed:
                ChangeState(BfxOrderState.Executed);
                break;

            case BfOrderState.Canceled:
                ChangeState(BfxOrderState.Canceled);
                break;

            case BfOrderState.Expired:
                ChangeState(BfxOrderState.Expired);
                break;

            default:
                throw new ArgumentException("Unexpected order status");
            }
            Update(order.Executions);
        }
Ejemplo n.º 2
0
        // Market/Limit get from market
        public BfxChildOrder(IBfChildOrder order)
        {
            Request = default;

            // Request fields
            ProductCode = order.ProductCode;
            OrderType   = order.OrderType;
            Side        = order.Side;
            OrderSize   = order.OrderSize;
            if (OrderType == BfOrderType.Limit)
            {
                OrderPrice = order.OrderPrice;
            }

            Update(order);
            LastUpdatedTime = order.OrderDate;
        }