Пример #1
0
 def _public_query(self, method, parameters = {}):
     methods = {'get_orderbook': 'depth'}
     url = self.url + self.version + methods[method] + '/'
     try:
         r = requests.get(url + parameters['pair'])
     except requests.exceptions.RequestException as e:
         print e
         exit(1)
     return fd.make_dataframe(r.json()[parameters['pair']], {'ask_array': 'asks', 'bids_array': 'bids',
                                                       'price_column': 0, 'quantity_column': 1, 'name': self.name})
Пример #2
0
 def _public_query(self, method, parameters = {}):
     methods = {'get_orderbook': 'orderbook.json'}
     url = self.url + methods[method]
     get_data = urllib.urlencode(parameters)
     try:
         r = requests.get(url, params = get_data)
     except requests.exceptions.RequestException as e:
         print e
         exit(1)
     return fd.make_dataframe(r.json(), {'ask_array': 'asks', 'bids_array': 'bids',
                                                       'price_column': 0, 'quantity_column': 1, 'name': self.name})
Пример #3
0
 def _public_query(self, method, parameters = {}):
     methods = {'get_orderbook': 'Depth'}
     header = {'User-Agent': 'FYP'}
     uri = '/' + self.version + self.public + methods[method]
     url = self.url + uri
     post_data = urllib.urlencode(parameters)
     try:
         r = requests.post(url, data = post_data, headers = header)
     except requests.exceptions.RequestException as e:
         print e
         exit(1)
     return fd.make_dataframe(r.json()['result'][parameters['pair']], {'ask_array': 'asks', 'bids_array': 'bids',
                              'price_column': 0, 'quantity_column': 1, 'name': self.name, 'pair': parameters['pair']})
Пример #4
0
 def _public_query(self, method, parameters = {}):
     methods = {'get_orderbook': 'book'}
     url = self.url + self.version + methods[method] + '/'
     if method == 'get_orderbook':
         url = url + parameters['pair']
     parameters['nonce'] = int(1000 * time.time())
     get_data = urllib.urlencode(parameters)
     try:
         r = requests.get(url, data = get_data)
     except requests.exceptions.RequestException as e:
         print e
         exit(1)
     return fd.make_dataframe(r.json(), {'ask_array': 'asks', 'bids_array': 'bids',
                                                       'price_column': 'price', 'quantity_column': 'amount', 'name': self.name})
Пример #5
0
 def _private_query(self, method, parameters = {}):
     methods = {'get_orderbook': 'marketorders', 'add_order': 'createorder', 'cancel_order': 'cancelorder'}
     parameters['nonce'] = int(1000 * time.time())
     if method == 'get_orderbook' or method == 'add_order':
         parameters['marketid'] = self.symbols[parameters['marketid']]
     parameters['method'] = methods[method]
     post_data = urllib.urlencode(parameters)
     signature = hmac.new(self.private_key, post_data, hashlib.sha512).hexdigest()
     header = {'Key': self.public_key, 'Sign': signature}
     try:
         r = requests.post(self.url, data = post_data, headers = header)
     except requests.exceptions.RequestException as e:
         print e
         exit(1)
     if method == 'get_orderbook':
         return fd.make_dataframe(r.json()['return'], {'ask_array': 'sellorders', 'bids_array': 'buyorders',
                                                       'price_column': 'sellprice', 'quantity_column': 'quantity', 'name': self.name})
     else:
         return r.json()