券商c++程序化交易接口放开❣// 第 i 项委托的委托数量 ↲ Results[i] = (char*)malloc(1024 * 1024); ↲ ErrorInfos[i] = (char*)malloc(256);↲↲ } ↲ api.SendOrders(ClientId1, Categorys, EntrustTypes, Gddms, Zqdms, Prices, ↲ Quantities, Count, Results, ErrorInfos); ↲ for (int i = 0; i < Count; i++) { ↲ if (NULL != ErrorInfos[i][0]) { ↲ cout <<"第"<< i + 1 <<"项委托失败:"<< endl; ↲ cout << ErrorInfos[i] << endl; ↲ } else { ↲ cout <<"第"<< i + 1 <<"项委托结果:"<< endl; ↲ cout << Results[i] << endl; ↲ } ↲ free(Results[i]); ↲ Results[i] = NULL; ↲ free(ErrorInfos[i]); ↲ ErrorInfos[i] = NULL; ↲ } ↲ ↲ cout <<"===== 登录第二个账号 ====="<< endl; ↲ const int ClientId2 = api.Logon("↲↲↲8", 8899,"", 0,"987654","987654", ↲"password","", BUF(ErrorInfo)); ↲ if (ClientId2 <= 0) { ↲ cout <<"第二个账号登录失败!"<< endl; ↲ cout << ErrorInfo.c_str() << endl; ↲ api.Logoff(ClientId1); ↲ return -1; ↲ } else { ↲ cout <<"第二个账号登录成功!"<< endl; ↲ } ↲ ↲ cout <<"===== 多账户批量下单 ====="<< endl; ↲ int ClientIds[Count] = {0}; ↲ for (int i = 0; i < Count; i++) { ↲ ❣// 一个 API 对象 ↲ ↲ string Result(1024 * 1024, NULL); ❣// 单笔委托下单 ↲ ❣// 委托下单 ↲ typedef void (*SendOrderFn)(int ClientId, int Category, int EntrustType, ↲ const char* Gddm, const char* Zqdm, float Price, ↲ int Quantity, char* Result, char* ErrorInfo); ↲ ❣// 加载函数 ↲ m_initFn = reinterpret_cast(GetProcAddress(m_hInstance,"Init")); ↲ m_deinitFn = ↲ reinterpret_cast(GetProcAddress(m_hInstance,"Deinit")); ↲ m_logonFn = reinterpret_cast(GetProcAddress(m_hInstance,"Logon")); ↲ m_logoffFn = ↲ reinterpret_cast(GetProcAddress(m_hInstance,"Logoff")); ↲ m_queryDataFn = ↲ reinterpret_cast(GetProcAddress(m_hInstance,"QueryData")); ↲ m_queryDatasFn = reinterpret_cast(↲↲ GetProcAddress(m_hInstance,"QueryDatas")); ↲ m_queryMultiAccountsDatasFn = reinterpret_cast( ↲ GetProcAddress(m_hInstance,"QueryMultiAccountsDatas")); ↲ m_queryHistoryDataFn = reinterpret_cast( ↲ GetProcAddress(m_hInstance,"QueryHistoryData")); ↲ m_sendOrderFn = ↲ reinterpret_cast(GetProcAddress(m_hInstance,"SendOrder")); ↲ m_sendOrdersFn = reinterpret_cast( ↲ GetProcAddress(m_hInstance,"SendOrders")); ↲ m_sendMultiAccountsOrdersFn = reinterpret_cast( ↲ GetProcAddress(m_hInstance,"SendMultiAccountsOrders")); ↲ m_cancelOrderFn = reinterpret_cast( ↲ GetProcAddress(m_hInstance,"CancelOrder")); ↲ m_cancelOrdersFn = reinterpret_cast( ↲ GetProcAddress(m_hInstance,"CancelOrders")); ↲ m_cancelMultiAccountsOrdersFn = ↲ reinterpret_cast( ↲ GetProcAddress(m_hInstance,"CancelMultiAccountsOrders")); ↲ m_getQuoteFn = ↲ reinterpret_cast(GetProcAddress(m_hInstance,"GetQuote")); ↲ m_getQuotesFn = ↲ reinterpret_cast(GetProcAddress(m_hInstance,"GetQuotes")); ↲ m_getMultiAccountsQuotesFn = reinterpret_cast( ↲ GetProcAddress(m_hInstance,"GetMultiAccountsQuotes")); ↲ m_repayFn = reinterpret_cast(GetProcAddress(m_hInstance,"Repay")); ↲ m_getExpireDateFn = reinterpret_cast( ↲ GetProcAddress(m_hInstance,"GetExpireDate")); ↲