def userinfo(self): USERINFO_RESOURCE = "/api/v1/userinfo.do" params = {} params['api_key'] = self.__apikey params['sign'] = buildMySign(params, self.__secretkey) #print(params) return httpPost(self.__url, USERINFO_RESOURCE, params)
def future_orderinfo(self, symbol, contractType, orderId, status=None, currentPage=None, pageLength=50): FUTURE_ORDERINFO = "/api/v1/future_order_info.do?" params = { 'api_key': self.__apikey, 'symbol': symbol, 'contract_type': contractType, 'order_id': orderId, # 'status': status, # 'current_page': currentPage, 'page_length': pageLength } if status is not None: params['status'] = status if currentPage is not None: params['current_page'] = currentPage params['sign'] = buildMySign(params, self.__secretkey) try: data_result = httpPost(self.__url, FUTURE_ORDERINFO, params) except Exception as ex: self.logger.error('future_orderinfo: %s' % ex.message) return None return data_result
def userinfo(self): USERINFO_RESOURCE = "/api/v1/balance/" params = {} params['key'] = self.__apikey params['nonce'] = int(time.time() * 100) params['signature'] = buildJSign(params, self.__secretkey) return httpPost(self.__url, USERINFO_RESOURCE, params)
def withdraw(self, symbol, withdraw_address, withdraw_amount, trade_pwd, chargefee, target): ''' 提币BTC/LTC/ETH/ETC/BCH :param symbol:btc_usd:比特币 ltc_usd :莱特币 eth_usd :以太坊 etc_usd :以太经典 bch_usd :比特现金 :param withdraw_address:认证的地址、邮箱 或手机号码 :param withdraw_amount:提币数量 BTC>=0.01 LTC>=0.1 ETH>=0.1 ETC>=0.1 BCH>=0.1 :param trade_pwd:交易密码 :param chargefee:网络手续费 >=0 BTC范围 [0.002,0.005] LTC范围 [0.001,0.2] ETH范围 [0.01] ETC范围 [0.0001,0.2] BCH范围 [0.0005,0.002] 手续费越高,网络确认越快,OKCoin内部提币设置0 :param target:地址类型 okcn:国内站 okcom:国际站 okex:OKEX address:外部地址 :return: ''' path = "/api/v1/withdraw.do" params = {'api_key': self.__apikey, 'symbol': symbol, 'withdraw_address': withdraw_address, 'withdraw_amount': withdraw_amount, 'trade_pwd': trade_pwd, 'chargefee': chargefee, 'target': "address" } print params params['sign'] = buildMySign(params, self.__secretkey) #print params return httpPost(self.__url, path, params)
def getFutureUserInfo(sym): post_data = {"api_key": apiKey} post_data['sign'] = buildMySign(post_data, secretKey) res = {} res = json.loads( httpPost("www.okex.com", "/api/v1/future_userinfo_4fix.do", post_data)) return res['info'][sym]
def future_trade(self, symbol, contractType, price='', amount='', tradeType='', matchPrice='', leverRate=''): FUTURE_TRADE = "/api/v1/future_trade.do?" params = { 'api_key': self.__apikey, 'symbol': symbol, 'contract_type': contractType, 'amount': amount, 'type': tradeType, 'match_price': matchPrice, 'lever_rate': leverRate } _type = { 1: 'open long', 2: 'open short', 3: 'close long', 4: 'close short', } if price: params['price'] = price params['sign'] = buildMySign(params, self.__secretkey) ans = httpPost(self.__url, FUTURE_TRADE, params) f = open(symbol + contractType + 'order.log', 'a') f.write( str(datetime.now()) + ans + _type[int(tradeType)] + ' ' + str(symbol) + ' ' + str(contractType) + ' ' + str(amount) + 'at' + str(price) + '\n') f.close() return ans
def future_position(self, symbol, contractType): FUTURE_POSITION = "/api/v1/future_position.do?" params = { 'api_key': self.__apikey, 'symbol': symbol, 'contract_type': contractType } params['sign'] = buildMySign(params, self.__secretkey) try: # self.logger.info('future_position: %s' % FUTURE_POSITION) data_result = httpPost(self.__url, FUTURE_POSITION, params) result = json.loads(data_result) except Exception as ex: self.logger.error('future_position: %s' % ex.message) return None # self.le.info(result) if result['result']: if result['holding'] and result['holding'][0]['symbol'] == symbol: btc_postion = result['holding'][0] return { 'long': btc_postion['buy_available'], 'short': btc_postion['sell_available'] } else: return None else: return None
def getSpotUserInfo(): post_data = {"api_key": apiKey} post_data['sign'] = buildMySign(post_data, secretKey) res = {} res = json.loads(httpPost("www.okex.com", "/api/v1/userinfo.do", post_data)) return res
def balances(self): USERINFO_RESOURCE = "/api/v1/userinfo.do" params = {} params['api_key'] = self.account.api_key params['sign'] = buildMySign(params, self.account.secret_key) result=httpPost(self.base_url, USERINFO_RESOURCE, params) result=universal.BalanceInfo(self.__market,result) return result
def cancel_order(self,currency_pair,order_id): CANCEL_ORDER_RESOURCE = "/api/v1/cancel_order.do" params = { 'api_key':self.account.api_key, 'symbol':currency_pair, 'order_id':order_id } params['sign'] = buildMySign(params,self.account.secret_key) return httpPost(self.base_url,CANCEL_ORDER_RESOURCE,params)
def future_position(self,symbol,contractType): FUTURE_POSITION = "/api/v1/future_position.do?" params = { 'api_key':self.__apikey, 'symbol':symbol, 'contract_type':contractType } params['sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,FUTURE_POSITION,params)
def cancelOrder(self, symbol, orderId): CANCEL_ORDER_RESOURCE = "/api/v1/cancel_order.do" params = { 'api_key': self.__apikey, 'symbol': symbol, 'order_id': orderId } params['sign'] = buildMySign(params, self.__secretkey) return httpPost(self.__url, CANCEL_ORDER_RESOURCE, params)
def orderinfo(self,symbol,orderId): ORDER_INFO_RESOURCE = "/api/v1/order_info.do" params = { 'api_key':self.__apikey, 'symbol':symbol, 'order_id':orderId } params['sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,ORDER_INFO_RESOURCE,params)
def cancelOrder(self,symbol,orderId): CANCEL_ORDER_RESOURCE = "/api/v1/cancel_order.do" params = { 'api_key':self.__apikey, 'symbol':symbol, 'order_id':orderId } params['sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,CANCEL_ORDER_RESOURCE,params)
def future_return_chart_2000(self, symbol, contractType): FUTURE_CHART = "/api/v1/future_kline.do?" params = { 'api_key': self.__apikey, 'symbol': symbol, 'contract_type': contractType } params['sign'] = buildMySign(params, self.__secretkey) return httpPost(self.__url, FUTURE_CHART, params)
def trade_history(self, currency_pair, since): TRADE_HISTORY_RESOURCE = "/api/v1/trade_history.do" params = { 'api_key': self.account.api_key, 'symbol': currency_pair, 'since': since, } params['sign'] = buildMySign(params, self.account.secret_key) return httpPost(self.base_url, TRADE_HISTORY_RESOURCE, params)
def future_position_4fix(self,symbol,contractType,type1): FUTURE_POSITION_4FIX = "/api/v1/future_position_4fix.do?" params = { 'api_key':self.__apikey, 'symbol':symbol, 'contract_type':contractType, 'type':type1 } params['sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,FUTURE_POSITION_4FIX,params)
def batch_trade(self,currency_pair,type,orders_data): BATCH_TRADE_RESOURCE = "/api/v1/batch_trade.do" params = { 'api_key':self.account.api_key, 'symbol':currency_pair, 'type':type, 'orders_data':orders_data } params['sign'] = buildMySign(params,self.account.secret_key) return httpPost(self.base_url,BATCH_TRADE_RESOURCE,params)
def future_devolve(self, symbol, type='2', amount='0.01'): FUTURE_DEPTH_RESOURCE = "/api/v1/future_devolve.do" params = { 'symbol': symbol, 'type': type, 'amount': amount, } params['api_key'] = self.__apikey params['sign'] = buildMySign(params, self.__secretkey) return httpPost(self.__url, FUTURE_DEPTH_RESOURCE, params)
def future_cancel(self,symbol,contractType,orderId): FUTURE_CANCEL = "/api/v1/future_cancel.do?" params = { 'api_key':self.__apikey, 'symbol':symbol, 'contract_type':contractType, 'order_id':orderId } params['sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,FUTURE_CANCEL,params)
def ordersinfo(self,symbol,orderId,tradeType): ORDERS_INFO_RESOURCE = u"/api/v1/orders_info.do" params = { u'api_key':self.__apikey, u'symbol':symbol, u'order_id':orderId, u'type':tradeType } params[u'sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,ORDERS_INFO_RESOURCE,params)
def get_fee(self,symbol, order_id): TRADE_RESOURCE = "/api/v1/order_fee.do" params = { 'api_key':self.__apikey, 'symbol':symbol, 'order_id':order_id } params['sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,TRADE_RESOURCE,params)
def query_withdraw(self, currency, id): QUERY_WITHDRAW_RESOURCE = '/api/v1/withdraw_info.do' params = { 'api_key': self.__apikey, 'symbol': currency, 'withdraw_id': id } params['sign'] = buildMySign(params, self.__secretkey) #print params return httpPost(self.__url, QUERY_WITHDRAW_RESOURCE, params)
def getFuturePosition(sym, contractType): post_data = { 'symbol': sym, 'contract_type': contractType, 'api_key': apiKey } post_data['sign'] = buildMySign(post_data, secretKey) res = json.loads( httpPost("www.okex.com", "/api/v1/future_position", post_data)) return res
def orders_info(self, symbol, order_ids, tradeType=0): ORDERS_INFO_RESOURCE = "/api/v1/orders_info.do" params = { 'api_key': self.__apikey, 'symbol': symbol, 'order_id': ','.join(order_ids), 'type': tradeType } params['sign'] = buildMySign(params, self.__secretkey) return httpPost(self.__url, ORDERS_INFO_RESOURCE, params)
def batchTrade(self, symbol, tradeType, orders_data): BATCH_TRADE_RESOURCE = "/api/v1/batch_trade.do" params = { 'api_key': self.__apikey, 'symbol': symbol, 'type': tradeType, 'orders_data': orders_data } params['sign'] = buildMySign(params, self.__secretkey) return httpPost(self.__url, BATCH_TRADE_RESOURCE, params)
def future_userinfo(self): FUTURE_USERINFO = "/api/v1/future_userinfo.do?" params = {} params['api_key'] = self.__apikey params['sign'] = buildMySign(params, self.__secretkey) try: res = httpPost(self.__url, FUTURE_USERINFO, params) except Exception as e: res = '{"result":false}' return res
def batchTrade(self,symbol,tradeType,orders_data): BATCH_TRADE_RESOURCE = "/api/v1/batch_trade.do" params = { 'api_key':self.__apikey, 'symbol':symbol, 'type':tradeType, 'orders_data':orders_data } params['sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,BATCH_TRADE_RESOURCE,params)
def future_batchTrade(self,symbol,contractType,orders_data,leverRate): FUTURE_BATCH_TRADE = "/api/v1/future_batch_trade.do?" params = { 'api_key':self.__apikey, 'symbol':symbol, 'contract_type':contractType, 'orders_data':orders_data, 'lever_rate':leverRate } params['sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,FUTURE_BATCH_TRADE,params)
def trade(self,symbol,tradeType,price,amount): TRADE_RESOURCE = "/api/v1/trade.do" params = { 'api_key':self.__apikey, 'symbol':symbol, 'type':tradeType, 'price':price, 'amount':amount } params['sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,TRADE_RESOURCE,params)
def funds_transfer(self, amount, From, To, symbol=""): # 转出账户(1:币币账户 3:合约账户 6:我的钱包) USERINFO_RESOURCE = "/api/v1/funds_transfer.do" params = {'api_key': self.__apikey, "symbol": symbol, "amount": amount, "from": From, "to": To} params['sign'] = buildMySign(params, self.__secretkey) #print params return httpPost(self.__url, USERINFO_RESOURCE, params)
def trade_list(self,currency_pair, current_page=1, page_length=200): ORDER_HISTORY_RESOURCE = "/api/v1/order_history.do" params = { 'api_key': self.account.api_key, 'symbol': currency_pair, 'status': 1, 'current_page': current_page, 'page_length': page_length } params['sign'] = buildMySign(params, self.account.secret_key) return httpPost(self.base_url, ORDER_HISTORY_RESOURCE, params)
def orderHistory(self,symbol,status,currentPage,pageLength): ORDER_HISTORY_RESOURCE = "/api/v1/order_history.do" params = { 'api_key':self.__apikey, 'symbol':symbol, 'status':status, 'current_page':currentPage, 'page_length':pageLength } params['sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,ORDER_HISTORY_RESOURCE,params)
def userinfo(self): USERINFO_RESOURCE = "/api/v1/userinfo.do" params = {} params['api_key'] = self.__apikey params['sign'] = buildMySign(params, self.__secretkey) result = httpPost(self.__url, USERINFO_RESOURCE, params) for elem in result['info']['funds'].values(): for key in elem.keys(): elem[key] = float(elem[key]) return result
def orderHistory(self, symbol, status, currentPage, pageLength): ORDER_HISTORY_RESOURCE = "/api/v1/order_history.do" params = { 'api_key': self.__apikey, 'symbol': symbol, 'status': status, 'current_page': currentPage, 'page_length': pageLength } params['sign'] = buildMySign(params, self.__secretkey) return httpPost(self.__url, ORDER_HISTORY_RESOURCE, params)
def future_orderinfo(self,symbol,contractType,orderId,status,currentPage,pageLength): FUTURE_ORDERINFO = "/api/v1/future_order_info.do?" params = { 'api_key':self.__apikey, 'symbol':symbol, 'contract_type':contractType, 'order_id':orderId, 'status':status, 'current_page':currentPage, 'page_length':pageLength } params['sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,FUTURE_ORDERINFO,params)
def future_trade(self,symbol,contractType,price,amount,tradeType,matchPrice,leverRate): FUTURE_TRADE = "/api/v1/future_trade.do?" params = { 'api_key':self.__apikey, 'symbol':symbol, 'contract_type':contractType, 'price':price, 'amount':amount, 'type':tradeType, 'match_price':matchPrice, 'lever_rate':leverRate } params['sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,FUTURE_TRADE,params)
def trade(self,symbol,tradeType,price='',amount=''): TRADE_RESOURCE = "/api/v1/trade.do" params = { 'api_key':self.__apikey, 'symbol':symbol, 'type':tradeType } if price: params['price'] = price if amount: params['amount'] = amount params['sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,TRADE_RESOURCE,params)
def future_trade(self,symbol,contractType,price=u'',amount=u'',tradeType=u'',matchPrice=u'',leverRate=u''): FUTURE_TRADE = u"/api/v1/future_trade.do?" params = { u'api_key':self.__apikey, u'symbol':symbol, u'contract_type':contractType, u'amount':amount, u'type':tradeType, u'match_price':matchPrice, u'lever_rate':leverRate } if price: params[u'price'] = price params[u'sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,FUTURE_TRADE,params)
def future_userinfo_4fix(self): FUTURE_INFO_4FIX = "/api/v1/future_userinfo_4fix.do?" params = {'api_key':self.__apikey} params['sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,FUTURE_INFO_4FIX,params)
def future_userinfo(self): FUTURE_USERINFO = "/api/v1/future_userinfo.do?" params ={} params['api_key'] = self.__apikey params['sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,FUTURE_USERINFO,params)
def userinfo(self): USERINFO_RESOURCE = "/api/v1/userinfo.do" params ={} params['api_key'] = self.__apikey params['sign'] = buildMySign(params,self.__secretkey) return httpPost(self.__url,USERINFO_RESOURCE,params)