如果用CTP下单,报CTP结算结果未确认这个错误,是因为每个交易日,登录账户后,都要先进行结算单确认,才可以开仓。所以,可以在交易API连接后,登录期货账户,然后就进行结算单确认。
CTP确认结算单的函数为:
void CtpTraderSpi::ReqSettlementInfoConfirm()
{
CThostFtdcSettlementInfoConfirmField req;
memset(&req, 0, sizeof(req));
strcpy(req.BrokerID, m_appId);
strcpy(req.InvestorID, m_userId);
int ret = m_pUserApi_td->ReqSettlementInfoConfirm(&req, ++requestId);
cerr<<" 请求 | 发送结算单确认..."<<((ret == 0)?"成功":"失败")<<endl;
}