예제 #1
0
    def balance(self):
        args = self.auth_args()
        data = simple_request_url("https://www.bitstamp.net/api/balance/", data=urllib.urlencode(args))
        if self.debug: print data
        data = json.loads(data)

        return float(data['usd_available'])
예제 #2
0
    def balance(self):
        args = self.auth_args()
        data = simple_request_url("https://cex.io/api/balance/", data=urllib.urlencode(args))
        if self.debug: print data
        data = json.loads(data)

        return float(data['BTC']['available'])
예제 #3
0
    def cancel_order(self, id):
        args = dict(id = id)
        if self.debug: print "cancel_order", args
        args.update(self.auth_args())
        data = simple_request_url("https://www.bitstamp.net/api/cancel_order/", data=urllib.urlencode(args))
        if self.debug: print data

        if data != 'true':
            raise Exception("Cancel Order failed: \n\n %s " % data)

        return True
예제 #4
0
    def open_orders(self):
        args = self.auth_args()
        data = simple_request_url("https://www.bitstamp.net/api/open_orders/", data=urllib.urlencode(args))
        if self.debug: print data
        data = json.loads(data)

        if not isinstance(data, list):
            raise Exception("API Request failed: \n\n %s" % data)

        return [Order(int(row['id']), self._parse_dt(row['datetime']), str(row['type']), float(row['price']), float(row['amount'])) 
                for row in data]
예제 #5
0
    def open_orders(self):
        args = self.auth_args()
        data = simple_request_url("https://cex.io/api/open_orders/GHS/BTC", data=urllib.urlencode(args))
        if self.debug: print data
        data = json.loads(data)

        if not isinstance(data, list):
            raise Exception("API Request failed: \n\n %s" % data)

        return [Order(int(row['id']), int(int(row['time']) / 1000), str(row['type']), float(row['price']), float(row['amount']), float(row['pending']))
                for row in data]
예제 #6
0
    def place_order(self, type, amount, price):
        args = dict(amount = amount, price = price)
        if self.debug: print "place_order", args
        args.update(self.auth_args())
        data = simple_request_url("https://www.bitstamp.net/api/%s/" % type, data=urllib.urlencode(args))
        if self.debug: print data
        data = json.loads(data)

        if not isinstance(data, dict) or 'id' not in data:
            raise Exception("API Request failed: \n\n %s" % data)

        return Order(int(data['id']), self._parse_dt(data['datetime']), str(data['type']), float(data['price']), float(data['amount']))
예제 #7
0
    def place_order(self, type, amount, price):
        args = dict(type = type, amount = amount, price = price)
        if self.debug: print "place_order", args
        args.update(self.auth_args())
        data = simple_request_url("https://cex.io/api/place_order/GHS/BTC", data=urllib.urlencode(args))
        if self.debug: print data
        data = json.loads(data)

        if not isinstance(data, dict) or 'id' not in data:
            raise Exception("API Request failed: \n\n %s" % data)

        return Order(int(data['id']), int(int(data['time']) / 1000), str(data['type']), float(data['price']), float(data['amount']), float(data['pending']))
예제 #8
0
    def ticker(self):
        nonce = self.nonce() # fetch a nonce just to avoid the rate limit
        data = simple_request_url("https://www.bitstamp.net/api/ticker/")
        data = json.loads(data)

        return (float(data['bid']), float(data['ask']), )
예제 #9
0
    def ticker(self):
        nonce = self.nonce() # fetch a nonce just to avoid the rate limit
        data = simple_request_url("https://cex.io/api/ticker/GHS/BTC")
        data = json.loads(data)

        return (float(data['bid']), float(data['ask']), )