diff --git a/freqtrade/commands/arguments.py b/freqtrade/commands/arguments.py index 032f7dd51..025fee66c 100644 --- a/freqtrade/commands/arguments.py +++ b/freqtrade/commands/arguments.py @@ -48,7 +48,8 @@ ARGS_LIST_EXCHANGES = ["print_one_column", "list_exchanges_all"] ARGS_LIST_TIMEFRAMES = ["exchange", "print_one_column"] ARGS_LIST_PAIRS = ["exchange", "print_list", "list_pairs_print_json", "print_one_column", - "print_csv", "base_currencies", "quote_currencies", "list_pairs_all"] + "print_csv", "base_currencies", "quote_currencies", "list_pairs_all", + "trading_mode"] ARGS_TEST_PAIRLIST = ["verbosity", "config", "quote_currencies", "print_one_column", "list_pairs_print_json"] diff --git a/freqtrade/commands/cli_options.py b/freqtrade/commands/cli_options.py index 6aa4ed363..7d1d2edd1 100644 --- a/freqtrade/commands/cli_options.py +++ b/freqtrade/commands/cli_options.py @@ -179,7 +179,6 @@ AVAILABLE_CLI_OPTIONS = { '--export', help='Export backtest results (default: trades).', choices=constants.EXPORT_OPTIONS, - ), "exportfilename": Arg( '--export-filename', @@ -349,6 +348,11 @@ AVAILABLE_CLI_OPTIONS = { nargs='+', metavar='BASE_CURRENCY', ), + "trading_mode": Arg( + '--trading-mode', + help='Select Trading mode', + choices=constants.TRADING_MODES, + ), # Script options "pairs": Arg( '-p', '--pairs', diff --git a/freqtrade/configuration/configuration.py b/freqtrade/configuration/configuration.py index f5a674878..67617d84f 100644 --- a/freqtrade/configuration/configuration.py +++ b/freqtrade/configuration/configuration.py @@ -431,6 +431,8 @@ class Configuration: self._args_to_config(config, argname='new_pairs_days', logstring='Detected --new-pairs-days: {}') + self._args_to_config(config, argname='trading_mode', + logstring='Detected --trading-mode: {}') def _process_runmode(self, config: Dict[str, Any]) -> None: diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index 85b156746..c55c7ffbb 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -329,7 +329,7 @@ class Exchange: return self.markets.get(pair, {}).get('base', '') def market_is_future(self, market: Dict[str, Any]) -> bool: - return market.get('future', False) is True + return market.get('future', False) is True or market.get('futures') is True def market_is_spot(self, market: Dict[str, Any]) -> bool: return market.get('spot', False) is True