public void TestInsertParkedOrder()
        {
            var insertParkedOrderCallback = new DataCallback <ParkedOrderInfo>((DataResult <ParkedOrderInfo> result) =>
            {
                ParkedOrderInfo pParkedOrder = new ParkedOrderInfo();
                pParkedOrder = result.Result;
                if (result.IsSuccess)
                {
                    Console.WriteLine("预埋单录入成功, ParkedOrderID: {0}", pParkedOrder.ParkedOrderID);
                }
                Assert.IsTrue(result.IsSuccess);
            });
            OrderParameter field = new OrderParameter();

            field.InstrumentID        = "TF1709";
            field.OrderRef            = "1";
            field.Direction           = DirectionType.Buy;
            field.PriceType           = OrderPriceType.LimitPrice;
            field.OpenCloseFlag       = OpenCloseFlag.Open;
            field.HedgeFlag           = HedgeFlag.Speculation;
            field.Price               = 97.010M;
            field.Quantity            = 1;
            field.TimeCondition       = TimeConditionType.GFD;
            field.VolumeCondition     = VolumeConditionType.AV;
            field.MinVolume           = 1;
            field.ContingentCondition = ContingentConditionType.Immediately;
            field.ForceCloseReason    = ForceCloseReasonType.NotForceClose;
            field.IsAutoSuspend       = 0;
            field.UserForceClose      = 0;

            _adapter.InsertParkedOrder(insertParkedOrderCallback, field);
            Thread.Sleep(200);
        }
Exemple #2
0
        public void TestCancelParkedOrder()
        {
            var insertParkedOrderCallback = new DataCallback <ParkedOrderInfo>((DataResult <ParkedOrderInfo> result) =>
            {
                ParkedOrderInfo pParkedOrder = new ParkedOrderInfo();
                pParkedOrder = result.Result;
                if (result.IsSuccess)
                {
                    var cancelParkedOrderCallback = new DataCallback <ParkedOrderInfo>((DataResult <ParkedOrderInfo> cancelParkedOrderResult) =>
                    {
                        pParkedOrder = cancelParkedOrderResult.Result;
                        if (cancelParkedOrderResult.IsSuccess)
                        {
                            Console.WriteLine("预埋撤单录入成功,ParkedOrderActionID:{0}", pParkedOrder.ParkedOrderActionID);
                        }
                        else
                        {
                            Console.WriteLine("预埋撤单录入失败:{0}", cancelParkedOrderResult.Error);
                        }
                        Assert.IsTrue(cancelParkedOrderResult.IsSuccess);
                    });
                    CancelOrderParameter fieldAction = new CancelOrderParameter();
                    fieldAction.ActionFlag           = ActionFlag.Delete;
                    fieldAction.InstrumentID         = pParkedOrder.InstrumentID;
                    fieldAction.OrderRef             = pParkedOrder.OrderRef;
                    fieldAction.ExchangeID           = pParkedOrder.ExchangeID;
                    fieldAction.OrderSysID           = new string('\0', 21 - pParkedOrder.OrderSysID.Length) + pParkedOrder.OrderSysID;

                    _adapter.CancelParkedOrder(cancelParkedOrderCallback, fieldAction);
                    Thread.Sleep(50);
                }
                else
                {
                    Console.WriteLine("预埋单录入失败:", result.Error);
                }
                Assert.IsTrue(result.IsSuccess);
            });
            OrderParameter field = new OrderParameter();

            field.InstrumentID        = "TF1809";
            field.OrderRef            = "1";
            field.Direction           = DirectionType.Buy;
            field.PriceType           = OrderPriceType.LimitPrice;
            field.OpenCloseFlag       = OpenCloseFlag.Open;
            field.HedgeFlag           = HedgeFlag.Speculation;
            field.Price               = 97.010M;
            field.Quantity            = 1;
            field.TimeCondition       = TimeConditionType.GFD;
            field.VolumeCondition     = VolumeConditionType.AV;
            field.MinVolume           = 1;
            field.ContingentCondition = ContingentConditionType.Immediately;
            field.ForceCloseReason    = ForceCloseReasonType.NotForceClose;
            field.IsAutoSuspend       = 0;
            field.UserForceClose      = 0;

            _adapter.InsertParkedOrder(insertParkedOrderCallback, field);
            Thread.Sleep(200);
        }