Files
QTradeProgram/include/FTSPI.h

407 lines
16 KiB
C
Raw Normal View History

2025-08-15 15:57:31 +08:00
#pragma once
#include "FTAPI_Define.h"
namespace Futu {
class FTAPI_Conn;
class FTSPI_Conn
{
public:
/**
* @brief
* @praram pConn
* @param nErrCode 32FTAPI_ConnectFailType类型32
* 32FTAPI_InitFail32FTAPI_InitFailType类型
* @param strDesc
*/
virtual void OnInitConnect(FTAPI_Conn* pConn, Futu::i64_t nErrCode, const char* strDesc) = 0;
/**
* @brief
* @praram pConn
* @param nErrCode 32FTAPI_ConnectFailType类型32
*/
virtual void OnDisConnect(FTAPI_Conn* pConn, Futu::i64_t nErrCode) = 0;
};
class FTSPI_Qot
{
public:
/**
* @brief
* @praram nSerialNo
* @param stRsp GetGlobalState.proto协议
*/
virtual void OnReply_GetGlobalState(Futu::u32_t nSerialNo, const GetGlobalState::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_Sub.proto协议
*/
virtual void OnReply_Sub(Futu::u32_t nSerialNo, const Qot_Sub::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_RegQotPush.proto协议
*/
virtual void OnReply_RegQotPush(Futu::u32_t nSerialNo, const Qot_RegQotPush::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetSubInfo.proto协议
*/
virtual void OnReply_GetSubInfo(Futu::u32_t nSerialNo, const Qot_GetSubInfo::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetTicker.proto协议
*/
virtual void OnReply_GetTicker(Futu::u32_t nSerialNo, const Qot_GetTicker::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetBasicQot.proto协议
*/
virtual void OnReply_GetBasicQot(Futu::u32_t nSerialNo, const Qot_GetBasicQot::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetOrderBook.proto协议
*/
virtual void OnReply_GetOrderBook(Futu::u32_t nSerialNo, const Qot_GetOrderBook::Response &stRsp) = 0;
/**
* @brief K线
* @praram nSerialNo
* @param stRsp Qot_GetKL.proto协议
*/
virtual void OnReply_GetKL(Futu::u32_t nSerialNo, const Qot_GetKL::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetRT.proto协议
*/
virtual void OnReply_GetRT(Futu::u32_t nSerialNo, const Qot_GetRT::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetBroker.proto协议
*/
virtual void OnReply_GetBroker(Futu::u32_t nSerialNo, const Qot_GetBroker::Response &stRsp) = 0;
/**
* @brief 线DB
* @praram nSerialNo
* @param stRsp Qot_RequestRehab.proto协议
*/
virtual void OnReply_RequestRehab(Futu::u32_t nSerialNo, const Qot_RequestRehab::Response &stRsp) = 0;
/**
* @brief 线K线DB
* @praram nSerialNo
* @param stRsp Qot_RequestHistoryKL.proto协议
*/
virtual void OnReply_RequestHistoryKL(Futu::u32_t nSerialNo, const Qot_RequestHistoryKL::Response &stRsp) = 0;
/**
* @brief K线已经用掉的额度
* @praram nSerialNo
* @param stRsp Qot_RequestHistoryKLQuota.proto协议
*/
virtual void OnReply_RequestHistoryKLQuota(Futu::u32_t nSerialNo, const Qot_RequestHistoryKLQuota::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetTradeDate.proto协议
*/
virtual void OnReply_GetTradeDate(Futu::u32_t nSerialNo, const Qot_GetTradeDate::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetStaticInfo.proto协议
*/
virtual void OnReply_GetStaticInfo(Futu::u32_t nSerialNo, const Qot_GetStaticInfo::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetSecuritySnapshot.proto协议
*/
virtual void OnReply_GetSecuritySnapshot(Futu::u32_t nSerialNo, const Qot_GetSecuritySnapshot::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetPlateSet.proto协议
*/
virtual void OnReply_GetPlateSet(Futu::u32_t nSerialNo, const Qot_GetPlateSet::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetPlateSecurity.proto协议
*/
virtual void OnReply_GetPlateSecurity(Futu::u32_t nSerialNo, const Qot_GetPlateSecurity::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetReference.proto协议
*/
virtual void OnReply_GetReference(Futu::u32_t nSerialNo, const Qot_GetReference::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetOwnerPlate.proto协议
*/
virtual void OnReply_GetOwnerPlate(Futu::u32_t nSerialNo, const Qot_GetOwnerPlate::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetHoldingChangeList.proto协议
*/
virtual void OnReply_GetHoldingChangeList(Futu::u32_t nSerialNo, const Qot_GetHoldingChangeList::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetOptionChain.proto协议
*/
virtual void OnReply_GetOptionChain(Futu::u32_t nSerialNo, const Qot_GetOptionChain::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetWarrant.proto协议
*/
virtual void OnReply_GetWarrant(Futu::u32_t nSerialNo, const Qot_GetWarrant::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetCapitalFlow.proto协议
*/
virtual void OnReply_GetCapitalFlow(Futu::u32_t nSerialNo, const Qot_GetCapitalFlow::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetCapitalDistribution.proto协议
*/
virtual void OnReply_GetCapitalDistribution(Futu::u32_t nSerialNo, const Qot_GetCapitalDistribution::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetUserSecurity.proto协议
*/
virtual void OnReply_GetUserSecurity(Futu::u32_t nSerialNo, const Qot_GetUserSecurity::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_ModifyUserSecurity.proto协议
*/
virtual void OnReply_ModifyUserSecurity(Futu::u32_t nSerialNo, const Qot_ModifyUserSecurity::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_StockFilter.proto协议
*/
virtual void OnReply_StockFilter(Futu::u32_t nSerialNo, const Qot_StockFilter::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetCodeChange.proto协议
*/
virtual void OnReply_GetCodeChange(Futu::u32_t nSerialNo, const Qot_GetCodeChange::Response &stRsp) = 0;
/**
* @brief IPO
* @praram nSerialNo
* @param stRsp Qot_GetIpoList.proto协议
*/
virtual void OnReply_GetIpoList(Futu::u32_t nSerialNo, const Qot_GetIpoList::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetFutureInfo.proto协议
*/
virtual void OnReply_GetFutureInfo(Futu::u32_t nSerialNo, const Qot_GetFutureInfo::Response &stRsp) = 0;
/**
* @brief 线
* @praram nSerialNo
* @param stRsp Qot_RequestTradeDate.proto协议
*/
virtual void OnReply_RequestTradeDate(Futu::u32_t nSerialNo, const Qot_RequestTradeDate::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_SetPriceReminder.proto协议
*/
virtual void OnReply_SetPriceReminder(Futu::u32_t nSerialNo, const Qot_SetPriceReminder::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetPriceReminder.proto协议
*/
virtual void OnReply_GetPriceReminder(Futu::u32_t nSerialNo, const Qot_GetPriceReminder::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetUserSecurityGroup.proto协议
*/
virtual void OnReply_GetUserSecurityGroup(Futu::u32_t nSerialNo, const Qot_GetUserSecurityGroup::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetMarketState.proto协议
*/
virtual void OnReply_GetMarketState(Futu::u32_t nSerialNo, const Qot_GetMarketState::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_GetOptionExpirationDate.proto协议
*/
virtual void OnReply_GetOptionExpirationDate(Futu::u32_t nSerialNo, const Qot_GetOptionExpirationDate::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Notify.proto协议
*/
virtual void OnPush_Notify(const Notify::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_UpdateTicker.proto协议
*/
virtual void OnPush_UpdateTicker(const Qot_UpdateTicker::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_UpdateBasicQot.proto协议
*/
virtual void OnPush_UpdateBasicQot(const Qot_UpdateBasicQot::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_UpdateOrderBook.proto协议
*/
virtual void OnPush_UpdateOrderBook(const Qot_UpdateOrderBook::Response &stRsp) = 0;
/**
* @brief K线
* @praram nSerialNo
* @param stRsp Qot_UpdateKL.proto协议
*/
virtual void OnPush_UpdateKL(const Qot_UpdateKL::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_UpdateRT.proto协议
*/
virtual void OnPush_UpdateRT(const Qot_UpdateRT::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_UpdateBroker.proto协议
*/
virtual void OnPush_UpdateBroker(const Qot_UpdateBroker::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Qot_UpdatePriceReminder.proto协议
*/
virtual void OnPush_UpdatePriceReminder(const Qot_UpdatePriceReminder::Response &stRsp) = 0;
};
class FTSPI_Trd
{
public:
/**
* @brief
* @praram nSerialNo
* @param stRsp Trd_GetAccList.proto协议
*/
virtual void OnReply_GetAccList(Futu::u32_t nSerialNo, const Trd_GetAccList::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Trd_UnlockTrade.proto协议
*/
virtual void OnReply_UnlockTrade(Futu::u32_t nSerialNo, const Trd_UnlockTrade::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Trd_SubAccPush.proto协议
*/
virtual void OnReply_SubAccPush(Futu::u32_t nSerialNo, const Trd_SubAccPush::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Trd_GetFunds.proto协议
*/
virtual void OnReply_GetFunds(Futu::u32_t nSerialNo, const Trd_GetFunds::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Trd_GetPositionList.proto协议
*/
virtual void OnReply_GetPositionList(Futu::u32_t nSerialNo, const Trd_GetPositionList::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Trd_GetMaxTrdQtys.proto协议
*/
virtual void OnReply_GetMaxTrdQtys(Futu::u32_t nSerialNo, const Trd_GetMaxTrdQtys::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Trd_GetOrderList.proto协议
*/
virtual void OnReply_GetOrderList(Futu::u32_t nSerialNo, const Trd_GetOrderList::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Trd_PlaceOrder.proto协议
*/
virtual void OnReply_PlaceOrder(Futu::u32_t nSerialNo, const Trd_PlaceOrder::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Trd_ModifyOrder.proto协议
*/
virtual void OnReply_ModifyOrder(Futu::u32_t nSerialNo, const Trd_ModifyOrder::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Trd_GetOrderFillList.proto协议
*/
virtual void OnReply_GetOrderFillList(Futu::u32_t nSerialNo, const Trd_GetOrderFillList::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Trd_GetHistoryOrderList.proto协议
*/
virtual void OnReply_GetHistoryOrderList(Futu::u32_t nSerialNo, const Trd_GetHistoryOrderList::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Trd_GetMarginRatio.proto协议
*/
virtual void OnReply_GetMarginRatio(Futu::u32_t nSerialNo, const Trd_GetMarginRatio::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Trd_GetHistoryOrderFillList.proto协议
*/
virtual void OnReply_GetHistoryOrderFillList(Futu::u32_t nSerialNo, const Trd_GetHistoryOrderFillList::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Trd_GetOrderFee.proto协议
*/
virtual void OnReply_GetOrderFee(Futu::u32_t nSerialNo, const Trd_GetOrderFee::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Trd_UpdateOrder.proto协议
*/
virtual void OnPush_UpdateOrder(const Trd_UpdateOrder::Response &stRsp) = 0;
/**
* @brief
* @praram nSerialNo
* @param stRsp Trd_UpdateOrderFill.proto协议
*/
virtual void OnPush_UpdateOrderFill(const Trd_UpdateOrderFill::Response &stRsp) = 0;
};
}