github freqtrade/freqtrade 2019.6

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

This release will change the version-number from "random" numbers to calendar-based versioning, so it's immediately obvious how old a version is.

some important changes

  • many usefull improvements to hyperopt
  • Add REST API server/client to control the bot
  • tons of bugfixes and small improvements

Full Changelog

e83f8941 Fix documentation grammar
d6dbb21a Update mypy from 0.701 to 0.710
90ada064 Update wrapt from 1.11.1 to 1.11.2
e8429bd2 Update sqlalchemy from 1.3.4 to 1.3.5
5a30f046 Update ccxt from 1.18.725 to 1.18.805
11d39bb0 Improve wording
116d8e85 typos in docstrings fixed
5b84cb39 typo fixed
7f018839 diverse cosmetics to options help strings
3716c04e fix help string for --db-url
451d4a40 fix help strings shown to the user
4cbcb5f3 Move .title to ExchangeResolver (it does not make sense to do this over and over again)
026784ef remove get_tickers_data from plot_dataframe
cc56d0e0 Remove unneeded initialization
559d5ebd Remove combined load-method since it's confusing
3e61ada3 Be explicit in what is used, db or trades
8758218b Add data-analysis documentation
de38aea1 Fix sequence of loading trades
db17b20e Don't require pairs but fall back to pair_whitelist instead
a581ca66 Adapt test after merging develop
7a0d8666 Mypy type errors
1a27ae8a Add tests to verify that ticker_interval is there
f907a487 make ticker_interval available to hyperopt functions
89ba649d Test handling errors while trailing stop loss
63640518 Gracefully handle errosr when cancelling stoploss orders
a8dcfc05 Add test to verify InvalidOrder is handled correctly
dd379c41 Cancelling stoploss order should not kill the bot
911e71cd remove redundant test-functions
0866b5f2 allow reading config from stdin
860e0563 --datadir is now handled in arguments.common_options()
c6fed4e4 make flake happy
8c40a406 arguments cleanup
6f950bbd json validator cosmetics
0e7ea1da Update coveralls from 1.8.0 to 1.8.1
6973087d Update pytest from 4.6.2 to 4.6.3
25755f6a Update ccxt from 1.18.667 to 1.18.725
ba4890d3 Fix tests on windows
7cd36239 UPdate documentation with new value
06afb3f1 Don't use "limit" for sell-orders either
55712292 Add order_type to sell-notification
475e76b2 Add order_type to buy_notification
d217f32b minor: fix typo in freqtradebot.py
195bf5a4 tests adjusted
813c008a setup_configuration() cleanup
765eff23 Fix typo
0eb109f8 Improve some tests
fc3e3c46 File existence is checked in load_backtest_data
4b7dfc64 Add test for generate_plot_file
488bb971 Get rid of global conf object
907c2f1e Copy plot options to config
3f04930f Require pairs argument
0300128c Move plot-options to arguments.py
bf2c0390 Adjust some imports
1cd84157 Move extract_trades_of_period to btanlaysis
1c53aa56 Add tests for load_trades
c7643e14 Move load_trades to bt_anlaysis
9f5ca82f Add more tests
6db4e05a Improve plotting tests
2891d7cc Add initial plotting test
cae21854 Move generate_plot to plotting.py
63471619 don't use print in plot_dataframe
b1a01345 Add better hover tip
e0a1e541 sanity checks before plotting, cleanup
6df0b39f Cleanup plot_dataframe a bit
68af6d41 Move plot-functions to plotting module
583d70ec add plot module proto
9035e0b6 Update function due to merge of #1926
114de8a0 Remove unused imports
442339cd Add tests for utils.py
e6cab6d7 Move get_args from multiple locations to conftest
472e7f80 Fix Line too long error
4a916125 Tests need to pass pair to parse_ticker_dataframe
89ff614e Add pair as parameter, and warn when fillup was necessary
55079831 Don't explicitly validate backtest data (it's done while loading now).
d047a9d8 Adapt tests for new validate_backtest signature
cd4cf215 Convert validate_backtest_data to take dataframe directly
01b5ece6 Log missing data filllup if necessary
36dd061b Update slack link since the old one expired
a77d75eb Check log output since that's whats shown to users
707118a6 Test stake changed to unlimited
ad9dc349 edge cli should override stake_amount
09cd7db9 make flake happy
1af98871 add --one-column as an alias option
cedd3845 remove configuration from list-exchanges
1afe6c14 Don't run validation per strategy, it's only eneded once
941fb4eb tests added
ee113ab8 log messages aligned
04ea66c9 fix handling timeframes
9657b1a1 explict parse to string for ticker-interval
e08fda07 Fix bug with timeframe handling
550fbad5 Add test-cases with trailing_stop_offsets
160894c0 Calculate profit_high to make sure stoploss_positive_offset is correct
578180f4 Add test for sell-signal sell
b64b6a25 Support trailing_stop_positive options in BTContainer
a4d84242 trailing_stop_positive should only be set when needed, and none/undefined otherwise
a65c89f0 test adjusted
0cc2210f wording fixed
8df40a6f make flake happy
9c649658 list-exchanges subcommand added
dc7f8837 no need to duplicate this long error message
db6ccef6 return back check in init_ccxt()
676e7300 enhance check_exchange
7322a34f fix metadata in tests
4801af4c debug logging for IStrategy.advise_*() added
d55f2be9 make flake happy
cd60d6d9 make --days positive int only
dc0326db fix handling --exchange
6636f0c7 Update pytest from 4.6.1 to 4.6.2
1a41d4e6 Update python-rapidjson from 0.7.1 to 0.7.2
9961c0e1 Update arrow from 0.14.1 to 0.14.2
5c5b0eff Update ccxt from 1.18.615 to 1.18.667
4dc3a0ca Small cleanup to reduce dict lookups during backtesting/hyperopt
90b0f1da minor optimize cleanup
792390e8 Add missing parameter for exchange-verify snippet
9f2e0b11 Parametrize ohlcv_candle_limit (per call)
33805438 Add test for drop_incomplete option
ce317b62 Add docstrings to load_pair_history
6ad94684 Add WIP document of steps to test a new exchange
fdbbefdd Make drop_incomplete optional
3fe5388d Document _ft_has_params override
7108a2e5 Add deep_merge for _ft_has and test
9c497bf1 Improve docstring for deep_merge_dicts
d7c63347 Use kwarg for parse_ticker_dataframe
adc12ed0 Fix new test after develop merge
5273540a Fix test failure (double-trailing newlines are removed now)
f9fe2663 check for runmode before retrieving the orderbook
a9ed5da3 added doc for DataProvider.orderbook()
2e6ded06 removed redundant print()
71342739 Update plotly from 3.9.0 to 3.10.0
f75e97e9 Update coveralls from 1.7.0 to 1.8.0
a132517f Update pytest from 4.5.0 to 4.6.1
3c1ae07f Update flask from 1.0.2 to 1.0.3
4ef8a749 Update arrow from 0.13.2 to 0.14.1
51113dae Update sqlalchemy from 1.3.3 to 1.3.4
c04a8a10 Update ccxt from 1.18.578 to 1.18.615
bd8edd61 Update numpy from 1.16.3 to 1.16.4
107c3beb Fix test-failure introduced in #1891
36dae7cc trailing stoploss reason fixed
c68fe7a6 example how to use best bid and ask in strategy
19942646 implemented DataProvider.orderbook()
338f2a23 Use kwarg to call persistence.init()
1add4326 docs adjusted
e4e22167 make mypy happy
6b144150 fix handling of SystemExit
ef15f2bd log messages slightly improved
39932627 typo in log message fixed
11f535e7 change prints to logging
f463817c change metavar for --pairs-file
b6e8fecb Change persistence.init parameter
d6cf3144 Don't default to false for init()
fb88953b refactoring download_backtest_data.py
15984b5c Adjust some tests - implement new "live" method to plot_script
c2f6897d Move download of live data to load_data
d7bebc43 persistence.init does not need the config dict
7b367818 Remove duplicate code
9e4dd6f3 Read bin/freqtrade with deprecation warning
22144d89 Fix mypy error
c5ef700e Use autogenerated entrypoint
17d614c6 Remove binary script - allow None arguemnts
7406edfd Move set_loggers to main()
ea83b2b1 legacy code removed.
db2e6f2d tests adjusted
58477dcd cleanup: return after cmd removed in main()
536c8fa4 move python version check to the top
55bdd264 Edgecli -> Edge for Runmode and start_edge()
89f44c10 Fix grammar error
8b028068 Fix typos, add section for custom indicators
f7766d30 Improve plotting documentation
09e037c9 Update scikit-learn from 0.21.1 to 0.21.2
bfb6dc4a Update cachetools from 3.1.0 to 3.1.1
196a1bcc Update ccxt from 1.18.551 to 1.18.578
19886626 Update plot-script to work with exported trades
dab4307e Add secure way to genreate password, warn if no password is defined
e335e6c4 Fix some wordings
0e228acb minor: exchange debug logging humanized
201e02e7 Add test for Timeout - move tests to test_history
71447e55 Update missing import
8ad30e26 Adapt tests
104f1212 Move edge_cli_start to optimize
65a4862d Adapt tests to load start_* methods from optimize
236c392d Don't load hyperopts / optimize dependency tree if that module is not used
b38c4314 Adjust imports to new location
9225cdea Move validate_backtest_data and get_timeframe to histoyr
26a8cdcc Move telegram-setup to telegram page
3e0a71f6 Add docker install script to mkdocs index
4394701d Seperate docker-documentation
b6484cb2 Replace technical link
90ece09e require username/password for API server
febcc3dd Adapt tests and rest_client to basic_auth
2da71451 Switch auth to real basic auth
5bbd3c61 Add documentation
1fab884a use Authorization for client
04c35b46 Add authorization to tests
7e952b02 Add basic auth to rest-api
469c0b6a Adjust check_int_positive tests
c3e93e75 fix reduce() TypeError in hyperopts
7bbe8b24 Add a few more testcases for check_int_positive
7b968a24 logger.exception cleanup
253025c0 Add tests for check_int_positive
7b074765 Improve edge tests - cleanup test file
6e1da139 Log message changed
406e266b typo in comment fixed
2c9a519c edge: handle properly the 'No trades' case
98eeec31 renaming of make_testdata_path reverted
7cb75375 tests adjusted
11dce912 data/history minor cleanup
51aa469f Cleanups
58ced364 Add documentation for stoploss updates
11fd8a59 cleanup stoploss documentations
a39cdd3b Exclude Edge from startup-stoploss calc
53af8f33 Deep-copy default_conf for edge config
9f541814 Add test for stoploss_reinit
6a5daab5 add logic for stoploss reinitialization after startup
349c0619 Move startup to freqtradebot
96a34f75 Adapt test to new output from arrow
04e13eed Update filelock from 3.0.10 to 3.0.12
5b24ac78 Update scikit-learn from 0.21.0 to 0.21.1
34c7ac89 Update requests from 2.21.0 to 2.22.0
3404bb18 Update arrow from 0.13.1 to 0.13.2
de95e508 Update ccxt from 1.18.523 to 1.18.551
703fdb2b Update scipy from 1.2.1 to 1.3.0
e7b9bc68 minor: remove noisy useless debug message
fc96da86 Fix grammar messup
f93e6ad0 Rename strategy customization file
8d8b4a69 Clearly warn about using future data during strategy development
2cf07e21 rename exception handlers
e6ae890d small adjustments after first feedback
79cac36b Reference reest api in main documentation page
9385a27f Sort imports
f2e4689d Cleanup script
70fabebc Document rest api
c272e1cc Add default rest config
fd5012c0 Add test for api cleanup
bfc57a6f Adapt tests to new method of starting flask
540d4bef gracefully shutdown flask
5149ff7b Move api to /api/v1
01cd68a5 Test forcesell
b700c64d Test forcebuy - cleanup some tests
350c9037 Test falsk crash
39afe4c7 Test flask app .run()
b9435e3c Add more tests
a7329e5c Test api-server start from manager
a146c5bf Improve jsonification
557f8495 Improve 404 handling
03dc6d92 Remove hello()
3c468701 Test /count for api-server
88dd18e0 Move patch_signal to conftest
6b426e78 Tests for balance
70a3c2c6 Actions - Add tests
6ea08958 Fix docstrings
b1a14401 Add some initial tests for apiserver
e0486ea6 Make app a instance object
0ac434da Add forcebuy jsonification
6e4b1596 Add forcebuy and forcesell
bc4342b2 small cleanup
cb271f51 Add client actions for actions
ea8b8eec Add edge handler
b1964851 Add performance handlers
393e4ac9 Sort methods
0163edc8 rest-client more methods
3efdd55f Support blacklist adding
122cf4c8 Default add to None for blacklist rpc calls
938d7275 implement some methods
8f9b9d31 Reorder arguments
d1fffab2 Rename internal methods to _
ebebf947 Change commands to post
b0ac98a7 Clean up rest client
a132d6e1 Refactor client into class
a1043121 Add blacklist handler
5ba189ff Add more commands to rest client, fix bug in config handling
d2c28112 Move rest-client to scripts
99875afc Add default argument
ae8660fe Extract exception handling to decorator
01c93a2e Load rest-client config from file
d8549fe0 add balance handler
a12e0934 Api server - custom json encoder
2f808843 All handlers should be private
3cf6c6ee Implement a few more methods
8993882d Sort imports
c6c2893e Improve rest-client interface
96a260b0 rest_dump
6bb2fad9 Reorder some things
9d95ae93 Add flask to dependencies
68743012 Patch api server for tests
ef2950bc Load api-server in rpc_manager
6f67ea44 Enable config-check for rest server
26c42bd5 Add apiserver tests
c3c745ca Get new files from old branch
e2b83624 data/history cleanup
2741c5c3 inherit freqtrade exceptions from Exception i.o. BaseException
8b95e124 log message adjusted in backtesting and hyperopt
90a52e46 tests adjusted; new test_start_no_data() added for hyperopt
5677c488 minor: add ticker data validation; log backtesting interval
1cd98665 Update pyup only weekly
600f660f Update ccxt from 1.18.522 to 1.18.523
003461ec tests adjusted
00b4501c avg profit and total profit corrected (to be %, not ratio); comments cleaned up a bit; typo in the log msg fixed
11dca0bd Update pytest from 4.4.2 to 4.5.0
dccd6b4a Update ccxt from 1.18.519 to 1.18.522
46b1ecc7 Fix #1840 - Support balances other than USDT
652914a6 Update python-rapidjson from 0.7.0 to 0.7.1
22f902f0 Update ccxt from 1.18.516 to 1.18.519
131b2321 Add sample for order_types in config (slightly different syntax)
52da64b6 Align configuration files
75306b7a tests adjusted
ab23db2f Update scikit-learn from 0.20.3 to 0.21.0
349d5563 Update ccxt from 1.18.514 to 1.18.516
0f43e0bb minor hyperopt output improvements
00383b94 Update pytest from 4.4.1 to 4.4.2
f36ccdd9 Update ccxt from 1.18.512 to 1.18.514
909df0d7 Improve doc wording
0410654c Add printing dataframe to documentation
45e58677 heikinashi loop optimized; reset_index moved to tests
1ccc25b4 Fix test-data indexing
cf1ad3fd Update ccxt from 1.18.509 to 1.18.512
2554ebf2 fixed: heikinashi worked in backtesting, but failed in tests with testing arrays
d642e03c heikinashi performance problem resolved
db0644ed Update plotly from 3.8.1 to 3.9.0
a8c4bed4 Update ccxt from 1.18.508 to 1.18.509
6467d3b5 check python version
c8b8806f Update ccxt from 1.18.507 to 1.18.508
1a677c74 Add explicit test for to_json
2b78f73f Adapt tests to to_json method
31d27108 Move json to persistence
2200a022 fixed heikinashi
1e056ee4 Move trade jsonification to trade class
6c03246e Update ccxt from 1.18.502 to 1.18.507
f506644a Improve docker documentation
66c2bdd6 flake happy
1be4c594 qtpylib/indicators.py updated
32e4b0b1 Update pytest-cov from 2.6.1 to 2.7.1
dad55fe7 Update ccxt from 1.18.500 to 1.18.502
6c2301ec Update ccxt from 1.18.497 to 1.18.500
46214ce7 Fix typo after feedback
26969998 test adjusted
4cecf046 Update ccxt from 1.18.496 to 1.18.497
e7b81e4d hyperopt --min-trades parameter
b24bbb2c Improve test for reload_conf with a "realistic" workflow
5665426e better type hints in worker
61506797 Update ccxt from 1.18.493 to 1.18.496
537c0350 fix #1810
91642b2b Add tsts for forcesell-answers
f71eda1c Have forcesell return a result
59bd081e Update ccxt from 1.18.492 to 1.18.493
21b31f11 Update ccxt from 1.18.491 to 1.18.492
40c02073 revert erroneous refactor
dc12cacd Rename requirements-pi to requirements.common
99b08fbd Remove unused Hyperopt test lines
bf2a39b7 Fix add requirements-pi.txt in dockerfile earlier
eaf5547b Update ccxt from 1.18.489 to 1.18.491
ea44bbff prevent hyperopt from running simultaneously
45ecbc91 Use BaseError, not NetworkError in exception handler
22eb6cb5 Fix typo in args_to_config
65dcb6ac Catch errors on reload_markets
b4630c40 Add typehints
86313b33 Combine optimize configurations, eliminate duplicates
87329c68 Change ticker_interval too
ca3b8ef2 Remove duplicate argument
a0413b5d Only log one message per call
d6276a15 Convert all optimize to args_to_config
39f60c47 Add some more arguments to args_to_config
17cf9d33 add _args_to_conig
59f905a5 Update ccxt from 1.18.486 to 1.18.489
06057129 Update ccxt from 1.18.486 to 1.18.489
30888cf5 have pyup ignore outdated dependency
eb89b65b Downgrade urllib3, cleanup requirements files
a8e787fd test adjusted
ad692c18 Improve comment
a92d5f35 Parametrize default-param tests
95ebd077 an attempt to fix mocking
6a0f527e merge --job-workers and commit printing debug log messages with the opt state
65a82d7e Add some missing default parameters
6d2a1cfb remove full-config in tests and load full_config file
a429f83f flake happy; check_positive() renamed
2f0ad0d2 test adjusted
cc9f899c removed explicit dependency on multiprocessing module
a022b1a6 --random-state for optimzer to get reproducible results added
8568459c Update urllib3 from 1.24.2 to 1.25
9a2eb46c Update urllib3 from 1.24.2 to 1.25
48e2bd51 Update ccxt from 1.18.485 to 1.18.486
a2a70bd6 Update ccxt from 1.18.485 to 1.18.486
3e3fce5f print optimizer state in debug log messages
7c8e26c7 -j/--job-workers option added for controlling the number of joblib parallel worker processes used in hyperopt
8dad8f25 docs refreshed
ad85ac3d make --refresh-pairs-cached common option for optimization; added support for it into hyperopt
3da1b24b Update numpy from 1.16.2 to 1.16.3
42d2b24d Update ccxt from 1.18.483 to 1.18.485
8685fcd5 Update ccxt from 1.18.483 to 1.18.485
676cd6ff Add assert to make sure trade was closed
a9de2f80 Add tests to update wallets after closing a limit-sell
6b87d94b --print-all command line option added for hyperopt
706b30f4 Fix "if" condition with "if not" for check if trade is open.
3bcc6033 Added command for Wallets Sync after a trade is closed in "update_trade" method in "freqtradebot" class, this will help the Wallets get updated after a trade is sold and closed, specifically LIMIT_SELL trades, then bot can work properly with new trades.
abc4840d Update ccxt from 1.18.481 to 1.18.483
a118003d Update ccxt from 1.18.481 to 1.18.483
395aed5f Update plotly from 3.8.0 to 3.8.1
278e5f4c Update ccxt from 1.18.480 to 1.18.481
7fa50465 Update ccxt from 1.18.480 to 1.18.481
9b8067cb Improve developer documentation
8e8ec2fb version to 0.18.5-dev
5a65b6ca Update ccxt from 1.18.475 to 1.18.480
ed6a92cd Update ccxt from 1.18.475 to 1.18.480
72657758 Restore get_market_pairs from develop
d82fb572 Update pytest-mock from 1.10.3 to 1.10.4
5c10e9a7 Update urllib3 from 1.24.1 to 1.24.2
578ad903 Update urllib3 from 1.24.1 to 1.24.2
789b4458 Update ccxt from 1.18.472 to 1.18.475
c299d924 Update ccxt from 1.18.472 to 1.18.475
c3a9db64 change comments to docstrings
8bdbfbf1 tests for options added
f03acce8 typing of return value corrected
9fbe573c limit usage of ccxt to freqtrade/exchange only
3e4dd501 docs adjusted
cb2f422e make `name` option required again
4559a381 PoC: use defaults in json schema for some exchange options
91dc2b96 support for defaults in json.schema

Don't miss a new freqtrade release

NewReleases is sending notifications on new releases.