From 24cf0446468be71f2979b27affa66bd1f036745b Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 27 May 2022 08:18:04 +0000 Subject: [PATCH 1/3] Fix bybit spot mode --- freqtrade/exchange/bybit.py | 14 ++++++++++++++ tests/exchange/test_exchange.py | 1 + 2 files changed, 15 insertions(+) diff --git a/freqtrade/exchange/bybit.py b/freqtrade/exchange/bybit.py index 484b8b9d3..1c4bb858b 100644 --- a/freqtrade/exchange/bybit.py +++ b/freqtrade/exchange/bybit.py @@ -29,3 +29,17 @@ class Bybit(Exchange): # (TradingMode.FUTURES, MarginMode.CROSS), # (TradingMode.FUTURES, MarginMode.ISOLATED) ] + + @property + def _ccxt_config(self) -> Dict: + # Parameters to add directly to ccxt sync/async initialization. + # ccxt defaults to swap mode. + config = {} + if self.trading_mode == TradingMode.SPOT: + config.update({ + "options": { + "defaultType": "spot" + } + }) + config.update(super()._ccxt_config) + return config diff --git a/tests/exchange/test_exchange.py b/tests/exchange/test_exchange.py index 9da2dbc11..708a0e889 100644 --- a/tests/exchange/test_exchange.py +++ b/tests/exchange/test_exchange.py @@ -3819,6 +3819,7 @@ def test_validate_trading_mode_and_margin_mode( ("bibox", "spot", {"has": {"fetchCurrencies": False}}), ("bibox", "margin", {"has": {"fetchCurrencies": False}, "options": {"defaultType": "margin"}}), ("bibox", "futures", {"has": {"fetchCurrencies": False}, "options": {"defaultType": "swap"}}), + ("bybit", "spot", {"options": {"defaultType": "spot"}}), ("bybit", "futures", {"options": {"defaultType": "linear"}}), ("ftx", "futures", {"options": {"defaultType": "swap"}}), ("gateio", "futures", {"options": {"defaultType": "swap"}}), From b04fe5d4ee7b9a0fb7ef79ec810064148ab3623b Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 27 May 2022 19:30:14 +0200 Subject: [PATCH 2/3] Simplify test v2 strategy --- tests/strategy/strats/strategy_test_v2.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/tests/strategy/strats/strategy_test_v2.py b/tests/strategy/strats/strategy_test_v2.py index 46181ac7e..4e45b1463 100644 --- a/tests/strategy/strats/strategy_test_v2.py +++ b/tests/strategy/strats/strategy_test_v2.py @@ -150,13 +150,3 @@ class StrategyTestV2(IStrategy): ), 'sell'] = 1 return dataframe - - def adjust_trade_position(self, trade: Trade, current_time: datetime, current_rate: float, - current_profit: float, - min_stake: Optional[float], max_stake: float, **kwargs): - - if current_profit < -0.0075: - orders = trade.select_filled_orders('buy') - return round(orders[0].cost, 0) - - return None From 3e7bf6a9ef786fa5b283347b9c7ba1c58f35ce93 Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 27 May 2022 19:31:34 +0200 Subject: [PATCH 3/3] Remove imports in test_strategy2 --- tests/strategy/strats/strategy_test_v2.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tests/strategy/strats/strategy_test_v2.py b/tests/strategy/strats/strategy_test_v2.py index 4e45b1463..9e1c47575 100644 --- a/tests/strategy/strats/strategy_test_v2.py +++ b/tests/strategy/strats/strategy_test_v2.py @@ -1,13 +1,9 @@ # pragma pylint: disable=missing-docstring, invalid-name, pointless-string-statement -from datetime import datetime -from typing import Optional - import talib.abstract as ta from pandas import DataFrame import freqtrade.vendor.qtpylib.indicators as qtpylib -from freqtrade.persistence import Trade from freqtrade.strategy import IStrategy