github freqtrade/freqtrade 2021.4

latest releases: 2024.4, 2024.3, 2024.2...
3 years ago

Highlighted changes

  • Quick Hyperopt - using Parameters to inline hyperopt parameters in the strategy.
    In many cases, this will make a seperate hyperopt file unnecessary.
    Please make sure to read the updated hyepropt documentation for full details.
  • new-config will help configuring the RestAPI and frequi.
  • Technical is part of the freqtrade dependencies and therefore available in the default Docker images (no need to build your custom docker image anymores)
  • Docker images are now using a non-root user to run freqtrade.
  • VolatilityFilter - filtering pairs based on low / high volatility. check the Documentation for more details.
  • Buy / sell fill notification messages. These messages are sent when a order fills - and are disabled by default. Check the Telegram docs for details.
  • Backtesting output is now sorted.
  • Freqtrade will now dynamicaly determine which exchanges can be supported.
  • Improved "unlimited" calculation when stake-currency is deposited or withdrawn.
  • plot-profit will now show absolute Values, no longer Percentage results.

How to update

As always, you can update your bot using one of the following commands:

docker-compose

docker-compose pull
docker-compose up -d

Installation via setup script

# Deactivate venv and run 
./setup.sh --update

Plain native installation

git pull
pip install -U -r requirements.txt
Expand full changelog
e905e0328 Version bump to 2021.4
63c28b651 Remove obsolete get_balance method
1465af50d FTX usable configuration
3f84c37a7 Fix wallet calls
298f54adf Bump pytest-asyncio from 0.15.0 to 0.15.1
6f0a585bd Fix random test failure due to ttl 0  issue
02160d52e Bump scipy from 1.6.2 to 1.6.3
bdcf21e18 Bump pycoingecko from 1.4.1 to 2.0.0
e5bdafd4a Bump ccxt from 1.48.22 to 1.48.76
09a3448fd Bump pytest-mock from 3.5.1 to 3.6.0
14ef080d2 Bump sqlalchemy from 1.4.9 to 1.4.11
4a5eba3db Bump mkdocs-material from 7.1.2 to 7.1.3
bb7ef2f80 Cache pairlist in pairlist, not globally
7448a05f1 Use correct variable in pairlist_manager
fd3afdc23 plot-profit should use absolute values
4636b3970 Fix failed test due to exchange downtime
2eda25426 fix typo in sample_strategy.py
e85553048 hdf5 handler should include the end-date
cb86c90d3 Remove obsolete TODO's
88f26971f Use defaultdict for backtesting
b22377538 Update "output" of jupyter notebook as well
185d754b8 Improve documentation to suggest config-private.json
31b0e3b5e add distribution graph to example notebook
7453dac66 Improve doc wording
d647b841f Add docs how to optimize indicator parameters
5c7f278c8 add tests for IntParameter.range
90476c428 Add "range" property to IntParameter
9dc7f776d Improve log output when loading parameters
191a31db3 NameErrors should not stop loading a different strategy
df16fbd74 Add "dataload complete" message to backtest + hyperopt
4005708f8 Handle edge with volumepairlist and empty pair_whitelist
406c1267a Remove superfluss space
ccaf5764d Small adjustments
0d2457cd4 Add lock_reason to per-pair lock
7e2e19664 improve sell_message by using sell rate
314418540 Allow specifying "new_pairs_days" in config.
f744df237 Fix bad fill message
09efa7b06 Add --new-pairs-days parameter for download-data command.
515c73f39 Don't hard-limit trades endpoint for now
896ec58ca Add the reason why there is a global pairlock when lock is available
92a2e254a Fix backtesting test
d8c8a8d8c Remvoe pointless arguments from get_trade_stake_amount
f7a4331c8 Create config_ftx.json.example
ba2d4d465 Reduce number of calls to `Trade.total_open_traes_stakes()`
0233aa248 Limit stake_amount to max available amount
9f6f3e086 Address ZeroDivisionExceptiond
05ce3acc4 Improve tests for api_trades
759bbd8e7 Update documentation about pagination
bd92ce938 trade_history should paginate through results
cfa9315e2 Prevent out of candle ROI sells
5defd9a7f setup.sh: Install libpython3-dev on Debian/Ubuntu
fd110c7d6 The error that it prints says the contrary to what was evaluated.
f821ef5ae Final finetunings of rpc_fill messages
efbe0843b Add documentation for fill messages
d740aae8c Default fill notifications to off
0341ac5a5 rename RPC message types
8800a0977 Don't send double-notifications for stoploss fills
fecd5c582 Add buy and sell fill notifications
71b017e7c Simplify webhook test
06d6f9ac4 Fix calculation of unlimited_stake in case of modified wallet
1936dd1ee Add test-case verifying "changing" wallet
2254f65fa use binance intests instead of bittrex
bd7e535e4 Use "human" amounts in stake_amount tests
c9e901cf3 Move wallet tasks to test_wallets
75612496d Improve poweredBy logo spacing
a2acb54e7 Clarify comments in pairlist
0ddc68b37 Bump ccxt from 1.47.47 to 1.48.22
66b3ecfee Remove faulty font-family in svg
9407dbcf8 Add freqtrade powered by ccxt
b94de3030 Bump mkdocs-material from 7.1.1 to 7.1.2
59d02f3f0 Bump sqlalchemy from 1.4.7 to 1.4.9
05246e663 Bump pandas from 1.2.3 to 1.2.4
8d2e6954a Bump flake8 from 3.9.0 to 3.9.1
296ea30cc Bump pytest-asyncio from 0.14.0 to 0.15.0
0737e3fa2 Clarify refresh_period section for volumepairlist
44bfb5366 Don't use current rate for closed trades
fbb907553 Update util command structures too
c8d3d449a Add quick test for pair_whitelist overwrite
6a9c47d15 Update docs with new options
1eb9ce422 Allow specifying pairs for optimize commands via `--pairs`
5c579613e add /trade endpoint to rest_client script
aeb81f90f Implement errorhandling for /trade endpoint
e6936ae13 Improve wording in docs
8ce5522a1 Add additional documentation for SKDecimal space
2011912a1 Adapt documentation to use 3 decimals only
01b303e0f Aligning the doc
5e51ba625 fix flake8
ce870bbcf Use 3 decimals for ROI space
714278725 Roll back unintended changes that break rendering
c9c039d64 remove `copy()` from `custom_info` example
ce23d9dfe Fix test min stake amount
885096f2b Update tests for get_min_pair_stake_amount
fa343b048 Fix get_min_pair_stake_amount formula
52c482cec Convert trailing and roi defaults to skdecimal
e82081480 Default-stoploss-hyperopt should use decimal space, nto real
862df2b43 Add blacklist recommendation for kucoin
ba38e398e Add type hint
c316531c4 make tests 3.7 compatible
c2f35ce41 /balance should use cached tickers when possible
82d66410f Fix /performance output
521e48c94 Add doc section for Kucoin
e4bb6b158 Add kucoin exchange subclass
638cd4e8f Upgrade cleanup action to latest version
37c8fd6ad Remove arrow from models.py
e0f2bb616 update conda dependencies to make compatible with tables package
99e7ee127 Fix ftx stoploss creation test
f1cf56cc4 Update current_whitelist test
9b23be402 Return a copy from `current_whitelist`
4b902d6eb Don't use response-model on trades endpoint for now
9a58a8534 Don't export "hum" date versions for trade objects.
1194d0c0f Update brew before installing packages
d4dc05980 Update ftx.py
f1ac6853f Fix discord invite link
c19ebc015 Bump mkdocs-material from 7.1.0 to 7.1.1
53bbb2b42 Bump ccxt from 1.46.38 to 1.47.47
1b925ec4a Bump sqlalchemy from 1.4.5 to 1.4.7
906c4e64d chore(readme): Fix markdown of docker manual
aaf9872ef Simplify webserver test
4820b4b31 Fix test failure
579e68f31 Reduce log verbosity when  buying
96a5b6555 fix documentation inconsistency fixes freqtrade/freqtrade#4650
14e857423 fetch_balance is never called in dry-run
37c2e037f Rename dry_run_order to create_dry_run_order
ebbe47f38 Simplify fiat convert and fix USD coingecko problem
9804e2011 Don't use _set_value for autoOpt-Spaces
83fbaf16c Extract numeric param validation and explosion
ea4b5d675 Don't explode low/high, but use explicit parameters
34e47db18 Test SKDecimal space
fedff1a75 Fix failing test
5f6740064 Add SKDecimal Space
126127c1e Fix armHF image to use ftuser on install too
4b2cec22e Chown .local dir
0b4b67e46 add FAQ entries for shorting, futures, and options
644dcc164 Only allow chown via sudo
4eb251ce4 Update dockerfiles to run as non-root
898c24949 Add chown method to support docker
74bf0b639 Fix typo in documentation
5a5c5fccf Add gitattributes file
862f69f89 removed typos
f8244d9d7 resolves freqtrade/freqtrade#4650
4d30c32ad Improve resiliancy of a test
5ee879a74 isort resolves freqtrade/freqtrade#4650
17508efbb resolves freqtrade/freqtrade#4650
7f8d90d34 Update list-exchanges doc with new format
d2680f6cb Remove telegram deprecation warning
ac6bff536 Fix test failure with UI test if UI is deployed
0f0607bae Fix rangeestability filter caching issue
9772a9363 resolves freqtrade/freqtrade#4650
9089323d2 resolves freqtrade/freqtrade#4650
187cf6dcd VolatilityFilter resolves freqtrade/freqtrade#4650
a3b4667f7 Update exchange validation to use "validate_exchange".
b6599c1da Improve Kraken-specific config description.
5ed782844 Remove hardcoded list of non-working exchanges
f37fbbf4e Update constants.py
c40b811f1 flush after creating mock trades
bf0886a83 Update constants.py
56ef3af42 Allow comments in pairs files
1733e2406 pyLint adjustment resolves freqtrade#4650
be770a894 added VolatilityFilter resolves freqtrade#4650
6f02acdbb Revert "resolves freqtrade/freqtrade#4650"
142690c93 resolves freqtrade/freqtrade#4650
ddabfe020 adjust tests to match new exchangelist output
969d44a95 Update Dockerfile.armhf
0550f261f Add exchange_has validation
6633752fc Bump python from 3.9.3-slim-buster to 3.9.4-slim-buster
fc78246bb Some changes to rest-api docs
ddba0d688 Add new trade endpoint to docs
c176e277f Add a REST endpoint for getting a specific trade
78a84f808 Allow --hyperoptloss in addition to --hyperopt-loss
7b2a0d46c Fix typo
3044aa18e Add warning for hyperopt-parameters
c51839dc3 Make the logmessage for loaded parameters clearer
dc406fe19 Fail in case of name and explicit space name collisions
7132aefd6 Rename Trade.session to Trade._session
af5258181 Update Dockerfile.armhf
e979f132e Bump python from 3.9.2-slim-buster to 3.9.3-slim-buster
ea0b47a7f Replace test occurances of Trade.session with Trade.query.session
0407bf755 Use .query.session to make sure the scoped session is used properly
abbc56c1c Bump pytest from 6.2.2 to 6.2.3
36b39f913 Bump pycoingecko from 1.4.0 to 1.4.1
320172a22 Bump sqlalchemy from 1.4.3 to 1.4.5
fc2f9fd0c Bump ccxt from 1.45.44 to 1.46.38
342f14472 Bump mkdocs-material from 7.0.7 to 7.1.0
c2be9b971 Improve backtest assumptions with fill rules
9e56f6d4e Sort pair lists by total profit
30e5e9296 Don't allow one parmeter to be in 2 spaces
9d4b5cc6b Fix typo
5f6eae52a fix too long performance message
6555454bd Remove more ticker_interval occurances
771fc0574 Update sample strategy with hyperoptable Parameters
093d6ce8a Add sample for Nested space
c2d43a526 Combine Legacy and advanced hyperopt sections
32a503491 Reorder hyperopt methods
4eb7ce52c Remove duplicate entries from hyperopt_legacy
faf40482e Fix parameter printing.
23c19b685 New hyperopt documentation.
e7a1924aa Fix typo
7728e269f Include Technical in default image
ea43d5ba8 Implement DecimalParameter and rename FloatParameter to RealParameter.
3691ae868 Make sure the fiat converter exists before calling it
ede26091b Add validation in the right places...
f47dc3178 Refactor the comparison involving `not`
2c0079b00 Add profit_fiat to tests, use ANY, as price changes...
51f0fcb2c Add profit_fiat to REST API
d64295ba2 Adapt test strategy to new parameters
5acdc9bf4 Fix type errors by converting all hyperopt methods to instance methods
5e5b11d4d Split "enabled" to "load" and "optimize" parameters.
2869d5368 Allow edge to use dynamic pairlists
50fcb3f33 Reduce verbosity of missing data if less than 1% of data is missing
89bbfd232 Remove candle_count from dataframe before backtesting
6954a1e02 MOre tests for ParameterHyperopt
5d5debab6 Bump scipy from 1.6.1 to 1.6.2
3e864a87a Bump cryptography from 3.4.6 to 3.4.7
dacaa4a73 Bump ccxt from 1.43.89 to 1.45.44
8d01767a4 Fix CI syntax
95a9c9276 Add permission-check before slack notify
8e49271e6 Bump prompt-toolkit from 3.0.17 to 3.0.18
607c05b3c Bump sqlalchemy from 1.4.2 to 1.4.3
e5789b36c Bump numpy from 1.20.1 to 1.20.2
932284574 Bump mkdocs-material from 7.0.6 to 7.0.7
f6211bc00 new-config should include API config
fc8478111 Improve strategy template
929f32960 more tests
20f7e9b4b Make BaseParameter get_space abstract
802238640 Type custom_hyperopt
4fd7bedcb Sort imports ...
71e213469 Add some simple tests for hyperoptParameters
786ddc6a9 remove unused imports
e934d3ddf [SQUASH] Oopsie.
40f5c7853 [SQUASH] Add a way to temporarily disable a parameter (excludes from parameter loading/hyperopt) and print parameter values when executed.
bbe6ece38 [SQUASH] Fix parameter configs not loading.
424cd2a91 [SQUASH] Use "space" instead of category.
fd45dfd89 [SQUASH] Make skopt imports optional.
11689100e [SQUASH] Fix exception when HyperOpt nested class is not defined.
e9f0babe8 [SQUASH] Use HyperStrategyMixin as part of IStrategy interface.
2d13e5fd5 [SQUASH] Oopsies.
bb89e44e1 [SQUASH] Address PR comments.
0a205f52b Optional support for defining hyperopt parameters in a strategy file and reusing common hyperopt/strategy parts.
4d8183491 Merge `isinstance` calls
45da3a702 Refactor unnecessary `else` / `elif` when `if` block has a `continue` statement
910e15b17 Remove methods with unnecessary super delegation.
6d6ad035d Remove length check in favour of truthiness of the object
537ad059b Remove unnecessary use of comprehension
62d99a0b7 Remove unnecessary comprehension
4f5a1e94a Add .deepsource.toml

Don't miss a new freqtrade release

NewReleases is sending notifications on new releases.