期货程序化交易接口CTP◑// 卸载 DLL ↲ FreeLibrary(m_hInstance); ↲ } ↲ ↲ ◑// 委托下单 ↲ void SendOrder(int ClientId, int Category, int EntrustType, const char* Gddm, ↲ const char* Zqdm, float Price, int Quantity, char* Result, ↲ char* ErrorInfo) const { ↲ m_sendOrderFn(ClientId, Category, EntrustType, Gddm, Zqdm, Price, Quantity, ↲ Result, ErrorInfo); ↲ } ↲ ◑// 单账户批量撤单 ↲ typedef void (*CancelOrdersFn)(int ClientId, const char* ExchangeId[], ↲ const char* EntrustId[], int Count, ↲ char* Result[], char* ErrorInfo[]); ↲ ◑// 查询 API 授权到期日期 ↲ int GetExpireDate(int ClientId) const { return m_getExpireDateFn(ClientId); } ↲ ↲ private: ↲ HINSTANCE m_hInstance; ↲ InitFn m_initFn; ↲ DeinitFn m_deinitFn; ↲ LogonFn m_logonFn;↲↲ LogoffFn m_logoffFn; ↲ QueryDataFn m_queryDataFn; ↲ QueryDatasFn m_queryDatasFn; ↲ QueryMultiAccountsDatasFn m_queryMultiAccountsDatasFn; ↲ QueryHistoryDataFn m_queryHistoryDataFn; ↲ SendOrderFn m_sendOrderFn; ↲ SendOrdersFn m_sendOrdersFn; ↲ SendMultiAccountsOrdersFn m_sendMultiAccountsOrdersFn; ↲ CancelOrderFn m_cancelOrderFn; ↲ CancelOrdersFn m_cancelOrdersFn; ↲ CancelMultiAccountsOrdersFn m_cancelMultiAccountsOrdersFn; ↲ GetQuoteFn m_getQuoteFn; ↲ GetQuotesFn m_getQuotesFn; ↲ GetMultiAccountsQuotesFn m_getMultiAccountsQuotesFn; ↲ RepayFn m_repayFn; ↲ GetExpireDateFn m_getExpireDateFn; ↲ }; ↲ ↲ ◑// 返回值 < 1 时, 无需调用 Deinit 接口, 也不能调用其它接口, 否则会出错! ↲ typedef int (*InitFn)(); ↲