LRESULT CMainWindowDlg::OnNotifyUpdate(WPARAM w,LPARAM l)
{
CString strText;
if(w == 2)
{
//行情刷新时处理止损信息
ReportUpdate(l);
}
else if(w == 3)
{
//委托状态改变
OrderStatus(pKsi);
}
else if(w == 4)
{
BARGAIN_NOTIFY_KSI * pKsi = (BARGAIN_NOTIFY_KSI*)l;
if(strcmp(pKsi->m_szStatus,"Connected") == 0)
{
//账户已经连接
WriteLog("账户已经连接");
GetHoldInfo(); ///////在这里获取持仓信息,g_pMainFormework->GetHolding2(szAccount);返回的信息竟然为0
}
else if(strcmp(pKsi->m_szStatus,"Disconnected") == 0)
{
//账户断开连接
WriteLog("账户断开连接");
}
}
return 0;
}
帐号正在连接后,持仓信息需要一定时间才能从期货公司柜台返回回来。
你可以使用
g_pMainFormework->GetAccount(2); 如果返回值是255表示账户是未初始化完成或者连接无效的,这样配合使用,只有当这个函数返回正确值后再考虑读取持仓量
未登录账户状态:
VARIANT
var = g_pMainFormework->GetAccount(2);var.intVal 值为1573119,并不是你说的255
http://www.weistock.com/bbs/dispbbs.asp?BoardID=5&ID=25452&replyID=&skin=1
帖子也出现过相似的问题
请问有什么可靠的方法判断账户已经登录连接正常。