예제 #1
0
 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)
예제 #2
0
    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
예제 #3
0
 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)
예제 #4
0
 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)
예제 #5
0
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]
예제 #6
0
 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
예제 #7
0
    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
예제 #8
0
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
예제 #9
0
 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
예제 #10
0
 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)
예제 #11
0
 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)
예제 #12
0
 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)
예제 #13
0
	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)
예제 #14
0
	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)
예제 #16
0
파일: okex.py 프로젝트: hi-noikiy/watever1
 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)
예제 #17
0
 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)
예제 #18
0
 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)
예제 #19
0
 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)
예제 #20
0
 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)
예제 #21
0
 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)
예제 #22
0
 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)
예제 #23
0
 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)
예제 #24
0
 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)
예제 #25
0
 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)
예제 #26
0
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
예제 #27
0
 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)
예제 #28
0
 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)
예제 #29
0
 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)
예제 #30
0
 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)
예제 #31
0
 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
예제 #32
0
	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)
예제 #33
0
 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)
예제 #34
0
 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)
예제 #35
0
 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)
예제 #36
0
 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)
예제 #37
0
 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)
예제 #38
0
	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)
예제 #39
0
    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
예제 #40
0
 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)
예제 #41
0
 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)
예제 #42
0
 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)
예제 #43
0
	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)
예제 #44
0
 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)
예제 #45
0
 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)
예제 #46
0
 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)
예제 #47
0
	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)