void CMainWindowDlg::OrderStatus(BARGAIN_NOTIFY_KSI * pKsi)
{
CString strLog;
strLog.Format("[回报] 挂单%d, 状态 %s", pKsi->m_nOrderID, pKsi->m_szStatus);
WriteLog(strLog);
//记录日志到文件
//LOG_DEBUG_INFO( "c:\\MyData.txt", "[回报] 挂单%d, 状态 %s", pKsi->m_nOrderID, pKsi->m_szStatus);
if(strcmp(pKsi->m_szStatus,"Tradeing") == 0)
{
//在这里处理订单成交的代码
}
else if(strcmp(pKsi->m_szStatus ,"Cancelled")==0)
{
}
else if(strcmp(pKsi->m_szStatus,"Filled")==0)
{
if(pKsi->m_fPrice==委托价1)
{
m_gCCP=(m_gCCP*m_gCCV+pKsi->m_nFilled*MM[kk])/(m_gCCV+pKsi->m_nFilled);
m_gCCV=m_gCCV+pKsi->m_nFilled;
}else if(pKsi->m_fPrice==委托价2)
{
m_gCCP=(m_gCCP*m_gCCV+pKsi->m_nFilled*MM[kk])/(m_gCCV+pKsi->m_nFilled);
m_gCCV=m_gCCV+pKsi->m_nFilled;
}
else if(strcmp(pKsi->m_szStatus,"Inactive")==0)
{
//在这里处理订单被撤销,无效订单
}
}