예제 #1
0
        public void OrderStateToOrderStatus_NewTest()
        {
            IB.OrderStatus ibstatus = IB.OrderStatus.Submitted;
            OQ.OrderStatus status;
            bool           result = Helpers.OrderStateToOrderStatus(ibstatus, out status);

            Assert.IsTrue(result);
            Assert.AreEqual(OQ.OrderStatus.PendingNew, status);
        }
예제 #2
0
        public void OrderStateToOrderStatus_CanceledTest()
        {
            IB.OrderStatus ibstatus = IB.OrderStatus.Canceled;
            OQ.OrderStatus status;
            bool           result = Helpers.OrderStateToOrderStatus(ibstatus, out status);

            Assert.IsTrue(result);
            Assert.AreEqual(OQ.OrderStatus.Cancelled, status);
        }
예제 #3
0
        public static bool OrderStateToOrderStatus(IB.OrderStatus ibstatus, out OQ.OrderStatus status)
        {
            status = OQ.OrderStatus.New;
            switch (ibstatus)
            {
            case IB.OrderStatus.ApiCancelled:
            case IB.OrderStatus.Canceled:
                status = OQ.OrderStatus.Cancelled;
                break;

            case IB.OrderStatus.Inactive:
            case IB.OrderStatus.ApiPending:
            case IB.OrderStatus.PendingSubmit:
            case IB.OrderStatus.PreSubmitted:
            case IB.OrderStatus.Submitted:
                status = OQ.OrderStatus.PendingNew;
                break;

            case IB.OrderStatus.Filled:
                status = OQ.OrderStatus.Filled;
                break;

            case IB.OrderStatus.PartiallyFilled:
                status = OQ.OrderStatus.PartiallyFilled;
                break;

            case IB.OrderStatus.PendingCancel:
                status = OQ.OrderStatus.PendingCancel;
                break;

            default:
            case IB.OrderStatus.Unknown:
                return(false);
            }
            return(true);
        }