commit
09a85f8734
@ -7,6 +7,7 @@ python -m autocxxpy \
|
||||
TORATstpUserApiDataType.h\
|
||||
TORATstpUserApiStruct.h\
|
||||
-I vntora/include \
|
||||
-A custom/custom_wrappers.hpp\
|
||||
--copy-autocxxpy-includes vntora/include \
|
||||
--output-dir vntora/generated_files \
|
||||
--pyi-output-dir . \
|
||||
|
Binary file not shown.
@ -7,7 +7,7 @@ if typing.TYPE_CHECKING:
|
||||
from .vntora import *
|
||||
|
||||
|
||||
def set_async_callback_exception_handler(handler: Callable[[AsyncDispatchException], None]):
|
||||
def set_async_callback_exception_handler(handler: Callable[[AsyncDispatchException], bool]):
|
||||
"""
|
||||
set a customize exception handler for async callback in this module(pyd)
|
||||
\a handler should return True if it handles that exception,
|
||||
@ -2312,37 +2312,37 @@ class CTORATstpMdSpi():
|
||||
|
||||
|
||||
|
||||
def OnFrontConnected(self, )->None:
|
||||
def OnFrontConnected(self, )->Any:
|
||||
...
|
||||
def OnFrontDisconnected(self, nReason: int)->None:
|
||||
def OnFrontDisconnected(self, nReason: int)->Any:
|
||||
...
|
||||
def OnRspError(self, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspError(self, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspUserLogin(self, pRspUserLogin: CTORATstpRspUserLoginField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspUserLogin(self, pRspUserLogin: CTORATstpRspUserLoginField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspUserLogout(self, pUserLogout: CTORATstpUserLogoutField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspUserLogout(self, pUserLogout: CTORATstpUserLogoutField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspSubMarketData(self, pSpecificSecurity: CTORATstpSpecificSecurityField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspSubMarketData(self, pSpecificSecurity: CTORATstpSpecificSecurityField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspUnSubMarketData(self, pSpecificSecurity: CTORATstpSpecificSecurityField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspUnSubMarketData(self, pSpecificSecurity: CTORATstpSpecificSecurityField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspSubSpecialMarketData(self, pSpecificSecurity: CTORATstpSpecificSecurityField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspSubSpecialMarketData(self, pSpecificSecurity: CTORATstpSpecificSecurityField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspUnSubSpecialMarketData(self, pSpecificSecurity: CTORATstpSpecificSecurityField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspUnSubSpecialMarketData(self, pSpecificSecurity: CTORATstpSpecificSecurityField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspSubFundsFlowMarketData(self, pSpecificSecurity: CTORATstpSpecificSecurityField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspSubFundsFlowMarketData(self, pSpecificSecurity: CTORATstpSpecificSecurityField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspUnSubFundsFlowMarketData(self, pSpecificSecurity: CTORATstpSpecificSecurityField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspUnSubFundsFlowMarketData(self, pSpecificSecurity: CTORATstpSpecificSecurityField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRtnDepthMarketData(self, pDepthMarketData: CTORATstpMarketDataField)->None:
|
||||
def OnRtnDepthMarketData(self, pDepthMarketData: CTORATstpMarketDataField)->Any:
|
||||
...
|
||||
def OnRtnSpecialMarketData(self, pSpecialMarketData: CTORATstpSpecialMarketDataField)->None:
|
||||
def OnRtnSpecialMarketData(self, pSpecialMarketData: CTORATstpSpecialMarketDataField)->Any:
|
||||
...
|
||||
def OnRtnEffectPriceMarketData(self, pEffectPriceMarketData: CTORATstpEffectPriceMarketDataField)->None:
|
||||
def OnRtnEffectPriceMarketData(self, pEffectPriceMarketData: CTORATstpEffectPriceMarketDataField)->Any:
|
||||
...
|
||||
def OnRtnEffectVolumeMarketData(self, pEffectVolumeMarketData: CTORATstpEffectVolumeMarketDataField)->None:
|
||||
def OnRtnEffectVolumeMarketData(self, pEffectVolumeMarketData: CTORATstpEffectVolumeMarketDataField)->Any:
|
||||
...
|
||||
def OnRtnFundsFlowMarketData(self, pFundsFlowMarketData: CTORATstpFundsFlowMarketDataField)->None:
|
||||
def OnRtnFundsFlowMarketData(self, pFundsFlowMarketData: CTORATstpFundsFlowMarketDataField)->Any:
|
||||
...
|
||||
class CTORATstpMdApi():
|
||||
|
||||
@ -2355,19 +2355,19 @@ class CTORATstpMdApi():
|
||||
@staticmethod
|
||||
def GetApiVersion()->str:
|
||||
...
|
||||
def Release(self, )->None:
|
||||
def Release(self, )->Any:
|
||||
...
|
||||
def Init(self, )->None:
|
||||
def Init(self, )->Any:
|
||||
...
|
||||
def Join(self, )->int:
|
||||
...
|
||||
def RegisterFront(self, pszFrontAddress: str)->None:
|
||||
def RegisterFront(self, pszFrontAddress: str)->Any:
|
||||
...
|
||||
def RegisterNameServer(self, pszNsAddress: str)->None:
|
||||
def RegisterNameServer(self, pszNsAddress: str)->Any:
|
||||
...
|
||||
def RegisterDeriveServer(self, pszDeriveAddress: str)->None:
|
||||
def RegisterDeriveServer(self, pszDeriveAddress: str)->Any:
|
||||
...
|
||||
def RegisterSpi(self, pSpi: CTORATstpMdSpi)->None:
|
||||
def RegisterSpi(self, pSpi: CTORATstpMdSpi)->Any:
|
||||
...
|
||||
def SubscribeMarketData(self, ppSecurityID: List[str], ExchageID: int)->int:
|
||||
...
|
||||
@ -2390,145 +2390,145 @@ class CTORATstpTraderSpi():
|
||||
|
||||
|
||||
|
||||
def OnFrontConnected(self, )->None:
|
||||
def OnFrontConnected(self, )->Any:
|
||||
...
|
||||
def OnFrontDisconnected(self, nReason: int)->None:
|
||||
def OnFrontDisconnected(self, nReason: int)->Any:
|
||||
...
|
||||
def OnRspError(self, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspError(self, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspUserLogin(self, pRspUserLoginField: CTORATstpRspUserLoginField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspUserLogin(self, pRspUserLoginField: CTORATstpRspUserLoginField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspUserLogout(self, pUserLogoutField: CTORATstpUserLogoutField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspUserLogout(self, pUserLogoutField: CTORATstpUserLogoutField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspUserPasswordUpdate(self, pUserPasswordUpdateField: CTORATstpUserPasswordUpdateField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspUserPasswordUpdate(self, pUserPasswordUpdateField: CTORATstpUserPasswordUpdateField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspInputDeviceSerial(self, pRspInputDeviceSerialField: CTORATstpRspInputDeviceSerialField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspInputDeviceSerial(self, pRspInputDeviceSerialField: CTORATstpRspInputDeviceSerialField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspOrderInsert(self, pInputOrderField: CTORATstpInputOrderField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspOrderInsert(self, pInputOrderField: CTORATstpInputOrderField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRtnOrder(self, pOrder: CTORATstpOrderField)->None:
|
||||
def OnRtnOrder(self, pOrder: CTORATstpOrderField)->Any:
|
||||
...
|
||||
def OnErrRtnOrderInsert(self, pInputOrder: CTORATstpInputOrderField, pRspInfo: CTORATstpRspInfoField)->None:
|
||||
def OnErrRtnOrderInsert(self, pInputOrder: CTORATstpInputOrderField, pRspInfo: CTORATstpRspInfoField)->Any:
|
||||
...
|
||||
def OnRspOrderAction(self, pInputOrderActionField: CTORATstpInputOrderActionField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspOrderAction(self, pInputOrderActionField: CTORATstpInputOrderActionField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnErrRtnOrderAction(self, pOrderAction: CTORATstpOrderActionField, pRspInfo: CTORATstpRspInfoField)->None:
|
||||
def OnErrRtnOrderAction(self, pOrderAction: CTORATstpOrderActionField, pRspInfo: CTORATstpRspInfoField)->Any:
|
||||
...
|
||||
def OnRtnTrade(self, pTrade: CTORATstpTradeField)->None:
|
||||
def OnRtnTrade(self, pTrade: CTORATstpTradeField)->Any:
|
||||
...
|
||||
def OnRtnMarketStatus(self, pMarketStatus: CTORATstpMarketStatusField)->None:
|
||||
def OnRtnMarketStatus(self, pMarketStatus: CTORATstpMarketStatusField)->Any:
|
||||
...
|
||||
def OnRspCondOrderInsert(self, pInputCondOrderField: CTORATstpInputCondOrderField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspCondOrderInsert(self, pInputCondOrderField: CTORATstpInputCondOrderField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRtnCondOrder(self, pConditionOrder: CTORATstpConditionOrderField)->None:
|
||||
def OnRtnCondOrder(self, pConditionOrder: CTORATstpConditionOrderField)->Any:
|
||||
...
|
||||
def OnErrRtnCondOrderInsert(self, pInputCondOrder: CTORATstpInputCondOrderField, pRspInfo: CTORATstpRspInfoField)->None:
|
||||
def OnErrRtnCondOrderInsert(self, pInputCondOrder: CTORATstpInputCondOrderField, pRspInfo: CTORATstpRspInfoField)->Any:
|
||||
...
|
||||
def OnRspCondOrderAction(self, pInputCondOrderActionField: CTORATstpInputCondOrderActionField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspCondOrderAction(self, pInputCondOrderActionField: CTORATstpInputCondOrderActionField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnErrRtnCondOrderAction(self, pInputCondOrderAction: CTORATstpInputCondOrderActionField, pRspInfo: CTORATstpRspInfoField)->None:
|
||||
def OnErrRtnCondOrderAction(self, pInputCondOrderAction: CTORATstpInputCondOrderActionField, pRspInfo: CTORATstpRspInfoField)->Any:
|
||||
...
|
||||
def OnRspInquiryJZFund(self, pRspInquiryJZFundField: CTORATstpRspInquiryJZFundField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspInquiryJZFund(self, pRspInquiryJZFundField: CTORATstpRspInquiryJZFundField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspTransferFund(self, pInputTransferFundField: CTORATstpInputTransferFundField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspTransferFund(self, pInputTransferFundField: CTORATstpInputTransferFundField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRtnTransferFund(self, pTransferFund: CTORATstpTransferFundField)->None:
|
||||
def OnRtnTransferFund(self, pTransferFund: CTORATstpTransferFundField)->Any:
|
||||
...
|
||||
def OnErrRtnTransferFund(self, pInputTransferFund: CTORATstpInputTransferFundField, pRspInfo: CTORATstpRspInfoField)->None:
|
||||
def OnErrRtnTransferFund(self, pInputTransferFund: CTORATstpInputTransferFundField, pRspInfo: CTORATstpRspInfoField)->Any:
|
||||
...
|
||||
def OnRtnTransferPosition(self, pTransferPosition: CTORATstpTransferPositionField)->None:
|
||||
def OnRtnTransferPosition(self, pTransferPosition: CTORATstpTransferPositionField)->Any:
|
||||
...
|
||||
def OnErrRtnTransferPosition(self, pInputTransferPosition: CTORATstpInputTransferPositionField, pRspInfo: CTORATstpRspInfoField)->None:
|
||||
def OnErrRtnTransferPosition(self, pInputTransferPosition: CTORATstpInputTransferPositionField, pRspInfo: CTORATstpRspInfoField)->Any:
|
||||
...
|
||||
def OnRspTransferCollateral(self, pInputTransferCollateralField: CTORATstpInputTransferCollateralField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspTransferCollateral(self, pInputTransferCollateralField: CTORATstpInputTransferCollateralField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspInquiryBankAccountFund(self, pRspInquiryBankAccountFundField: CTORATstpRspInquiryBankAccountFundField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspInquiryBankAccountFund(self, pRspInquiryBankAccountFundField: CTORATstpRspInquiryBankAccountFundField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspInquiryTradeConcentration(self, pInquiryTradeConcentrationField: CTORATstpInquiryTradeConcentrationField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspInquiryTradeConcentration(self, pInquiryTradeConcentrationField: CTORATstpInquiryTradeConcentrationField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRtnTradingNotice(self, pTradingNotice: CTORATstpTradingNoticeField)->None:
|
||||
def OnRtnTradingNotice(self, pTradingNotice: CTORATstpTradingNoticeField)->Any:
|
||||
...
|
||||
def OnRspInquiryMaxOrderVolume(self, pRspInquiryMaxOrderVolumeField: CTORATstpRspInquiryMaxOrderVolumeField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspInquiryMaxOrderVolume(self, pRspInquiryMaxOrderVolumeField: CTORATstpRspInquiryMaxOrderVolumeField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRtnPeripheryTransferPosition(self, pPeripheryPositionTransferDetail: CTORATstpPeripheryPositionTransferDetailField)->None:
|
||||
def OnRtnPeripheryTransferPosition(self, pPeripheryPositionTransferDetail: CTORATstpPeripheryPositionTransferDetailField)->Any:
|
||||
...
|
||||
def OnRspInquiryHistoryOrder(self, pHistoryOrderField: CTORATstpHistoryOrderField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspInquiryHistoryOrder(self, pHistoryOrderField: CTORATstpHistoryOrderField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspInquiryHistoryTrade(self, pHistoryTradeField: CTORATstpHistoryTradeField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspInquiryHistoryTrade(self, pHistoryTradeField: CTORATstpHistoryTradeField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryExchange(self, pExchange: CTORATstpExchangeField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryExchange(self, pExchange: CTORATstpExchangeField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryMarketData(self, pMarketData: CTORATstpMarketDataField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryMarketData(self, pMarketData: CTORATstpMarketDataField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQrySecurity(self, pSecurity: CTORATstpSecurityField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQrySecurity(self, pSecurity: CTORATstpSecurityField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryETFFile(self, pETFFile: CTORATstpETFFileField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryETFFile(self, pETFFile: CTORATstpETFFileField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryETFBasket(self, pETFBasket: CTORATstpETFBasketField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryETFBasket(self, pETFBasket: CTORATstpETFBasketField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryIPOInfo(self, pIPOInfo: CTORATstpIPOInfoField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryIPOInfo(self, pIPOInfo: CTORATstpIPOInfoField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryBUProxy(self, pBUProxy: CTORATstpBUProxyField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryBUProxy(self, pBUProxy: CTORATstpBUProxyField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryUser(self, pUser: CTORATstpUserField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryUser(self, pUser: CTORATstpUserField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryInvestor(self, pInvestor: CTORATstpInvestorField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryInvestor(self, pInvestor: CTORATstpInvestorField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryShareholderAccount(self, pShareholderAccount: CTORATstpShareholderAccountField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryShareholderAccount(self, pShareholderAccount: CTORATstpShareholderAccountField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryOrder(self, pOrder: CTORATstpOrderField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryOrder(self, pOrder: CTORATstpOrderField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryOrderAction(self, pOrderAction: CTORATstpOrderActionField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryOrderAction(self, pOrderAction: CTORATstpOrderActionField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryTrade(self, pTrade: CTORATstpTradeField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryTrade(self, pTrade: CTORATstpTradeField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryTradingAccount(self, pTradingAccount: CTORATstpTradingAccountField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryTradingAccount(self, pTradingAccount: CTORATstpTradingAccountField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryPosition(self, pPosition: CTORATstpPositionField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryPosition(self, pPosition: CTORATstpPositionField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryTradingFee(self, pTradingFee: CTORATstpTradingFeeField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryTradingFee(self, pTradingFee: CTORATstpTradingFeeField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryInvestorTradingFee(self, pInvestorTradingFee: CTORATstpInvestorTradingFeeField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryInvestorTradingFee(self, pInvestorTradingFee: CTORATstpInvestorTradingFeeField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryIPOQuota(self, pIPOQuota: CTORATstpIPOQuotaField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryIPOQuota(self, pIPOQuota: CTORATstpIPOQuotaField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryMarket(self, pMarket: CTORATstpMarketField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryMarket(self, pMarket: CTORATstpMarketField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryOrderFundDetail(self, pOrderFundDetail: CTORATstpOrderFundDetailField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryOrderFundDetail(self, pOrderFundDetail: CTORATstpOrderFundDetailField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryFundTransferDetail(self, pFundTransferDetail: CTORATstpFundTransferDetailField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryFundTransferDetail(self, pFundTransferDetail: CTORATstpFundTransferDetailField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryPositionTransferDetail(self, pPositionTransferDetail: CTORATstpPositionTransferDetailField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryPositionTransferDetail(self, pPositionTransferDetail: CTORATstpPositionTransferDetailField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryPledgePosition(self, pPledgePosition: CTORATstpPledgePositionField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryPledgePosition(self, pPledgePosition: CTORATstpPledgePositionField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryPledgeInfo(self, pPledgeInfo: CTORATstpPledgeInfoField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryPledgeInfo(self, pPledgeInfo: CTORATstpPledgeInfoField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryConversionBondInfo(self, pConversionBondInfo: CTORATstpConversionBondInfoField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryConversionBondInfo(self, pConversionBondInfo: CTORATstpConversionBondInfoField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryBondPutbackInfo(self, pBondPutbackInfo: CTORATstpBondPutbackInfoField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryBondPutbackInfo(self, pBondPutbackInfo: CTORATstpBondPutbackInfoField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryStandardBondPosition(self, pStandardBondPosition: CTORATstpStandardBondPositionField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryStandardBondPosition(self, pStandardBondPosition: CTORATstpStandardBondPositionField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQrySpecialMarketData(self, pSpecialMarketData: CTORATstpSpecialMarketDataField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQrySpecialMarketData(self, pSpecialMarketData: CTORATstpSpecialMarketDataField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryPrematurityRepoOrder(self, pPrematurityRepoOrder: CTORATstpPrematurityRepoOrderField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryPrematurityRepoOrder(self, pPrematurityRepoOrder: CTORATstpPrematurityRepoOrderField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryShareholderParam(self, pShareholderParam: CTORATstpShareholderParamField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryShareholderParam(self, pShareholderParam: CTORATstpShareholderParamField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryPeripheryPositionTransferDetail(self, pPeripheryPositionTransferDetail: CTORATstpPeripheryPositionTransferDetailField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryPeripheryPositionTransferDetail(self, pPeripheryPositionTransferDetail: CTORATstpPeripheryPositionTransferDetailField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryInvestorCondOrderLimitParam(self, pInvestorCondOrderLimitParam: CTORATstpInvestorCondOrderLimitParamField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryInvestorCondOrderLimitParam(self, pInvestorCondOrderLimitParam: CTORATstpInvestorCondOrderLimitParamField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryCondOrder(self, pCondOrder: CTORATstpCondOrderField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryCondOrder(self, pCondOrder: CTORATstpCondOrderField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryCondOrderAction(self, pCondOrderAction: CTORATstpCondOrderActionField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryCondOrderAction(self, pCondOrderAction: CTORATstpCondOrderActionField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryTradingNotice(self, pTradingNotice: CTORATstpTradingNoticeField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryTradingNotice(self, pTradingNotice: CTORATstpTradingNoticeField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryIPONumberResult(self, pIPONumberResult: CTORATstpIPONumberResultField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryIPONumberResult(self, pIPONumberResult: CTORATstpIPONumberResultField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
def OnRspQryIPOMatchNumberResult(self, pIPOMatchNumberResult: CTORATstpIPOMatchNumberResultField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->None:
|
||||
def OnRspQryIPOMatchNumberResult(self, pIPOMatchNumberResult: CTORATstpIPOMatchNumberResultField, pRspInfo: CTORATstpRspInfoField, nRequestID: int, bIsLast: bool)->Any:
|
||||
...
|
||||
class CTORATstpTraderApi():
|
||||
|
||||
@ -2541,23 +2541,23 @@ class CTORATstpTraderApi():
|
||||
@staticmethod
|
||||
def GetApiVersion()->str:
|
||||
...
|
||||
def Release(self, )->None:
|
||||
def Release(self, )->Any:
|
||||
...
|
||||
def Init(self, )->None:
|
||||
def Init(self, )->Any:
|
||||
...
|
||||
def Join(self, )->int:
|
||||
...
|
||||
def RegisterFront(self, pszFrontAddress: str)->None:
|
||||
def RegisterFront(self, pszFrontAddress: str)->Any:
|
||||
...
|
||||
def RegisterNameServer(self, pszNsAddress: str)->None:
|
||||
def RegisterNameServer(self, pszNsAddress: str)->Any:
|
||||
...
|
||||
def RegisterDeriveServer(self, pszDeriveAddress: str)->None:
|
||||
def RegisterDeriveServer(self, pszDeriveAddress: str)->Any:
|
||||
...
|
||||
def RegisterSpi(self, pSpi: CTORATstpTraderSpi)->None:
|
||||
def RegisterSpi(self, pSpi: CTORATstpTraderSpi)->Any:
|
||||
...
|
||||
def SubscribePrivateTopic(self, nResumeType: TORA_TE_RESUME_TYPE)->None:
|
||||
def SubscribePrivateTopic(self, nResumeType: TORA_TE_RESUME_TYPE)->Any:
|
||||
...
|
||||
def SubscribePublicTopic(self, nResumeType: TORA_TE_RESUME_TYPE)->None:
|
||||
def SubscribePublicTopic(self, nResumeType: TORA_TE_RESUME_TYPE)->Any:
|
||||
...
|
||||
def ReqUserLogin(self, pReqUserLoginField: CTORATstpReqUserLoginField, nRequestID: int)->int:
|
||||
...
|
||||
@ -3293,17 +3293,17 @@ TORA_TSTP_SPT_ClosePriceScopeRatio: int
|
||||
TORA_TSTP_SPT_OpenDateLimit: int
|
||||
TORA_TSTP_SPT_LimitBoardShamRatio: int
|
||||
TORA_TSTP_SPT_CancelOrderRatio: int
|
||||
def set_null(v: int)->None:
|
||||
def set_null(v: int)->Any:
|
||||
...
|
||||
def set_null(v: float)->None:
|
||||
def set_null(v: float)->Any:
|
||||
...
|
||||
def set_null(v: int)->None:
|
||||
def set_null(v: int)->Any:
|
||||
...
|
||||
def set_null(v: int)->None:
|
||||
def set_null(v: int)->Any:
|
||||
...
|
||||
def set_null(v: int)->None:
|
||||
def set_null(v: int)->Any:
|
||||
...
|
||||
def set_null(v: str)->None:
|
||||
def set_null(v: str)->Any:
|
||||
...
|
||||
def is_null(v: int)->bool:
|
||||
...
|
||||
|
65
vnpy/api/tora/vntora/custom/custom_wrappers.hpp
Normal file
65
vnpy/api/tora/vntora/custom/custom_wrappers.hpp
Normal file
@ -0,0 +1,65 @@
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <locale>
|
||||
#include <codecvt>
|
||||
|
||||
#include <autocxxpy/autocxxpy.hpp>
|
||||
#include <autocxxpy/utils/type_traits.hpp>
|
||||
|
||||
#include <pybind11/pybind11.h>
|
||||
|
||||
#include "../generated_files/module.hpp"
|
||||
|
||||
namespace autocxxpy
|
||||
{
|
||||
|
||||
//½«GBK±àÂëµÄ×Ö·û´®×ª»»ÎªUTF8
|
||||
inline std::string toUtf(const std::string &gb2312)
|
||||
{
|
||||
#ifdef _MSC_VER
|
||||
const static std::locale loc("zh-CN");
|
||||
#else
|
||||
const static std::locale loc("zh_CN.GB18030");
|
||||
#endif
|
||||
|
||||
std::vector<wchar_t> wstr(gb2312.size());
|
||||
wchar_t* wstrEnd = nullptr;
|
||||
const char* gbEnd = nullptr;
|
||||
std::mbstate_t state = {};
|
||||
int res = std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t> >
|
||||
(loc).in(state,
|
||||
gb2312.data(), gb2312.data() + gb2312.size(), gbEnd,
|
||||
wstr.data(), wstr.data() + wstr.size(), wstrEnd);
|
||||
|
||||
if (std::codecvt_base::ok == res)
|
||||
{
|
||||
std::wstring_convert<std::codecvt_utf8<wchar_t>> cutf8;
|
||||
return cutf8.to_bytes(std::wstring(wstr.data(), wstrEnd));
|
||||
}
|
||||
|
||||
return std::string();
|
||||
}
|
||||
|
||||
template <size_t size>
|
||||
struct get_string<tag_vntora, size>
|
||||
{
|
||||
auto operator()(string_literal<size> &val)
|
||||
{
|
||||
return toUtf(val);
|
||||
}
|
||||
};
|
||||
|
||||
template <size_t size>
|
||||
struct set_string<tag_vntora, size>
|
||||
{
|
||||
void operator()(string_literal<size> &val, const char *str)
|
||||
{
|
||||
#ifdef _MSC_VER
|
||||
strcpy_s(val, toUtf(str).data());
|
||||
#else
|
||||
strcpy(val, toUtf(str).data());
|
||||
#endif
|
||||
}
|
||||
};
|
||||
}
|
@ -8,6 +8,7 @@
|
||||
#include "TORATstpTraderApi.h"
|
||||
#include "TORATstpUserApiDataType.h"
|
||||
#include "TORATstpUserApiStruct.h"
|
||||
#include "custom/custom_wrappers.hpp"
|
||||
|
||||
|
||||
void generate_vntora(pybind11::module & parent);
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "TORATstpTraderApi.h"
|
||||
#include "TORATstpUserApiDataType.h"
|
||||
#include "TORATstpUserApiStruct.h"
|
||||
#include "custom/custom_wrappers.hpp"
|
||||
|
||||
|
||||
void generate_vntora(pybind11::module & parent)
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "TORATstpTraderApi.h"
|
||||
#include "TORATstpUserApiDataType.h"
|
||||
#include "TORATstpUserApiStruct.h"
|
||||
#include "custom/custom_wrappers.hpp"
|
||||
|
||||
|
||||
void generate_class_CTORATstpFensUserInfoField(pybind11::object & parent)
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "TORATstpTraderApi.h"
|
||||
#include "TORATstpUserApiDataType.h"
|
||||
#include "TORATstpUserApiStruct.h"
|
||||
#include "custom/custom_wrappers.hpp"
|
||||
|
||||
|
||||
void generate_class_CTORATstpReqInquiryJZFundField(pybind11::object & parent)
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "TORATstpTraderApi.h"
|
||||
#include "TORATstpUserApiDataType.h"
|
||||
#include "TORATstpUserApiStruct.h"
|
||||
#include "custom/custom_wrappers.hpp"
|
||||
|
||||
|
||||
void generate_class_CTORATstpPeripheryPositionTransferDetailField(pybind11::object & parent)
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "TORATstpTraderApi.h"
|
||||
#include "TORATstpUserApiDataType.h"
|
||||
#include "TORATstpUserApiStruct.h"
|
||||
#include "custom/custom_wrappers.hpp"
|
||||
|
||||
|
||||
void generate_class_CTORATstpBusinessUnitField(pybind11::object & parent)
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "TORATstpTraderApi.h"
|
||||
#include "TORATstpUserApiDataType.h"
|
||||
#include "TORATstpUserApiStruct.h"
|
||||
#include "custom/custom_wrappers.hpp"
|
||||
|
||||
|
||||
void generate_class_CTORATstpStandardBondPositionField(pybind11::object & parent)
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "TORATstpTraderApi.h"
|
||||
#include "TORATstpUserApiDataType.h"
|
||||
#include "TORATstpUserApiStruct.h"
|
||||
#include "custom/custom_wrappers.hpp"
|
||||
|
||||
|
||||
void generate_class_CTORATstpMdApi(pybind11::object & parent)
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "TORATstpTraderApi.h"
|
||||
#include "TORATstpUserApiDataType.h"
|
||||
#include "TORATstpUserApiStruct.h"
|
||||
#include "custom/custom_wrappers.hpp"
|
||||
|
||||
|
||||
void generate_class_CTORATstpTraderApi(pybind11::object & parent)
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "TORATstpTraderApi.h"
|
||||
#include "TORATstpUserApiDataType.h"
|
||||
#include "TORATstpUserApiStruct.h"
|
||||
#include "custom/custom_wrappers.hpp"
|
||||
|
||||
|
||||
void generate_enum_TORA_TE_RESUME_TYPE(pybind11::object & parent)
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "TORATstpTraderApi.h"
|
||||
#include "TORATstpUserApiDataType.h"
|
||||
#include "TORATstpUserApiStruct.h"
|
||||
#include "custom/custom_wrappers.hpp"
|
||||
|
||||
|
||||
autocxxpy::cross_assign module_vntora::cross;
|
||||
@ -26,7 +27,7 @@ void init_dispatcher(pybind11::module &m)
|
||||
m.def("set_async_callback_exception_handler", &autocxxpy::async_callback_exception_handler::set_handler);
|
||||
|
||||
pybind11::class_<autocxxpy::async_dispatch_exception> c(m, "AsyncDispatchException");
|
||||
c.def_property("what", &autocxxpy::async_dispatch_exception::what, nullptr);
|
||||
c.def_property_readonly("what", &autocxxpy::async_dispatch_exception::what_mutable);
|
||||
c.def_readonly("instance", &autocxxpy::async_dispatch_exception::instance);
|
||||
c.def_readonly("function_name", &autocxxpy::async_dispatch_exception::function_name);
|
||||
|
||||
|
@ -9,6 +9,7 @@
|
||||
#include "TORATstpTraderApi.h"
|
||||
#include "TORATstpUserApiDataType.h"
|
||||
#include "TORATstpUserApiStruct.h"
|
||||
#include "custom/custom_wrappers.hpp"
|
||||
|
||||
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
#include <tuple>
|
||||
#include <type_traits>
|
||||
#include <optional>
|
||||
#include <iostream>
|
||||
|
||||
#include "./brigand.hpp"
|
||||
|
||||
@ -85,7 +86,9 @@ namespace autocxxpy
|
||||
{}
|
||||
pybind11::object instance;
|
||||
std::string function_name;
|
||||
inline const char* what() noexcept
|
||||
|
||||
// mutable version of what() for pybind11 to make it happy
|
||||
inline const char* what_mutable() noexcept
|
||||
{
|
||||
return std::exception::what();
|
||||
}
|
||||
@ -104,11 +107,20 @@ namespace autocxxpy
|
||||
{
|
||||
custom_handler(e);
|
||||
}
|
||||
catch (pybind11::error_already_set & e)
|
||||
catch (pybind11::error_already_set & e2)
|
||||
{
|
||||
std::cout << "error while calling custom async dispatcher:%s" << e.what() << std::endl;
|
||||
std::cerr << "error while calling custom async callback exception handler:" << std::endl;
|
||||
std::cerr << e2.what() << std::endl;
|
||||
std::cerr << "while handling following exception:" << std::endl;
|
||||
std::cerr << e.what() << std::endl;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cerr << e.what() << std::endl;
|
||||
std::cerr << "custom async callback exception handler not set." << std::endl;
|
||||
std::cerr << "Call set_async_callback_exception_handler() to set it. " << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
inline static void set_handler(const handler_type& handler)
|
||||
|
@ -30,37 +30,48 @@
|
||||
<ClCompile Include="generated_files\generated_functions_8.cpp" />
|
||||
<ClCompile Include="generated_files\module.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="custom\custom_wrappers.hpp" />
|
||||
<ClInclude Include="generated_files\generated_functions.h" />
|
||||
<ClInclude Include="generated_files\module.hpp" />
|
||||
<ClInclude Include="generated_files\wrappers.hpp" />
|
||||
<ClInclude Include="include\TORATstpMdApi.h" />
|
||||
<ClInclude Include="include\TORATstpTraderApi.h" />
|
||||
<ClInclude Include="include\TORATstpUserApiDataType.h" />
|
||||
<ClInclude Include="include\TORATstpUserApiStruct.h" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>16.0</VCProjectVersion>
|
||||
<ProjectGuid>{24BBDEB3-6AA7-43EE-A03C-AE527AB1B297}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>vntora</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
||||
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
@ -117,10 +128,11 @@
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
@ -135,10 +147,11 @@
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
@ -155,11 +168,12 @@
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
@ -178,11 +192,12 @@
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
@ -46,4 +46,30 @@
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="include\TORATstpMdApi.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\TORATstpTraderApi.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\TORATstpUserApiDataType.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\TORATstpUserApiStruct.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="generated_files\module.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="generated_files\wrappers.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="generated_files\generated_functions.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="custom\custom_wrappers.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
10
vnpy/gateway/tora/constant.py
Normal file
10
vnpy/gateway/tora/constant.py
Normal file
@ -0,0 +1,10 @@
|
||||
from vnpy.api.tora.vntora import TORA_TSTP_EXD_SSE, TORA_TSTP_EXD_SZSE, TORA_TSTP_EXD_HK
|
||||
|
||||
from vnpy.trader.constant import Exchange
|
||||
|
||||
EXCHANGE_TORA2VT = {
|
||||
TORA_TSTP_EXD_SSE: Exchange.SSE,
|
||||
TORA_TSTP_EXD_SZSE: Exchange.SZSE,
|
||||
TORA_TSTP_EXD_HK: Exchange.SEHK,
|
||||
}
|
||||
EXCHANGE_VT2TORA = {v: k for k, v in EXCHANGE_TORA2VT.items()}
|
@ -38,14 +38,7 @@ from vnpy.api.tora.vntora import (
|
||||
CTORATstpUserLogoutField,
|
||||
CTORATstpRspUserLoginField,
|
||||
)
|
||||
|
||||
|
||||
EXCHANGE_TORA2VT = {
|
||||
TORA_TSTP_EXD_SSE: Exchange.SSE,
|
||||
TORA_TSTP_EXD_SZSE: Exchange.SZSE,
|
||||
TORA_TSTP_EXD_HK: Exchange.SEHK,
|
||||
}
|
||||
EXCHANGE_VT2TORA = {v: k for k, v in EXCHANGE_TORA2VT.items()}
|
||||
from .constant import EXCHANGE_VT2TORA, EXCHANGE_TORA2VT
|
||||
|
||||
|
||||
def parse_datetime(date: str, time: str):
|
||||
@ -96,7 +89,7 @@ class ToraMdSpi(CTORATstpMdSpi):
|
||||
nRequestID: int,
|
||||
bIsLast: bool,
|
||||
) -> Any:
|
||||
self.gateway.write_log("OnRspSubMarketData")
|
||||
self.gateway.write_log(f"OnRspSubMarketData({pRspInfo.ErrorID})")
|
||||
|
||||
def OnRspUnSubMarketData(
|
||||
self,
|
||||
@ -180,6 +173,7 @@ class ToraMdSpi(CTORATstpMdSpi):
|
||||
ask_volume_4=data.AskVolume4,
|
||||
ask_volume_5=data.AskVolume5,
|
||||
)
|
||||
self.gateway.on_tick(tick_data)
|
||||
self.gateway.write_log("OnRtnDepthMarketData")
|
||||
|
||||
def OnRtnSpecialMarketData(
|
||||
|
@ -1,53 +1,17 @@
|
||||
from typing import Any, Sequence, List, Optional
|
||||
from datetime import datetime
|
||||
from threading import Thread
|
||||
from vnpy.event import EventEngine
|
||||
from vnpy.trader.event import EVENT_TIMER
|
||||
from vnpy.trader.constant import Exchange, Product, Direction, OrderType, Status, Offset
|
||||
from typing import Optional
|
||||
from vnpy.trader.gateway import BaseGateway
|
||||
from vnpy.trader.object import (
|
||||
CancelRequest,
|
||||
OrderRequest,
|
||||
SubscribeRequest,
|
||||
TickData,
|
||||
ContractData,
|
||||
OrderData,
|
||||
TradeData,
|
||||
PositionData,
|
||||
AccountData,
|
||||
)
|
||||
from vnpy.trader.utility import get_folder_path
|
||||
|
||||
from vnpy.api.tora.vntora import (
|
||||
set_async_callback_exception_handler,
|
||||
AsyncDispatchException,
|
||||
CTORATstpTraderApi,
|
||||
CTORATstpMdApi,
|
||||
CTORATstpMdSpi,
|
||||
CTORATstpTraderSpi,
|
||||
TORA_TSTP_EXD_SSE,
|
||||
TORA_TSTP_EXD_SZSE,
|
||||
TORA_TSTP_EXD_HK,
|
||||
CTORATstpFundsFlowMarketDataField,
|
||||
CTORATstpEffectVolumeMarketDataField,
|
||||
CTORATstpEffectPriceMarketDataField,
|
||||
CTORATstpSpecialMarketDataField,
|
||||
CTORATstpMarketDataField,
|
||||
CTORATstpSpecificSecurityField,
|
||||
CTORATstpRspInfoField,
|
||||
CTORATstpUserLogoutField,
|
||||
CTORATstpRspUserLoginField,
|
||||
CTORATstpQrySecurityField, CTORATstpSecurityField, CTORATstpReqUserLoginField,
|
||||
TORA_TSTP_LACT_AccountID, CTORATstpQryExchangeField)
|
||||
TORA_TSTP_LACT_AccountID, CTORATstpQryExchangeField, CTORATstpQryMarketDataField)
|
||||
|
||||
from .error_codes import error_codes, get_error_msg
|
||||
|
||||
EXCHANGE_TORA2VT = {
|
||||
TORA_TSTP_EXD_SSE: Exchange.SSE,
|
||||
TORA_TSTP_EXD_SZSE: Exchange.SZSE,
|
||||
TORA_TSTP_EXD_HK: Exchange.SEHK,
|
||||
}
|
||||
EXCHANGE_VT2TORA = {v: k for k, v in EXCHANGE_TORA2VT.items()}
|
||||
from .error_codes import get_error_msg
|
||||
|
||||
|
||||
class ToraTdSpi(CTORATstpTraderSpi):
|
||||
@ -69,6 +33,7 @@ class ToraTdSpi(CTORATstpTraderSpi):
|
||||
self.gateway.write_log("交易服务器登录成功")
|
||||
self._api.query_contracts()
|
||||
self._api.query_exchange()
|
||||
self._api.query_market_data()
|
||||
|
||||
def OnFrontDisconnected(self, nReason: int) -> None:
|
||||
self.gateway.write_log("交易服务器连接断开")
|
||||
@ -101,7 +66,7 @@ class ToraTdApi:
|
||||
|
||||
def query_contracts(self):
|
||||
info = CTORATstpQrySecurityField()
|
||||
info.ExchangeID = TORA_TSTP_EXD_SSE
|
||||
# info.ExchangeID = TORA_TSTP_EXD_SSE
|
||||
err = self._native_api.ReqQrySecurity(info, self._get_new_req_id())
|
||||
self._if_error_write_log(err, "ReqQrySecurity")
|
||||
|
||||
@ -109,8 +74,16 @@ class ToraTdApi:
|
||||
info = CTORATstpQryExchangeField()
|
||||
info.ExchangeID = TORA_TSTP_EXD_SSE
|
||||
err = self._native_api.ReqQryExchange(info, self._get_new_req_id())
|
||||
|
||||
self._if_error_write_log(err, "ReqQryExchange")
|
||||
|
||||
def query_market_data(self):
|
||||
info = CTORATstpQryMarketDataField()
|
||||
info.ExchangeID = TORA_TSTP_EXD_SSE
|
||||
info.SecurityID = "010303"
|
||||
err = self._native_api.ReqQryMarketData(info, self._get_new_req_id())
|
||||
self._if_error_write_log(err, "ReqQryMarketData")
|
||||
|
||||
def stop(self):
|
||||
if self._native_api:
|
||||
self._native_api.RegisterSpi(None)
|
||||
|
@ -20,20 +20,13 @@ CTORATstpTraderSpi,
|
||||
)
|
||||
from .md import ToraMdApi
|
||||
from .td import ToraTdApi
|
||||
from .error_codes import get_error_msg
|
||||
|
||||
|
||||
EXCHANGE_TORA2VT = {
|
||||
|
||||
}
|
||||
EXCHANGE_VT2TORA = {v:k for k,v in EXCHANGE_TORA2VT.items()}
|
||||
from .constant import EXCHANGE_VT2TORA
|
||||
|
||||
|
||||
def is_valid_front_address(address: str):
|
||||
return address.startswith("tcp://") or address.startswith("udp://")
|
||||
|
||||
|
||||
|
||||
class ToraGateway(BaseGateway):
|
||||
default_setting = {
|
||||
"账号": "",
|
||||
|
Loading…
Reference in New Issue
Block a user