Exemplo n.º 1
0
 static void _client_RspError(CTP_CLI.CThostFtdcRspInfoField_M pRspInfo, int nRequestID, bool bIsLast)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 2
0
 /// <summary>
 /// 登陆成功回掉函数
 /// </summary>
 /// <param name="pRspUserLogin">用户登录信息结构</param>
 /// <param name="pRspInfo">返回用户响应信息</param>
 /// <param name="nRequestID">返回用户登录请求的ID,该ID 由用户在登录时指定。</param>
 /// <param name="bIsLast">指示该次返回是否为针对nRequestID的最后一次返回。</param>
 static void _client_RspUserLogin(CTP_CLI.CThostFtdcRspUserLoginField_M pRspUserLogin, CTP_CLI.CThostFtdcRspInfoField_M pRspInfo, int nRequestID, bool bIsLast)
 {
     if (pRspInfo.ErrorID == 0 && bIsLast == true)
     {
         status = FutureTradeThreadStatus.LOGIN;
     }
     //throw new NotImplementedException();
 }
Exemplo n.º 3
0
 /// <summary>
 /// 报单回报(私有回报)
 /// 此函数通知报单的变化
 /// </summary>
 /// <param name="pOrder"></param>
 static void _client_RtnOrder(CTP_CLI.CThostFtdcOrderField_M pOrder)
 {
     switch (pOrder.OrderStatus)
     {
         case 48:
             {
                 //全部成交
                 TradeRecord.GetInstance().UpdateOrder(pOrder.VolumeTraded,Convert.ToInt16(pOrder.OrderRef),pOrder.OrderSysID,pOrder.StatusMsg,pOrder.OrderStatus,pOrder.VolumeTotal);
             }
             break;
         case 49:
             {
                 //部分成交
                 TradeRecord.GetInstance().UpdateOrder(pOrder.VolumeTraded,Convert.ToInt16(pOrder.OrderRef),pOrder.OrderSysID,pOrder.StatusMsg,pOrder.OrderStatus,pOrder.VolumeTotal);
             }
             break;
         case 51:
             {
                 //未成交状态
                 TradeRecord.GetInstance().UpdateOrder(pOrder.VolumeTraded,Convert.ToInt16(pOrder.OrderRef),pOrder.OrderSysID,pOrder.StatusMsg,pOrder.OrderStatus,pOrder.VolumeTotal);
             }
             break;
         case 53:
             {
                 //已撤单状态
                 TradeRecord.GetInstance().UpdateOrder(pOrder.VolumeTraded,Convert.ToInt16(pOrder.OrderRef),pOrder.OrderSysID,pOrder.StatusMsg,pOrder.OrderStatus,pOrder.VolumeTotal);
             }
             break;
         case 97:
             {
                 //报单已经提交,创建委托记录
                 TradeRecord.GetInstance().SubscribeOrder("1", pOrder.InstrumentID, Convert.ToChar(pOrder.Direction).ToString(), pOrder.VolumeTotalOriginal, Convert.ToDecimal(pOrder.LimitPrice), Convert.ToInt16(pOrder.OrderRef), pOrder.OrderStatus, pOrder.CombOffsetFlag_0);
             }
             break;
         default:
             {
                 //如果是没有见过的状态,则默认更新委托信息
                 TradeRecord.GetInstance().UpdateOrder(pOrder.VolumeTraded,Convert.ToInt16(pOrder.OrderRef),pOrder.OrderSysID,pOrder.StatusMsg,pOrder.OrderStatus,pOrder.VolumeTotal);
             }
             break;
     }
 }
Exemplo n.º 4
0
 /// <summary>
 /// 成交回报(私有回报)
 /// 此函数通知交易的变化
 /// </summary>
 /// <param name="pTrade"></param>
 static void _client_RtnTrade(CTP_CLI.CThostFtdcTradeField_M pTrade)
 {
     TradeRecord.GetInstance().UpdateTrade(Convert.ToInt16(pTrade.OrderRef), pTrade.Volume, Convert.ToDecimal(pTrade.Price), pTrade.TradeID);
 }
Exemplo n.º 5
0
 /// <summary>
 /// 提交报单请求响应处理函数, 当报单内容有问题时,通过该函数响应
 /// </summary>
 /// <param name="pInputOrderAction">报单请求内容</param>
 /// <param name="pRspInfo">返回信息</param>
 /// <param name="nRequestID"></param>
 /// <param name="bIsLast"></param>
 static void _client_RspOrderAction(CTP_CLI.CThostFtdcInputOrderActionField_M pInputOrderAction, 
     CTP_CLI.CThostFtdcRspInfoField_M pRspInfo, int nRequestID, bool bIsLast)
 {
     //throw new NotImplementedException();
 }
Exemplo n.º 6
0
 /// <summary>
 /// 交易提交出现问题回掉函数
 /// </summary>
 /// <param name="pInputOrder"></param>
 /// <param name="pRspInfo"></param>
 /// <param name="nRequestID"></param>
 /// <param name="bIsLast"></param>
 static void _client_RspOrderInsert(CTP_CLI.CThostFtdcInputOrderField_M pInputOrder, CTP_CLI.CThostFtdcRspInfoField_M pRspInfo, int nRequestID, bool bIsLast)
 {
     TradeRecord.GetInstance().MarkFailure(Convert.ToInt16(pInputOrder.OrderRef), pRspInfo.ErrorMsg);
 }