protected override void OnRspError(CLRCQdpFtdcRspInfoField RspInfo, int nRequestID, bool bIsLast) { /*if(ProgramTradeEvents.RspEventHandler.ContainsKey(RspSpiModules.RspError) && null!=ProgramTradeEvents.RspEventHandler[RspSpiModules.RspError]) * { * Parallel.ForEach(ProgramTradeEvents.RspEventHandler[RspSpiModules.RspError].GetInvocationList(), handler => * { * (handler as EventHandler<RspEventArgs>).BeginInvoke(this, new RspEventArgs { ErrorID = RspInfo.ErrorID, Message = RspInfo.ErrorMsg, RequestID = nRequestID, IsLast = bIsLast }, null, null); * }); * }*/ }
///成交单查询应答 protected override void OnRspQryTrade(CLRCQdpFtdcTradeField Trade, CLRCQdpFtdcRspInfoField RspInfo, int nRequestID, bool bIsLast) { #if DEBUG Debug.WriteLine("Current ThreadID:{0},Thread called by TradeSpi->OnRspQryTrade", Thread.CurrentThread.ManagedThreadId); #endif /*if (null != ProgramTradeEvents.RspQryTradeHandler) * { * Parallel.ForEach(ProgramTradeEvents.RspQryTradeHandler.GetInvocationList(), handler => * { * (handler as EventHandler<RspQryTradeEventArgs>).BeginInvoke(this, new RspQryTradeEventArgs { Trade = Trade, RspInfo = RspInfo, RequestID = nRequestID, IsLast = bIsLast }, null, null); * }); * }*/ }
/*/// <summary> * /// 报文回调开始通知 * /// 当API收到一个报文后,首先调用本方法,然后是各数据域的回调,最后是报文回调结束通知。 * /// </summary> * /// <param name="nTopicID">主题代码(如私有流、公共流、行情流等)</param> * /// <param name="nSequenceNo">报文序号</param> * protected override void OnPackageStart(int nTopicID, int nSequenceNo) * { * ; * }*/ /*/// <summary> * /// 报文回调结束通知 * /// 当API收到一个报文后,首先调用报文回调开始通知,然后是各数据域的回调,最后调用本方法。 * /// </summary> * /// <param name="nTopicID">主题代码(如私有流、公共流、行情流等)</param> * /// <param name="nSequenceNo">报文序号</param> * protected override void OnPackageEnd(int nTopicID, int nSequenceNo) * { * ; * }*/ /// <summary> /// 错误应答 /// </summary> /// <param name="RspInfo">错误应答信息</param> /// <param name="nRequestID">应答对应的请求ID</param> /// <param name="bIsLast">是否为最后一个应答报文</param> protected override void OnRspError(CLRCQdpFtdcRspInfoField RspInfo, int nRequestID, bool bIsLast) { #if DEBUG Debug.WriteLine("Current ThreadID:{0},Thread Called By TradeSpi->OnRspError", Thread.CurrentThread.ManagedThreadId); #endif /*if (ProgramTradeEvents.RspEventHandler.ContainsKey(RspSpiModules.RspError) && null != ProgramTradeEvents.RspEventHandler[RspSpiModules.RspError]) * { * Parallel.ForEach(ProgramTradeEvents.RspEventHandler[RspSpiModules.RspError].GetInvocationList(), handler => * { * (handler as EventHandler<RspEventArgs>).BeginInvoke(this, new RspEventArgs { Error = RspInfo.ErrorID, Message = RspInfo.ErrorMsg, RequestID = nRequestID, IsLast = bIsLast }, null, null); * }); * }*/ }
///实时行情查询应答 protected override void OnRspQryMarketData(CLRCQdpFtdcMarketDataField MarketData, CLRCQdpFtdcRspInfoField RspInfo, int nRequestID, bool bIsLast) { ; }
///交易所时间偏差查询应答 protected override void OnRspQryExchangeDiffTime(CLRCQdpFtdcRspExchangeDiffTimeField RspExchangeDiffTime, CLRCQdpFtdcRspInfoField RspInfo, int nRequestID, bool bIsLast) { ; }
///投资者保证金率查询应答 protected override void OnRspQryInvestorMargin(CLRCQdpFtdcInvestorMarginField InvestorMargin, CLRCQdpFtdcRspInfoField RspInfo, int nRequestID, bool bIsLast) { ; }
///主题查询应答 protected override void OnRspQryTopic(CLRCQdpFtdcDisseminationField Dissemination, CLRCQdpFtdcRspInfoField RspInfo, int nRequestID, bool bIsLast) { ; }
///投资者持仓查询应答 protected override void OnRspQryInvestorPosition(CLRCQdpFtdcRspInvestorPositionField RspInvestorPosition, CLRCQdpFtdcRspInfoField RspInfo, int nRequestID, bool bIsLast) { ; }
///合约查询应答 protected override void OnRspQryInstrument(CLRCQdpFtdcRspInstrumentField RspInstrument, CLRCQdpFtdcRspInfoField RspInfo, int nRequestID, bool bIsLast) { ; }
///报单操作错误回报 protected override void OnErrRtnOrderAction(CLRCQdpFtdcOrderActionField OrderAction, CLRCQdpFtdcRspInfoField RspInfo) { #if DEBUG Debug.WriteLine("Current ThreadID:{0},Thread called by TradeSpi->OnErrRtnOrderAction", Thread.CurrentThread.ManagedThreadId); #endif /*if (null != ProgramTradeEvents.ErrRtnOrderActionHandler) * { * Parallel.ForEach(ProgramTradeEvents.ErrRtnOrderActionHandler.GetInvocationList(), handler => * { * (handler as EventHandler<ErrRtnOrderActionEventArgs>).BeginInvoke(this, new ErrRtnOrderActionEventArgs { OrderAction = OrderAction, RspInfo = RspInfo }, null, null); * }); * }*/ }
///报单操作应答 protected override void OnRspOrderAction(CLRCQdpFtdcOrderActionField OrderAction, CLRCQdpFtdcRspInfoField RspInfo, int nRequestID, bool bIsLast) { #if DEBUG Debug.WriteLine("Current ThreadID:{0},Thread called by TradeSpi->OnErrRtnOrderInsert", Thread.CurrentThread.ManagedThreadId); #endif /*if(null!=ProgramTradeEvents.RspOrderActionHandler) * { * Parallel.ForEach(ProgramTradeEvents.RspOrderActionHandler.GetInvocationList(), handler => * { * (handler as EventHandler<RspOrderActionEventArgs>).BeginInvoke(this, new RspOrderActionEventArgs * { * OrderAction = OrderAction, * RspInfo = RspInfo, * RequestID = nRequestID, * IsLast = bIsLast * }, null, null); * }); * }*/ }
protected override void OnRspSubscribeTopic(CLRCQdpFtdcDisseminationField Dissemination, CLRCQdpFtdcRspInfoField RspInfo, int nRequestID, bool bIsLast) { /*if (null != ProgramTradeEvents.RspSubscribeTopicHandler) * { * Parallel.ForEach(ProgramTradeEvents.RspSubscribeTopicHandler.GetInvocationList(), handler => * { * (handler as EventHandler<RspSubscribeTopicEventArgs>).BeginInvoke(this, new RspSubscribeTopicEventArgs { Dissemination = Dissemination, RspInfo = RspInfo, RequestID = nRequestID, IsLast = bIsLast }, null, null); * }); * }*/ }
protected override void OnRspUserLogout(CLRCQdpFtdcRspUserLogoutField RspUserLogout, CLRCQdpFtdcRspInfoField RspInfo, int nRequestID, bool bIsLast) { /*if(null!=ProgramTradeEvents.RspUserLogoutHandler) * { * Parallel.ForEach(ProgramTradeEvents.RspUserLogoutHandler.GetInvocationList(), handler=> * { * (handler as EventHandler<RspUserLogoutEventArgs>).BeginInvoke(this, new RspUserLogoutEventArgs { RspUserLogout = RspUserLogout, RspInfo = RspInfo, RequestID = nRequestID, IsLast = bIsLast }, null, null); * }); * }*/ }
protected override void OnRspUnSubMarketData(CLRCQdpFtdcSpecificInstrumentField SpecificInstrument, CLRCQdpFtdcRspInfoField RspInfo, int nRequestID, bool bIsLast) { }