implement get_ticker as wrapper around get_orderbook

This commit is contained in:
gcarq
2017-10-15 18:59:52 +02:00
parent e482372f4a
commit 42e67da9e7
7 changed files with 51 additions and 96 deletions

View File

@@ -85,6 +85,10 @@ def get_balance(currency: str) -> float:
return EXCHANGE.get_balance(currency)
def get_ticker(pair: str) -> Dict[str, float]:
return EXCHANGE.get_ticker(pair)
def get_orderbook(pair: str, top_most: Optional[int] = None) -> Dict[str, List[Dict]]:
return EXCHANGE.get_orderbook(pair, top_most)

View File

@@ -69,6 +69,13 @@ class Bittrex(Exchange):
raise RuntimeError('{}: {}'.format(self.name.upper(), data['message']))
return float(data['result']['Balance'] or 0.0)
def get_ticker(self, pair: str) -> Dict[str, float]:
data = self.get_orderbook(pair, top_most=1)
return {
'bid': data['bid'][0]['Rate'],
'ask': data['ask'][0]['Rate'],
}
def get_orderbook(self, pair: str, top_most: Optional[int] = None) -> Dict[str, List[Dict]]:
data = _API.get_orderbook(pair.replace('_', '-'))
if not data['success']:

View File

@@ -49,6 +49,17 @@ class Exchange(ABC):
:return: float
"""
@abstractmethod
def get_ticker(self, pair: str) -> Dict[str, float]:
"""
Gets ticker for given pair.
:param pair: Pair as str, format: BTC_ETC
:return: dict, format: {
'bid': float,
'ask': float
}
"""
@abstractmethod
def get_orderbook(self, pair: str, top_most: Optional[int] = None) -> Dict[str, List[Dict]]:
"""