github freqtrade/freqtrade 2019.10

latest releases: 2024.3, 2024.2, 2024.1...
4 years ago

Important changes

  • Introduce freqtrade list-markets and freqtrade list-pairs subcommands to easily list all pairs/markets on the exchange. Check out the documentation to learn more.
  • Add docker-compose files for easy developer-setups
  • Add keep-alive message, removing message poping up every 5 seconds
  • Settings in the 'experimental' section in the config moved to the 'ask_strategy' section. Please update your configurations.
  • Allow downloading tick data to emulate OHLCV data (for Kraken backtesting)
  • Sample strategy was reworked to include best practices.

Full changelog

Expand full changelog ``` dab4ab7 Fix create_cum_profit to work with trades that don't open on candle opens a74b941 Add test to verify this is correct 89bba6f Version bump 3929ad4 Fix typo 2f1d969 Change keepalive to heartbeat 0773a65 Add I Am Alive Message 8201f70 Change loglevel of repeated message to debug 59e881c Remove obsolete scripts 2e1e080 Fix potential race conditions between RPC and Freqtradebot during initialization 6640f4a Make flake happy 87ff7be Use exchange.name instead of config['exchange']['name'] 336808e Correctly pass validate flag to fallback exchange too b26faa1 Call validate_timeframe only when validate is True 562e4e6 Set validate=False for exchangÑe in start_list_markets 73fa5ba minor: Fix wording in a docstring a43d436 Move decorators out of API Class ff5ba64 Improve docs 8872158 Bump mypy from 0.730 to 0.740 f07b26f Bump pandas from 0.25.1 to 0.25.2 e5f06c2 Bump python-telegram-bot from 12.1.1 to 12.2.0 3648593 Bump plotly from 4.1.1 to 4.2.1 657f1b6 Bump flake8-tidy-imports from 2.0.0 to 3.0.0 e350bcc Bump ccxt from 1.18.1260 to 1.18.1306 c2566f2 Bump numpy from 1.17.2 to 1.17.3 b116cc7 Fix failing test bedbd96 slightly rephrase strategy docs ca4d006 Uncomment tests with --exchange 8a0d901 Improve unclear sentence in the docs 5b680f2 minor: Condense paragraphs in the docs 45b2d24 Improve docs 10ca249 Fix fluky test d6b6ded Print empty line separator in case of human-readable formats (list and tabular) 20dd3f2 Clearly highlight potential problems with looking into the future 8a31b4c Update python base to 3.7.5 and install hyperopt dependencies 78cd75d Add requirement b805e4e Try list extension d8630ef Add one-sided ms timerange c48876b Trades should use timestamps or dates, not indexes 16e10d9 Remove timeframe logic for non-date entries 0adcee9 Fix backtesting format since sublist does not render correctly f41c659 Plotting trades from database should show correct duration b152585 exportfilename should respect configured user_data_dir fd22c87 Some minor cleanups to trades download methods and docs 30eb23e Minor freqtrade cleanup 4ec83a2 DefaultHyperOpts --> DefaultHyperOpt; hyperopts --> hyperopt where it's not correct c649f98 Compare >= instead of = 3208f30 Fix base64 test on windows 5e731ec Add more tests e55b2a1 Allow test to pass on fast computers by setting the offset to -1 ed8d805 Make paths os independent to have tests pass on windows 00a9594 Improve assumptions 9d739f9 use requested - remaining amount - not the requested amount! 2588990 Require unfilledtimeout - don't require telegram in config 271846d Simplify cancel timedout c181fac fix #2383 0ac46ed Add tests for new scenario c735d35 Extract open_trade generation from freqtradebot e957894 Rename start_list_pairs() -> start_list_markets() 369335b Add tests for start_list_pairs() 2ebddcf Make flake happy again 8564aff Add tests for Exchange.get_markets() a39d51d Update test to use limit_buy_order 750dc8b Add tests for market_is_active() 033742b Fix pairlists to use market_is_active() instead of custom check 84ba431 Introduce a market with no 'active' field in conftest b6e26c8 Replace market_is_pair() by symbol_is_pair() e8eb968 Add tests for market_is_pair() 66605a1 Add tests for plural(), taken from #1989 1e61263 More sofisticated market_is_pair(), taken from #1989 bd08874 Fix options metavars shown in the helpstring ff6a346 Docs added 5b58141 iFix grammar issue bf4e9a5 Code cleanup 837d4d8 Sort tabular and csv data by symbol as well a8ffd29 Remove --active-only, introduce -a/--all instead 92fda0f Allow --base and --quote be lists of currencies d72d388 Make flake happy fda7108 Refactor load-path building to parent class 1a765f1 Return generator instead of Object from _get_valid_object 7de1631 Print summary in the log for machine-readable formats 4c8411e Cleanup in print tabular and print-csv parts f348956 --print-csv added a4dfd77 Fix double comments for ADX 89e0c76 Add --print-json and -1/--one-column options 36d5bb6 Adjust ADX placement in the comments ad89d19 Print list in the human-readable format e6e35c2 Switch samplestrategy from ADX to RSI ace7051 Wording fixes a320d4c Don't sell with 0 profit in samplestrategy 790e614 Use crossed() in sample strategy f5d8741 Bump sqlalchemy from 1.3.9 to 1.3.10 4c4134a Bump jsonschema from 3.0.2 to 3.1.1 b2682bc Bump ccxt from 1.18.1225 to 1.18.1260 4111734 Add 'Is pair' in the list-markets tabular output 6e27c47 Handle properly exchanges with no active flag set for markets 76ad5be Load correct exchange class 13e80e4 cleanup and better docstring 023eb19 Add documentation for --dl-trades 3e4617b add pandas-based converter-functions ed9ec40 Add test for trades_ohlcv 56de81a Add some test data ccb41d1 Add tests for test_download_trades_history 2374cda Cleanup and tests for refresh_backtest_trades 1b7a09c Add test for utils --dl-trades 37925e7 Add --dl-trades cli flag 762ae3a Extend tests 9f8a2ac Extend test-cases to 5 trades 4fdec9d Test id-based pagination 640d58e Remove unneeded checks fa8c613 Remove unneeded exception handlers b6ac898 Add test for exception handler 57bcff1 Test get_historic_trades 939a87e Add test for fetch_trades 16d6914 Add test to cover missing line 05e4736 Small adjustments to get_trade_history 0d592f6 Refactor trade downloading to handle exceptions only once 476adf8 Add conversion from trades to ohlcv at different intervals 9584629 Rename argument from dl_path to datadir c1c4918 Call new method based on condition 8069cd6 add refresh_trades_ method 1f79ca9 Remove duplicate check 1d8fc97 Fix duplicate trade error, rename some methods 19f3669 add docstring 06024b0 Fix zipfile handling 6e952a0 Capture downloaded data 57dee79 Fix end-reached for id-based trade-download 2c0bb71 Add download_trades_history() ab8f638 Move id/time detection to get_historic_trades method d250b67 Add load/store trades data 42b8241 use gz to save / load trades data 6cc98c1 Fix tests 77c367a First draft of async get_trade methods 26b3148 Add build_ohlcv wrapper 27dc9ca Add trades_pagination attributes 63e87ef Add pair_trades_filename 6697b67 Add test for test_data_filename baad1a5 Explain _params element 7cf7982 Add list-pairs and list-markets subcommands f3f6e9d Allow skipping of exchange validation 3c8d27d remove correct comment ... 4c1705f No specific handling for trailing_stop_positive ff7a3cc remove last occurance of config. from stop_loss_reached 4d14884 stoploss_reached should not use config e72b6a4 Updated Rest API Docs c49f4b7 Fix helpstring 5e23cc7 Add tests for orderbook and market in dataprovider 0680fe2 fix path to tests 23b5c0e Improve tests for handling deprecated settings cdd1bc4 Fix typo 2a9c06c Test added 434e023 Add handling deprecated settings bcd02a8 Fix beeing again ... e1c14bc Don't use os.path in test_history 69c23c0 Fix minor typos in the docs 2e91ee3 remove underline from docs style 86ef323 Add versions to doc theme 4d062d4 Improve comments in the SampleStrategy; set use_sell_signal = True e78e423 Improve docs wordings 057ab1b Remove unnecessary comments 613300c Add short description of the market() method into docs c34ce15 Bump pytest-cov from 2.7.1 to 2.8.1 80d58b7 Bump pytest-mock from 1.11.0 to 1.11.1 568ecc2 Bump sqlalchemy from 1.3.8 to 1.3.9 652a04a Bump ccxt from 1.18.1208 to 1.18.1225 5e9ab3e Bump mkdocs-material from 4.4.2 to 4.4.3 be6fd3a Bump pytest from 5.2.0 to 5.2.1 e272cd4 Bump joblib from 0.13.2 to 0.14.0 ad35a3d Small wording improvements 211b9cb Cleanup in data.history 33940ae Use different keys and values d2589c4 Make test exchange-independent 22733e4 Add tests for --fee 82d4051 Add --fee to documentation 0664a8c add `--fee` to change fees to other values 9b23376 Move experimental settings to ask_strategy 7ea9da9 Fix #2277 9b98e60 Add testcase for negative ROI after certain period 885edc9 Allow multiple ROI in detail-backtest tests e1b8485 Remove indicator_helpers.py and test 764a35d Remove scattergl and fix tests 00ab6f5 Cleanup legacy strategy 73e9cbd Fix #2338 78381e9 Improve test to test full sell cycle 75252b6 Docstrings improved f95b0cc Tests added 38f184e Update test to not mock stoploss_on_exchange 1f4e5b1 Add basic test for execute sells_multiple logic 9ee7e28 Clean up some mocks 3ac5b91 Add market() method to dataprovider 4b29c4c Test for handling closed trade adjusted 89729ae Fix and improve process_maybe_execute_sells() 15aae8a Tests adjusted 096c69d Refactor Freqtradebot eca8dda Remove unused test-data c57d5ef Added short descriptions and examples in utils.md f2e878d Update helpstring for list-exchanges f6a88c6 Tests adjusted d1fa5f3 Add --all option to list-exchanges cd0e813 Docs adjusted, utils.md added dc47a39 Move ignore to corrct line for mypy 730 04fea69 Bump mypy from 0.720 to 0.730 7617dd5 Add separate message for `hitbtc` exchange f359f86 Bump pytest from 5.1.3 to 5.2.0 d74ca78 Bump ccxt from 1.18.1180 to 1.18.1208 3c91ba1 Bump pytest-mock from 1.10.4 to 1.11.0 9a83d84 Bump tabulate from 0.8.3 to 0.8.5 8ae4018 Bump urllib3 from 1.25.5 to 1.25.6 739901b Add test for this behaviour 03b5be9 some commands should not have config at all 272c977 Add exchanges to the list of bad exchanges 75446d8 Refactor list-timeframes command with the use of the Exchange class methods 448b09d Add list-timeframes subcommand 23665c7 Don't use main.py as entry point in documentation 11bb7e5 use .develop dockerfile, move docs to develop.md, add freqtrade_bash 83e596c chart styling 9391c27 Enhancements to BB plotting fe483ad Don't use the develop dockerfile for local cb6e136 how to exec 5c3fb4d docs for running docker-compose locally 7c6921c pr feedback regarding docker-compose naming 359b0ba Add samples for plotting to jupyter documentation 5234f8b Update jupyter notebook slightly 9a3bad2 Automatically generate documentation from jupyter notebook e8e05b6 split docker composes

</details>

Don't miss a new freqtrade release

NewReleases is sending notifications on new releases.