Ejemplo n.º 1
0
        /// <summary>
        /// 发出报单出现问题回调函数
        /// </summary>
        /// <param name="pInputOrder"></param>
        /// <param name="pRspInfo"></param>
        public static void _client_ErrRtnOrderInsert(CThostFtdcInputOrderField_M pInputOrder, CThostFtdcRspInfoField_M pRspInfo)
        {
            TradeRecord.GetInstance().MarkFailure(Convert.ToInt16(pInputOrder.OrderRef), pRspInfo.ErrorMsg);

            if (pInputOrder.CombOffsetFlag_0 == (byte)(FutureTradeOffSet.Open))
            {
                //只有开仓涉及冻结资金
                //交易失败,需要释放冻结掉的期货交易资金
                accountMonitor.UpdateRiskFrozonAccount(pInputOrder.UserID, pInputOrder.InstrumentID, pInputOrder.VolumeTotalOriginal * (-1), pInputOrder.VolumeTotalOriginal * pInputOrder.LimitPrice * (-1), "F", pInputOrder.Direction.ToString());
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 报单查询回报(私有回报)
 /// 此函数通知报单的变化
 /// </summary>
 /// <param name="pOrder"></param>
 public static void _client_RspQryOrder(CThostFtdcOrderField_M pOrder, CThostFtdcRspInfoField_M pRspInfo, int nRequestID, bool bIsLast)
 {
     ThreadPool.QueueUserWorkItem(new WaitCallback(FutureTrade.RtnOrderProc), (object)pOrder);
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 发出报单出现问题回调函数
 /// </summary>
 /// <param name="pInputOrder"></param>
 /// <param name="pRspInfo"></param>
 static void _client_ErrRtnOrderInsert(CThostFtdcInputOrderField_M pInputOrder, CThostFtdcRspInfoField_M pRspInfo)
 {
     //throw new NotImplementedException();
     TradeRecord.GetInstance().MarkFailure(Convert.ToInt16(pInputOrder.OrderRef), pRspInfo.ErrorMsg);
 }