示例#1
0
    def sell(self, btcamount, limit):
        args = {}
        args['type'] = 'ask'
        args['amount_int'] = btcamount * 1e8
        args['price_int'] = limit * 1e5

        #if limit < self.getLastTradePrice():
        #    print 'Limit is below current price, market orders not allowed'
        #    return -1

        if simulation == 1:
            print time.ctime(
            ) + ': Order submitted: SELL %2.2f BTC at $%2.2f' % (btcamount,
                                                                 limit)
            return 'test_oid_sell'
        else:
            data = requester().perform(requester().submitorder, args)

        if data['result'] == 'success':
            print time.ctime(
            ) + ': Order submitted: SELL %2.2f BTC at $%2.2f' % (btcamount,
                                                                 limit)
            return data['return']
        else:
            print 'Order failed'
            print data['error']
            return -1
示例#2
0
    def cancel(self, oid):
        args = {}
        args['oid'] = oid

        data = requester().perform(requester().cancelorder, args)

        if data['result'] == 'success':
            print 'Order cancelled successfully: %s' % (data['return']['qid'])
            return (data['return']['qid'], data['return']['oid'])
        else:
            print 'Cancel failed'
            print data['error']
            return -1
示例#3
0
文件: MTGox.py 项目: akwfung/BitCoin
 def cancel(self, oid):
     args = {}
     args['oid'] = oid
     
     data = requester().perform(requester().cancelorder, args)
     
     if data['result'] == 'success':
         print 'Order cancelled successfully: %s'%(data['return']['qid'])
         return (data['return']['qid'], data['return']['oid'])
     else:
         print 'Cancel failed'
         print data['error']
         return -1
示例#4
0
    def trackSearch(self, track):
        page = 1
        args = {}
        args['type'] = 'track'
        args['terms'] = track
        args['page'] = page
        res = json.loads(requester().perform(requester().search, args))
        num_results = min(res['info']['limit'], res['info']['num_results'])

        # Only return exact matches and only need title/artist/album
        items = []
        max_pop = 0
        max_pop_idx = 0
        while len(items) == 0 and page < 5:
            for x in range(0, num_results - 1):

                if re.match('^' + track + '$',
                            res['tracks'][x]['name'],
                            flags=re.IGNORECASE):
                    title = res['tracks'][x]['name']
                    artist = res['tracks'][x]['artists'][0]['name']
                    album = res['tracks'][x]['album']['name']
                    pop = res['tracks'][x]['popularity']
                    if float(pop) > max_pop:
                        max_pop = float(pop)
                        max_pop_idx = len(items)
                    items.append({
                        'title': title,
                        'artist': artist,
                        'album': album,
                        'popularity': pop
                    })

            page = page + 1
            args['page'] = page
            res = json.loads(requester().perform(requester().search, args))
            num_results = len(res['tracks'])

        final_results = {
            'search_term': track,
            'max_pop': max_pop,
            'max_pop_idx': max_pop_idx,
            'num_results': len(items),
            'items': items
        }
        if len(items) > 0:
            print(' - found')
        else:
            print(' - not found')
        return json.dumps(final_results)
示例#5
0
文件: MTGox.py 项目: akwfung/BitCoin
    def getOrderResult(self, oid):
        args = {}
        args['order'] = oid
        
        data = requester().perform(requester().openorders, args)

        idx = -1
        for i in range(0, len(data['return'])):
            if data['return'][i]['oid'] == oid:
                idx = i
        if len(data['return']) == 0:
            return -1
        elif idx == -1:
            return 1
        else:
            return data['return'][idx]
示例#6
0
    def getOrderResult(self, oid):
        args = {}
        args['order'] = oid

        data = requester().perform(requester().openorders, args)

        idx = -1
        for i in range(0, len(data['return'])):
            if data['return'][i]['oid'] == oid:
                idx = i
        if len(data['return']) == 0:
            return -1
        elif idx == -1:
            return 1
        else:
            return data['return'][idx]
示例#7
0
文件: MTGox.py 项目: akwfung/BitCoin
    def buy(self, btcamount, limit):
        args = {}
        args['type'] = 'bid'
        args['amount_int'] = btcamount*1e8
        args['price_int'] = limit*1e5

        #if limit > self.getLastTradePrice():
        #    print 'Limit is above current price, market orders not allowed'
        #    return -1

        if simulation == 1:
            print time.ctime() + ': Order submitted: BUY %2.2f BTC at $%2.2f'%(btcamount,limit)
            return 'test_oid_buy'
        else:
            data = requester().perform(requester().submitorder, args)
            
        if data['result'] == 'success':
            print time.ctime() + ': Order submitted: BUY %2.2f BTC at $%2.2f'%(btcamount,limit)
            return data['return']
        else:
            print 'Order failed'
            return -1
示例#8
0
    def trackSearch(self, track):
        page = 1
        args = {}
        args['type'] = 'track'
        args['terms'] = track
        args['page'] = page
        res = json.loads(requester().perform(requester().search, args))
        num_results = min(res['info']['limit'], res['info']['num_results'])

        # Only return exact matches and only need title/artist/album
        items = []
        max_pop = 0
        max_pop_idx = 0
        while len(items)==0 and page < 5:
            for x in range(0, num_results-1):
                
                if re.match('^' + track + '$', res['tracks'][x]['name'], flags=re.IGNORECASE):
                    title = res['tracks'][x]['name']
                    artist = res['tracks'][x]['artists'][0]['name']
                    album = res['tracks'][x]['album']['name']
                    pop = res['tracks'][x]['popularity']
                    if float(pop) > max_pop:
                        max_pop = float(pop)
                        max_pop_idx = len(items)
                    items.append({'title':title, 'artist':artist, 'album':album, 'popularity':pop})

            page = page + 1
            args['page'] = page
            res = json.loads(requester().perform(requester().search, args))
            num_results = len(res['tracks'])

        final_results = {'search_term':track, 'max_pop':max_pop, 'max_pop_idx':max_pop_idx, 'num_results':len(items), 'items':items}
        if len(items)>0:
            print(' - found')
        else:
            print(' - not found')
        return json.dumps(final_results)
示例#9
0
文件: MTGox.py 项目: akwfung/BitCoin
 def getTickerData(self):
     return requester().perform(requester().ticker, {})
示例#10
0
文件: MTGox.py 项目: akwfung/BitCoin
 def getTradeData(self, args={}):
     return requester().perform(requester().trades, args)
示例#11
0
 def getAllOrders(self):
     data = requester().perform(requester().openorders, {})
     return data['return']
示例#12
0
 def getOpenOrders(self):
     return requester().perform(requester().openorders, {})
示例#13
0
 def getFinishedOrder(self, thistype, oid):
     args = {}
     args['type'] = thistype
     args['order'] = oid
     return requester().perform(requester().orderresults, args)
示例#14
0
文件: MTGox.py 项目: akwfung/BitCoin
 def getAllOrders(self):
     data = requester().perform(requester().openorders, {})
     return data['return']
示例#15
0
文件: MTGox.py 项目: akwfung/BitCoin
 def getLagData(self):
     return requester().perform(requester().lag, {})
示例#16
0
 def getTickerData(self):
     return requester().perform(requester().ticker, {})
示例#17
0
 def getTradeData(self, args={}):
     return requester().perform(requester().trades, args)
示例#18
0
文件: MTGox.py 项目: akwfung/BitCoin
 def getGenericData(self):
     return requester().perform(requester().generic, {})
示例#19
0
 def getGenericData(self):
     return requester().perform(requester().generic, {})
示例#20
0
文件: MTGox.py 项目: akwfung/BitCoin
    def getUSDHistory(self, type={}):
        args = {}
        args['currency'] = 'USD'
        args['type'] = type
 
        return requester().perform(requester().history, args)
示例#21
0
文件: MTGox.py 项目: akwfung/BitCoin
 def getDepth(self):
     return requester().perform(requester().depth, {})
示例#22
0
文件: MTGox.py 项目: akwfung/BitCoin
 def getOpenOrders(self):
     return requester().perform(requester().openorders, {})
示例#23
0
 def getDepth(self):
     return requester().perform(requester().depth, {})
示例#24
0
 def getLagData(self):
     return requester().perform(requester().lag, {})
示例#25
0
    def getUSDHistory(self, type={}):
        args = {}
        args['currency'] = 'USD'
        args['type'] = type

        return requester().perform(requester().history, args)
示例#26
0
文件: MTGox.py 项目: akwfung/BitCoin
 def getFinishedOrder(self, thistype, oid):
     args = {}
     args['type'] = thistype
     args['order'] = oid
     return requester().perform(requester().orderresults, args)