Exemplo n.º 1
0
        void DataApi_OnRspEvent(object sender, OnRspEventArgs e)
        {
            Console.WriteLine("DataApi_OnRspEvent " + e.EventType.ToString());
            bool err = IsError(e.RspInfo, e.EventType.ToString());

            switch (e.EventType)
            {
            case EnumOnRspType.OnRspUserLogin:
                if (!err)
                {
                    Console.WriteLine("登录成功");
                }
                break;

            case EnumOnRspType.OnRspSubMarketData:
            {
                var f = Conv.P2S <ThostFtdcSpecificInstrumentField>(e.Param);
                Console.WriteLine("订阅成功:" + f.InstrumentID);
            }
            break;

            case EnumOnRspType.OnRspUnSubMarketData:
            {
                var f = Conv.P2S <ThostFtdcSpecificInstrumentField>(e.Param);
                Console.WriteLine("退订成功:" + f.InstrumentID);
            }
            break;
            }
        }
Exemplo n.º 2
0
        void TraderApi_OnRspEvent(object sender, OnRspEventArgs e)
        {
            bool err = IsError(e.RspInfo, e.EventType.ToString());

            switch (e.EventType)
            {
            case EnumOnRspType.OnRspUserLogin:
                if (!err)
                {
                    Console.WriteLine("登录成功");
                    var fld = Conv.P2S <ThostFtdcRspUserLoginField>(e.Param);
                    Console.WriteLine("TradingDay is " + fld.TradingDay);

                    ThostFtdcSettlementInfoConfirmField req = new ThostFtdcSettlementInfoConfirmField();
                    req.BrokerID   = BrokerID;
                    req.InvestorID = user;
                    TraderApi.ReqSettlementInfoConfirm(req, ++iRequestID);
                }
                break;

            case EnumOnRspType.OnRspQryInstrument:
                if (e.Param != IntPtr.Zero)
                {
                    var fld = Conv.P2S <ThostFtdcInstrumentField>(e.Param);
                    Console.WriteLine("=====> {0}, {1},  isLast {2}", e.EventType, fld.InstrumentID, e.IsLast);
                }
                break;
            }
        }
Exemplo n.º 3
0
        void TraderApi_OnRspEvent(object sender, OnRspEventArgs e)
        {
            Console.WriteLine("=====> " + e.EventType);

            bool err = IsError(e.RspInfo, e.EventType.ToString());

            switch (e.EventType)
            {
            case EnumOnRspType.OnRspUserLogin:
                if (!err)
                {
                    Console.WriteLine("登录成功");
                    var fld = Conv.P2S <ThostFtdcRspUserLoginField>(e.Param);
                    Console.WriteLine("MaxOrderLocalID {0}", fld.MaxOrderLocalID);
                }
                break;

            case EnumOnRspType.OnRspQryInstrument:
                if (e.Param != IntPtr.Zero)
                {
                    var fld = Conv.P2S <ThostFtdcRspInstrumentField>(e.Param);
                    Console.WriteLine("=====> {0}, {1},  isLast {2}", e.EventType, fld.InstrumentID, e.IsLast);
                }
                break;
            }
        }
Exemplo n.º 4
0
        void TraderApi_OnRspEvent(object sender, OnRspEventArgs e)
        {
            bool err = IsError(e.RspInfo, e.EventType.ToString());

            switch (e.EventType)
            {
            case EnumOnRspType.OnRspAuthenticate:
                if (err)
                {
                    Console.WriteLine("认证失败!!!");
                }
                else
                {
                    Console.WriteLine("认证成功!!!");
                    if (chkSubmitUserSystemInfo.Checked)
                    {
                        RegSystemInfo();
                    }
                    ReqUserLogin();
                }

                break;

            case EnumOnRspType.OnRspUserLogin:
                if (err)
                {
                    Console.WriteLine("登录失败");
                }
                else
                {
                    Console.WriteLine("登录成功");
                    var fld = Conv.P2S <ThostFtdcRspUserLoginField>(e.Param);
                    Console.WriteLine("TradingDay is " + fld.TradingDay);
                    Console.WriteLine("CTP Version " + FtdcTdAdapter.GetApiVersion());

                    ThostFtdcSettlementInfoConfirmField req = new ThostFtdcSettlementInfoConfirmField();
                    req.BrokerID   = this.txtBrokerID.Text;
                    req.InvestorID = this.txtUserID.Text;
                    TraderApi.ReqSettlementInfoConfirm(req, ++this.iRequestID);
                }
                break;

            case EnumOnRspType.OnRspQryInstrument:
                if (e.Param != IntPtr.Zero)
                {
                    var fld = Conv.P2S <ThostFtdcInstrumentField>(e.Param);
                    Console.WriteLine("=====> {0}, {1},  isLast {2}", e.EventType, fld.InstrumentID, e.IsLast);
                }
                break;

            case EnumOnRspType.OnRspQryDepthMarketData:
                if (e.Param != IntPtr.Zero)
                {
                    var fld = Conv.P2S <ThostFtdcDepthMarketDataField>(e.Param);
                    Console.WriteLine("=====> {0}, {1},  isLast {2}", e.EventType, fld.InstrumentID, e.IsLast);
                }
                break;
            }
        }
Exemplo n.º 5
0
        private void MdApi_OnRspEvent(object sender, OnRspEventArgs e)
        {
            if (!IsError(e.RspInfo, e.EventType.ToString()))
            {
                return;
            }

            switch (e.EventType)
            {
            case EnumOnRspType.OnRspUserLogin:
            {
                __DEBUGPF__();
                if (e.IsLast)
                {           // 订阅
                    Subscribe();

                    if (HandleLoginDel != null)
                    {          // 通知登录结果
                        HandleLoginDel(true);
                    }
                }
            }
            break;

            case EnumOnRspType.OnRspUserLogout:
            {
                __DEBUGPF__();
                HandleStatusInternal("用户登出");
            }
            break;

            case EnumOnRspType.OnRspSubMarketData:
            {
                __DEBUGPF__();
                if (e.IsLast)
                {
                    HandleStatusInternal("CTP行情订阅成功");
                }
            }
            break;

            case EnumOnRspType.OnRspUnSubMarketData:
            {
                __DEBUGPF__();
                if (e.IsLast)
                {
                    HandleStatusInternal("CTP行情取消订阅成功");
                }
            }
            break;
            }
        }
Exemplo n.º 6
0
        private void TraderApi_OnRspEvent(object sender, OnRspEventArgs e)
        {
            if (!IsError(e.RspInfo, e.EventType.ToString()))
            {
                return;
            }

            switch (e.EventType)
            {
            case EnumOnRspType.OnRspUserLogin:
                if (e.Param != IntPtr.Zero)
                {
                    var fld = Conv.P2S <ThostFtdcRspUserLoginField>(e.Param);
                    OnRspUserLogin(fld, e.RspInfo, e.RequestID, e.IsLast);
                }
                else
                {
                    HandleStatusInternal("参数ThostFtdcRspUserLoginField为空");
                }
                break;

            case EnumOnRspType.OnRspSettlementInfoConfirm:
                if (e.Param != IntPtr.Zero)
                {
                    var fld = Conv.P2S <ThostFtdcSettlementInfoConfirmField>(e.Param);
                    OnRspSettlementInfoConfirm(fld, e.RspInfo, e.RequestID, e.IsLast);
                }
                else
                {
                    HandleStatusInternal("参数ThostFtdcSettlementInfoConfirmField为空");
                }
                break;

            case EnumOnRspType.OnRspQryInstrument:
                if (e.Param != IntPtr.Zero)
                {
                    var fld = Conv.P2S <ThostFtdcInstrumentField>(e.Param);
                    OnRspQryInstrument(fld, e.RspInfo, e.RequestID, e.IsLast);
                }
                else
                {
                    HandleStatusInternal("参数ThostFtdcInstrumentField为空");
                }
                break;

            case EnumOnRspType.OnRspQryTradingAccount:
                if (e.Param != IntPtr.Zero)
                {
                    var fld = Conv.P2S <ThostFtdcTradingAccountField>(e.Param);
                    OnRspQryTradingAccount(fld, e.RspInfo, e.RequestID, e.IsLast);
                }
                else
                {
                    HandleStatusInternal("参数ThostFtdcTradingAccountField为空");
                }
                break;

            case EnumOnRspType.OnRspQryInvestorPosition:
                if (e.Param != IntPtr.Zero)
                {
                    var fld = Conv.P2S <ThostFtdcInvestorPositionField>(e.Param);
                    OnRspQryInvestorPosition(fld, e.RspInfo, e.RequestID, e.IsLast);
                }
                else
                {
                    HandleStatusInternal("参数ThostFtdcInvestorPositionField为空");
                }
                break;

            case EnumOnRspType.OnRspOrderAction:
                if (e.Param != IntPtr.Zero)
                {
                    var fld = Conv.P2S <ThostFtdcInputOrderActionField>(e.Param);
                    OnRspOrderAction(fld, e.RspInfo, e.RequestID, e.IsLast);
                }
                else
                {
                    HandleStatusInternal("参数ThostFtdcInputOrderActionField为空");
                }
                break;
            }
        }