def fetch_instruments_by_exchange(self, exchange_id): '''不能单独用exchange_id,因此没有意义 ''' req = ApiStruct.QryInstrument(ExchangeID=exchange_id, ) self.requestid += 1 r = self.ReqQryInstrument(req, self.requestid) print u'A:查询合约, 函数发出返回值:%s' % r
def fetch_investor_position(self, instrument_id): #获取合约的当前持仓 print u'A:获取合约%s的当前持仓..' % (instrument_id, ) req = ApiStruct.QryInvestorPosition(BrokerID=self.broker_id, InvestorID=self.investor_id, InstrumentID=instrument_id) self.requestid += 1 r = self.ReqQryInvestorPosition(req, self.requestid)
def sendOrder(self, req): """发单""" self.requestid += 1 req['InvestorID'] = self.investor_id req['UserID'] = self.investor_id req['BrokerID'] = self.broker_id req_data = ApiStruct.InputOrder(**req) self.ReqOrderInsert(req_data, self.requestid)
def fetch_trading_account(self): #获取资金帐户 print u'A:获取资金帐户..' req = ApiStruct.QryTradingAccount(BrokerID=self.broker_id, InvestorID=self.investor_id) self.requestid += 1 r = self.ReqQryTradingAccount(req, self.requestid)
def fetch_instrument_marginrate(self, instrument_id): req = ApiStruct.QryInstrumentMarginRate( BrokerID=self.broker_id, InvestorID=self.investor_id, InstrumentID=instrument_id, HedgeFlag=ApiStruct.HF_Speculation) self.requestid += 1 r = self.ReqQryInstrumentMarginRate(req, self.requestid) print u'A:查询保证金率%s, 函数发出返回值:%s' % (instrument_id, r)
def query_settlement_info(self): #不填日期表示取上一天结算单,并在响应函数中确认 #print u'TD:取上一日结算单信息并确认,BrokerID=%s,investorID=%s' % (self.broker_id,self.investor_id) req = ApiStruct.QrySettlementInfo(BrokerID=self.broker_id, InvestorID=self.investor_id, TradingDay=u'') #print req.BrokerID,req.InvestorID,req.TradingDay #time.sleep(0.5) self.requestid += 1 self.ReqQrySettlementInfo(req, self.requestid)
def fetch_investor_position_detail(self, instrument_id): ''' 获取合约的当前持仓明细,目前没用 ''' print u'A:获取合约%s的当前持仓..' % (instrument_id, ) req = ApiStruct.QryInvestorPositionDetail(BrokerID=self.broker_id, InvestorID=self.investor_id, InstrumentID=instrument_id) self.requestid += 1 r = self.ReqQryInvestorPositionDetail(req, self.requestid)
def fetch_trade(self, t_start='09:00:00', t_end='15:15:00'): req = ApiStruct.QryTrade( BrokerID=self.broker_id, InvestorID=self.investor_id, InstrumentID='', ExchangeID='', #交易所代码, char[9] #TradeID = '', #报单编号, char[21] TradeTimeStart='', #开始时间, char[9] TradeTimeEnd='', #结束时间, char[9] ) self.requestid += 1 r = self.ReqQryTrade(req, self.requestid)
def fetch_order(self, t_start='09:00:00', t_end='15:15:00'): req = ApiStruct.QryOrder( BrokerID=self.broker_id, InvestorID=self.investor_id, InstrumentID='', ExchangeID='', #交易所代码, char[9] #OrderSysID = '', #报单编号, char[21] InsertTimeStart='', #开始时间, char[9] InsertTimeEnd='', #结束时间, char[9] ) self.requestid += 1 r = self.ReqQryOrder(req, self.requestid)
def query_settlement_confirm(self): req = ApiStruct.QrySettlementInfoConfirm(BrokerID=self.broker_id, InvestorID=self.investor_id) self.requestid += 1 self.ReqQrySettlementInfoConfirm(req, self.requestid)
def user_login(self, broker_id, investor_id, passwd): req = ApiStruct.ReqUserLogin(BrokerID=broker_id, UserID=investor_id, Password=passwd) self.requestid += 1 r = self.ReqUserLogin(req, self.requestid)
def fetch_instrument(self, instrument_id): req = ApiStruct.QryInstrument(InstrumentID=instrument_id, ) self.requestid += 1 r = self.ReqQryInstrument(req, self.requestid) print u'A:查询合约, 函数发出返回值:%s' % r
def queryDepthMarketData(self, instrument): req = ApiStruct.QryDepthMarketData(InstrumentID=instrument) self.requestid = self.requestid + 1 self.ReqQryDepthMarketData(req, self.requestid)
def confirm_settlement_info(self): #print u'TD-CSI:准备确认结算单' req = ApiStruct.SettlementInfoConfirm(BrokerID=self.broker_id, InvestorID=self.investor_id) self.requestid += 1 self.ReqSettlementInfoConfirm(req, self.requestid)
def user_login(self, broker_id, investor_id, passwd): req = ApiStruct.ReqUserLogin(BrokerID=broker_id, UserID=investor_id, Password=passwd) r = self.ReqUserLogin(req, self.inc_request_id())