From ce676a9dd7caa864228683542a6b79ad7779cb9b Mon Sep 17 00:00:00 2001 From: Sam Germain Date: Fri, 4 Feb 2022 17:55:49 -0600 Subject: [PATCH 1/3] wrote ccxt_compat.test_get_max_leverage_spot test_get_max_leverage_futures --- tests/exchange/test_ccxt_compat.py | 55 ++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/tests/exchange/test_ccxt_compat.py b/tests/exchange/test_ccxt_compat.py index e9b78af44..9fb627028 100644 --- a/tests/exchange/test_ccxt_compat.py +++ b/tests/exchange/test_ccxt_compat.py @@ -24,6 +24,10 @@ EXCHANGES = { 'stake_currency': 'USDT', 'hasQuoteVolume': False, 'timeframe': '1h', + 'leverage_in_market': { + 'spot': False, + 'futures': False, + } }, 'binance': { 'pair': 'BTC/USDT', @@ -31,12 +35,20 @@ EXCHANGES = { 'hasQuoteVolume': True, 'timeframe': '5m', 'futures': True, + 'leverage_in_market': { + 'spot': False, + 'futures': False, + } }, 'kraken': { 'pair': 'BTC/USDT', 'stake_currency': 'USDT', 'hasQuoteVolume': True, 'timeframe': '5m', + 'leverage_in_market': { + 'spot': True, + 'futures': True, + } }, 'ftx': { 'pair': 'BTC/USD', @@ -45,12 +57,20 @@ EXCHANGES = { 'timeframe': '5m', 'futures_pair': 'BTC/USD:USD', 'futures': True, + 'leverage_in_market': { + 'spot': True, + 'futures': True, + } }, 'kucoin': { 'pair': 'BTC/USDT', 'stake_currency': 'USDT', 'hasQuoteVolume': True, 'timeframe': '5m', + 'leverage_in_market': { + 'spot': False, + 'futures': False, + } }, 'gateio': { 'pair': 'BTC/USDT', @@ -59,6 +79,10 @@ EXCHANGES = { 'timeframe': '5m', 'futures': True, 'futures_pair': 'BTC/USDT:USDT', + 'leverage_in_market': { + 'spot': True, + 'futures': True, + } }, 'okex': { 'pair': 'BTC/USDT', @@ -67,12 +91,20 @@ EXCHANGES = { 'timeframe': '5m', 'futures_pair': 'BTC/USDT:USDT', 'futures': True, + 'leverage_in_market': { + 'spot': True, + 'futures': True, + } }, 'bitvavo': { 'pair': 'BTC/EUR', 'stake_currency': 'EUR', 'hasQuoteVolume': True, 'timeframe': '5m', + 'leverage_in_market': { + 'spot': False, + 'futures': False, + } }, } @@ -296,3 +328,26 @@ class TestCCXTExchange(): assert 0 < exchange.get_fee(pair, 'limit', 'sell') < threshold assert 0 < exchange.get_fee(pair, 'market', 'buy') < threshold assert 0 < exchange.get_fee(pair, 'market', 'sell') < threshold + + def test_get_max_leverage_spot(self, exchange): + spot, spot_name = exchange + if spot: + leverage_in_market_spot = EXCHANGES[spot_name]['leverage_in_market']['spot'] + if leverage_in_market_spot: + spot_pair = EXCHANGES[spot_name].get('pair', EXCHANGES[spot_name]['pair']) + spot_leverage = spot.get_max_leverage(spot_pair, 20) + assert (isinstance(spot_leverage, float) or isinstance(spot_leverage, int)) + assert spot_leverage >= 1.0 + + def test_get_max_leverage_futures(self, exchange_futures): + futures, futures_name = exchange_futures + if futures: + leverage_in_market_futures = EXCHANGES[futures_name]['leverage_in_market']['futures'] + if leverage_in_market_futures: + futures_pair = EXCHANGES[futures_name].get( + 'futures_pair', + EXCHANGES[futures_name]['pair'] + ) + futures_leverage = futures.get_max_leverage(futures_pair, 20) + assert (isinstance(futures_leverage, float) or isinstance(futures_leverage, int)) + assert futures_leverage >= 1.0 From b5d10d1b2ed6b75163755895c329763de16f6c73 Mon Sep 17 00:00:00 2001 From: Sam Germain Date: Sat, 5 Feb 2022 08:18:05 -0600 Subject: [PATCH 2/3] updated ccxt --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 62fcfe5a5..380b0d796 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ hyperopt = [ 'filelock', 'joblib', 'progressbar2', - ] +] develop = [ 'coveralls', @@ -42,7 +42,7 @@ setup( ], install_requires=[ # from requirements.txt - 'ccxt>=1.66.32', + 'ccxt>=1.72.29', 'SQLAlchemy', 'python-telegram-bot>=13.4', 'arrow>=0.17.0', From 870708a72ad133e95aa2fcba12e9598b0cca034f Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 5 Feb 2022 16:33:20 +0100 Subject: [PATCH 3/3] Version bump ccxt --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 102558e61..489f48c61 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ numpy==1.22.1 pandas==1.4.0 pandas-ta==0.3.14b -ccxt==1.70.45 +ccxt==1.72.29 # Pin cryptography for now due to rust build errors with piwheels cryptography==36.0.1 aiohttp==3.8.1