Remove get_market_summaries

This commit is contained in:
enenn 2018-02-03 23:16:57 +01:00
parent a11c24b286
commit 508342e42b
4 changed files with 77 additions and 86 deletions

View File

@ -171,18 +171,15 @@ def get_order(order_id: str) -> Dict:
return _API.get_order(order_id) return _API.get_order(order_id)
# TODO: reimplement, not part of ccxt
def get_pair_detail_url(pair: str) -> str: def get_pair_detail_url(pair: str) -> str:
return _API.get_pair_detail_url(pair) return ""
def get_markets() -> List[dict]: def get_markets() -> List[dict]:
return _API.fetch_markets() return _API.fetch_markets()
def get_market_summaries() -> List[Dict]:
return _API.public_get_marketsummaries()['result']
def get_name() -> str: def get_name() -> str:
return _API.name return _API.name

View File

@ -132,27 +132,3 @@ class Exchange(ABC):
Returns all available markets. Returns all available markets.
:return: List of all available pairs :return: List of all available pairs
""" """
@abstractmethod
def get_market_summaries(self) -> List[Dict]:
"""
Returns a 24h market summary for all available markets
:return: list, format: [
{
'MarketName': str,
'High': float,
'Low': float,
'Volume': float,
'Last': float,
'TimeStamp': datetime,
'BaseVolume': float,
'Bid': float,
'Ask': float,
'OpenBuyOrders': int,
'OpenSellOrders': int,
'PrevDay': float,
'Created': datetime
},
...
]
"""

View File

@ -469,13 +469,13 @@ def gen_pair_whitelist(base_currency: str, key: str = 'BaseVolume') -> List[str]
:return: List of pairs :return: List of pairs
""" """
summaries = sorted( pairs = sorted(
(s for s in exchange.get_market_summaries() if s['MarketName'].endswith(base_currency)), (s['symbol'] for s in exchange.get_markets() if s['quote'] == base_currency),
key=lambda s: s.get(key) or 0.0, key=lambda s: s.get(key) or 0.0,
reverse=True reverse=True
) )
return [s['MarketName'].replace('-', '_') for s in summaries] return pairs
def cleanup() -> None: def cleanup() -> None:

View File

@ -2,6 +2,7 @@
from freqtrade.main import refresh_whitelist, gen_pair_whitelist from freqtrade.main import refresh_whitelist, gen_pair_whitelist
# whitelist, blacklist, filtering, all of that will # whitelist, blacklist, filtering, all of that will
# eventually become some rules to run on a generic ACL engine # eventually become some rules to run on a generic ACL engine
# perhaps try to anticipate that by using some python package # perhaps try to anticipate that by using some python package
@ -25,59 +26,78 @@ def whitelist_conf():
} }
def get_market_summaries():
return [{
'MarketName': 'BTC-TKN',
'High': 0.00000919,
'Low': 0.00000820,
'Volume': 74339.61396015,
'Last': 0.00000820,
'BaseVolume': 1664,
'TimeStamp': '2014-07-09T07:19:30.15',
'Bid': 0.00000820,
'Ask': 0.00000831,
'OpenBuyOrders': 15,
'OpenSellOrders': 15,
'PrevDay': 0.00000821,
'Created': '2014-03-20T06:00:00',
'DisplayMarketName': ''
}, {
'MarketName': 'BTC-ETH',
'High': 0.00000072,
'Low': 0.00000001,
'Volume': 166340678.42280999,
'Last': 0.00000005,
'BaseVolume': 42,
'TimeStamp': '2014-07-09T07:21:40.51',
'Bid': 0.00000004,
'Ask': 0.00000005,
'OpenBuyOrders': 18,
'OpenSellOrders': 18,
'PrevDay': 0.00000002,
'Created': '2014-05-30T07:57:49.637',
'DisplayMarketName': ''
}, {
'MarketName': 'BTC-BLK',
'High': 0.00000072,
'Low': 0.00000001,
'Volume': 166340678.42280999,
'Last': 0.00000005,
'BaseVolume': 3,
'TimeStamp': '2014-07-09T07:21:40.51',
'Bid': 0.00000004,
'Ask': 0.00000005,
'OpenBuyOrders': 18,
'OpenSellOrders': 18,
'PrevDay': 0.00000002,
'Created': '2014-05-30T07:57:49.637',
'DisplayMarketName': ''
}]
def get_markets(): def get_markets():
return [{'symbol': 'ETH/BTC', 'base': 'ETH', 'quote':'BTC', 'active': True}, return [
{'symbol': 'TKN/BTC', 'base': 'TKN', 'quote':'BTC', 'active': True}, {
{'symbol': 'BLK/BTC', 'base': 'BLK', 'quote':'BTC', 'active': True}] 'id': 'ethbtc',
'symbol': 'ETH/BTC',
'base': 'ETH',
'quote': 'BTC',
'active': True,
'precision': {
'price': 8,
'amount': 8,
'cost': 8,
},
'lot': 0.00000001,
'limits': {
'amount': {
'min': 0.01,
'max': 1000,
},
'price': 500000,
'cost': 500000,
},
'info': '',
},
{
'id': 'tknbtc',
'symbol': 'TKN/BTC',
'base': 'TKN',
'quote': 'BTC',
'active': True,
'precision': {
'price': 8,
'amount': 8,
'cost': 8,
},
'lot': 0.00000001,
'limits': {
'amount': {
'min': 0.01,
'max': 1000,
},
'price': 500000,
'cost': 500000,
},
'info': '',
},
{
'id': 'blkbtc',
'symbol': 'BLK/BTC',
'base': 'BLK',
'quote': 'BTC',
'active': True,
'precision': {
'price': 8,
'amount': 8,
'cost': 8,
},
'lot': 0.00000001,
'limits': {
'amount': {
'min': 0.01,
'max': 1000,
},
'price': 500000,
'cost': 500000,
},
'info': '',
}
]
def get_markets_empty(): def get_markets_empty():
@ -114,8 +134,6 @@ def test_refresh_whitelist_dynamic(mocker):
mocker.patch.dict('freqtrade.main._CONF', conf) mocker.patch.dict('freqtrade.main._CONF', conf)
mocker.patch.multiple('freqtrade.main.exchange', mocker.patch.multiple('freqtrade.main.exchange',
get_markets=get_markets) get_markets=get_markets)
mocker.patch.multiple('freqtrade.main.exchange',
get_market_summaries=get_market_summaries)
# argument: use the whitelist dynamically by exchange-volume # argument: use the whitelist dynamically by exchange-volume
whitelist = ['TKN/BTC', 'ETH/BTC'] whitelist = ['TKN/BTC', 'ETH/BTC']
refreshedwhitelist = refresh_whitelist( refreshedwhitelist = refresh_whitelist(