admin
2023-08-04 ca310f014336d93eba73ed5010c1c5645424a1e0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
B
O}}d#rã@stddlZddlZddlZddlZddlmZdZdZdZdZ    dZ
dZ dZ Gd    d
„d
ej ƒZd d „Zed krpeƒdS)éN)Ú    traderapiÚ00043201Ú45249973Ú11160150Ú0003Ú    A00043201Ú    700043201c@sˆeZdZdd„Zddœdd„Zdddœd    d
„Zd d ddd œdd„Zdd dddœdd„Zdd dddœdd„Zdd dddœdd„Z    dd dddœdd„Z
d d ddd!œd"d#„Z d$d ddd%œd&d'„Z d(dd)œd*d+„Z d,dd-œd.d/„Zd0dd1œd2d3„Zd4d dd5dd6œd7d8„Zd9d dd5dd:œd;d<„Zd=d dd5dd>œd?d@„ZdAd dd5ddBœdCdD„Zd(d dd5ddEœdFdG„ZdHd dd5ddIœdJdK„Zd,d dd5ddLœdMdN„ZdOS)PÚ    TraderSpicCs(tj |¡||_d|_d|_d|_dS)Nr)rÚCTORATstpTraderSpiÚ__init__Ú_TraderSpi__apiÚ_TraderSpi__req_idÚ_TraderSpi__front_idÚ_TraderSpi__session_id)ÚselfÚapi©rú)D:\workspace\GP\trade_desk\huaxin\test.pyr ,s
 zTraderSpi.__init__Úvoid)ÚreturncCs<tdƒ|jd7_|j |j¡}|dkr8td|ƒdS)NÚOnFrontConnectedérz"ReqGetConnectionInfo fail, ret[%d])Úprintr r ÚReqGetConnectionInfo)rÚretrrrr3s
zTraderSpi.OnFrontConnectedÚint)ÚnReasonrcCstd|ƒdS)NzOnFrontDisconnected: [%d])r)rrrrrÚOnFrontDisconnected<szTraderSpi.OnFrontDisconnectedÚCTORATstpConnectionInfoFieldÚCTORATstpRspInfoField)ÚpConnectionInfoFieldÚ pRspInfoFieldÚ
nRequestIDrcCsÆ|jdkr¬td|jƒtd|jƒtd|jƒtd|jƒtd|jƒt ¡}t    |_
tj |_ t |_ d|_d|_|jd    7_|j ||j¡}|dkrÂtd
|ƒntd ||j|jfƒdS) Nrzinner_ip_address[%s]zinner_port[%d]zouter_ip_address[%s]zouter_port[%d]zmac_address[%s]Ú    pyapidemozRPC;IIP=000.000.000.000;IPORT=00000;LIP=x.xx.xxx.xxx;MAC=123ABC456DEF;HD=XXXXXXXXXXrzReqUserLogin fail, ret[%d]z)GetConnectionInfo fail, [%d] [%d] [%s]!!!)ÚErrorIDrÚInnerIPAddressÚ    InnerPortÚOuterIPAddressÚ    OuterPortÚ
MacAddressrÚCTORATstpReqUserLoginFieldÚUserIDÚ LogInAccountÚTORA_TSTP_LACT_UserIDÚLogInAccountTypeÚPasswordÚUserProductInfoÚ TerminalInfor r Ú ReqUserLoginÚErrorMsg)rr r!r"Ú    login_reqrrrrÚOnRspGetConnectionInfo?s$
    z TraderSpi.OnRspGetConnectionInfoz$traderapi.CTORATstpRspUserLoginField)ÚpRspUserLoginFieldr!r"rcCsî|jdkrÔtd|ƒ|j|_|j|_t ¡}|jd7_|j     
||j¡}|dkr`td|ƒt  ¡}|jd7_|j      ||j¡}|dkrštd|ƒt  ¡}|jd7_t ||j¡}|dkrêtd|ƒ‚ntd||j|jfƒdS)NrzLogin success! [%d]rzReqQryInvestor fail, ret[%d]z&ReqQryShareholderAccount fail, ret[%d]zReqQryTrade fail, ret[%d]zLogin fail!!! [%d] [%d] [%s])r$rÚFrontIDrÚ    SessionIDrrZCTORATstpQryInvestorFieldr r ZReqQryInvestorÚ#CTORATstpQryShareholderAccountFieldÚReqQryShareholderAccountÚCTORATstpQryTradeFieldrÚ ReqQryTradeÚ    Exceptionr3)rr6r!r"Ú    req_fieldrrrrÚOnRspUserLoginxs0
   .  zTraderSpi.OnRspUserLoginÚ CTORATstpUserPasswordUpdateField)ÚpUserPasswordUpdateFieldr!r"rcCs2|jdkrtd|ƒntd||j|jfƒdS)Nrz!OnRspUserPasswordUpdate: OK! [%d]z.OnRspUserPasswordUpdate: Error! [%d] [%d] [%s])r$rr3)rrAr!r"rrrÚOnRspUserPasswordUpdateys
z!TraderSpi.OnRspUserPasswordUpdateÚCTORATstpInputOrderField)ÚpInputOrderFieldr!r"rcCs8|jdkrtd||jfƒntd||j|jfƒdS)NrzOnRspOrderInsert: OK! [%d] [%s]z'OnRspOrderInsert: Error! [%d] [%d] [%s])r$rÚSInfor3)rrDr!r"rrrÚOnRspOrderInserts
zTraderSpi.OnRspOrderInsertÚCTORATstpInputOrderActionField)ÚpInputOrderActionFieldr!r"rcCs2|jdkrtd|ƒntd||j|jfƒdS)NrzOnRspOrderAction: OK! [%d]z'OnRspOrderAction: Error! [%d] [%d] [%s])r$rr3)rrHr!r"rrrÚOnRspOrderAction‰s
zTraderSpi.OnRspOrderActionÚCTORATstpRspInquiryJZFundField)ÚpRspInquiryJZFundFieldr!r"rcCs<|jdkr"td||j|jfƒntd||j|jfƒdS)Nrz*OnRspInquiryJZFund: OK! [%d] [%.2f] [%.2f]z)OnRspInquiryJZFund: Error! [%d] [%d] [%s])r$rÚ UsefulMoneyÚ
FetchLimitr3)rrKr!r"rrrÚOnRspInquiryJZFund‘s
 
zTraderSpi.OnRspInquiryJZFundÚCTORATstpInputTransferFundField)ÚpInputTransferFundFieldr!r"rcCs2|jdkrtd|ƒntd||j|jfƒdS)NrzOnRspTransferFund: OK! [%d]z(OnRspTransferFund: Error! [%d] [%d] [%s])r$rr3)rrPr!r"rrrÚOnRspTransferFundšs
zTraderSpi.OnRspTransferFundÚCTORATstpOrderField)Ú pOrderFieldrc Cs>tdtt ¡dƒ|j|j|j|j|j|j|j    |j
f    ƒdS)Nz•[%d]  OnRtnOrder: InvestorID[%s] SecurityID[%s] OrderRef[%d] OrderLocalID[%s] LimitPrice[%.2f] VolumeTotalOriginal[%d] OrderSysID[%s] OrderStatus[%s]iè) rÚroundÚtimeÚ
InvestorIDÚ
SecurityIDÚOrderRefÚ OrderLocalIDÚ
LimitPriceÚVolumeTotalOriginalÚ
OrderSysIDÚ OrderStatus)rrSrrrÚ
OnRtnOrder¢s  zTraderSpi.OnRtnOrderÚCTORATstpTradeField)Ú pTradeFieldrc    Cs,td|j|j|j|j|j|j|jfƒdS)NzjOnRtnTrade: TradeID[%s] InvestorID[%s] SecurityID[%s] OrderRef[%d] OrderLocalID[%s] Price[%.2f] Volume[%d])rÚTradeIDrVrWrXrYÚPriceÚVolume)rr`rrrÚ
OnRtnTradeªs zTraderSpi.OnRtnTradeÚCTORATstpMarketStatusField)ÚpMarketStatusFieldrcCstd|j|jfƒdS)Nz0OnRtnMarketStatus: MarketID[%s] MarketStatus[%s])rÚMarketIDÚ MarketStatus)rrfrrrÚOnRtnMarketStatus°szTraderSpi.OnRtnMarketStatusÚCTORATstpSecurityFieldÚbool)ÚpSecurityFieldr!r"ÚbIsLastrc
CsN|dkr4td||j|j|j|j|j|j|jfƒntd||j|j    fƒdS)Nrz‰OnRspQrySecurity[%d]: SecurityID[%s] SecurityName[%s] MarketID[%s] OrderUnit[%s] OpenDate[%s] UpperLimitPrice[%.2f] LowerLimitPrice[%.2f]u/查询合约结束[%d] ErrorID[%d] ErrorMsg[%s])
rrWÚ SecurityNamergÚ    OrderUnitÚOpenDateÚUpperLimitPriceÚLowerLimitPricer$r3)rrlr!r"rmrrrÚOnRspQrySecurity´s zTraderSpi.OnRspQrySecurityÚCTORATstpInvestorField)ÚpInvestorFieldr!r"rmrcCs:|dkr td||j|jfƒntd||j|jfƒdS)Nrz2OnRspQryInvestor[%d]: InvestorID[%s]  Operways[%s]u2查询投资者结束[%d] ErrorID[%d] ErrorMsg[%s])rrVÚOperwaysr$r3)rrur!r"rmrrrÚOnRspQryInvestorÀs zTraderSpi.OnRspQryInvestorÚ CTORATstpShareholderAccountField)ÚpShareholderAccountFieldr!r"rmrcCs>|dkr$td||j|j|jfƒntd||j|jfƒdS)NrzOOnRspQryShareholderAccount[%d]: InvestorID[%s] ExchangeID[%s] ShareholderID[%s]u5查询股东账户结束[%d] ErrorID[%d] ErrorMsg[%s])rrVÚ
ExchangeIDÚ ShareholderIDr$r3)rryr!r"rmrrrÚOnRspQryShareholderAccountÊs 
z$TraderSpi.OnRspQryShareholderAccountÚCTORATstpTradingAccountField)ÚpTradingAccountFieldr!r"rmrc    CsJ|dkr0td||j|j|j|j|j|jfƒntd||j|jfƒdS)Nrz{OnRspQryTradingAccount[%d]: DepartmentID[%s] InvestorID[%s] AccountID[%s] CurrencyID[%s] UsefulMoney[%.2f] FetchLimit[%.2f]u5查询资金账号结束[%d] ErrorID[%d] ErrorMsg[%s])    rÚ DepartmentIDrVÚ    AccountIDÚ
CurrencyIDrLrMr$r3)rr~r!r"rmrrrÚOnRspQryTradingAccountÕs
z TraderSpi.OnRspQryTradingAccount)rSr!r"rmrc CsR|dkr8td||j|j|j|j|j|j|j|jf    ƒntd||j    |j
fƒdS)Nrz”OnRspQryOrder[%d]: SecurityID[%s] OrderLocalID[%s] OrderRef[%d] OrderSysID[%s] VolumeTraded[%d] OrderStatus[%s] OrderSubmitStatus[%s], StatusMsg[%s]u/查询报单结束[%d] ErrorID[%d] ErrorMsg[%s]) rrWrYrXr\Ú VolumeTradedr]ÚOrderSubmitStatusÚ    StatusMsgr$r3)rrSr!r"rmrrrÚ OnRspQryOrderás zTraderSpi.OnRspQryOrderÚCTORATstpPositionField)ÚpPositionFieldr!r"rmrcCsF|dkr,td||j|j|j|j|jfƒntd||j|jfƒdS)Nrz`OnRspQryPosition[%d]: InvestorID[%s] SecurityID[%s] HistoryPos[%d] TodayBSPos[%d] TodayPRPos[%d]u/查询持仓结束[%d] ErrorID[%d] ErrorMsg[%s])rrVrWÚ
HistoryPosÚ
TodayBSPosÚ
TodayPRPosr$r3)rrˆr!r"rmrrrÚOnRspQryPositionîs zTraderSpi.OnRspQryPosition)r`r!r"rmrcCstdƒ|st|jƒndS)Nu查询成交响应)rr\)rr`r!r"rmrrrÚ OnRspQryTradeús zTraderSpi.OnRspQryTradeN)Ú__name__Ú
__module__Ú __qualname__r rrr5r?rBrFrIrNrQr^rdrirsrwr|r‚r†rŒrrrrrr    +sJ    8            r    c    Cs¼d}t ¡}xštdƒD]Ž}t ¡}| |¡ddt dd¡›t dddd    œ¡d
œ}| t |¡     d ¡¡| 
d ¡}t d t  |  d¡¡tt ¡|dƒƒ| ¡qWxt d¡qªWdS)N)z    127.0.0.1i*#rrztest-i'Z002229édg®GázîA@)ÚcodeÚcountÚprice)ÚtypeÚreq_idÚdatazutf-8iu 返回数据:Úgbkiè)rUÚrangeÚsocketÚconnectÚrandomÚrandintÚjsonÚdumpsÚsendÚencodeÚrecvrÚloadsÚdecoderTÚcloseÚsleep)Zip_portZ
start_timeÚiZclientr—ÚrecrrrÚsend_msgs
 
( r©Ú__main__)ržrœršrUÚhuaxinrr+r/rVrr€ÚSSE_ShareHolderIDÚSZSE_ShareHolderIDr
r    r©rŽrrrrÚ<module>s$ [