Merge pull request #1726 from nanoric/new_xtp

[Mod] xtp api: upgrade to XTP_API_20190409_2.2.15.1
This commit is contained in:
vn.py 2019-05-21 10:10:34 +08:00 committed by GitHub
commit 8dd4d94885
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 1085 additions and 129 deletions

Binary file not shown.

View File

@ -320,6 +320,7 @@ class XTPQueryAssetRsp():
captial_asset: float
force_freeze_amount: float
preferred_amount: float
repay_stock_aval_banlance: float
unknown: List[int]
@ -494,6 +495,124 @@ class XTPQueryOptionAuctionInfoRsp():
unknown: List[int]
class XTPCrdCashRepayRsp():
xtp_id: int
request_amount: float
cash_repay_amount: float
class XTPCrdCashRepayDebtInterestFeeRsp():
xtp_id: int
request_amount: float
cash_repay_amount: float
debt_compact_id: str
unknow: str
class XTPCrdCashRepayInfo():
xtp_id: int
status: XTP_CRD_CR_STATUS
request_amount: float
cash_repay_amount: float
position_effect: int
error_info: XTPRspInfoStruct
class XTPCrdDebtInfo():
debt_type: int
debt_id: str
position_id: int
order_xtp_id: int
debt_status: int
market: XTP_MARKET_TYPE
ticker: str
order_date: int
end_date: int
orig_end_date: int
is_extended: bool
remain_amt: float
remain_qty: int
remain_principal: float
due_right_qty: int
unknown: List[int]
class XTPCrdFundInfo():
maintenance_ratio: float
all_asset: float
all_debt: float
line_of_credit: float
guaranty: float
position_amount: float
class XTPClientQueryCrdDebtStockReq():
market: XTP_MARKET_TYPE
ticker: str
class XTPCrdDebtStockInfo():
market: XTP_MARKET_TYPE
ticker: str
remain_quantity: int
order_withhold_quantity: int
class XTPClientQueryCrdPositionStockReq():
market: XTP_MARKET_TYPE
ticker: str
class XTPClientQueryCrdPositionStkInfo():
market: XTP_MARKET_TYPE
ticker: str
limit_qty: int
yesterday_qty: int
left_qty: int
frozen_qty: int
class XTPClientQueryCrdSurplusStkReqInfo():
market: XTP_MARKET_TYPE
ticker: str
class XTPClientQueryCrdSurplusStkRspInfo():
market: XTP_MARKET_TYPE
ticker: str
transferable_quantity: int
transferred_quantity: int
class XTPClientCrdExtendDebtInfo():
xtp_id: int
debt_id: str
class XTPFundTransferReq():
@ -596,6 +715,8 @@ class XTP_ACCOUNT_TYPE(Enum):
class XTP_FUND_TRANSFER_TYPE(Enum):
XTP_FUND_TRANSFER_OUT: XTP_FUND_TRANSFER_TYPE
XTP_FUND_TRANSFER_IN: XTP_FUND_TRANSFER_TYPE
XTP_FUND_INTER_TRANSFER_OUT: XTP_FUND_TRANSFER_TYPE
XTP_FUND_INTER_TRANSFER_IN: XTP_FUND_TRANSFER_TYPE
XTP_FUND_TRANSFER_UNKNOWN: XTP_FUND_TRANSFER_TYPE
class XTP_FUND_OPER_STATUS(Enum):
XTP_FUND_OPER_PROCESSING: XTP_FUND_OPER_STATUS
@ -622,6 +743,10 @@ class XTP_POSITION_DIRECTION_TYPE(Enum):
XTP_POSITION_DIRECTION_LONG: XTP_POSITION_DIRECTION_TYPE
XTP_POSITION_DIRECTION_SHORT: XTP_POSITION_DIRECTION_TYPE
XTP_POSITION_DIRECTION_COVERED: XTP_POSITION_DIRECTION_TYPE
class XTP_CRD_CR_STATUS(Enum):
XTP_CRD_CR_INIT: XTP_CRD_CR_STATUS
XTP_CRD_CR_SUCCESS: XTP_CRD_CR_STATUS
XTP_CRD_CR_FAILED: XTP_CRD_CR_STATUS
class XTP_MARKETDATA_TYPE(Enum):
XTP_MARKETDATA_ACTUAL: XTP_MARKETDATA_TYPE
XTP_MARKETDATA_OPTION: XTP_MARKETDATA_TYPE
@ -648,6 +773,7 @@ XTP_TBT_TYPE = XTP_TBT_TYPE
XTP_OPT_CALL_OR_PUT_TYPE = XTP_OPT_CALL_OR_PUT_TYPE
XTP_OPT_EXERCISE_TYPE_TYPE = XTP_OPT_EXERCISE_TYPE_TYPE
XTP_POSITION_DIRECTION_TYPE = XTP_POSITION_DIRECTION_TYPE
XTP_CRD_CR_STATUS = XTP_CRD_CR_STATUS
TXTPTradeTypeType = int
TXTPOrderTypeType = int
XTPRI = XTPRspInfoStruct
@ -662,6 +788,15 @@ XTPQueryTradeRsp = XTPTradeReport
XTPFundTransferLog = XTPFundTransferNotice
XTPQueryETFBaseRsp = XTPQueryETFBaseRsp
XTPQueryETFComponentReq = XTPQueryETFComponentReq
XTPCrdDebtInfo = XTPCrdDebtInfo
XTPCrdFundInfo = XTPCrdFundInfo
XTPClientQueryCrdDebtStockReq = XTPClientQueryCrdDebtStockReq
XTPCrdDebtStockInfo = XTPCrdDebtStockInfo
XTPClientQueryCrdPositionStockReq = XTPClientQueryCrdPositionStockReq
XTPClientQueryCrdPositionStkInfo = XTPClientQueryCrdPositionStkInfo
XTPClientQueryCrdSurplusStkReqInfo = XTPClientQueryCrdSurplusStkReqInfo
XTPClientQueryCrdSurplusStkRspInfo = XTPClientQueryCrdSurplusStkRspInfo
XTPClientCrdExtendDebtInfo = XTPClientCrdExtendDebtInfo
XTPFundTransferAck = XTPFundTransferNotice
XTP_VERSION_LEN: int
XTP_TRADING_DAY_LEN: int
@ -672,6 +807,7 @@ XTP_ORDER_EXCH_LEN: int
XTP_EXEC_ID_LEN: int
XTP_BRANCH_PBU_LEN: int
XTP_ACCOUNT_NAME_LEN: int
XTP_CREDIT_DEBT_ID_LEN: int
XTP_SIDE_BUY: int
XTP_SIDE_SELL: int
XTP_SIDE_PURCHASE: int
@ -684,8 +820,10 @@ XTP_SIDE_MARGIN_TRADE: int
XTP_SIDE_SHORT_SELL: int
XTP_SIDE_REPAY_MARGIN: int
XTP_SIDE_REPAY_STOCK: int
XTP_SIDE_CASH_REPAY_MARGIN: int
XTP_SIDE_STOCK_REPAY_STOCK: int
XTP_SIDE_SURSTK_TRANS: int
XTP_SIDE_GRTSTK_TRANSIN: int
XTP_SIDE_GRTSTK_TRANSOUT: int
XTP_SIDE_UNKNOWN: int
XTP_POSITION_EFFECT_INIT: int
XTP_POSITION_EFFECT_OPEN: int
@ -695,10 +833,15 @@ XTP_POSITION_EFFECT_CLOSETODAY: int
XTP_POSITION_EFFECT_CLOSEYESTERDAY: int
XTP_POSITION_EFFECT_FORCEOFF: int
XTP_POSITION_EFFECT_LOCALFORCECLOSE: int
XTP_POSITION_EFFECT_CREDIT_FORCE_COVER: int
XTP_POSITION_EFFECT_CREDIT_FORCE_CLEAR: int
XTP_POSITION_EFFECT_CREDIT_FORCE_DEBT: int
XTP_POSITION_EFFECT_CREDIT_FORCE_UNCOND: int
XTP_POSITION_EFFECT_UNKNOWN: int
XTP_TRDT_COMMON: int
XTP_TRDT_CASH: int
XTP_TRDT_PRIMARY: int
XTP_TRDT_CROSS_MKT_CASH: int
XTP_ORDT_Normal: int
XTP_ORDT_DeriveFromQuote: int
XTP_ORDT_DeriveFromCombination: int

View File

@ -49,6 +49,18 @@ void generate_class_XTPQueryIPOTickerRsp(pybind11::object & parent);
void generate_class_XTPQueryIPOQuotaRsp(pybind11::object & parent);
void generate_class_XTPQueryOptionAuctionInfoReq(pybind11::object & parent);
void generate_class_XTPQueryOptionAuctionInfoRsp(pybind11::object & parent);
void generate_class_XTPCrdCashRepayRsp(pybind11::object & parent);
void generate_class_XTPCrdCashRepayDebtInterestFeeRsp(pybind11::object & parent);
void generate_class_XTPCrdCashRepayInfo(pybind11::object & parent);
void generate_class_XTPCrdDebtInfo(pybind11::object & parent);
void generate_class_XTPCrdFundInfo(pybind11::object & parent);
void generate_class_XTPClientQueryCrdDebtStockReq(pybind11::object & parent);
void generate_class_XTPCrdDebtStockInfo(pybind11::object & parent);
void generate_class_XTPClientQueryCrdPositionStockReq(pybind11::object & parent);
void generate_class_XTPClientQueryCrdPositionStkInfo(pybind11::object & parent);
void generate_class_XTPClientQueryCrdSurplusStkReqInfo(pybind11::object & parent);
void generate_class_XTPClientQueryCrdSurplusStkRspInfo(pybind11::object & parent);
void generate_class_XTPClientCrdExtendDebtInfo(pybind11::object & parent);
void generate_class_XTPFundTransferReq(pybind11::object & parent);
void generate_enum_XTP_LOG_LEVEL(pybind11::object & parent);
void generate_enum_XTP_PROTOCOL_TYPE(pybind11::object & parent);
@ -70,6 +82,7 @@ void generate_enum_XTP_TBT_TYPE(pybind11::object & parent);
void generate_enum_XTP_OPT_CALL_OR_PUT_TYPE(pybind11::object & parent);
void generate_enum_XTP_OPT_EXERCISE_TYPE_TYPE(pybind11::object & parent);
void generate_enum_XTP_POSITION_DIRECTION_TYPE(pybind11::object & parent);
void generate_enum_XTP_CRD_CR_STATUS(pybind11::object & parent);
void generate_enum_XTP_MARKETDATA_TYPE(pybind11::object & parent);
void generate_caster_(pybind11::object & parent);

View File

@ -49,6 +49,18 @@ void generate_vnxtp(pybind11::module & parent)
generate_class_XTPQueryIPOQuotaRsp(parent);
generate_class_XTPQueryOptionAuctionInfoReq(parent);
generate_class_XTPQueryOptionAuctionInfoRsp(parent);
generate_class_XTPCrdCashRepayRsp(parent);
generate_class_XTPCrdCashRepayDebtInterestFeeRsp(parent);
generate_class_XTPCrdCashRepayInfo(parent);
generate_class_XTPCrdDebtInfo(parent);
generate_class_XTPCrdFundInfo(parent);
generate_class_XTPClientQueryCrdDebtStockReq(parent);
generate_class_XTPCrdDebtStockInfo(parent);
generate_class_XTPClientQueryCrdPositionStockReq(parent);
generate_class_XTPClientQueryCrdPositionStkInfo(parent);
generate_class_XTPClientQueryCrdSurplusStkReqInfo(parent);
generate_class_XTPClientQueryCrdSurplusStkRspInfo(parent);
generate_class_XTPClientCrdExtendDebtInfo(parent);
generate_class_XTPFundTransferReq(parent);
generate_enum_XTP_LOG_LEVEL(parent);
generate_enum_XTP_PROTOCOL_TYPE(parent);
@ -70,6 +82,7 @@ void generate_vnxtp(pybind11::module & parent)
generate_enum_XTP_OPT_CALL_OR_PUT_TYPE(parent);
generate_enum_XTP_OPT_EXERCISE_TYPE_TYPE(parent);
generate_enum_XTP_POSITION_DIRECTION_TYPE(parent);
generate_enum_XTP_CRD_CR_STATUS(parent);
generate_enum_XTP_MARKETDATA_TYPE(parent);
parent.attr("XTP_VERSION_LEN") = XTP_VERSION_LEN;
parent.attr("XTP_TRADING_DAY_LEN") = XTP_TRADING_DAY_LEN;
@ -80,6 +93,7 @@ void generate_vnxtp(pybind11::module & parent)
parent.attr("XTP_EXEC_ID_LEN") = XTP_EXEC_ID_LEN;
parent.attr("XTP_BRANCH_PBU_LEN") = XTP_BRANCH_PBU_LEN;
parent.attr("XTP_ACCOUNT_NAME_LEN") = XTP_ACCOUNT_NAME_LEN;
parent.attr("XTP_CREDIT_DEBT_ID_LEN") = XTP_CREDIT_DEBT_ID_LEN;
parent.attr("XTP_SIDE_BUY") = XTP_SIDE_BUY;
parent.attr("XTP_SIDE_SELL") = XTP_SIDE_SELL;
parent.attr("XTP_SIDE_PURCHASE") = XTP_SIDE_PURCHASE;
@ -92,8 +106,10 @@ void generate_vnxtp(pybind11::module & parent)
parent.attr("XTP_SIDE_SHORT_SELL") = XTP_SIDE_SHORT_SELL;
parent.attr("XTP_SIDE_REPAY_MARGIN") = XTP_SIDE_REPAY_MARGIN;
parent.attr("XTP_SIDE_REPAY_STOCK") = XTP_SIDE_REPAY_STOCK;
parent.attr("XTP_SIDE_CASH_REPAY_MARGIN") = XTP_SIDE_CASH_REPAY_MARGIN;
parent.attr("XTP_SIDE_STOCK_REPAY_STOCK") = XTP_SIDE_STOCK_REPAY_STOCK;
parent.attr("XTP_SIDE_SURSTK_TRANS") = XTP_SIDE_SURSTK_TRANS;
parent.attr("XTP_SIDE_GRTSTK_TRANSIN") = XTP_SIDE_GRTSTK_TRANSIN;
parent.attr("XTP_SIDE_GRTSTK_TRANSOUT") = XTP_SIDE_GRTSTK_TRANSOUT;
parent.attr("XTP_SIDE_UNKNOWN") = XTP_SIDE_UNKNOWN;
parent.attr("XTP_POSITION_EFFECT_INIT") = XTP_POSITION_EFFECT_INIT;
parent.attr("XTP_POSITION_EFFECT_OPEN") = XTP_POSITION_EFFECT_OPEN;
@ -103,10 +119,15 @@ void generate_vnxtp(pybind11::module & parent)
parent.attr("XTP_POSITION_EFFECT_CLOSEYESTERDAY") = XTP_POSITION_EFFECT_CLOSEYESTERDAY;
parent.attr("XTP_POSITION_EFFECT_FORCEOFF") = XTP_POSITION_EFFECT_FORCEOFF;
parent.attr("XTP_POSITION_EFFECT_LOCALFORCECLOSE") = XTP_POSITION_EFFECT_LOCALFORCECLOSE;
parent.attr("XTP_POSITION_EFFECT_CREDIT_FORCE_COVER") = XTP_POSITION_EFFECT_CREDIT_FORCE_COVER;
parent.attr("XTP_POSITION_EFFECT_CREDIT_FORCE_CLEAR") = XTP_POSITION_EFFECT_CREDIT_FORCE_CLEAR;
parent.attr("XTP_POSITION_EFFECT_CREDIT_FORCE_DEBT") = XTP_POSITION_EFFECT_CREDIT_FORCE_DEBT;
parent.attr("XTP_POSITION_EFFECT_CREDIT_FORCE_UNCOND") = XTP_POSITION_EFFECT_CREDIT_FORCE_UNCOND;
parent.attr("XTP_POSITION_EFFECT_UNKNOWN") = XTP_POSITION_EFFECT_UNKNOWN;
parent.attr("XTP_TRDT_COMMON") = XTP_TRDT_COMMON;
parent.attr("XTP_TRDT_CASH") = XTP_TRDT_CASH;
parent.attr("XTP_TRDT_PRIMARY") = XTP_TRDT_PRIMARY;
parent.attr("XTP_TRDT_CROSS_MKT_CASH") = XTP_TRDT_CROSS_MKT_CASH;
parent.attr("XTP_ORDT_Normal") = XTP_ORDT_Normal;
parent.attr("XTP_ORDT_DeriveFromQuote") = XTP_ORDT_DeriveFromQuote;
parent.attr("XTP_ORDT_DeriveFromCombination") = XTP_ORDT_DeriveFromCombination;
@ -127,6 +148,15 @@ void generate_vnxtp(pybind11::module & parent)
module_vnxtp::cross.record_assign(parent, "XTPFundTransferLog", "XTPFundTransferLog", "::XTPFundTransferNotice");
module_vnxtp::cross.record_assign(parent, "XTPQueryETFBaseRsp", "XTPQueryETFBaseRsp", "::XTPQueryETFBaseRsp");
module_vnxtp::cross.record_assign(parent, "XTPQueryETFComponentReq", "XTPQueryETFComponentReq", "::XTPQueryETFComponentReq");
module_vnxtp::cross.record_assign(parent, "XTPCrdDebtInfo", "XTPCrdDebtInfo", "::XTPCrdDebtInfo");
module_vnxtp::cross.record_assign(parent, "XTPCrdFundInfo", "XTPCrdFundInfo", "::XTPCrdFundInfo");
module_vnxtp::cross.record_assign(parent, "XTPClientQueryCrdDebtStockReq", "XTPClientQueryCrdDebtStockReq", "::XTPClientQueryCrdDebtStockReq");
module_vnxtp::cross.record_assign(parent, "XTPCrdDebtStockInfo", "XTPCrdDebtStockInfo", "::XTPCrdDebtStockInfo");
module_vnxtp::cross.record_assign(parent, "XTPClientQueryCrdPositionStockReq", "XTPClientQueryCrdPositionStockReq", "::XTPClientQueryCrdPositionStockReq");
module_vnxtp::cross.record_assign(parent, "XTPClientQueryCrdPositionStkInfo", "XTPClientQueryCrdPositionStkInfo", "::XTPClientQueryCrdPositionStkInfo");
module_vnxtp::cross.record_assign(parent, "XTPClientQueryCrdSurplusStkReqInfo", "XTPClientQueryCrdSurplusStkReqInfo", "::XTPClientQueryCrdSurplusStkReqInfo");
module_vnxtp::cross.record_assign(parent, "XTPClientQueryCrdSurplusStkRspInfo", "XTPClientQueryCrdSurplusStkRspInfo", "::XTPClientQueryCrdSurplusStkRspInfo");
module_vnxtp::cross.record_assign(parent, "XTPClientCrdExtendDebtInfo", "XTPClientCrdExtendDebtInfo", "::XTPClientCrdExtendDebtInfo");
module_vnxtp::cross.record_assign(parent, "XTPFundTransferAck", "XTPFundTransferAck", "::XTPFundTransferNotice");
generate_caster_(parent);
}
@ -338,6 +368,94 @@ void generate_class_XTP_API_TraderSpi(pybind11::object & parent)
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
c.def("OnCreditCashRepay",
autocxxpy::apply_function_transform<
autocxxpy::function_constant<
&XTP::API::TraderSpi::OnCreditCashRepay
>,
brigand::list<
>
>::value,
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
c.def("OnQueryCreditCashRepayInfo",
autocxxpy::apply_function_transform<
autocxxpy::function_constant<
&XTP::API::TraderSpi::OnQueryCreditCashRepayInfo
>,
brigand::list<
>
>::value,
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
c.def("OnQueryCreditFundInfo",
autocxxpy::apply_function_transform<
autocxxpy::function_constant<
&XTP::API::TraderSpi::OnQueryCreditFundInfo
>,
brigand::list<
>
>::value,
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
c.def("OnQueryCreditDebtInfo",
autocxxpy::apply_function_transform<
autocxxpy::function_constant<
&XTP::API::TraderSpi::OnQueryCreditDebtInfo
>,
brigand::list<
>
>::value,
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
c.def("OnQueryCreditTickerDebtInfo",
autocxxpy::apply_function_transform<
autocxxpy::function_constant<
&XTP::API::TraderSpi::OnQueryCreditTickerDebtInfo
>,
brigand::list<
>
>::value,
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
c.def("OnQueryCreditAssetDebtInfo",
autocxxpy::apply_function_transform<
autocxxpy::function_constant<
&XTP::API::TraderSpi::OnQueryCreditAssetDebtInfo
>,
brigand::list<
>
>::value,
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
c.def("OnQueryCreditTickerAssignInfo",
autocxxpy::apply_function_transform<
autocxxpy::function_constant<
&XTP::API::TraderSpi::OnQueryCreditTickerAssignInfo
>,
brigand::list<
>
>::value,
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
c.def("OnQueryCreditExcessStock",
autocxxpy::apply_function_transform<
autocxxpy::function_constant<
&XTP::API::TraderSpi::OnQueryCreditExcessStock
>,
brigand::list<
>
>::value,
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTP::API::TraderSpi, c);
module_vnxtp::objects.emplace("XTP::API::TraderSpi", c);
}
@ -680,6 +798,94 @@ void generate_class_XTP_API_TraderApi(pybind11::object & parent)
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
c.def("CreditCashRepay",
autocxxpy::apply_function_transform<
autocxxpy::function_constant<
&XTP::API::TraderApi::CreditCashRepay
>,
brigand::list<
>
>::value,
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
c.def("QueryCreditCashRepayInfo",
autocxxpy::apply_function_transform<
autocxxpy::function_constant<
&XTP::API::TraderApi::QueryCreditCashRepayInfo
>,
brigand::list<
>
>::value,
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
c.def("QueryCreditFundInfo",
autocxxpy::apply_function_transform<
autocxxpy::function_constant<
&XTP::API::TraderApi::QueryCreditFundInfo
>,
brigand::list<
>
>::value,
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
c.def("QueryCreditDebtInfo",
autocxxpy::apply_function_transform<
autocxxpy::function_constant<
&XTP::API::TraderApi::QueryCreditDebtInfo
>,
brigand::list<
>
>::value,
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
c.def("QueryCreditTickerDebtInfo",
autocxxpy::apply_function_transform<
autocxxpy::function_constant<
&XTP::API::TraderApi::QueryCreditTickerDebtInfo
>,
brigand::list<
>
>::value,
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
c.def("QueryCreditAssetDebtInfo",
autocxxpy::apply_function_transform<
autocxxpy::function_constant<
&XTP::API::TraderApi::QueryCreditAssetDebtInfo
>,
brigand::list<
>
>::value,
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
c.def("QueryCreditTickerAssignInfo",
autocxxpy::apply_function_transform<
autocxxpy::function_constant<
&XTP::API::TraderApi::QueryCreditTickerAssignInfo
>,
brigand::list<
>
>::value,
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
c.def("QueryCreditExcessStock",
autocxxpy::apply_function_transform<
autocxxpy::function_constant<
&XTP::API::TraderApi::QueryCreditExcessStock
>,
brigand::list<
>
>::value,
pybind11::return_value_policy::reference,
pybind11::call_guard<pybind11::gil_scoped_release>()
);
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTP::API::TraderApi, c);
module_vnxtp::objects.emplace("XTP::API::TraderApi", c);
}

View File

@ -378,6 +378,7 @@ void generate_class_XTPQueryAssetRsp(pybind11::object & parent)
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPQueryAssetRsp, "captial_asset", captial_asset);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPQueryAssetRsp, "force_freeze_amount", force_freeze_amount);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPQueryAssetRsp, "preferred_amount", preferred_amount);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPQueryAssetRsp, "repay_stock_aval_banlance", repay_stock_aval_banlance);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPQueryAssetRsp, "unknown", unknown);
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTPQueryAssetRsp, c);
module_vnxtp::objects.emplace("XTPQueryAssetRsp", c);
@ -592,105 +593,27 @@ void generate_class_XTPQueryOptionAuctionInfoRsp(pybind11::object & parent)
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTPQueryOptionAuctionInfoRsp, c);
module_vnxtp::objects.emplace("XTPQueryOptionAuctionInfoRsp", c);
}
void generate_class_XTPFundTransferReq(pybind11::object & parent)
void generate_class_XTPCrdCashRepayRsp(pybind11::object & parent)
{
pybind11::class_<XTPFundTransferReq> c(parent, "XTPFundTransferReq");
if constexpr (std::is_default_constructible_v<XTPFundTransferReq>)
pybind11::class_<XTPCrdCashRepayRsp> c(parent, "XTPCrdCashRepayRsp");
if constexpr (std::is_default_constructible_v<XTPCrdCashRepayRsp>)
c.def(pybind11::init<>());
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPFundTransferReq, "serial_id", serial_id);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPFundTransferReq, "fund_account", fund_account);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPFundTransferReq, "password", password);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPFundTransferReq, "amount", amount);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPFundTransferReq, "transfer_type", transfer_type);
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTPFundTransferReq, c);
module_vnxtp::objects.emplace("XTPFundTransferReq", c);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdCashRepayRsp, "xtp_id", xtp_id);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdCashRepayRsp, "request_amount", request_amount);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdCashRepayRsp, "cash_repay_amount", cash_repay_amount);
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTPCrdCashRepayRsp, c);
module_vnxtp::objects.emplace("XTPCrdCashRepayRsp", c);
}
void generate_enum_XTP_LOG_LEVEL(pybind11::object & parent)
void generate_class_XTPCrdCashRepayDebtInterestFeeRsp(pybind11::object & parent)
{
pybind11::enum_<XTP_LOG_LEVEL> e(parent, "XTP_LOG_LEVEL", pybind11::arithmetic());
e.value("XTP_LOG_LEVEL_FATAL", XTP_LOG_LEVEL::XTP_LOG_LEVEL_FATAL);
e.value("XTP_LOG_LEVEL_ERROR", XTP_LOG_LEVEL::XTP_LOG_LEVEL_ERROR);
e.value("XTP_LOG_LEVEL_WARNING", XTP_LOG_LEVEL::XTP_LOG_LEVEL_WARNING);
e.value("XTP_LOG_LEVEL_INFO", XTP_LOG_LEVEL::XTP_LOG_LEVEL_INFO);
e.value("XTP_LOG_LEVEL_DEBUG", XTP_LOG_LEVEL::XTP_LOG_LEVEL_DEBUG);
e.value("XTP_LOG_LEVEL_TRACE", XTP_LOG_LEVEL::XTP_LOG_LEVEL_TRACE);
e.export_values();
module_vnxtp::objects.emplace("XTP_LOG_LEVEL", e);
}
void generate_enum_XTP_PROTOCOL_TYPE(pybind11::object & parent)
{
pybind11::enum_<XTP_PROTOCOL_TYPE> e(parent, "XTP_PROTOCOL_TYPE", pybind11::arithmetic());
e.value("XTP_PROTOCOL_TCP", XTP_PROTOCOL_TYPE::XTP_PROTOCOL_TCP);
e.value("XTP_PROTOCOL_UDP", XTP_PROTOCOL_TYPE::XTP_PROTOCOL_UDP);
e.export_values();
module_vnxtp::objects.emplace("XTP_PROTOCOL_TYPE", e);
}
void generate_enum_XTP_EXCHANGE_TYPE(pybind11::object & parent)
{
pybind11::enum_<XTP_EXCHANGE_TYPE> e(parent, "XTP_EXCHANGE_TYPE", pybind11::arithmetic());
e.value("XTP_EXCHANGE_SH", XTP_EXCHANGE_TYPE::XTP_EXCHANGE_SH);
e.value("XTP_EXCHANGE_SZ", XTP_EXCHANGE_TYPE::XTP_EXCHANGE_SZ);
e.value("XTP_EXCHANGE_UNKNOWN", XTP_EXCHANGE_TYPE::XTP_EXCHANGE_UNKNOWN);
e.export_values();
module_vnxtp::objects.emplace("XTP_EXCHANGE_TYPE", e);
}
void generate_enum_XTP_MARKET_TYPE(pybind11::object & parent)
{
pybind11::enum_<XTP_MARKET_TYPE> e(parent, "XTP_MARKET_TYPE", pybind11::arithmetic());
e.value("XTP_MKT_INIT", XTP_MARKET_TYPE::XTP_MKT_INIT);
e.value("XTP_MKT_SZ_A", XTP_MARKET_TYPE::XTP_MKT_SZ_A);
e.value("XTP_MKT_SH_A", XTP_MARKET_TYPE::XTP_MKT_SH_A);
e.value("XTP_MKT_UNKNOWN", XTP_MARKET_TYPE::XTP_MKT_UNKNOWN);
e.export_values();
module_vnxtp::objects.emplace("XTP_MARKET_TYPE", e);
}
void generate_enum_XTP_PRICE_TYPE(pybind11::object & parent)
{
pybind11::enum_<XTP_PRICE_TYPE> e(parent, "XTP_PRICE_TYPE", pybind11::arithmetic());
e.value("XTP_PRICE_LIMIT", XTP_PRICE_TYPE::XTP_PRICE_LIMIT);
e.value("XTP_PRICE_BEST_OR_CANCEL", XTP_PRICE_TYPE::XTP_PRICE_BEST_OR_CANCEL);
e.value("XTP_PRICE_BEST5_OR_LIMIT", XTP_PRICE_TYPE::XTP_PRICE_BEST5_OR_LIMIT);
e.value("XTP_PRICE_BEST5_OR_CANCEL", XTP_PRICE_TYPE::XTP_PRICE_BEST5_OR_CANCEL);
e.value("XTP_PRICE_ALL_OR_CANCEL", XTP_PRICE_TYPE::XTP_PRICE_ALL_OR_CANCEL);
e.value("XTP_PRICE_FORWARD_BEST", XTP_PRICE_TYPE::XTP_PRICE_FORWARD_BEST);
e.value("XTP_PRICE_REVERSE_BEST_LIMIT", XTP_PRICE_TYPE::XTP_PRICE_REVERSE_BEST_LIMIT);
e.value("XTP_PRICE_LIMIT_OR_CANCEL", XTP_PRICE_TYPE::XTP_PRICE_LIMIT_OR_CANCEL);
e.value("XTP_PRICE_TYPE_UNKNOWN", XTP_PRICE_TYPE::XTP_PRICE_TYPE_UNKNOWN);
e.export_values();
module_vnxtp::objects.emplace("XTP_PRICE_TYPE", e);
}
void generate_enum_XTP_ORDER_ACTION_STATUS_TYPE(pybind11::object & parent)
{
pybind11::enum_<XTP_ORDER_ACTION_STATUS_TYPE> e(parent, "XTP_ORDER_ACTION_STATUS_TYPE", pybind11::arithmetic());
e.value("XTP_ORDER_ACTION_STATUS_SUBMITTED", XTP_ORDER_ACTION_STATUS_TYPE::XTP_ORDER_ACTION_STATUS_SUBMITTED);
e.value("XTP_ORDER_ACTION_STATUS_ACCEPTED", XTP_ORDER_ACTION_STATUS_TYPE::XTP_ORDER_ACTION_STATUS_ACCEPTED);
e.value("XTP_ORDER_ACTION_STATUS_REJECTED", XTP_ORDER_ACTION_STATUS_TYPE::XTP_ORDER_ACTION_STATUS_REJECTED);
e.export_values();
module_vnxtp::objects.emplace("XTP_ORDER_ACTION_STATUS_TYPE", e);
}
void generate_enum_XTP_ORDER_STATUS_TYPE(pybind11::object & parent)
{
pybind11::enum_<XTP_ORDER_STATUS_TYPE> e(parent, "XTP_ORDER_STATUS_TYPE", pybind11::arithmetic());
e.value("XTP_ORDER_STATUS_INIT", XTP_ORDER_STATUS_TYPE::XTP_ORDER_STATUS_INIT);
e.value("XTP_ORDER_STATUS_ALLTRADED", XTP_ORDER_STATUS_TYPE::XTP_ORDER_STATUS_ALLTRADED);
e.value("XTP_ORDER_STATUS_PARTTRADEDQUEUEING", XTP_ORDER_STATUS_TYPE::XTP_ORDER_STATUS_PARTTRADEDQUEUEING);
e.value("XTP_ORDER_STATUS_PARTTRADEDNOTQUEUEING", XTP_ORDER_STATUS_TYPE::XTP_ORDER_STATUS_PARTTRADEDNOTQUEUEING);
e.value("XTP_ORDER_STATUS_NOTRADEQUEUEING", XTP_ORDER_STATUS_TYPE::XTP_ORDER_STATUS_NOTRADEQUEUEING);
e.value("XTP_ORDER_STATUS_CANCELED", XTP_ORDER_STATUS_TYPE::XTP_ORDER_STATUS_CANCELED);
e.value("XTP_ORDER_STATUS_REJECTED", XTP_ORDER_STATUS_TYPE::XTP_ORDER_STATUS_REJECTED);
e.value("XTP_ORDER_STATUS_UNKNOWN", XTP_ORDER_STATUS_TYPE::XTP_ORDER_STATUS_UNKNOWN);
e.export_values();
module_vnxtp::objects.emplace("XTP_ORDER_STATUS_TYPE", e);
}
void generate_enum_XTP_ORDER_SUBMIT_STATUS_TYPE(pybind11::object & parent)
{
pybind11::enum_<XTP_ORDER_SUBMIT_STATUS_TYPE> e(parent, "XTP_ORDER_SUBMIT_STATUS_TYPE", pybind11::arithmetic());
e.value("XTP_ORDER_SUBMIT_STATUS_INSERT_SUBMITTED", XTP_ORDER_SUBMIT_STATUS_TYPE::XTP_ORDER_SUBMIT_STATUS_INSERT_SUBMITTED);
e.value("XTP_ORDER_SUBMIT_STATUS_INSERT_ACCEPTED", XTP_ORDER_SUBMIT_STATUS_TYPE::XTP_ORDER_SUBMIT_STATUS_INSERT_ACCEPTED);
e.value("XTP_ORDER_SUBMIT_STATUS_INSERT_REJECTED", XTP_ORDER_SUBMIT_STATUS_TYPE::XTP_ORDER_SUBMIT_STATUS_INSERT_REJECTED);
e.value("XTP_ORDER_SUBMIT_STATUS_CANCEL_SUBMITTED", XTP_ORDER_SUBMIT_STATUS_TYPE::XTP_ORDER_SUBMIT_STATUS_CANCEL_SUBMITTED);
e.value("XTP_ORDER_SUBMIT_STATUS_CANCEL_REJECTED", XTP_ORDER_SUBMIT_STATUS_TYPE::XTP_ORDER_SUBMIT_STATUS_CANCEL_REJECTED);
e.value("XTP_ORDER_SUBMIT_STATUS_CANCEL_ACCEPTED", XTP_ORDER_SUBMIT_STATUS_TYPE::XTP_ORDER_SUBMIT_STATUS_CANCEL_ACCEPTED);
e.export_values();
module_vnxtp::objects.emplace("XTP_ORDER_SUBMIT_STATUS_TYPE", e);
pybind11::class_<XTPCrdCashRepayDebtInterestFeeRsp> c(parent, "XTPCrdCashRepayDebtInterestFeeRsp");
if constexpr (std::is_default_constructible_v<XTPCrdCashRepayDebtInterestFeeRsp>)
c.def(pybind11::init<>());
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdCashRepayDebtInterestFeeRsp, "xtp_id", xtp_id);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdCashRepayDebtInterestFeeRsp, "request_amount", request_amount);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdCashRepayDebtInterestFeeRsp, "cash_repay_amount", cash_repay_amount);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdCashRepayDebtInterestFeeRsp, "debt_compact_id", debt_compact_id);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdCashRepayDebtInterestFeeRsp, "unknow", unknow);
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTPCrdCashRepayDebtInterestFeeRsp, c);
module_vnxtp::objects.emplace("XTPCrdCashRepayDebtInterestFeeRsp", c);
}

View File

@ -11,6 +11,238 @@
#include "xtp_quote_api.h"
void generate_class_XTPCrdCashRepayInfo(pybind11::object & parent)
{
pybind11::class_<XTPCrdCashRepayInfo> c(parent, "XTPCrdCashRepayInfo");
if constexpr (std::is_default_constructible_v<XTPCrdCashRepayInfo>)
c.def(pybind11::init<>());
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdCashRepayInfo, "xtp_id", xtp_id);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdCashRepayInfo, "status", status);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdCashRepayInfo, "request_amount", request_amount);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdCashRepayInfo, "cash_repay_amount", cash_repay_amount);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdCashRepayInfo, "position_effect", position_effect);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdCashRepayInfo, "error_info", error_info);
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTPCrdCashRepayInfo, c);
module_vnxtp::objects.emplace("XTPCrdCashRepayInfo", c);
}
void generate_class_XTPCrdDebtInfo(pybind11::object & parent)
{
pybind11::class_<XTPCrdDebtInfo> c(parent, "XTPCrdDebtInfo");
if constexpr (std::is_default_constructible_v<XTPCrdDebtInfo>)
c.def(pybind11::init<>());
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtInfo, "debt_type", debt_type);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtInfo, "debt_id", debt_id);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtInfo, "position_id", position_id);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtInfo, "order_xtp_id", order_xtp_id);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtInfo, "debt_status", debt_status);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtInfo, "market", market);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtInfo, "ticker", ticker);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtInfo, "order_date", order_date);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtInfo, "end_date", end_date);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtInfo, "orig_end_date", orig_end_date);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtInfo, "is_extended", is_extended);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtInfo, "remain_amt", remain_amt);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtInfo, "remain_qty", remain_qty);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtInfo, "remain_principal", remain_principal);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtInfo, "due_right_qty", due_right_qty);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtInfo, "unknown", unknown);
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTPCrdDebtInfo, c);
module_vnxtp::objects.emplace("XTPCrdDebtInfo", c);
}
void generate_class_XTPCrdFundInfo(pybind11::object & parent)
{
pybind11::class_<XTPCrdFundInfo> c(parent, "XTPCrdFundInfo");
if constexpr (std::is_default_constructible_v<XTPCrdFundInfo>)
c.def(pybind11::init<>());
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdFundInfo, "maintenance_ratio", maintenance_ratio);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdFundInfo, "all_asset", all_asset);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdFundInfo, "all_debt", all_debt);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdFundInfo, "line_of_credit", line_of_credit);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdFundInfo, "guaranty", guaranty);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdFundInfo, "position_amount", position_amount);
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTPCrdFundInfo, c);
module_vnxtp::objects.emplace("XTPCrdFundInfo", c);
}
void generate_class_XTPClientQueryCrdDebtStockReq(pybind11::object & parent)
{
pybind11::class_<XTPClientQueryCrdDebtStockReq> c(parent, "XTPClientQueryCrdDebtStockReq");
if constexpr (std::is_default_constructible_v<XTPClientQueryCrdDebtStockReq>)
c.def(pybind11::init<>());
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientQueryCrdDebtStockReq, "market", market);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientQueryCrdDebtStockReq, "ticker", ticker);
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTPClientQueryCrdDebtStockReq, c);
module_vnxtp::objects.emplace("XTPClientQueryCrdDebtStockReq", c);
}
void generate_class_XTPCrdDebtStockInfo(pybind11::object & parent)
{
pybind11::class_<XTPCrdDebtStockInfo> c(parent, "XTPCrdDebtStockInfo");
if constexpr (std::is_default_constructible_v<XTPCrdDebtStockInfo>)
c.def(pybind11::init<>());
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtStockInfo, "market", market);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtStockInfo, "ticker", ticker);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtStockInfo, "remain_quantity", remain_quantity);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPCrdDebtStockInfo, "order_withhold_quantity", order_withhold_quantity);
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTPCrdDebtStockInfo, c);
module_vnxtp::objects.emplace("XTPCrdDebtStockInfo", c);
}
void generate_class_XTPClientQueryCrdPositionStockReq(pybind11::object & parent)
{
pybind11::class_<XTPClientQueryCrdPositionStockReq> c(parent, "XTPClientQueryCrdPositionStockReq");
if constexpr (std::is_default_constructible_v<XTPClientQueryCrdPositionStockReq>)
c.def(pybind11::init<>());
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientQueryCrdPositionStockReq, "market", market);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientQueryCrdPositionStockReq, "ticker", ticker);
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTPClientQueryCrdPositionStockReq, c);
module_vnxtp::objects.emplace("XTPClientQueryCrdPositionStockReq", c);
}
void generate_class_XTPClientQueryCrdPositionStkInfo(pybind11::object & parent)
{
pybind11::class_<XTPClientQueryCrdPositionStkInfo> c(parent, "XTPClientQueryCrdPositionStkInfo");
if constexpr (std::is_default_constructible_v<XTPClientQueryCrdPositionStkInfo>)
c.def(pybind11::init<>());
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientQueryCrdPositionStkInfo, "market", market);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientQueryCrdPositionStkInfo, "ticker", ticker);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientQueryCrdPositionStkInfo, "limit_qty", limit_qty);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientQueryCrdPositionStkInfo, "yesterday_qty", yesterday_qty);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientQueryCrdPositionStkInfo, "left_qty", left_qty);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientQueryCrdPositionStkInfo, "frozen_qty", frozen_qty);
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTPClientQueryCrdPositionStkInfo, c);
module_vnxtp::objects.emplace("XTPClientQueryCrdPositionStkInfo", c);
}
void generate_class_XTPClientQueryCrdSurplusStkReqInfo(pybind11::object & parent)
{
pybind11::class_<XTPClientQueryCrdSurplusStkReqInfo> c(parent, "XTPClientQueryCrdSurplusStkReqInfo");
if constexpr (std::is_default_constructible_v<XTPClientQueryCrdSurplusStkReqInfo>)
c.def(pybind11::init<>());
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientQueryCrdSurplusStkReqInfo, "market", market);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientQueryCrdSurplusStkReqInfo, "ticker", ticker);
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTPClientQueryCrdSurplusStkReqInfo, c);
module_vnxtp::objects.emplace("XTPClientQueryCrdSurplusStkReqInfo", c);
}
void generate_class_XTPClientQueryCrdSurplusStkRspInfo(pybind11::object & parent)
{
pybind11::class_<XTPClientQueryCrdSurplusStkRspInfo> c(parent, "XTPClientQueryCrdSurplusStkRspInfo");
if constexpr (std::is_default_constructible_v<XTPClientQueryCrdSurplusStkRspInfo>)
c.def(pybind11::init<>());
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientQueryCrdSurplusStkRspInfo, "market", market);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientQueryCrdSurplusStkRspInfo, "ticker", ticker);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientQueryCrdSurplusStkRspInfo, "transferable_quantity", transferable_quantity);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientQueryCrdSurplusStkRspInfo, "transferred_quantity", transferred_quantity);
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTPClientQueryCrdSurplusStkRspInfo, c);
module_vnxtp::objects.emplace("XTPClientQueryCrdSurplusStkRspInfo", c);
}
void generate_class_XTPClientCrdExtendDebtInfo(pybind11::object & parent)
{
pybind11::class_<XTPClientCrdExtendDebtInfo> c(parent, "XTPClientCrdExtendDebtInfo");
if constexpr (std::is_default_constructible_v<XTPClientCrdExtendDebtInfo>)
c.def(pybind11::init<>());
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientCrdExtendDebtInfo, "xtp_id", xtp_id);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPClientCrdExtendDebtInfo, "debt_id", debt_id);
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTPClientCrdExtendDebtInfo, c);
module_vnxtp::objects.emplace("XTPClientCrdExtendDebtInfo", c);
}
void generate_class_XTPFundTransferReq(pybind11::object & parent)
{
pybind11::class_<XTPFundTransferReq> c(parent, "XTPFundTransferReq");
if constexpr (std::is_default_constructible_v<XTPFundTransferReq>)
c.def(pybind11::init<>());
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPFundTransferReq, "serial_id", serial_id);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPFundTransferReq, "fund_account", fund_account);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPFundTransferReq, "password", password);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPFundTransferReq, "amount", amount);
c.AUTOCXXPY_DEF_PROPERTY(tag_vnxtp, XTPFundTransferReq, "transfer_type", transfer_type);
AUTOCXXPY_POST_REGISTER_CLASS(tag_vnxtp, XTPFundTransferReq, c);
module_vnxtp::objects.emplace("XTPFundTransferReq", c);
}
void generate_enum_XTP_LOG_LEVEL(pybind11::object & parent)
{
pybind11::enum_<XTP_LOG_LEVEL> e(parent, "XTP_LOG_LEVEL", pybind11::arithmetic());
e.value("XTP_LOG_LEVEL_FATAL", XTP_LOG_LEVEL::XTP_LOG_LEVEL_FATAL);
e.value("XTP_LOG_LEVEL_ERROR", XTP_LOG_LEVEL::XTP_LOG_LEVEL_ERROR);
e.value("XTP_LOG_LEVEL_WARNING", XTP_LOG_LEVEL::XTP_LOG_LEVEL_WARNING);
e.value("XTP_LOG_LEVEL_INFO", XTP_LOG_LEVEL::XTP_LOG_LEVEL_INFO);
e.value("XTP_LOG_LEVEL_DEBUG", XTP_LOG_LEVEL::XTP_LOG_LEVEL_DEBUG);
e.value("XTP_LOG_LEVEL_TRACE", XTP_LOG_LEVEL::XTP_LOG_LEVEL_TRACE);
e.export_values();
module_vnxtp::objects.emplace("XTP_LOG_LEVEL", e);
}
void generate_enum_XTP_PROTOCOL_TYPE(pybind11::object & parent)
{
pybind11::enum_<XTP_PROTOCOL_TYPE> e(parent, "XTP_PROTOCOL_TYPE", pybind11::arithmetic());
e.value("XTP_PROTOCOL_TCP", XTP_PROTOCOL_TYPE::XTP_PROTOCOL_TCP);
e.value("XTP_PROTOCOL_UDP", XTP_PROTOCOL_TYPE::XTP_PROTOCOL_UDP);
e.export_values();
module_vnxtp::objects.emplace("XTP_PROTOCOL_TYPE", e);
}
void generate_enum_XTP_EXCHANGE_TYPE(pybind11::object & parent)
{
pybind11::enum_<XTP_EXCHANGE_TYPE> e(parent, "XTP_EXCHANGE_TYPE", pybind11::arithmetic());
e.value("XTP_EXCHANGE_SH", XTP_EXCHANGE_TYPE::XTP_EXCHANGE_SH);
e.value("XTP_EXCHANGE_SZ", XTP_EXCHANGE_TYPE::XTP_EXCHANGE_SZ);
e.value("XTP_EXCHANGE_UNKNOWN", XTP_EXCHANGE_TYPE::XTP_EXCHANGE_UNKNOWN);
e.export_values();
module_vnxtp::objects.emplace("XTP_EXCHANGE_TYPE", e);
}
void generate_enum_XTP_MARKET_TYPE(pybind11::object & parent)
{
pybind11::enum_<XTP_MARKET_TYPE> e(parent, "XTP_MARKET_TYPE", pybind11::arithmetic());
e.value("XTP_MKT_INIT", XTP_MARKET_TYPE::XTP_MKT_INIT);
e.value("XTP_MKT_SZ_A", XTP_MARKET_TYPE::XTP_MKT_SZ_A);
e.value("XTP_MKT_SH_A", XTP_MARKET_TYPE::XTP_MKT_SH_A);
e.value("XTP_MKT_UNKNOWN", XTP_MARKET_TYPE::XTP_MKT_UNKNOWN);
e.export_values();
module_vnxtp::objects.emplace("XTP_MARKET_TYPE", e);
}
void generate_enum_XTP_PRICE_TYPE(pybind11::object & parent)
{
pybind11::enum_<XTP_PRICE_TYPE> e(parent, "XTP_PRICE_TYPE", pybind11::arithmetic());
e.value("XTP_PRICE_LIMIT", XTP_PRICE_TYPE::XTP_PRICE_LIMIT);
e.value("XTP_PRICE_BEST_OR_CANCEL", XTP_PRICE_TYPE::XTP_PRICE_BEST_OR_CANCEL);
e.value("XTP_PRICE_BEST5_OR_LIMIT", XTP_PRICE_TYPE::XTP_PRICE_BEST5_OR_LIMIT);
e.value("XTP_PRICE_BEST5_OR_CANCEL", XTP_PRICE_TYPE::XTP_PRICE_BEST5_OR_CANCEL);
e.value("XTP_PRICE_ALL_OR_CANCEL", XTP_PRICE_TYPE::XTP_PRICE_ALL_OR_CANCEL);
e.value("XTP_PRICE_FORWARD_BEST", XTP_PRICE_TYPE::XTP_PRICE_FORWARD_BEST);
e.value("XTP_PRICE_REVERSE_BEST_LIMIT", XTP_PRICE_TYPE::XTP_PRICE_REVERSE_BEST_LIMIT);
e.value("XTP_PRICE_LIMIT_OR_CANCEL", XTP_PRICE_TYPE::XTP_PRICE_LIMIT_OR_CANCEL);
e.value("XTP_PRICE_TYPE_UNKNOWN", XTP_PRICE_TYPE::XTP_PRICE_TYPE_UNKNOWN);
e.export_values();
module_vnxtp::objects.emplace("XTP_PRICE_TYPE", e);
}
void generate_enum_XTP_ORDER_ACTION_STATUS_TYPE(pybind11::object & parent)
{
pybind11::enum_<XTP_ORDER_ACTION_STATUS_TYPE> e(parent, "XTP_ORDER_ACTION_STATUS_TYPE", pybind11::arithmetic());
e.value("XTP_ORDER_ACTION_STATUS_SUBMITTED", XTP_ORDER_ACTION_STATUS_TYPE::XTP_ORDER_ACTION_STATUS_SUBMITTED);
e.value("XTP_ORDER_ACTION_STATUS_ACCEPTED", XTP_ORDER_ACTION_STATUS_TYPE::XTP_ORDER_ACTION_STATUS_ACCEPTED);
e.value("XTP_ORDER_ACTION_STATUS_REJECTED", XTP_ORDER_ACTION_STATUS_TYPE::XTP_ORDER_ACTION_STATUS_REJECTED);
e.export_values();
module_vnxtp::objects.emplace("XTP_ORDER_ACTION_STATUS_TYPE", e);
}
void generate_enum_XTP_ORDER_STATUS_TYPE(pybind11::object & parent)
{
pybind11::enum_<XTP_ORDER_STATUS_TYPE> e(parent, "XTP_ORDER_STATUS_TYPE", pybind11::arithmetic());
e.value("XTP_ORDER_STATUS_INIT", XTP_ORDER_STATUS_TYPE::XTP_ORDER_STATUS_INIT);
e.value("XTP_ORDER_STATUS_ALLTRADED", XTP_ORDER_STATUS_TYPE::XTP_ORDER_STATUS_ALLTRADED);
e.value("XTP_ORDER_STATUS_PARTTRADEDQUEUEING", XTP_ORDER_STATUS_TYPE::XTP_ORDER_STATUS_PARTTRADEDQUEUEING);
e.value("XTP_ORDER_STATUS_PARTTRADEDNOTQUEUEING", XTP_ORDER_STATUS_TYPE::XTP_ORDER_STATUS_PARTTRADEDNOTQUEUEING);
e.value("XTP_ORDER_STATUS_NOTRADEQUEUEING", XTP_ORDER_STATUS_TYPE::XTP_ORDER_STATUS_NOTRADEQUEUEING);
e.value("XTP_ORDER_STATUS_CANCELED", XTP_ORDER_STATUS_TYPE::XTP_ORDER_STATUS_CANCELED);
e.value("XTP_ORDER_STATUS_REJECTED", XTP_ORDER_STATUS_TYPE::XTP_ORDER_STATUS_REJECTED);
e.value("XTP_ORDER_STATUS_UNKNOWN", XTP_ORDER_STATUS_TYPE::XTP_ORDER_STATUS_UNKNOWN);
e.export_values();
module_vnxtp::objects.emplace("XTP_ORDER_STATUS_TYPE", e);
}
void generate_enum_XTP_ORDER_SUBMIT_STATUS_TYPE(pybind11::object & parent)
{
pybind11::enum_<XTP_ORDER_SUBMIT_STATUS_TYPE> e(parent, "XTP_ORDER_SUBMIT_STATUS_TYPE", pybind11::arithmetic());
e.value("XTP_ORDER_SUBMIT_STATUS_INSERT_SUBMITTED", XTP_ORDER_SUBMIT_STATUS_TYPE::XTP_ORDER_SUBMIT_STATUS_INSERT_SUBMITTED);
e.value("XTP_ORDER_SUBMIT_STATUS_INSERT_ACCEPTED", XTP_ORDER_SUBMIT_STATUS_TYPE::XTP_ORDER_SUBMIT_STATUS_INSERT_ACCEPTED);
e.value("XTP_ORDER_SUBMIT_STATUS_INSERT_REJECTED", XTP_ORDER_SUBMIT_STATUS_TYPE::XTP_ORDER_SUBMIT_STATUS_INSERT_REJECTED);
e.value("XTP_ORDER_SUBMIT_STATUS_CANCEL_SUBMITTED", XTP_ORDER_SUBMIT_STATUS_TYPE::XTP_ORDER_SUBMIT_STATUS_CANCEL_SUBMITTED);
e.value("XTP_ORDER_SUBMIT_STATUS_CANCEL_REJECTED", XTP_ORDER_SUBMIT_STATUS_TYPE::XTP_ORDER_SUBMIT_STATUS_CANCEL_REJECTED);
e.value("XTP_ORDER_SUBMIT_STATUS_CANCEL_ACCEPTED", XTP_ORDER_SUBMIT_STATUS_TYPE::XTP_ORDER_SUBMIT_STATUS_CANCEL_ACCEPTED);
e.export_values();
module_vnxtp::objects.emplace("XTP_ORDER_SUBMIT_STATUS_TYPE", e);
}
void generate_enum_XTP_TE_RESUME_TYPE(pybind11::object & parent)
{
pybind11::enum_<XTP_TE_RESUME_TYPE> e(parent, "XTP_TE_RESUME_TYPE", pybind11::arithmetic());
@ -81,6 +313,8 @@ void generate_enum_XTP_FUND_TRANSFER_TYPE(pybind11::object & parent)
pybind11::enum_<XTP_FUND_TRANSFER_TYPE> e(parent, "XTP_FUND_TRANSFER_TYPE", pybind11::arithmetic());
e.value("XTP_FUND_TRANSFER_OUT", XTP_FUND_TRANSFER_TYPE::XTP_FUND_TRANSFER_OUT);
e.value("XTP_FUND_TRANSFER_IN", XTP_FUND_TRANSFER_TYPE::XTP_FUND_TRANSFER_IN);
e.value("XTP_FUND_INTER_TRANSFER_OUT", XTP_FUND_TRANSFER_TYPE::XTP_FUND_INTER_TRANSFER_OUT);
e.value("XTP_FUND_INTER_TRANSFER_IN", XTP_FUND_TRANSFER_TYPE::XTP_FUND_INTER_TRANSFER_IN);
e.value("XTP_FUND_TRANSFER_UNKNOWN", XTP_FUND_TRANSFER_TYPE::XTP_FUND_TRANSFER_UNKNOWN);
e.export_values();
module_vnxtp::objects.emplace("XTP_FUND_TRANSFER_TYPE", e);
@ -140,6 +374,15 @@ void generate_enum_XTP_POSITION_DIRECTION_TYPE(pybind11::object & parent)
e.export_values();
module_vnxtp::objects.emplace("XTP_POSITION_DIRECTION_TYPE", e);
}
void generate_enum_XTP_CRD_CR_STATUS(pybind11::object & parent)
{
pybind11::enum_<XTP_CRD_CR_STATUS> e(parent, "XTP_CRD_CR_STATUS", pybind11::arithmetic());
e.value("XTP_CRD_CR_INIT", XTP_CRD_CR_STATUS::XTP_CRD_CR_INIT);
e.value("XTP_CRD_CR_SUCCESS", XTP_CRD_CR_STATUS::XTP_CRD_CR_SUCCESS);
e.value("XTP_CRD_CR_FAILED", XTP_CRD_CR_STATUS::XTP_CRD_CR_FAILED);
e.export_values();
module_vnxtp::objects.emplace("XTP_CRD_CR_STATUS", e);
}
void generate_enum_XTP_MARKETDATA_TYPE(pybind11::object & parent)
{
pybind11::enum_<XTP_MARKETDATA_TYPE> e(parent, "XTP_MARKETDATA_TYPE", pybind11::arithmetic());
@ -184,6 +427,18 @@ void generate_caster_(pybind11::object & parent)
autocxxpy::caster::try_generate<XTPQueryIPOQuotaRsp>(c, "toXTPQueryIPOQuotaRsp)");
autocxxpy::caster::try_generate<XTPQueryOptionAuctionInfoReq>(c, "toXTPQueryOptionAuctionInfoReq)");
autocxxpy::caster::try_generate<XTPQueryOptionAuctionInfoRsp>(c, "toXTPQueryOptionAuctionInfoRsp)");
autocxxpy::caster::try_generate<XTPCrdCashRepayRsp>(c, "toXTPCrdCashRepayRsp)");
autocxxpy::caster::try_generate<XTPCrdCashRepayDebtInterestFeeRsp>(c, "toXTPCrdCashRepayDebtInterestFeeRsp)");
autocxxpy::caster::try_generate<XTPCrdCashRepayInfo>(c, "toXTPCrdCashRepayInfo)");
autocxxpy::caster::try_generate<XTPCrdDebtInfo>(c, "toXTPCrdDebtInfo)");
autocxxpy::caster::try_generate<XTPCrdFundInfo>(c, "toXTPCrdFundInfo)");
autocxxpy::caster::try_generate<XTPClientQueryCrdDebtStockReq>(c, "toXTPClientQueryCrdDebtStockReq)");
autocxxpy::caster::try_generate<XTPCrdDebtStockInfo>(c, "toXTPCrdDebtStockInfo)");
autocxxpy::caster::try_generate<XTPClientQueryCrdPositionStockReq>(c, "toXTPClientQueryCrdPositionStockReq)");
autocxxpy::caster::try_generate<XTPClientQueryCrdPositionStkInfo>(c, "toXTPClientQueryCrdPositionStkInfo)");
autocxxpy::caster::try_generate<XTPClientQueryCrdSurplusStkReqInfo>(c, "toXTPClientQueryCrdSurplusStkReqInfo)");
autocxxpy::caster::try_generate<XTPClientQueryCrdSurplusStkRspInfo>(c, "toXTPClientQueryCrdSurplusStkRspInfo)");
autocxxpy::caster::try_generate<XTPClientCrdExtendDebtInfo>(c, "toXTPClientCrdExtendDebtInfo)");
autocxxpy::caster::try_generate<XTPFundTransferReq>(c, "toXTPFundTransferReq)");
autocxxpy::caster::try_generate<XTPVersionType>(c, "toXTPVersionType)");
autocxxpy::caster::try_generate<XTP_LOG_LEVEL>(c, "toXTP_LOG_LEVEL)");
@ -208,6 +463,7 @@ void generate_caster_(pybind11::object & parent)
autocxxpy::caster::try_generate<XTP_OPT_CALL_OR_PUT_TYPE>(c, "toXTP_OPT_CALL_OR_PUT_TYPE)");
autocxxpy::caster::try_generate<XTP_OPT_EXERCISE_TYPE_TYPE>(c, "toXTP_OPT_EXERCISE_TYPE_TYPE)");
autocxxpy::caster::try_generate<XTP_POSITION_DIRECTION_TYPE>(c, "toXTP_POSITION_DIRECTION_TYPE)");
autocxxpy::caster::try_generate<XTP_CRD_CR_STATUS>(c, "toXTP_CRD_CR_STATUS)");
autocxxpy::caster::try_generate<TXTPTradeTypeType>(c, "toTXTPTradeTypeType)");
autocxxpy::caster::try_generate<TXTPOrderTypeType>(c, "toTXTPOrderTypeType)");
autocxxpy::caster::try_generate<XTPRI>(c, "toXTPRI)");
@ -222,5 +478,14 @@ void generate_caster_(pybind11::object & parent)
autocxxpy::caster::try_generate<XTPFundTransferLog>(c, "toXTPFundTransferLog)");
autocxxpy::caster::try_generate<XTPQueryETFBaseRsp>(c, "toXTPQueryETFBaseRsp)");
autocxxpy::caster::try_generate<XTPQueryETFComponentReq>(c, "toXTPQueryETFComponentReq)");
autocxxpy::caster::try_generate<XTPCrdDebtInfo>(c, "toXTPCrdDebtInfo)");
autocxxpy::caster::try_generate<XTPCrdFundInfo>(c, "toXTPCrdFundInfo)");
autocxxpy::caster::try_generate<XTPClientQueryCrdDebtStockReq>(c, "toXTPClientQueryCrdDebtStockReq)");
autocxxpy::caster::try_generate<XTPCrdDebtStockInfo>(c, "toXTPCrdDebtStockInfo)");
autocxxpy::caster::try_generate<XTPClientQueryCrdPositionStockReq>(c, "toXTPClientQueryCrdPositionStockReq)");
autocxxpy::caster::try_generate<XTPClientQueryCrdPositionStkInfo>(c, "toXTPClientQueryCrdPositionStkInfo)");
autocxxpy::caster::try_generate<XTPClientQueryCrdSurplusStkReqInfo>(c, "toXTPClientQueryCrdSurplusStkReqInfo)");
autocxxpy::caster::try_generate<XTPClientQueryCrdSurplusStkRspInfo>(c, "toXTPClientQueryCrdSurplusStkRspInfo)");
autocxxpy::caster::try_generate<XTPClientCrdExtendDebtInfo>(c, "toXTPClientCrdExtendDebtInfo)");
autocxxpy::caster::try_generate<XTPFundTransferAck>(c, "toXTPFundTransferAck)");
}

View File

@ -115,6 +115,54 @@ public:
this,"OnQueryOptionAuctionInfo",option_info,error_info,request_id,is_last,session_id
);
}
void OnCreditCashRepay(XTPCrdCashRepayRsp * cash_repay_info,XTPRI * error_info,uint64_t session_id) override
{
return autocxxpy::callback_wrapper<&XTP::API::TraderSpi::OnCreditCashRepay>::call(
this,"OnCreditCashRepay",cash_repay_info,error_info,session_id
);
}
void OnQueryCreditCashRepayInfo(XTPCrdCashRepayInfo * cash_repay_info,XTPRI * error_info,int request_id,bool is_last,uint64_t session_id) override
{
return autocxxpy::callback_wrapper<&XTP::API::TraderSpi::OnQueryCreditCashRepayInfo>::call(
this,"OnQueryCreditCashRepayInfo",cash_repay_info,error_info,request_id,is_last,session_id
);
}
void OnQueryCreditFundInfo(XTPCrdFundInfo * fund_info,XTPRI * error_info,int request_id,uint64_t session_id) override
{
return autocxxpy::callback_wrapper<&XTP::API::TraderSpi::OnQueryCreditFundInfo>::call(
this,"OnQueryCreditFundInfo",fund_info,error_info,request_id,session_id
);
}
void OnQueryCreditDebtInfo(XTPCrdDebtInfo * debt_info,XTPRI * error_info,int request_id,bool is_last,uint64_t session_id) override
{
return autocxxpy::callback_wrapper<&XTP::API::TraderSpi::OnQueryCreditDebtInfo>::call(
this,"OnQueryCreditDebtInfo",debt_info,error_info,request_id,is_last,session_id
);
}
void OnQueryCreditTickerDebtInfo(XTPCrdDebtStockInfo * debt_info,XTPRI * error_info,int request_id,bool is_last,uint64_t session_id) override
{
return autocxxpy::callback_wrapper<&XTP::API::TraderSpi::OnQueryCreditTickerDebtInfo>::call(
this,"OnQueryCreditTickerDebtInfo",debt_info,error_info,request_id,is_last,session_id
);
}
void OnQueryCreditAssetDebtInfo(double remain_amount,XTPRI * error_info,int request_id,uint64_t session_id) override
{
return autocxxpy::callback_wrapper<&XTP::API::TraderSpi::OnQueryCreditAssetDebtInfo>::call(
this,"OnQueryCreditAssetDebtInfo",remain_amount,error_info,request_id,session_id
);
}
void OnQueryCreditTickerAssignInfo(XTPClientQueryCrdPositionStkInfo * assign_info,XTPRI * error_info,int request_id,bool is_last,uint64_t session_id) override
{
return autocxxpy::callback_wrapper<&XTP::API::TraderSpi::OnQueryCreditTickerAssignInfo>::call(
this,"OnQueryCreditTickerAssignInfo",assign_info,error_info,request_id,is_last,session_id
);
}
void OnQueryCreditExcessStock(XTPClientQueryCrdSurplusStkRspInfo * stock_info,XTPRI * error_info,int request_id,uint64_t session_id) override
{
return autocxxpy::callback_wrapper<&XTP::API::TraderSpi::OnQueryCreditExcessStock>::call(
this,"OnQueryCreditExcessStock",stock_info,error_info,request_id,session_id
);
}
};

View File

@ -12,6 +12,7 @@
#pragma pack(8)
/// 用户资金账户的密码字符串长度
#define XTP_ACCOUNT_PASSWORD_LEN 64
/////////////////////////////////////////////////////////////////////////

View File

@ -8,6 +8,7 @@
#include "xtp_api_data_type.h"
#include "stddef.h"
#include "xtp_api_struct_common.h"
#pragma pack(8)
@ -32,6 +33,7 @@ struct XTPOrderInsertInfo
///报单价格
XTP_PRICE_TYPE price_type;
union{
///32位字段用来兼容老版本api用户无需关心
uint32_t u32;
struct {
///买卖方向
@ -81,6 +83,7 @@ struct XTPOrderInfo
///报单价格条件
XTP_PRICE_TYPE price_type;
union{
///32位字段用来兼容老版本api用户无需关心
uint32_t u32;
struct {
///买卖方向
@ -142,13 +145,14 @@ struct XTPTradeReport
int64_t trade_time;
///成交金额,此次成交的总金额 = price*quantity
double trade_amount;
///成交序号 --回报记录号,每个交易所唯一,report_index+market字段可以组成唯一标识表示成交回报
///成交序号 --回报记录号,对于单个账户来说,每个交易所唯一,report_index+market字段可以组成唯一标识表示成交回报,对于多账户来说,不唯一
uint64_t report_index;
///报单编号 --交易所单号,上交所为空,深交所有此字段
char order_exch_id[XTP_ORDER_EXCH_LEN];
///成交类型 --成交回报中的执行类型
TXTPTradeTypeType trade_type;
union{
///32位字段用来兼容老版本api用户无需关心
uint32_t u32;
struct {
///买卖方向
@ -219,53 +223,59 @@ typedef struct XTPTradeReport XTPQueryTradeRsp;
//////////////////////////////////////////////////////////////////////////
struct XTPQueryAssetRsp
{
///总资产(=可用资金 + 证券资产目前为0+ 预扣的资金)
///总资产(现货账户/期权账户参考公式:总资产 = 可用资金 + 证券资产目前为0+ 预扣的资金),(信用账户参考公式:总资产 = 可用资金 + 融券卖出所得资金余额 + 证券资产+ 预扣的资金)
double total_asset;
///可用资金
double buying_power;
///证券资产保留字段目前为0
double security_asset;
///累计买入成交证券占用资金
///累计买入成交证券占用资金(仅限现货账户/期权账户,信用账户暂不可用)
double fund_buy_amount;
///累计买入成交交易费用
///累计买入成交交易费用(仅限现货账户/期权账户,信用账户暂不可用)
double fund_buy_fee;
///累计卖出成交证券所得资金
///累计卖出成交证券所得资金(仅限现货账户/期权账户,信用账户暂不可用)
double fund_sell_amount;
///累计卖出成交交易费用
///累计卖出成交交易费用(仅限现货账户/期权账户,信用账户暂不可用)
double fund_sell_fee;
///XTP系统预扣的资金包括买卖股票时预扣的交易资金+预扣手续费)
///XTP系统预扣的资金包括买卖股票时预扣的交易资金+预扣手续费)
double withholding_amount;
///账户类型
XTP_ACCOUNT_TYPE account_type;
///冻结的保证金
///冻结的保证金(仅限期权账户)
double frozen_margin;
///行权冻结资金
///行权冻结资金(仅限期权账户)
double frozen_exec_cash;
///行权费用
///行权费用(仅限期权账户)
double frozen_exec_fee;
///垫付资金
///垫付资金(仅限期权账户)
double pay_later;
///预垫付资金
///预垫付资金(仅限期权账户)
double preadva_pay;
///昨日余额
///昨日余额(仅限期权账户)
double orig_banlance;
///当前余额
///当前余额(仅限期权账户)
double banlance;
///当天出入金
///当天出入金(仅限期权账户)
double deposit_withdraw;
///当日交易资金轧差
///当日交易资金轧差(仅限期权账户)
double trade_netting;
///资金资产
///资金资产(仅限期权账户)
double captial_asset;
///强锁资金
///强锁资金(仅限期权账户)
double force_freeze_amount;
///可取资金
///可取资金(仅限期权账户)
double preferred_amount;
// 信用业务新增字段开始数量1
///融券卖出所得资金余额(仅限信用账户,只能用于买券还券)
double repay_stock_aval_banlance;
// 信用业务新增字段结束数量1
///(保留字段)
uint64_t unknown[43 - 12];
uint64_t unknown[43 - 12 - 1];
};
@ -538,6 +548,151 @@ struct XTPQueryOptionAuctionInfoRsp {
};
//////////////////////////////////////////////////////////////////////////
///融资融券直接还款响应信息
//////////////////////////////////////////////////////////////////////////
struct XTPCrdCashRepayRsp
{
int64_t xtp_id; ///< 直接还款操作的XTPID
double request_amount; ///< 直接还款的申请金额
double cash_repay_amount; ///< 实际还款使用金额
};
//////////////////////////////////////////////////////////////////////////
///融资融券现金还息费响应信息
//////////////////////////////////////////////////////////////////////////
struct XTPCrdCashRepayDebtInterestFeeRsp
{
int64_t xtp_id; ///< 直接还款操作的XTPID
double request_amount; ///< 直接还款的申请金额
double cash_repay_amount; ///< 实际还款使用金额
char debt_compact_id[XTP_CREDIT_DEBT_ID_LEN]; ///< 指定的负债合约编号
char unknow[32]; ///< 保留字段
};
//////////////////////////////////////////////////////////////////////////
///单条融资融券直接还款记录信息
//////////////////////////////////////////////////////////////////////////
struct XTPCrdCashRepayInfo
{
int64_t xtp_id; ///< 直接还款操作的XTPID
XTP_CRD_CR_STATUS status; ///< 直接还款处理状态
double request_amount; ///< 直接还款的申请金额
double cash_repay_amount; ///< 实际还款使用金额
XTP_POSITION_EFFECT_TYPE position_effect; ///< 强平标志
XTPRI error_info; ///< 直接还款发生错误时的错误信息
};
//////////////////////////////////////////////////////////////////////////
///单条融资融券负债记录信息
//////////////////////////////////////////////////////////////////////////
typedef struct XTPCrdDebtInfo
{
int32_t debt_type; ///< 负债合约类型
char debt_id[33]; ///< 负债合约编号
int64_t position_id; ///< 负债对应两融头寸编号
uint64_t order_xtp_id; ///< 生成负债的订单编号,非当日负债无此项
int32_t debt_status; ///< 负债合约状态
XTP_MARKET_TYPE market; ///< 市场
char ticker[XTP_TICKER_LEN]; ///< 证券代码
uint64_t order_date; ///< 委托日期
uint64_t end_date; ///< 负债截止日期
uint64_t orig_end_date; ///< 负债原始截止日期
bool is_extended; ///< 当日是否接收到展期请求
double remain_amt; ///< 未偿还金额
int64_t remain_qty; ///< 未偿还融券数量
double remain_principal; ///< 未偿还本金金额
int64_t due_right_qty; ///< 应偿还权益数量
int64_t unknown[2]; ///< 保留字段
}XTPCrdDebtInfo;
//////////////////////////////////////////////////////////////////////////
///融资融券特有帐户数据
//////////////////////////////////////////////////////////////////////////
typedef struct XTPCrdFundInfo
{
double maintenance_ratio; ///< 维持担保品比例
double all_asset; ///< 总资产
double all_debt; ///< 总负债
double line_of_credit; ///< 两融授信额度
double guaranty; ///< 两融保证金可用数
double position_amount; ///< 融资头寸可用金额,内部接口,正式版本需要删除
}XTPCrdFundInfo;
//////////////////////////////////////////////////////////////////////////
///融资融券指定证券上的负债未还数量请求结构体
//////////////////////////////////////////////////////////////////////////
typedef struct XTPClientQueryCrdDebtStockReq
{
XTP_MARKET_TYPE market; ///< 市场
char ticker[XTP_TICKER_LEN]; ///< 证券代码
}XTPClientQueryCrdDebtStockReq;
//////////////////////////////////////////////////////////////////////////
///融资融券指定证券上的负债未还信息
//////////////////////////////////////////////////////////////////////////
typedef struct XTPCrdDebtStockInfo
{
XTP_MARKET_TYPE market; ///< 市场
char ticker[XTP_TICKER_LEN]; ///< 证券代码
int64_t remain_quantity; ///< 负债未还数量
int64_t order_withhold_quantity; ///< 挂单未成还券数量
}XTPCrdDebtStockInfo;
//////////////////////////////////////////////////////////////////////////
///融券头寸证券查询请求结构体
//////////////////////////////////////////////////////////////////////////
typedef struct XTPClientQueryCrdPositionStockReq
{
XTP_MARKET_TYPE market; ///< 证券市场
char ticker[XTP_TICKER_LEN]; ///< 证券代码
}XTPClientQueryCrdPositionStockReq;
//////////////////////////////////////////////////////////////////////////
///融券头寸证券信息
//////////////////////////////////////////////////////////////////////////
typedef struct XTPClientQueryCrdPositionStkInfo
{
XTP_MARKET_TYPE market; ///< 证券市场
char ticker[XTP_TICKER_LEN]; ///< 证券代码
int64_t limit_qty; ///< 融券限量
int64_t yesterday_qty; ///< 昨日日融券数量
int64_t left_qty; ///< 剩余可融券数量
int64_t frozen_qty; ///< 冻结融券数量
}XTPClientQueryCrdPositionStkInfo;
//////////////////////////////////////////////////////////////////////////
/// 信用业务余券查询请求结构体
//////////////////////////////////////////////////////////////////////////
typedef struct XTPClientQueryCrdSurplusStkReqInfo
{
XTP_MARKET_TYPE market; ///< 证券市场
char ticker[XTP_TICKER_LEN]; ///< 证券代码
}XTPClientQueryCrdSurplusStkReqInfo;
//////////////////////////////////////////////////////////////////////////
///信用业务余券信息
//////////////////////////////////////////////////////////////////////////
typedef struct XTPClientQueryCrdSurplusStkRspInfo
{
XTP_MARKET_TYPE market; ///< 证券市场
char ticker[XTP_TICKER_LEN]; ///< 证券代码
int64_t transferable_quantity; ///< 可划转数量
int64_t transferred_quantity; ///< 已划转数量
}XTPClientQueryCrdSurplusStkRspInfo;
//////////////////////////////////////////////////////////////////////////
/// 信用业务负债展期信息
//////////////////////////////////////////////////////////////////////////
typedef struct XTPClientCrdExtendDebtInfo
{
uint64_t xtp_id; ///< 订单编号
char debt_id[XTP_CREDIT_DEBT_ID_LEN]; ///< 待展期负债合约编号
}XTPClientCrdExtendDebtInfo;
#pragma pack()
#endif //_XOMS_API_STRUCT_H_

View File

@ -89,7 +89,7 @@ struct XTPMarketDataStockExData {
int64_t r2;
};
// 期权额外数据
/// 期权额外数据
struct XTPMarketDataOptionExData {
///波段性中断参考价(SH)
double auction_price;
@ -99,6 +99,9 @@ struct XTPMarketDataOptionExData {
int64_t last_enquiry_time;
};
/////////////////////////////////////////////////////////////////////////
///@brief XTP_MARKETDATA_TYPE是行情快照数据类型
/////////////////////////////////////////////////////////////////////////
enum XTP_MARKETDATA_TYPE {
XTP_MARKETDATA_ACTUAL = 0, // 现货(股票/基金/债券等)
XTP_MARKETDATA_OPTION = 1, // 期权

View File

@ -28,6 +28,8 @@ typedef char XTPVersionType[XTP_VERSION_LEN];
#define XTP_BRANCH_PBU_LEN 7
/// 用户资金账户的字符串长度
#define XTP_ACCOUNT_NAME_LEN 16
/// 信用业务合约负债编号长度
#define XTP_CREDIT_DEBT_ID_LEN 33
/////////////////////////////////////////////////////////////////////////
///@brief XTP_LOG_LEVEL是日志输出级别类型
@ -121,12 +123,19 @@ typedef uint8_t XTP_SIDE_TYPE;
#define XTP_SIDE_REPAY_MARGIN 23
/// 买券还券
#define XTP_SIDE_REPAY_STOCK 24
/// 现金还款
#define XTP_SIDE_CASH_REPAY_MARGIN 25
/// 现金还款(不放在普通订单协议,另加请求和查询协议)
//#define XTP_SIDE_CASH_REPAY_MARGIN 25
/// 现券还券
#define XTP_SIDE_STOCK_REPAY_STOCK 26
/// 余券划转
#define XTP_SIDE_SURSTK_TRANS 27
/// 担保品转入
#define XTP_SIDE_GRTSTK_TRANSIN 28
/// 担保品转出
#define XTP_SIDE_GRTSTK_TRANSOUT 29
///未知或者无效买卖方向
#define XTP_SIDE_UNKNOWN 27
#define XTP_SIDE_UNKNOWN 30
@ -151,8 +160,16 @@ typedef uint8_t XTP_POSITION_EFFECT_TYPE;
#define XTP_POSITION_EFFECT_FORCEOFF 6
/// 本地强平
#define XTP_POSITION_EFFECT_LOCALFORCECLOSE 7
/// 信用业务追保强平
#define XTP_POSITION_EFFECT_CREDIT_FORCE_COVER 8
/// 信用业务清偿强平
#define XTP_POSITION_EFFECT_CREDIT_FORCE_CLEAR 9
/// 信用业务合约到期强平
#define XTP_POSITION_EFFECT_CREDIT_FORCE_DEBT 10
/// 信用业务无条件强平
#define XTP_POSITION_EFFECT_CREDIT_FORCE_UNCOND 11
/// 未知的开平标识类型
#define XTP_POSITION_EFFECT_UNKNOWN 8
#define XTP_POSITION_EFFECT_UNKNOWN 12
/////////////////////////////////////////////////////////////////////////
@ -276,6 +293,8 @@ typedef enum XTP_FUND_TRANSFER_TYPE
{
XTP_FUND_TRANSFER_OUT = 0, ///<转出 从XTP转出到柜台
XTP_FUND_TRANSFER_IN, ///<转入 从柜台转入XTP
XTP_FUND_INTER_TRANSFER_OUT, ///<跨节点转出 从本XTP节点1转出到对端XTP节点2XTP服务器之间划拨只能跨账户用户使用
XTP_FUND_INTER_TRANSFER_IN, ///<跨节点转入 从对端XTP节点2转入到本XTP节点1XTP服务器之间划拨只能跨账户用户使用
XTP_FUND_TRANSFER_UNKNOWN ///<未知类型
}XTP_FUND_TRANSFER_TYPE;
@ -283,7 +302,7 @@ typedef enum XTP_FUND_TRANSFER_TYPE
///@brief XTP_FUND_OPER_STATUS柜台资金操作结果
/////////////////////////////////////////////////////////////////////////
typedef enum XTP_FUND_OPER_STATUS {
XTP_FUND_OPER_PROCESSING = 0, ///<XOMS已收到,正在处理中
XTP_FUND_OPER_PROCESSING = 0, ///<XTP已收到,正在处理中
XTP_FUND_OPER_SUCCESS, ///<成功
XTP_FUND_OPER_FAILED, ///<失败
XTP_FUND_OPER_SUBMITTED, ///<已提交到集中柜台处理
@ -334,7 +353,14 @@ typedef enum XTP_POSITION_DIRECTION_TYPE {
XTP_POSITION_DIRECTION_COVERED, ///<备兑(期权则为备兑义务方)
}XTP_POSITION_DIRECTION_TYPE;
/////////////////////////////////////////////////////////////////////////
///@brief XTP_CRD_CASH_REPAY_STATUS是一个融资融券直接还款状态类型
/////////////////////////////////////////////////////////////////////////
typedef enum XTP_CRD_CR_STATUS {
XTP_CRD_CR_INIT = 0, ///< 初始、未处理状态
XTP_CRD_CR_SUCCESS, ///< 已成功处理状态
XTP_CRD_CR_FAILED, ///< 处理失败状态
} XTP_CRD_CR_STATUS;
/////////////////////////////////////////////////////////////////////////
@ -348,6 +374,8 @@ typedef char TXTPTradeTypeType;
#define XTP_TRDT_CASH '1'
///一级市场成交
#define XTP_TRDT_PRIMARY '2'
///跨市场资金成交
#define XTP_TRDT_CROSS_MKT_CASH '3'
/////////////////////////////////////////////////////////////////////////

View File

@ -364,6 +364,8 @@ namespace XTP {
///获取合约的最新价格信息
///@return 查询是否成功“0”表示查询成功非“0”表示查询不成功
///@param ticker 合约ID数组注意合约代码必须以'\0'结尾,不包含空格
///@param count 要查询的合约个数
///@param exchange_id 交易所代码
virtual int QueryTickersPriceInfo(char *ticker[], int count, XTP_EXCHANGE_TYPE exchange_id) = 0;

View File

@ -52,17 +52,20 @@ namespace XTP {
///报单通知
///@param order_info 订单响应具体信息用户可以通过order_info.order_xtp_id来管理订单通过GetClientIDByXTPID() == client_id来过滤自己的订单order_info.qty_left字段在订单为未成交、部成、全成、废单状态时表示此订单还没有成交的数量在部撤、全撤状态时表示此订单被撤的数量。order_info.order_cancel_xtp_id为其所对应的撤单ID不为0时表示此单被撤成功
///@param error_info 订单被拒绝或者发生错误时错误代码和错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param session_id 资金账户对应的session_id登录时得到
///@remark 每次订单状态更新时,都会被调用,需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线,在订单未成交、全部成交、全部撤单、部分撤单、已拒绝这些状态时会有响应,对于部分成交的情况,请由订单的成交回报来自行确认。所有登录了此用户的客户端都将收到此用户的订单响应
virtual void OnOrderEvent(XTPOrderInfo *order_info, XTPRI *error_info, uint64_t session_id) {};
///成交通知
///@param trade_info 成交回报的具体信息用户可以通过trade_info.order_xtp_id来管理订单通过GetClientIDByXTPID() == client_id来过滤自己的订单。对于上交所exec_id可以唯一标识一笔成交。当发现2笔成交回报拥有相同的exec_id则可以认为此笔交易自成交了。对于深交所exec_id是唯一的暂时无此判断机制。report_index+market字段可以组成唯一标识表示成交回报。
///@param session_id 资金账户对应的session_id登录时得到
///@remark 订单有成交发生的时候会被调用需要快速返回否则会堵塞后续消息当堵塞严重时会触发断线。所有登录了此用户的客户端都将收到此用户的成交回报。相关订单为部成状态需要用户通过成交回报的成交数量来确定OnOrderEvent()不会推送部成状态。
virtual void OnTradeEvent(XTPTradeReport *trade_info, uint64_t session_id) {};
///撤单出错响应
///@param cancel_info 撤单具体信息包括撤单的order_cancel_xtp_id和待撤单的order_xtp_id
///@param error_info 撤单被拒绝或者发生错误时错误代码和错误信息需要快速返回否则会堵塞后续消息当堵塞严重时会触发断线当error_info为空或者error_info.error_id为0时表明没有错误
///@param session_id 资金账户对应的session_id登录时得到
///@remark 此响应只会在撤单发生错误时被回调
virtual void OnCancelOrderError(XTPOrderCancelInfo *cancel_info, XTPRI *error_info, uint64_t session_id) {};
@ -71,6 +74,7 @@ namespace XTP {
///@param error_info 查询报单时发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param is_last 此消息响应函数是否为request_id这条请求所对应的最后一个响应当为最后一个的时候为true如果为false表示还有其他后续消息响应
///@param session_id 资金账户对应的session_id登录时得到
///@remark 由于支持分时段查询,一个查询请求可能对应多个响应,需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryOrder(XTPQueryOrderRsp *order_info, XTPRI *error_info, int request_id, bool is_last, uint64_t session_id) {};
@ -79,6 +83,7 @@ namespace XTP {
///@param error_info 查询成交回报发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param is_last 此消息响应函数是否为request_id这条请求所对应的最后一个响应当为最后一个的时候为true如果为false表示还有其他后续消息响应
///@param session_id 资金账户对应的session_id登录时得到
///@remark 由于支持分时段查询,一个查询请求可能对应多个响应,需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryTrade(XTPQueryTradeRsp *trade_info, XTPRI *error_info, int request_id, bool is_last, uint64_t session_id) {};
@ -87,6 +92,7 @@ namespace XTP {
///@param error_info 查询账户持仓发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param is_last 此消息响应函数是否为request_id这条请求所对应的最后一个响应当为最后一个的时候为true如果为false表示还有其他后续消息响应
///@param session_id 资金账户对应的session_id登录时得到
///@remark 由于用户可能持有多个股票,一个查询请求可能对应多个响应,需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryPosition(XTPQueryStkPositionRsp *position, XTPRI *error_info, int request_id, bool is_last, uint64_t session_id) {};
@ -95,6 +101,7 @@ namespace XTP {
///@param error_info 查询资金账户发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param is_last 此消息响应函数是否为request_id这条请求所对应的最后一个响应当为最后一个的时候为true如果为false表示还有其他后续消息响应
///@param session_id 资金账户对应的session_id登录时得到
///@remark 需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryAsset(XTPQueryAssetRsp *asset, XTPRI *error_info, int request_id, bool is_last, uint64_t session_id) {};
@ -103,6 +110,7 @@ namespace XTP {
///@param error_info 查询分级基金发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param is_last 此消息响应函数是否为request_id这条请求所对应的最后一个响应当为最后一个的时候为true如果为false表示还有其他后续消息响应
///@param session_id 资金账户对应的session_id登录时得到
///@remark 需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryStructuredFund(XTPStructuredFundInfo *fund_info, XTPRI *error_info, int request_id, bool is_last, uint64_t session_id) {};
@ -111,12 +119,14 @@ namespace XTP {
///@param error_info 查询资金账户发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param is_last 此消息响应函数是否为request_id这条请求所对应的最后一个响应当为最后一个的时候为true如果为false表示还有其他后续消息响应
///@param session_id 资金账户对应的session_id登录时得到
///@remark 需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryFundTransfer(XTPFundTransferNotice *fund_transfer_info, XTPRI *error_info, int request_id, bool is_last, uint64_t session_id) {};
///资金划拨通知
///@param fund_transfer_info 资金划拨通知的具体信息用户可以通过fund_transfer_info.serial_id来管理订单通过GetClientIDByXTPID() == client_id来过滤自己的订单。
///@param error_info 资金划拨订单被拒绝或者发生错误时错误代码和错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param error_info 资金划拨订单被拒绝或者发生错误时错误代码和错误信息当error_info为空或者error_info.error_id为0时表明没有错误。当资金划拨方向为一号两中心节点之间划拨且error_info.error_id=11000384时error_info.error_msg为结点中可用于划拨的资金以整数为准用户需进行stringToInt的转化可据此填写合适的资金再次发起划拨请求
///@param session_id 资金账户对应的session_id登录时得到
///@remark 当资金划拨订单有状态变化的时候,会被调用,需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线。所有登录了此用户的客户端都将收到此用户的资金划拨通知。
virtual void OnFundTransfer(XTPFundTransferNotice *fund_transfer_info, XTPRI *error_info, uint64_t session_id) {};
@ -125,6 +135,7 @@ namespace XTP {
///@param error_info 查询ETF清单文件发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param is_last 此消息响应函数是否为request_id这条请求所对应的最后一个响应当为最后一个的时候为true如果为false表示还有其他后续消息响应
///@param session_id 资金账户对应的session_id登录时得到
///@remark 需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryETF(XTPQueryETFBaseRsp *etf_info, XTPRI *error_info, int request_id, bool is_last, uint64_t session_id) {};
@ -133,6 +144,7 @@ namespace XTP {
///@param error_info 查询ETF股票篮发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param is_last 此消息响应函数是否为request_id这条请求所对应的最后一个响应当为最后一个的时候为true如果为false表示还有其他后续消息响应
///@param session_id 资金账户对应的session_id登录时得到
///@remark 需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryETFBasket(XTPQueryETFComponentRsp *etf_component_info, XTPRI *error_info, int request_id, bool is_last, uint64_t session_id) {};
@ -141,6 +153,7 @@ namespace XTP {
///@param error_info 查询今日新股申购信息列表发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param is_last 此消息响应函数是否为request_id这条请求所对应的最后一个响应当为最后一个的时候为true如果为false表示还有其他后续消息响应
///@param session_id 资金账户对应的session_id登录时得到
///@remark 需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryIPOInfoList(XTPQueryIPOTickerRsp *ipo_info, XTPRI *error_info, int request_id, bool is_last, uint64_t session_id) {};
@ -149,6 +162,7 @@ namespace XTP {
///@param error_info 查查询用户新股申购额度信息发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param is_last 此消息响应函数是否为request_id这条请求所对应的最后一个响应当为最后一个的时候为true如果为false表示还有其他后续消息响应
///@param session_id 资金账户对应的session_id登录时得到
///@remark 需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryIPOQuotaInfo(XTPQueryIPOQuotaRsp *quota_info, XTPRI *error_info, int request_id, bool is_last, uint64_t session_id) {};
@ -157,9 +171,77 @@ namespace XTP {
///@param error_info 查询期权合约发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param is_last 此消息响应函数是否为request_id这条请求所对应的最后一个响应当为最后一个的时候为true如果为false表示还有其他后续消息响应
///@param session_id 资金账户对应的session_id登录时得到
///@remark 需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryOptionAuctionInfo(XTPQueryOptionAuctionInfoRsp *option_info, XTPRI *error_info, int request_id, bool is_last, uint64_t session_id) {};
///融资融券业务中现金直接还款的响应
///@param cash_repay_info 现金直接还款通知的具体信息用户可以通过cash_repay_info.xtp_id来管理订单通过GetClientIDByXTPID() == client_id来过滤自己的订单。
///@param error_info 现金还款发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param session_id 资金账户对应的session_id登录时得到
///@remark 需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnCreditCashRepay(XTPCrdCashRepayRsp *cash_repay_info, XTPRI *error_info, uint64_t session_id) {};
///请求查询融资融券业务中的现金直接还款报单的响应
///@param cash_repay_info 查询到的某一笔现金直接还款通知的具体信息
///@param error_info 查询现金直接报单发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param is_last 此消息响应函数是否为request_id这条请求所对应的最后一个响应当为最后一个的时候为true如果为false表示还有其他后续消息响应
///@param session_id 资金账户对应的session_id登录时得到
///@remark 需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryCreditCashRepayInfo(XTPCrdCashRepayInfo *cash_repay_info, XTPRI *error_info, int request_id, bool is_last, uint64_t session_id) {};
///请求查询信用账户额外信息的响应,需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
///@param fund_info 查询到的信用账户额外信息情况
///@param error_info 查询信用账户额外信息发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param session_id 资金账户对应的session_id登录时得到
///@remark 需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryCreditFundInfo(XTPCrdFundInfo *fund_info, XTPRI *error_info, int request_id, uint64_t session_id) {};
///请求查询信用账户负债信息的响应,需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
///@param debt_info 查询到的信用账户合约负债情况
///@param error_info 查询信用账户负债信息发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param is_last 此消息响应函数是否为request_id这条请求所对应的最后一个响应当为最后一个的时候为true如果为false表示还有其他后续消息响应
///@param session_id 资金账户对应的session_id登录时得到
///@remark 需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryCreditDebtInfo(XTPCrdDebtInfo *debt_info, XTPRI *error_info, int request_id, bool is_last, uint64_t session_id) {};
///请求查询信用账户指定证券负债未还信息响应,需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
///@param debt_info 查询到的信用账户指定证券负债未还信息情况
///@param error_info 查询信用账户指定证券负债未还信息发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param is_last 此消息响应函数是否为request_id这条请求所对应的最后一个响应当为最后一个的时候为true如果为false表示还有其他后续消息响应
///@param session_id 资金账户对应的session_id登录时得到
///@remark 需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryCreditTickerDebtInfo(XTPCrdDebtStockInfo *debt_info, XTPRI *error_info, int request_id, bool is_last, uint64_t session_id) {};
///请求查询信用账户待还资金的响应,需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
///@param remain_amount 查询到的信用账户待还资金
///@param error_info 查询信用账户待还资金发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param session_id 资金账户对应的session_id登录时得到
///@remark 需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryCreditAssetDebtInfo(double remain_amount, XTPRI *error_info, int request_id, uint64_t session_id) {};
///请求查询信用账户可融券头寸信息的响应,需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
///@param assign_info 查询到的信用账户可融券头寸信息
///@param error_info 查询信用账户可融券头寸信息发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param is_last 此消息响应函数是否为request_id这条请求所对应的最后一个响应当为最后一个的时候为true如果为false表示还有其他后续消息响应
///@param session_id 资金账户对应的session_id登录时得到
///@remark 需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryCreditTickerAssignInfo(XTPClientQueryCrdPositionStkInfo *assign_info, XTPRI *error_info, int request_id, bool is_last, uint64_t session_id) {};
///融资融券业务中请求查询指定余券信息的响应,需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
///@param stock_info 查询到的余券信息
///@param error_info 查询信用账户余券信息发生错误时返回的错误信息当error_info为空或者error_info.error_id为0时表明没有错误
///@param request_id 此消息响应函数对应的请求ID
///@param session_id 资金账户对应的session_id登录时得到
///@remark 需要快速返回,否则会堵塞后续消息,当堵塞严重时,会触发断线
virtual void OnQueryCreditExcessStock(XTPClientQueryCrdSurplusStkRspInfo* stock_info, XTPRI *error_info, int request_id, uint64_t session_id) {};
};
}
}
@ -291,7 +373,7 @@ namespace XTP {
///@param query_param 需要查询的订单相关筛选条件,其中合约代码可以为空,则默认所有存在的合约代码,如果不为空,请不带空格,并以'\0'结尾其中起始时间格式为YYYYMMDDHHMMSSsss为0则默认当前交易日0点结束时间格式为YYYYMMDDHHMMSSsss为0则默认当前时间
///@param session_id 资金账户对应的session_id登录时得到
///@param request_id 用于用户定位查询响应的ID由用户自定义
///@remark 该方法支持分时段查询,如果股票代码为空,则默认查询时间段内的所有报单,否则查询时间段内所有跟股票代码相关的报单,此函数查询出的结果可能对应多个查询结果响应
///@remark 该方法支持分时段查询,如果股票代码为空,则默认查询时间段内的所有报单,否则查询时间段内所有跟股票代码相关的报单,此函数查询出的结果可能对应多个查询结果响应。此函数不建议轮询使用当报单量过多时容易造成用户线路拥堵导致api断线
virtual int QueryOrders(const XTPQueryOrderReq *query_param, uint64_t session_id, int request_id) = 0;
///根据委托编号请求查询相关成交
@ -307,7 +389,7 @@ namespace XTP {
///@param query_param 需要查询的成交回报筛选条件,其中合约代码可以为空,则默认所有存在的合约代码,如果不为空,请不带空格,并以'\0'结尾其中起始时间格式为YYYYMMDDHHMMSSsss为0则默认当前交易日0点结束时间格式为YYYYMMDDHHMMSSsss为0则默认当前时间
///@param session_id 资金账户对应的session_id,登录时得到
///@param request_id 用于用户定位查询响应的ID由用户自定义
///@remark 该方法支持分时段查询,如果股票代码为空,则默认查询时间段内的所有成交回报,否则查询时间段内所有跟股票代码相关的成交回报,此函数查询出的结果可能对应多个查询结果响应
///@remark 该方法支持分时段查询,如果股票代码为空,则默认查询时间段内的所有成交回报,否则查询时间段内所有跟股票代码相关的成交回报,此函数查询出的结果可能对应多个查询结果响应。此函数不建议轮询使用当报单量过多时容易造成用户线路拥堵导致api断线
virtual int QueryTrades(XTPQueryTraderReq *query_param, uint64_t session_id, int request_id) = 0;
///请求查询投资者持仓
@ -334,7 +416,9 @@ namespace XTP {
///资金划拨请求
///@return 资金划拨订单在XTP系统中的ID,如果为0表示消息发送失败此时用户可以调用GetApiLastError()来获取错误代码非“0”表示消息发送成功用户需要记录下返回的serial_id它保证一个交易日内唯一不同的交易日不保证唯一性
///@param fund_transfer 资金划拨的请求信息
///@param session_id 资金账户对应的session_id,登录时得到
///@remark 此函数支持一号两中心节点之间的资金划拨,注意资金划拨的方向。
virtual uint64_t FundTransfer(XTPFundTransferReq *fund_transfer, uint64_t session_id) = 0;
///请求查询资金划拨
@ -377,6 +461,59 @@ namespace XTP {
///@param request_id 用于用户定位查询响应的ID由用户自定义
virtual int QueryOptionAuctionInfo(XTPQueryOptionAuctionInfoReq *query_param, uint64_t session_id, int request_id) = 0;
///融资融券业务中现金直接还款请求
///@return 现金直接还款订单在XTP系统中的ID,如果为0表示消息发送失败此时用户可以调用GetApiLastError()来获取错误代码非“0”表示消息发送成功用户需要记录下返回的serial_id它保证一个交易日内唯一不同的交易日不保证唯一性
///@param amount 现金还款的金额
///@param session_id 资金账户对应的session_id,登录时得到
virtual uint64_t CreditCashRepay(double amount, uint64_t session_id) = 0;
///请求查询融资融券业务中的现金直接还款报单
///@return 查询是否成功“0”表示成功非“0”表示出错此时用户可以调用GetApiLastError()来获取错误代码
///@param session_id 资金账户对应的session_id,登录时得到
///@param request_id 用于用户定位查询响应的ID由用户自定义
virtual int QueryCreditCashRepayInfo(uint64_t session_id, int request_id) = 0;
///请求查询信用账户特有信息,除资金账户以外的信息
///@return 查询是否成功“0”表示成功非“0”表示出错此时用户可以调用GetApiLastError()来获取错误代码
///@param session_id 资金账户对应的session_id,登录时得到
///@param request_id 用于用户定位查询响应的ID由用户自定义
virtual int QueryCreditFundInfo(uint64_t session_id, int request_id) = 0;
///请求查询信用账户负债合约信息
///@return 查询是否成功“0”表示成功非“0”表示出错此时用户可以调用GetApiLastError()来获取错误代码
///@param session_id 资金账户对应的session_id,登录时得到
///@param request_id 用于用户定位查询响应的ID由用户自定义
virtual int QueryCreditDebtInfo(uint64_t session_id, int request_id) = 0;
///请求查询指定证券负债未还信息
///@return 查询是否成功“0”表示成功非“0”表示出错此时用户可以调用GetApiLastError()来获取错误代码
///@param query_param 需要查询的指定证券筛选条件中ticker可以全填0如果不为0请不带空格并以'\0'结尾
///@param session_id 资金账户对应的session_id,登录时得到
///@param request_id 用于用户定位查询响应的ID由用户自定义
virtual int QueryCreditTickerDebtInfo(XTPClientQueryCrdDebtStockReq *query_param, uint64_t session_id, int request_id) = 0;
///请求查询信用账户待还资金信息
///@return 查询是否成功“0”表示成功非“0”表示出错此时用户可以调用GetApiLastError()来获取错误代码
///@param session_id 资金账户对应的session_id,登录时得到
///@param request_id 用于用户定位查询响应的ID由用户自定义
virtual int QueryCreditAssetDebtInfo(uint64_t session_id, int request_id) = 0;
///请求查询信用账户可融券头寸信息
///@return 查询是否成功“0”表示成功非“0”表示出错此时用户可以调用GetApiLastError()来获取错误代码
///@param query_param 需要查询的证券筛选条件中ticker可以全填0如果不为0请不带空格并以'\0'结尾
///@param session_id 资金账户对应的session_id,登录时得到
///@param request_id 用于用户定位查询响应的ID由用户自定义
virtual int QueryCreditTickerAssignInfo(XTPClientQueryCrdPositionStockReq *query_param, uint64_t session_id, int request_id) = 0;
////融资融券业务中请求查询指定证券的余券
///@return 查询是否成功“0”表示成功非“0”表示出错此时用户可以调用GetApiLastError()来获取错误代码
///@param query_param 需要查询的余券信息,不可以为空,需要明确指定
///@param session_id 资金账户对应的session_id,登录时得到
///@param request_id 用于用户定位查询响应的ID由用户自定义
///@remark 该方法中用户必须提供了证券代码和所在市场
virtual int QueryCreditExcessStock(XTPClientQueryCrdSurplusStkReqInfo *query_param, uint64_t session_id, int request_id) = 0;
protected:
~TraderApi() {};

Binary file not shown.

Binary file not shown.

View File

@ -61,6 +61,22 @@ class TraderSpi():
...
def OnQueryOptionAuctionInfo(self, option_info: XTPQueryOptionAuctionInfoRsp, error_info: XTPRspInfoStruct, request_id: int, is_last: bool, session_id: int)->Any:
...
def OnCreditCashRepay(self, cash_repay_info: XTPCrdCashRepayRsp, error_info: XTPRspInfoStruct, session_id: int)->Any:
...
def OnQueryCreditCashRepayInfo(self, cash_repay_info: XTPCrdCashRepayInfo, error_info: XTPRspInfoStruct, request_id: int, is_last: bool, session_id: int)->Any:
...
def OnQueryCreditFundInfo(self, fund_info: XTPCrdFundInfo, error_info: XTPRspInfoStruct, request_id: int, session_id: int)->Any:
...
def OnQueryCreditDebtInfo(self, debt_info: XTPCrdDebtInfo, error_info: XTPRspInfoStruct, request_id: int, is_last: bool, session_id: int)->Any:
...
def OnQueryCreditTickerDebtInfo(self, debt_info: XTPCrdDebtStockInfo, error_info: XTPRspInfoStruct, request_id: int, is_last: bool, session_id: int)->Any:
...
def OnQueryCreditAssetDebtInfo(self, remain_amount: float, error_info: XTPRspInfoStruct, request_id: int, session_id: int)->Any:
...
def OnQueryCreditTickerAssignInfo(self, assign_info: XTPClientQueryCrdPositionStkInfo, error_info: XTPRspInfoStruct, request_id: int, is_last: bool, session_id: int)->Any:
...
def OnQueryCreditExcessStock(self, stock_info: XTPClientQueryCrdSurplusStkRspInfo, error_info: XTPRspInfoStruct, request_id: int, session_id: int)->Any:
...
class TraderApi():
@ -127,6 +143,22 @@ class TraderApi():
...
def QueryOptionAuctionInfo(self, query_param: XTPQueryOptionAuctionInfoReq, session_id: int, request_id: int)->int:
...
def CreditCashRepay(self, amount: float, session_id: int)->int:
...
def QueryCreditCashRepayInfo(self, session_id: int, request_id: int)->int:
...
def QueryCreditFundInfo(self, session_id: int, request_id: int)->int:
...
def QueryCreditDebtInfo(self, session_id: int, request_id: int)->int:
...
def QueryCreditTickerDebtInfo(self, query_param: XTPClientQueryCrdDebtStockReq, session_id: int, request_id: int)->int:
...
def QueryCreditAssetDebtInfo(self, session_id: int, request_id: int)->int:
...
def QueryCreditTickerAssignInfo(self, query_param: XTPClientQueryCrdPositionStockReq, session_id: int, request_id: int)->int:
...
def QueryCreditExcessStock(self, query_param: XTPClientQueryCrdSurplusStkReqInfo, session_id: int, request_id: int)->int:
...
class QuoteSpi():

Binary file not shown.

Binary file not shown.