/// <summary> /// 委托交易提交成功通知 /// </summary> /// <param name="nReqID" Desc="本组件维护的交易请求序列号"></param> /// <param name="eExchangeType Desc="交易市场类型""></param> /// <param name="vRecord" Desc="交易结果对象"></param> public void OrderOKEvent(uint nReqID, EZMExchangeType eExchangeType, object vRecord) { ITradeRecord TradeRecord = (ITradeRecord)vRecord; if (null != TradeRecord) { uint nFieldCount = TradeRecord.FieldCount; uint nRecordCount = TradeRecord.RecordCount; if (nRecordCount > 0) { /// 弹出JSON格式数据包 MessageBox.Show(TradeRecord.GetJsonString()); /// 这儿测试马上取消委托,注意有些券商返回的委托成功记录第一个不是委托编号,需要调用GetValueByName来获取委托编号 string strOrderID = TradeRecord.GetValueByName(0, "委托编号").ToString(); ITradeRecord CancelRecord = m_spiTrade.CancelOrder(eExchangeType, strOrderID); if (null != CancelRecord) { /// 弹出JSON格式数据包 MessageBox.Show(CancelRecord.GetJsonString()); uint nRC = CancelRecord.RecordCount; /// 判断取消返回记录是否正常取消 CancelRecord.Clear(); CancelRecord = null; } } TradeRecord.Clear(); TradeRecord = null; } }
/// <summary> /// 委托交易提交成功通知 /// </summary> /// <param name="nReqID" Desc="本组件维护的交易请求序列号"></param> /// <param name="eExchangeType Desc="交易市场类型""></param> /// <param name="vRecord" Desc="交易结果对象"></param> public void OrderOKEvent(uint nReqID, EZMExchangeType eExchangeType, object vRecord) { ITradeRecord TradeRecord = (ITradeRecord)vRecord; if (null != TradeRecord) { uint nFieldCount = TradeRecord.FieldCount; uint nRecordCount = TradeRecord.RecordCount; if (nRecordCount > 0) { /// 弹出JSON格式数据包 MessageBox.Show(TradeRecord.GetJsonString()); /// 测试马上取消委托 ITradeRecord CancelRecord = m_spiTrade.CancelOrder(eExchangeType, (uint)TradeRecord.GetValueInt(0, 0)); if (null != CancelRecord) { /// 弹出JSON格式数据包 MessageBox.Show(CancelRecord.GetJsonString()); uint nRC = CancelRecord.RecordCount; /// 判断取消返回记录是否正常取消 CancelRecord.Clear(); CancelRecord = null; } } TradeRecord.Clear(); TradeRecord = null; } }