void RegisterTraderResponseHandler(CTPTrader trader) { //注册事件处理函数 trader.UserLoginResponse += new EventHandler <CTPEventArgs <CThostFtdcRspUserLoginField> >(trader_UserLoginResponse); trader.QueryExchangeResponse += new EventHandler <CTPEventArgs <CTPExchange> >(trader_QueryExchangeResponse); trader.QueryInstrumentResponse += new EventHandler <CTPEventArgs <List <CTPInstrument> > >(trader_QueryInstrumentResponse); trader.QueryInvestorResponse += new EventHandler <CTPEventArgs <CThostFtdcInvestorField> >(trader_QueryInvestorResponse); trader.QueryTradingAccountResponse += new EventHandler <CTPEventArgs <CThostFtdcTradingAccountField> >(trader_QueryTradingAccountResponse); trader.QueryInvestorPositionResponse += new EventHandler <CTPEventArgs <List <CThostFtdcInvestorPositionField> > >(trader_QueryInvestorPositionResponse); trader.QueryInvestorPositionDetailResponse += new EventHandler <CTPEventArgs <List <CThostFtdcInvestorPositionDetailField> > >(trader_QueryInvestorPositionDetailResponse); trader.QueryOrderResponse += new EventHandler <CTPEventArgs <List <CThostFtdcOrderField> > >(trader_QueryOrderResponse); trader.QueryTradeResponse += new EventHandler <CTPEventArgs <List <CThostFtdcTradeField> > >(trader_QueryTradeResponse); trader.OrderInsertResponse += new EventHandler <CTPEventArgs <CThostFtdcInputOrderField> >(trader_OrderInsertResponse); trader.OrderActionResponse += new EventHandler <CTPEventArgs <CThostFtdcInputOrderActionField> >(trader_OrderActionResponse); trader.ErrorReturnOrderInsertResponse += new EventHandler <CTPEventArgs <CThostFtdcInputOrderField> >(trader_ErrorReturnOrderInsertResponse); trader.ReturnOrderResponse += new EventHandler <CTPEventArgs <CThostFtdcOrderField> >(trader_ReturnOrderResponse); trader.ReturnTradeResponse += new EventHandler <CTPEventArgs <CThostFtdcTradeField> >(trader_ReturnTradeResponse); trader.ReturnInstrumentStatusResponse += new EventHandler <CTPEventArgs <CThostFtdcInstrumentStatusField> >(trader_ReturnInstrumentStatusResponse); trader.QueryDepthMarketDataResponse += new EventHandler <CTPEventArgs <CThostFtdcDepthMarketDataField> >(trader_QueryDepthMarketDataResponse); trader.SettlementInfoConfirmResponse += new EventHandler <CTPEventArgs <CThostFtdcSettlementInfoConfirmField> >(trader_SettlementInfoConfirmResponse); }
private void idLoginMenuItem_Click(object sender, EventArgs e) { LoginForm login = new LoginForm(); login.TradeServerLogged += new EventHandler( (object s, EventArgs args) => { //可增加其他监听处理 //比如多账户:traderList.Add(s as CTPTrader); //处理登录成功事件 ShowMessage("交易账户登录成功,开始初始化信息..."); CTPTrader trader = s as CTPTrader; RegisterTraderResponseHandler(trader); trader.QueryInstrument(); trader.QueryOrder(); trader.QueryTrade(); trader.QueryInvestorPositionDetail(); trader.QueryTradingAccount(); //确认结算单 trader.SettlementInfoConfirm(); }); if (login.ShowDialog() == System.Windows.Forms.DialogResult.OK) { this.trader = login.Trader; this.quote = login.Quote; RegisterQuoteResponseHandler(this.quote); } }
private void InitCTPTrader() { CtpTrader = new CTPTrader(); CtpTrader.OnRspUserLogin += CtpTrader_OnRspUserLogin; CtpTrader.OnRspError += CtpTrader_OnRspError; ConnectCtpTraderServer(); if (Login()) { GetInstruments(); } }