Esempio n. 1
0
        public bool OrderCancel(CustomOrder order, out string errMsg)
        {
            if (order == null || string.IsNullOrEmpty(order.InstrumentID))
            {
                errMsg = "CTP撤单时Order参数不能为空,InstrumentID信息也不能为空";
                return(false);
            }

            ThostFtdcInputOrderActionField inAction = new ThostFtdcInputOrderActionField();

            inAction.BrokerID   = BROKER_ID;
            inAction.InvestorID = INVESTOR_ID;
            inAction.FrontID    = FRONT_ID;
            inAction.SessionID  = SESSION_ID;

            inAction.InstrumentID = order.InstrumentID;
            inAction.OrderRef     = order.OrderNo.ToString();
            inAction.ActionFlag   = EnumActionFlagType.Delete;

            // 撤单
            var ret = trader.ReqOrderAction(inAction, iRequestID++);

            errMsg = (ret == 0) ? "-" : "CTP撤单失败,返回值:" + ret;

            return(ret == 0);
        }