等级: 新手上路
- 注册:
- 2021-5-27
- 曾用名:
|
c++调用PlaceOrder会返回一个long类型的ID,我用一个long _orderId去接收
在注册的监听回调中
ON_MESSAGE(WM_NOTIFY_UPDATE, OnNotifyUpdate)
afx_msg LRESULT OnNotifyUpdate(WPARAM w,LPARAM l);
//接收通知消息
LRESULT CMainWindowDlg::OnNotifyUpdate(WPARAM w,LPARAM l)
{
if(w == 2)
{
//注册品种报价变化通知
ReportUpdate(l);
}
else if(w == 3)
{
//订单状态变化通知
BARGAIN_NOTIFY_KSI * pKsi = (BARGAIN_NOTIFY_KSI*)l;
OrderStatus(pKsi);
}
else if(w == 4)
{
BARGAIN_NOTIFY_KSI * pKsi = (BARGAIN_NOTIFY_KSI*)l;
AccountStatus(pKsi);
}
return 0;
}
中pKsi->m_nOrderID也是一个long类型的参数,头文件声明为 long m_nOrderID; //订单ID
问题描述:
按照头文件声明时的注释解释
_orderId 被注释为:返回值 : 返回本次的委托编号
pKsi->m_nOrderID 被注释为:订单ID
经过我测试,这两个值并不相同,_orderId 递减,pKsi->m_nOrderID递增,如下是我测试的信息:
调用:long _orderId = g_pMainFormework->PlaceOrder(0, _sell1Price, 0, _buyCount, 0, code.c_str(), _market, false, _id.c_str(), 0, 0, 0);
输出信息:
开仓票:SH601117,执行下单,开仓股数:28400,提交成功!委托编号(_orderId ):117835765
[挂单情况] 系统编号:, 订单号(pKsi->m_nOrderID):117835761,品种:601117,市场:SH, 状态:委托无效,开平:0,订单类型:0,买卖方向:0,单笔成交数量:0,成交价格:0.000000
请问这两个值在非队列委托方式下,是否应该为同一个值?
|
|