diff --git a/backtrader/brokers/ccxtbroker.py b/backtrader/brokers/ccxtbroker.py index 1007ba1bc..6ecf88ebe 100644 --- a/backtrader/brokers/ccxtbroker.py +++ b/backtrader/brokers/ccxtbroker.py @@ -63,12 +63,16 @@ def __init__(self, exchange, currency, config): self.currency = currency self.notifs = queue.Queue() # holds orders which are notified + self.startingcash = self.cash = 0.0 + self.startingvalue = self.value = 0.0 def getcash(self): - return self.exchange.fetch_balance()['free'][self.currency] + self.cash = self.exchange.fetch_balance()['free'][self.currency] + return self.cash def getvalue(self): - return self.exchange.fetch_balance()['total'][self.currency] + self.value = self.exchange.fetch_balance()['total'][self.currency] + return self.value def get_notification(self): try: diff --git a/backtrader/feeds/ccxt.py b/backtrader/feeds/ccxt.py index ab67ccbca..90f4408d9 100644 --- a/backtrader/feeds/ccxt.py +++ b/backtrader/feeds/ccxt.py @@ -83,8 +83,8 @@ class CCXT(DataBase): # States for the Finite State Machine in _load _ST_LIVE, _ST_HISTORBACK, _ST_OVER = range(3) - def __init__(self, exchange, symbol, ohlcv_limit=450): - self.exchange = getattr(ccxt, exchange)() + def __init__(self, exchange, symbol, ohlcv_limit=450, config={}): + self.exchange = getattr(ccxt, exchange)(config) self.symbol = symbol self.ohlcv_limit = ohlcv_limit