From b885980cc8286ecad0898275284e0f9db95bf6dd Mon Sep 17 00:00:00 2001 From: Michael Korbakov Date: Wed, 20 Dec 2017 20:28:56 +0200 Subject: [PATCH 1/3] Added config to CCXT feed parameters --- backtrader/feeds/ccxt.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backtrader/feeds/ccxt.py b/backtrader/feeds/ccxt.py index ab67ccbca..da899ea23 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, config, ohlcv_limit=450): + self.exchange = getattr(ccxt, exchange)(config) self.symbol = symbol self.ohlcv_limit = ohlcv_limit From 9de1ffee6348576a4ea3513ba4dcd8e19477edd2 Mon Sep 17 00:00:00 2001 From: rmihael Date: Wed, 20 Dec 2017 21:10:32 +0200 Subject: [PATCH 2/3] Made config parameter optional --- backtrader/feeds/ccxt.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backtrader/feeds/ccxt.py b/backtrader/feeds/ccxt.py index da899ea23..90f4408d9 100644 --- a/backtrader/feeds/ccxt.py +++ b/backtrader/feeds/ccxt.py @@ -83,7 +83,7 @@ class CCXT(DataBase): # States for the Finite State Machine in _load _ST_LIVE, _ST_HISTORBACK, _ST_OVER = range(3) - def __init__(self, exchange, symbol, config, ohlcv_limit=450): + def __init__(self, exchange, symbol, ohlcv_limit=450, config={}): self.exchange = getattr(ccxt, exchange)(config) self.symbol = symbol self.ohlcv_limit = ohlcv_limit From b8d7b3c5f166314fc55b6a20a11879fa6df315f5 Mon Sep 17 00:00:00 2001 From: Michael Korbakov Date: Wed, 20 Dec 2017 21:13:14 +0200 Subject: [PATCH 3/3] startingcash and starting value properties for CCXTBroker --- backtrader/brokers/ccxtbroker.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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: