get markets without exchange specific methods

This commit is contained in:
Samuel Husso 2018-02-10 11:01:00 +02:00
parent 9477dbbd07
commit 5295723532
2 changed files with 12 additions and 15 deletions

View File

@ -149,8 +149,13 @@ def get_ticker(pair: str, refresh: Optional[bool] = True) -> dict:
@cached(TTLCache(maxsize=100, ttl=30))
def get_ticker_history(pair: str, tick_interval) -> List[Dict]:
## implement https://github.com/ccxt/ccxt/blob/master/python/ccxt/bittrex.py#L394-L400
return _API.get_ticker_history(pair, tick_interval)
# TODO: tickers need to be in format 1m,5m
# fetch_ohlcv returns an [[datetime,o,h,l,c,v]]
_API.load_markets()
# if not _API.markets.get(pair):
# logger.warning('Pair {} doesnt exist in exchange' % pair)
# return []
return _API.fetch_ohlcv(pair, str(tick_interval)+'m')
def cancel_order(order_id: str) -> None:
@ -180,13 +185,7 @@ def get_markets() -> List[str]:
def get_market_summaries() -> List[Dict]:
# TODO: check other exchanges how they implement market summaries
summaries = _API.public_get_marketsummaries()['result']
for market in summaries:
name = market['MarketName'].split('-')
market['MarketName'] = name[-1] + '/' + name[0]
return summaries
return _API.fetch_tickers()
def get_name() -> str:

View File

@ -377,7 +377,6 @@ def create_trade(stake_amount: float, interval: int) -> bool:
)
whitelist = copy.deepcopy(_CONF['exchange']['pair_whitelist'])
print('*******whitelist {}*****'.format(whitelist))
# Check if stake_amount is fulfilled
if exchange.get_balance(_CONF['stake_currency']) < stake_amount:
@ -393,7 +392,6 @@ def create_trade(stake_amount: float, interval: int) -> bool:
if not whitelist:
raise DependencyException('No pair in whitelist')
# Pick pair based on StochRSI buy signals
for _pair in whitelist:
(buy, sell) = get_signal(_pair, interval)
if buy and not sell:
@ -471,11 +469,11 @@ def gen_pair_whitelist(base_currency: str, key: str = 'BaseVolume') -> List[str]
:return: List of pairs
"""
summaries = sorted(
(s for s in exchange.get_market_summaries() if s['MarketName'].endswith(base_currency)),
key=lambda s: s.get(key) or 0.0,
(v for s,v in exchange.get_market_summaries().items() if v['symbol'].endswith(base_currency)),
key=lambda v: v.get('info').get(key) or 0.0,
reverse=True
)
return [s['MarketName'] for s in summaries]
return [s['symbol'] for s in summaries]
def cleanup() -> None: