From 371b374ea610a059f80d1b20cc591cb72737ba1a Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 22 Jan 2021 19:12:34 +0100 Subject: [PATCH 1/2] Remove unused config setup from setup.sh --- setup.sh | 46 ---------------------------------------------- 1 file changed, 46 deletions(-) diff --git a/setup.sh b/setup.sh index b270146c1..d0ca1f643 100755 --- a/setup.sh +++ b/setup.sh @@ -202,52 +202,6 @@ function test_and_fix_python_on_mac() { fi } -function config_generator() { - - echo "Starting to generate config.json" - echo - echo "Generating General configuration" - echo "-------------------------" - default_max_trades=3 - read -p "Max open trades: (Default: $default_max_trades) " max_trades - max_trades=${max_trades:-$default_max_trades} - - default_stake_amount=0.05 - read -p "Stake amount: (Default: $default_stake_amount) " stake_amount - stake_amount=${stake_amount:-$default_stake_amount} - - default_stake_currency="BTC" - read -p "Stake currency: (Default: $default_stake_currency) " stake_currency - stake_currency=${stake_currency:-$default_stake_currency} - - default_fiat_currency="USD" - read -p "Fiat currency: (Default: $default_fiat_currency) " fiat_currency - fiat_currency=${fiat_currency:-$default_fiat_currency} - - echo - echo "Generating exchange config " - echo "------------------------" - read -p "Exchange API key: " api_key - read -p "Exchange API Secret: " api_secret - - echo - echo "Generating Telegram config" - echo "-------------------------" - read -p "Telegram Token: " token - read -p "Telegram Chat_id: " chat_id - - sed -e "s/\"max_open_trades\": 3,/\"max_open_trades\": $max_trades,/g" \ - -e "s/\"stake_amount\": 0.05,/\"stake_amount\": $stake_amount,/g" \ - -e "s/\"stake_currency\": \"BTC\",/\"stake_currency\": \"$stake_currency\",/g" \ - -e "s/\"fiat_display_currency\": \"USD\",/\"fiat_display_currency\": \"$fiat_currency\",/g" \ - -e "s/\"your_exchange_key\"/\"$api_key\"/g" \ - -e "s/\"your_exchange_secret\"/\"$api_secret\"/g" \ - -e "s/\"your_telegram_token\"/\"$token\"/g" \ - -e "s/\"your_telegram_chat_id\"/\"$chat_id\"/g" \ - -e "s/\"dry_run\": false,/\"dry_run\": true,/g" config.json.example > config.json - -} - function config() { echo "-------------------------" From 31e0b09643796733a8d4918222347a90856c25b3 Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 22 Jan 2021 19:18:21 +0100 Subject: [PATCH 2/2] Rename config.json.example it's really the config dedicated to bittrex, so the name should reflect this in beeing config_bittrex.json.example --- .github/workflows/ci.yml | 12 ++--- .travis.yml | 4 +- MANIFEST.in | 1 - build_helpers/publish_docker.sh | 2 +- ...son.example => config_bittrex.json.example | 0 freqtrade/configuration/config_validation.py | 2 +- tests/commands/test_commands.py | 54 +++++++++---------- tests/test_arguments.py | 2 +- tests/test_main.py | 20 +++---- tests/test_plotting.py | 4 +- 10 files changed, 50 insertions(+), 51 deletions(-) rename config.json.example => config_bittrex.json.example (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 961dfef71..3f294347a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -79,13 +79,13 @@ jobs: - name: Backtesting run: | - cp config.json.example config.json + cp config_bittrex.json.example config.json freqtrade create-userdir --userdir user_data freqtrade backtesting --datadir tests/testdata --strategy SampleStrategy - name: Hyperopt run: | - cp config.json.example config.json + cp config_bittrex.json.example config.json freqtrade create-userdir --userdir user_data freqtrade hyperopt --datadir tests/testdata -e 5 --strategy SampleStrategy --hyperopt SampleHyperOpt --hyperopt-loss SharpeHyperOptLossDaily --print-all @@ -171,13 +171,13 @@ jobs: - name: Backtesting run: | - cp config.json.example config.json + cp config_bittrex.json.example config.json freqtrade create-userdir --userdir user_data freqtrade backtesting --datadir tests/testdata --strategy SampleStrategy - name: Hyperopt run: | - cp config.json.example config.json + cp config_bittrex.json.example config.json freqtrade create-userdir --userdir user_data freqtrade hyperopt --datadir tests/testdata -e 5 --strategy SampleStrategy --hyperopt SampleHyperOpt --hyperopt-loss SharpeHyperOptLossDaily --print-all @@ -238,13 +238,13 @@ jobs: - name: Backtesting run: | - cp config.json.example config.json + cp config_bittrex.json.example config.json freqtrade create-userdir --userdir user_data freqtrade backtesting --datadir tests/testdata --strategy SampleStrategy - name: Hyperopt run: | - cp config.json.example config.json + cp config_bittrex.json.example config.json freqtrade create-userdir --userdir user_data freqtrade hyperopt --datadir tests/testdata -e 5 --strategy SampleStrategy --hyperopt SampleHyperOpt --hyperopt-loss SharpeHyperOptLossDaily --print-all diff --git a/.travis.yml b/.travis.yml index 94239e33f..03a8df49b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,12 +26,12 @@ jobs: # - coveralls || true name: pytest - script: - - cp config.json.example config.json + - cp config_bittrex.json.example config.json - freqtrade create-userdir --userdir user_data - freqtrade backtesting --datadir tests/testdata --strategy SampleStrategy name: backtest - script: - - cp config.json.example config.json + - cp config_bittrex.json.example config.json - freqtrade create-userdir --userdir user_data - freqtrade hyperopt --datadir tests/testdata -e 5 --strategy SampleStrategy --hyperopt SampleHyperOpt --hyperopt-loss SharpeHyperOptLossDaily name: hyperopt diff --git a/MANIFEST.in b/MANIFEST.in index c67f5258f..2f59bcc7a 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,5 +1,4 @@ include LICENSE include README.md -include config.json.example recursive-include freqtrade *.py recursive-include freqtrade/templates/ *.j2 *.ipynb diff --git a/build_helpers/publish_docker.sh b/build_helpers/publish_docker.sh index ac0cd2461..9bc1aa0a6 100755 --- a/build_helpers/publish_docker.sh +++ b/build_helpers/publish_docker.sh @@ -30,7 +30,7 @@ if [ $? -ne 0 ]; then fi # Run backtest -docker run --rm -v $(pwd)/config.json.example:/freqtrade/config.json:ro -v $(pwd)/tests:/tests freqtrade:${TAG} backtesting --datadir /tests/testdata --strategy-path /tests/strategy/strats/ --strategy DefaultStrategy +docker run --rm -v $(pwd)/config_bittrex.json.example:/freqtrade/config.json:ro -v $(pwd)/tests:/tests freqtrade:${TAG} backtesting --datadir /tests/testdata --strategy-path /tests/strategy/strats/ --strategy DefaultStrategy if [ $? -ne 0 ]; then echo "failed running backtest" diff --git a/config.json.example b/config_bittrex.json.example similarity index 100% rename from config.json.example rename to config_bittrex.json.example diff --git a/freqtrade/configuration/config_validation.py b/freqtrade/configuration/config_validation.py index b8829b80f..187b2e3c7 100644 --- a/freqtrade/configuration/config_validation.py +++ b/freqtrade/configuration/config_validation.py @@ -54,7 +54,7 @@ def validate_config_schema(conf: Dict[str, Any]) -> Dict[str, Any]: return conf except ValidationError as e: logger.critical( - f"Invalid configuration. See config.json.example. Reason: {e}" + f"Invalid configuration. Reason: {e}" ) raise ValidationError( best_match(Draft4Validator(conf_schema).iter_errors(conf)).message diff --git a/tests/commands/test_commands.py b/tests/commands/test_commands.py index 26e0c4a79..2284209a0 100644 --- a/tests/commands/test_commands.py +++ b/tests/commands/test_commands.py @@ -21,7 +21,7 @@ from tests.conftest_trades import MOCK_TRADE_COUNT def test_setup_utils_configuration(): args = [ - 'list-exchanges', '--config', 'config.json.example', + 'list-exchanges', '--config', 'config_bittrex.json.example', ] config = setup_utils_configuration(get_args(args), RunMode.OTHER) @@ -40,7 +40,7 @@ def test_start_trading_fail(mocker, caplog): exitmock = mocker.patch("freqtrade.worker.Worker.exit", MagicMock()) args = [ 'trade', - '-c', 'config.json.example' + '-c', 'config_bittrex.json.example' ] start_trading(get_args(args)) assert exitmock.call_count == 1 @@ -122,10 +122,10 @@ def test_list_timeframes(mocker, capsys): match=r"This command requires a configured exchange.*"): start_list_timeframes(pargs) - # Test with --config config.json.example + # Test with --config config_bittrex.json.example args = [ "list-timeframes", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', ] start_list_timeframes(get_args(args)) captured = capsys.readouterr() @@ -169,7 +169,7 @@ def test_list_timeframes(mocker, capsys): # Test with --one-column args = [ "list-timeframes", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--one-column", ] start_list_timeframes(get_args(args)) @@ -209,10 +209,10 @@ def test_list_markets(mocker, markets, capsys): match=r"This command requires a configured exchange.*"): start_list_markets(pargs, False) - # Test with --config config.json.example + # Test with --config config_bittrex.json.example args = [ "list-markets", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--print-list", ] start_list_markets(get_args(args), False) @@ -239,7 +239,7 @@ def test_list_markets(mocker, markets, capsys): # Test with --all: all markets args = [ "list-markets", "--all", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--print-list", ] start_list_markets(get_args(args), False) @@ -252,7 +252,7 @@ def test_list_markets(mocker, markets, capsys): # Test list-pairs subcommand: active pairs args = [ "list-pairs", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--print-list", ] start_list_markets(get_args(args), True) @@ -264,7 +264,7 @@ def test_list_markets(mocker, markets, capsys): # Test list-pairs subcommand with --all: all pairs args = [ "list-pairs", "--all", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--print-list", ] start_list_markets(get_args(args), True) @@ -277,7 +277,7 @@ def test_list_markets(mocker, markets, capsys): # active markets, base=ETH, LTC args = [ "list-markets", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--base", "ETH", "LTC", "--print-list", ] @@ -290,7 +290,7 @@ def test_list_markets(mocker, markets, capsys): # active markets, base=LTC args = [ "list-markets", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--base", "LTC", "--print-list", ] @@ -303,7 +303,7 @@ def test_list_markets(mocker, markets, capsys): # active markets, quote=USDT, USD args = [ "list-markets", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--quote", "USDT", "USD", "--print-list", ] @@ -316,7 +316,7 @@ def test_list_markets(mocker, markets, capsys): # active markets, quote=USDT args = [ "list-markets", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--quote", "USDT", "--print-list", ] @@ -329,7 +329,7 @@ def test_list_markets(mocker, markets, capsys): # active markets, base=LTC, quote=USDT args = [ "list-markets", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--base", "LTC", "--quote", "USDT", "--print-list", ] @@ -342,7 +342,7 @@ def test_list_markets(mocker, markets, capsys): # active pairs, base=LTC, quote=USDT args = [ "list-pairs", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--base", "LTC", "--quote", "USD", "--print-list", ] @@ -355,7 +355,7 @@ def test_list_markets(mocker, markets, capsys): # active markets, base=LTC, quote=USDT, NONEXISTENT args = [ "list-markets", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--base", "LTC", "--quote", "USDT", "NONEXISTENT", "--print-list", ] @@ -368,7 +368,7 @@ def test_list_markets(mocker, markets, capsys): # active markets, base=LTC, quote=NONEXISTENT args = [ "list-markets", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--base", "LTC", "--quote", "NONEXISTENT", "--print-list", ] @@ -381,7 +381,7 @@ def test_list_markets(mocker, markets, capsys): # Test tabular output args = [ "list-markets", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', ] start_list_markets(get_args(args), False) captured = capsys.readouterr() @@ -391,7 +391,7 @@ def test_list_markets(mocker, markets, capsys): # Test tabular output, no markets found args = [ "list-markets", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--base", "LTC", "--quote", "NONEXISTENT", ] start_list_markets(get_args(args), False) @@ -403,7 +403,7 @@ def test_list_markets(mocker, markets, capsys): # Test --print-json args = [ "list-markets", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--print-json" ] start_list_markets(get_args(args), False) @@ -415,7 +415,7 @@ def test_list_markets(mocker, markets, capsys): # Test --print-csv args = [ "list-markets", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--print-csv" ] start_list_markets(get_args(args), False) @@ -427,7 +427,7 @@ def test_list_markets(mocker, markets, capsys): # Test --one-column args = [ "list-markets", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--one-column" ] start_list_markets(get_args(args), False) @@ -439,7 +439,7 @@ def test_list_markets(mocker, markets, capsys): # Test --one-column args = [ "list-markets", - '--config', 'config.json.example', + '--config', 'config_bittrex.json.example', "--one-column" ] with pytest.raises(OperationalException, match=r"Cannot get markets.*"): @@ -781,7 +781,7 @@ def test_start_test_pairlist(mocker, caplog, tickers, default_conf, capsys): patched_configuration_load_config_file(mocker, default_conf) args = [ 'test-pairlist', - '-c', 'config.json.example' + '-c', 'config_bittrex.json.example' ] start_test_pairlist(get_args(args)) @@ -795,7 +795,7 @@ def test_start_test_pairlist(mocker, caplog, tickers, default_conf, capsys): args = [ 'test-pairlist', - '-c', 'config.json.example', + '-c', 'config_bittrex.json.example', '--one-column', ] start_test_pairlist(get_args(args)) @@ -804,7 +804,7 @@ def test_start_test_pairlist(mocker, caplog, tickers, default_conf, capsys): args = [ 'test-pairlist', - '-c', 'config.json.example', + '-c', 'config_bittrex.json.example', '--print-json', ] start_test_pairlist(get_args(args)) diff --git a/tests/test_arguments.py b/tests/test_arguments.py index e2a1ae53c..60c2cfbac 100644 --- a/tests/test_arguments.py +++ b/tests/test_arguments.py @@ -172,7 +172,7 @@ def test_download_data_options() -> None: def test_plot_dataframe_options() -> None: args = [ 'plot-dataframe', - '-c', 'config.json.example', + '-c', 'config_bittrex.json.example', '--indicators1', 'sma10', 'sma100', '--indicators2', 'macd', 'fastd', 'fastk', '--plot-limit', '30', diff --git a/tests/test_main.py b/tests/test_main.py index f55aea336..70632aeaa 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -67,12 +67,12 @@ def test_main_fatal_exception(mocker, default_conf, caplog) -> None: mocker.patch('freqtrade.freqtradebot.RPCManager', MagicMock()) mocker.patch('freqtrade.freqtradebot.init_db', MagicMock()) - args = ['trade', '-c', 'config.json.example'] + args = ['trade', '-c', 'config_bittrex.json.example'] # Test Main + the KeyboardInterrupt exception with pytest.raises(SystemExit): main(args) - assert log_has('Using config: config.json.example ...', caplog) + assert log_has('Using config: config_bittrex.json.example ...', caplog) assert log_has('Fatal exception!', caplog) @@ -85,12 +85,12 @@ def test_main_keyboard_interrupt(mocker, default_conf, caplog) -> None: mocker.patch('freqtrade.wallets.Wallets.update', MagicMock()) mocker.patch('freqtrade.freqtradebot.init_db', MagicMock()) - args = ['trade', '-c', 'config.json.example'] + args = ['trade', '-c', 'config_bittrex.json.example'] # Test Main + the KeyboardInterrupt exception with pytest.raises(SystemExit): main(args) - assert log_has('Using config: config.json.example ...', caplog) + assert log_has('Using config: config_bittrex.json.example ...', caplog) assert log_has('SIGINT received, aborting ...', caplog) @@ -106,12 +106,12 @@ def test_main_operational_exception(mocker, default_conf, caplog) -> None: mocker.patch('freqtrade.freqtradebot.RPCManager', MagicMock()) mocker.patch('freqtrade.freqtradebot.init_db', MagicMock()) - args = ['trade', '-c', 'config.json.example'] + args = ['trade', '-c', 'config_bittrex.json.example'] # Test Main + the KeyboardInterrupt exception with pytest.raises(SystemExit): main(args) - assert log_has('Using config: config.json.example ...', caplog) + assert log_has('Using config: config_bittrex.json.example ...', caplog) assert log_has('Oh snap!', caplog) @@ -157,12 +157,12 @@ def test_main_reload_config(mocker, default_conf, caplog) -> None: mocker.patch('freqtrade.freqtradebot.RPCManager', MagicMock()) mocker.patch('freqtrade.freqtradebot.init_db', MagicMock()) - args = Arguments(['trade', '-c', 'config.json.example']).get_parsed_arg() + args = Arguments(['trade', '-c', 'config_bittrex.json.example']).get_parsed_arg() worker = Worker(args=args, config=default_conf) with pytest.raises(SystemExit): - main(['trade', '-c', 'config.json.example']) + main(['trade', '-c', 'config_bittrex.json.example']) - assert log_has('Using config: config.json.example ...', caplog) + assert log_has('Using config: config_bittrex.json.example ...', caplog) assert worker_mock.call_count == 4 assert reconfigure_mock.call_count == 1 assert isinstance(worker.freqtrade, FreqtradeBot) @@ -180,7 +180,7 @@ def test_reconfigure(mocker, default_conf) -> None: mocker.patch('freqtrade.freqtradebot.RPCManager', MagicMock()) mocker.patch('freqtrade.freqtradebot.init_db', MagicMock()) - args = Arguments(['trade', '-c', 'config.json.example']).get_parsed_arg() + args = Arguments(['trade', '-c', 'config_bittrex.json.example']).get_parsed_arg() worker = Worker(args=args, config=default_conf) freqtrade = worker.freqtrade diff --git a/tests/test_plotting.py b/tests/test_plotting.py index 8f3ac464e..96c9868a9 100644 --- a/tests/test_plotting.py +++ b/tests/test_plotting.py @@ -363,7 +363,7 @@ def test_start_plot_dataframe(mocker): aup = mocker.patch("freqtrade.plot.plotting.load_and_plot_trades", MagicMock()) args = [ "plot-dataframe", - "--config", "config.json.example", + "--config", "config_bittrex.json.example", "--pairs", "ETH/BTC" ] start_plot_dataframe(get_args(args)) @@ -407,7 +407,7 @@ def test_start_plot_profit(mocker): aup = mocker.patch("freqtrade.plot.plotting.plot_profit", MagicMock()) args = [ "plot-profit", - "--config", "config.json.example", + "--config", "config_bittrex.json.example", "--pairs", "ETH/BTC" ] start_plot_profit(get_args(args))