def fetch_trading_account(self): #获取资金帐户 logging.info('A:获取资金帐户..') req = UStruct.QryTradingAccount(BrokerID=self._broker, InvestorID=self._investor) ref_id = self.inc_request_id() ret = self.ReqQryTradingAccount(req, ref_id) return ret,ref_id
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 req_qry_trading_account(self): """ 获取资金账户 """ req = ApiStruct.QryTradingAccount(BrokerID=self.broker_id, InvestorID=self.investor_id, CurrencyID=b"CNY") self.req_id += 1 self.ReqQryTradingAccount(req, self.req_id) self.logger.info("CTPTraderApi.req_qry_trading_account: " "Finish sending request for trading account")
def OnRspUserLogin(self, userlogin, info, rid, is_last): self.logger.info('用户登录成功!') self.logger.info('请求确认投资者结算结果...') #self.request_id += 1 #self.ReqQrySettlementInfo(ApiStruct.QrySettlementInfo(self.broker_id, self.investor_id), self.request_id) #time.sleep(1) self.logger.info('开始账户查询:') self.request_id += 1 self.ReqQryTradingAccount( ApiStruct.QryTradingAccount(self.broker_id, self.investor_id), self.request_id) time.sleep(1) self.request_id += 1 self.ReqSettlementInfoConfirm( ApiStruct.SettlementInfoConfirm(self.broker_id, self.investor_id), self.request_id) time.sleep(1)
def have_enough_money(self): """ 每次套利第一次开仓前判断资金是否充足,以近月最新价的四倍(4次套利)作为所需资金 """ self.request_id += 1 self.available_capital = 0.0 self.ReqQryTradingAccount( ApiStruct.QryTradingAccount(BrokerID=self.broker_id, InvestorID=self.investor_id), self.request_id) while self.available_capital == 0.0: print self.available_capital time.sleep(0.01) if self.instruimentIDs[0][:2] == "IC": need_capital = self.mdapi1.depth_info.LastPrice * 4 * 200 * 0.3 else: need_capital = self.mdapi1.depth_info.LastPrice * 4 * 300 * 0.2 if self.available_capital > (need_capital + 100000.0): return True else: return False
def QryTradingAccount(self): pQryTradingAccount = ApiStruct.QryTradingAccount( BrokerID=self.brokerid, InvestorID=self.investorid) self.IncReqid() self.ReqQryTradingAccount(pQryTradingAccount, self.requestid)