]>
Commit | Line | Data |
---|---|---|
4c51aa71 | 1 | import ccxt |
5ab23e1c | 2 | import decimal |
4c51aa71 | 3 | |
5ab23e1c IB |
4 | def exchange_sum(self, *args): |
5 | return sum([arg for arg in args if isinstance(arg, (float, int, decimal.Decimal))]) | |
6 | ccxt.Exchange.sum = exchange_sum | |
7 | def poloniex_fetch_balance(self, params={}): | |
8 | self.load_markets() | |
9 | balances = self.privatePostReturnCompleteBalances(self.extend({ | |
10 | 'account': 'all', | |
11 | }, params)) | |
12 | result = {'info': balances} | |
13 | currencies = list(balances.keys()) | |
14 | for c in range(0, len(currencies)): | |
15 | id = currencies[c] | |
16 | balance = balances[id] | |
17 | currency = self.common_currency_code(id) | |
18 | account = { | |
19 | 'free': decimal.Decimal(balance['available']), | |
20 | 'used': decimal.Decimal(balance['onOrders']), | |
21 | 'total': decimal.Decimal(0.0), | |
22 | } | |
23 | account['total'] = self.sum(account['free'], account['used']) | |
24 | result[currency] = account | |
25 | return self.parse_balance(result) | |
26 | ccxt.poloniex.fetch_balance = poloniex_fetch_balance | |
27 | ||
28 | def poloniex_parse_ticker(self, ticker, market=None): | |
29 | timestamp = self.milliseconds() | |
30 | symbol = None | |
31 | if market: | |
32 | symbol = market['symbol'] | |
33 | return { | |
34 | 'symbol': symbol, | |
35 | 'timestamp': timestamp, | |
36 | 'datetime': self.iso8601(timestamp), | |
37 | 'high': decimal.Decimal(ticker['high24hr']), | |
38 | 'low': decimal.Decimal(ticker['low24hr']), | |
39 | 'bid': decimal.Decimal(ticker['highestBid']), | |
40 | 'ask': decimal.Decimal(ticker['lowestAsk']), | |
41 | 'vwap': None, | |
42 | 'open': None, | |
43 | 'close': None, | |
44 | 'first': None, | |
45 | 'last': decimal.Decimal(ticker['last']), | |
46 | 'change': decimal.Decimal(ticker['percentChange']), | |
47 | 'percentage': None, | |
48 | 'average': None, | |
49 | 'baseVolume': decimal.Decimal(ticker['quoteVolume']), | |
50 | 'quoteVolume': decimal.Decimal(ticker['baseVolume']), | |
51 | 'info': ticker, | |
52 | } | |
53 | ccxt.poloniex.parse_ticker = poloniex_parse_ticker | |
4c51aa71 IB |
54 | market = ccxt.poloniex({ |
55 | "apiKey": "XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX", | |
56 | "secret": "1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", | |
57 | }) |