コード例 #1
0
ファイル: EventArgs.cs プロジェクト: kandsy/CTPZQ
 public OnErrRtnOrderActionArgs(IntPtr pTraderApi, ref CZQThostFtdcOrderActionField pOrderAction, ref CZQThostFtdcRspInfoField pRspInfo)
 {
     this.pTraderApi = pTraderApi;
     this.pOrderAction = pOrderAction;
     this.pRspInfo = pRspInfo;
 }
コード例 #2
0
ファイル: TraderApiWrapper.cs プロジェクト: cz242/CTPZQ
 private void OnErrRtnOrderAction_callback(IntPtr pTraderApi, ref CZQThostFtdcOrderActionField pOrderAction, ref CZQThostFtdcRspInfoField pRspInfo)
 {
     if (null != OnErrRtnOrderAction)
     {
         OnErrRtnOrderAction(this, new OnErrRtnOrderActionArgs(pTraderApi, ref pOrderAction, ref pRspInfo));
     }
 }
コード例 #3
0
 private void OnErrRtnOrderAction(IntPtr pTraderApi, ref CZQThostFtdcOrderActionField pOrderAction, ref CZQThostFtdcRspInfoField pRspInfo)
 {
     SingleOrder order;
     if (_OrderRef2Order.TryGetValue(string.Format("{0}:{1}:{2}", _RspUserLogin.FrontID, _RspUserLogin.SessionID, pOrderAction.OrderRef), out order))
     {
         if (OutputLogToConsole)
         {
             Console.WriteLine("交易所回应:{0},价{1},变化量{2},引用{3},{4}",
                 pOrderAction.InstrumentID, pOrderAction.LimitPrice, pOrderAction.VolumeChange, pOrderAction.OrderRef,
                 pRspInfo.ErrorMsg);
         }
         order.Text = string.Format("{0}|{1}", order.Text, pRspInfo.ErrorMsg);
         EmitCancelReject(order,order.Text);
     }
 }
コード例 #4
0
        private void OnErrRtnOrderAction(IntPtr pTraderApi, ref CZQThostFtdcOrderActionField pOrderAction, ref CZQThostFtdcRspInfoField pRspInfo)
        {
            SingleOrder order;
            string strKey = string.Format("{0}:{1}:{2}", pOrderAction.FrontID, pOrderAction.SessionID, pOrderAction.OrderRef);
            if (_OrderRef2Order.TryGetValue(strKey, out order))
            {
                OrdStatus status;
                if (_PendingCancelFlags.TryGetValue(order, out status))
                {
                    _PendingCancelFlags.Remove(order);
                    EmitExecutionReport(order, status);
                }

                tdlog.Error("交易所回应:{0},价{1},变化量{2},前置{3},会话{4},引用{5},{6}#{7}",
                        pOrderAction.InstrumentID, pOrderAction.LimitPrice,
                        pOrderAction.VolumeChange,
                        pOrderAction.FrontID, pOrderAction.SessionID, pOrderAction.OrderRef,
                        pRspInfo.ErrorID, pRspInfo.ErrorMsg);

                order.Text = string.Format("{0}|{1}#{2}", order.Text.Substring(0, Math.Min(order.Text.Length, 64)), pRspInfo.ErrorID, pRspInfo.ErrorMsg);
                EmitCancelReject(order, order.OrdStatus, order.Text);
            }
        }