2024.5
Highlighted changes
- Add BingX to supported exchanges.
- Add BingX Stoploss on exchange support.
- Ensure backtesting is using worst-case fees.
- Fixed bug in backtesting where trades closed through
adjust_trade_position()
would not properly close. - Don’t auto-convert trades data to OHLCV if the exchange supports ohlcv downloads. (adds
--convert
argument todownload-data
). - Add Auto-format codebase to simplify contributions (this elliminates opinions about code styling and enforces a simple, generic style).
- Support IPv6 addresses for webserver listen address.
- Allow API’s for coingecko (both Demo and PRO). If provided, applies to both Fiat conversion and
MarketCapPairList
. - Allow empty string for
fiat_display_currency
- to simplify disabling fiat conversion.
Sponsors
You can sponsor the work on freqtrade via the following links:
- froggleston (FTUI) https://github.com/sponsors/froggleston/
- robcaulk (freqAI) https://github.com/sponsors/robcaulk/
- xmatthias (freqtrade and freqUI): https://github.com/sponsors/xmatthias/
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
8fc705608 Bump version to 2024.5
d98357235 chore: update pre-commit hooks
7ca96beca Amend rate to amount
b27e52b27 Update rest-api.md
efe610108 Remove bitmart online test skip
d9f48f2ca Bump ccxt from 4.3.30 to 4.3.35
9d432baf3 Don't hard-pin ta-lib in armhf image
0e253cb07 Update buildx CI setup to supported action combination
89d8f27d2 Add fix for bitmart failing test
6952bac91 fix: codespell skip's to also work correctly on pre-commit hooks
6f7c82c9a chore: update pre-commit hooks
72d33070d Fix a few codespell typos
9705f40cb Exclude leverage tier cache from codespell
5e0f64ef5 Pre-commit action should not run pre-commit
49f580ce2 Upgrade ta-lib wheels
20d7ccf86 Bump scipy from 1.13.0 to 1.13.1
b12d5b4cb Update pre-commit types-requests
ce4211d22 Bump schedule from 1.2.1 to 1.2.2
a7adb6721 Bump ta-lib from 0.4.28 to 0.4.29
b2f204855 Bump python-telegram-bot from 21.1.1 to 21.2
5c2a1dce7 Bump ruff from 0.4.4 to 0.4.5
1bfa40a2c Bump scikit-learn from 1.4.2 to 1.5.0
2cc9fe604 Bump mkdocs-material from 9.5.23 to 9.5.24 in the mkdocs group
3b8aa4677 Bump types-requests in the types group
83bb65132 Bump ccxt to the required version for bingx
30ad4ca9a Add bingx to list of supported exchanges
34d7d530a chore(tests): Filled orders should have an average.
c6d132376 Add Binance filled order
89e3fc1c6 Test bingx order parsing
64c7f6b06 Improve bingx file formatting
71cb2ded7 Add Bingx stoploss documentation
7f990e7df Enable bingx stoploss
46e97e580 fix htx: Reduce amount of data downloaded on higher timeframes
32ff3ebb9 Improve handling for immediately canceled orders
9d3073d93 Add test for new "fully cancel" logic
edd92194b have handle_onexchange_order delete trades if no order filled.
ec0f6cb24 Add Properties for canceled orders to trade_model
dc92787f1 Fix gone-wrong hyperopt fix
d59422159 chore: update pre-commit hooks
c3fa8a4c4 feat: Allow empty fiat_display_currency
23aef6e05 Bump requests to 2.32.2
d52431c58 --- updated-dependencies: - dependency-name: requests dependency-type: direct:production ...
531843ebc Improve message for fiat_display_currency
1588a4253 Update tests for coinGecko updates
468d0f8cf use FtCoinGeckoApi for marketCapPairlist, too
2cd3089b3 Update fiat-convert test cases
94e0a808b Add test, invert logic
9e0ccb1cf Rename coingecko wrapper file
8d1285bb2 Set session params instead of headers
5fd76a79f Add coingecko API documentation
3729daf08 Add type check for coingecko settings
1ff162cf1 Use coingecko api keys
773940e05 Update mocks to FtCoinGeckoApi
62166e23f Improve singleton pattern
cb1600d7b Update fiat_convert to use FtCoinGeckoApi
c1f780794 Add CoinGeckoApi Wrapper
7a309d692 Add explicit "fiat convert singleton" code
95077f475 Remove unused "mocker" fixtures in fiat_convert
0c16a4599 Fix odd bug related to singleton usage
4d2db3344 Add support for ipv6
f47272162 Update pyarrow wheels for 16.1.0
1a86d8120 Initial config for Bingx stop orders
1ae134e94 Bump pyarrow from 16.0.0 to 16.1.0
02a131821 Bump coveralls from 4.0.0 to 4.0.1
0d1917690 Bump ccxt from 4.3.24 to 4.3.27
70f847b0a Bump python-rapidjson from 1.16 to 1.17
79e522162 Bump mkdocs-material from 9.5.22 to 9.5.23 in the mkdocs group
6174817bc Bump the pytest group with 2 updates
e49fec553 Simplify conftest setup (1000 fewer lines!)
cdf42604c Update conftest hyperopt result
c1d26d033 Don't calculate the "legacy" version of drawdown anymore.
3bf02c8a6 Simplify hyperopt drawdown logic
a9f13d29f Fix test type errors
480477d17 Improve profitdrawdownhyperopt balancing
2a1ff7f9b Try improve profit-drawdown hyperopt
acae6e75f Improve drawdown test case
e35ad64d6 Move SQL Cheat-sheet into Advanced section
b2cce5ccd update download data docs
c6a513481 Improve wording of log message
c0d43f6d0 Improve line formatting
223741015 Upadate test for new download-data functionality
aa0f90bb6 Don't convert trades to OHLCV unless explicitly specified
e6d5aa134 add --convert-trades argument to download-data
9b031490c Update all CI build stuff to 3.12
9ebdbed21 Update CI workflows to use 3.12
968f74edb Update docs for full 3.12 support
1e0782b62 Add support for python 3.12 in setup.sh
8d93f2718 Add simple test for "fetch_my_trades" parsing quality
34b06cd9a Bump ccxt min-version
1e04140ff Partially revert bybit leverage-tiers workaround
a92178dd6 load_cached_leverage_tiers should allow a remote cache period
e17afb255 Bump ccxt to 4.3.24
1e2662b62 Greatly simplify leverage tier loading for binance
c06ae41fe Remove catboost stdout workaround
19d6ce544 Remove custom build process
c955aa02d No extra styling ...
2a8cfd2e9 Add extra rtd rules ...
5fba44abe use dynamic build process for RTD
fb73e23e6 chore: update pre-commit hooks
d318c20d8 Bump ccxt.pro to 4.3.23
702ac14f2 Fix using wrong type
a6b07ec96 Remove compatibility layer for calculate_max_drawdown
c79b75ff9 Update remaining tests
a6050cb77 Update tests for new interface
bcb59265b Use default parameters for DrawdownResult
94786454b Use calc_drawdown method throughout the bot
0aa3ec284 Have hyperopt-loss function use calc_max_drawdown
c8eb22dcb Add typed max_drawdown function
75965cd50 modify MeasureTime log message to include time limit and 's' suffix
b1fd79d72 Schedule devcontainer pre-built to Sunday morning
b36428c2e chore: update pre-commit hooks
929169856 A few more formatting updates
6a802f562 Add vscode extensions recommendation file
33b95e27d Update documentation to reflect ruff
e848c6494 Add ruff format check to github CI
58edb0a54 Update misspellings that are being detected now
18e03f398 Partially revert odd formatting decisions
ccb395c6c Ruff rule (commented for now)
5d4a93018 ruff format: Update setup
b97ff77d6 Update a few missed ruff format updates
9d6e4ae67 A few more minor fixes
a9732c619 Fix odd formatting by ruff format
876a8f9e3 ruff format: remaining files
fea1653e3 ruff format: freqtrade.data
801ab4acc ruff format: optimize
2c60985e2 ruff format: optimize analysis
da7addcd9 ruff format: hyperopt
f1ef537df ruff format: hyperopt-loss
ab3dbb7fb Allow flake E203 -
d1db43dee ruff format: freqai
e4e8c3967 ruff format: exchange class
53eefb944 ruff format: exchange classes
7ea5e4091 ruff format: util
5f64cc8e7 ruff format: rpc modules
cebbe0121 ruff format: update persistence
5783a44c8 ruff format: template directory
439b8a032 ruff format: freqtrade/strategies
6bfe7aa72 ruff format: plugins/protections
700b7acb6 ruff format: pairlist plugins
c9d301e4f Ruff format: more random files
73e182260 ruff format: more files
f8f9ac38b ruff format: loggers
9303ae29d ruff format: freqtrade/configuration
8ffc48e4f ruff format: constants
3c9be4723 ruff format: commands
5eb4ad220 Ruff format edge
794e30fed ruff format: update enums
1a4bff7fb ruff format freqtrade/resolvers
9121d3af6 ruff format: update scripts
dc3a3d1cf ruff format: udpate build_helpers
15f32be17 ruff format: update ft_client
4f5bf632f ruff format: remaining tests
d761bd8ce ruff format: tests/freqtradebot
644f120ab ruff format: tests/hyperopt
02075b15e ruff format: update more tests
40e161a5b ruff format: freqai tests
ffd49e0e5 ruff format: tests/data
d8a8b5c12 ruff format: Update more test files
ca1fe0603 ruff format: tests/plugins
5a9481772 ruff format: tests/exchange
c8626d941 ruff format: Update tests/exchange
e4796fd85 ruff format: update testcommands
adeb93dc9 ruff format: update strategy tests
1cbd49fd4 ruff format: rpc tests
8c7d80b78 ruff format: Update test strategies
099b1fc8c ruff format: More updates to tests
23427bec0 ruff format: Update tests/ base directory
53947732a ruff format: Update conftest_trades files
7090950db ruff format: Update a few test files
baa15f6ed Setup known first party modules
a8eabd0b2 Update remaining files with new import sorting
7767ad9d6 Update imports in test directory
38c69e925 Update isort configuration
c8ebaef93 Update isort config
462dff67d Bump ccxt from 4.3.16 to 4.3.21
0b64eca9d Bump pre-commit from 3.7.0 to 3.7.1
feb398ecf Bump cryptography from 42.0.5 to 42.0.7
891b436b0 Bump ruff from 0.4.3 to 0.4.4
01b00ba37 Bump mkdocs-material from 9.5.21 to 9.5.22 in the mkdocs group
63c8eae4a Remove unused fixtures
eb8ce5b30 Split too long strings in test
f52c3677c Move test comment out of the test data
e4881580f Slightly extend background jobs api
0279cf5fe Improved API endpoint ordering
2d069d615 fix: allow classifiers to work
4c2586b3a remove duplicate stat from BT table
15c56e55c Fix test directory pollution
15bcba9c7 Skip load_leverage_tiers test from bybit
e86a0736f Add workaround for bybit's changed markets endpoint
ce6445f6b chore: update pre-commit hooks
6d668d52f chore: update pre-commit hooks
9bc3049af Bump SQLAlchemy pre-commit
bd5bf255e Bump sqlalchemy from 2.0.29 to 2.0.30
72e53eee5 Bump jinja2 from 3.1.3 to 3.1.4
d4755bd7c Bump coveralls from 3.3.1 to 4.0.0
aaa190e7d Bump nbconvert from 7.16.3 to 7.16.4
beffebcbb Bump tqdm from 4.66.3 to 4.66.4
a65a601b1 Bump ccxt from 4.3.11 to 4.3.16
b81bf5999 Bump fastapi from 0.110.2 to 0.111.0
2e2949555 Bump filelock from 3.13.4 to 3.14.0
43c327148 Bump jsonschema from 4.21.1 to 4.22.0
a9a04ba3b Bump orjson from 3.10.1 to 3.10.3
96fbe160d Bump ruff from 0.4.2 to 0.4.3
955f5792c Bump plotly from 5.21.0 to 5.22.0
a1c4be1e3 Bump joblib from 1.4.0 to 1.4.2
187397540 Bump mkdocs-material from 9.5.19 to 9.5.21 in the mkdocs group
39613c078 no suspect function calls in function headers . . .
3f9019a1a Don't use coro directly
c3516dbba Simplify trade_statistics function
fa79c48c8 Exclude unfilled Trades from "all" /profit
28449f551 Don't show "0" when fiat_currency is empty
566add7a8 Rename variable to show it's just a temporary variable
7ba285fbb Fix bad link
93e65a583 Update freqai-feature-engineering.md
643bfa065 Add documentation for freqUI backtest mode
8309d92ce Improve freqUI docs
acb6dacf2 Add light and dark Screenshots of freqUI
ccb1d59a2 Add main header about UI
4e5a62036 Add a few screenshots of freqUI
9f1ebf0c5 Extract section about CORS to it's own icnlude section
8dd6b52be Make sure freqUI is visible in the menu
74732537b Add explicit documentation page for freqUI
866f059d6 Use FtPrecise to avoid rounding errors
ab93fd3be Enhance trade to verify #10166
ee7be1cd5 move "add_bt_trade" call for entries into enter_trade function
c81c07c24 Add docstring for process_exit_order
67636abb3 Fix #10166 with fewer side-effects
e5b79eee5 Extract _process_exit_order to separate function
62a3ed6f8 partial exit order should not close immediately
dd42fba7d Bump tqdm from 4.66.2 to 4.66.3
569e8a74b chore: update pre-commit hooks
7bb4b5003 Bump version to 2024.5-dev
997db6c70 Type-ignore
f259270e9 Update tests to properly mock fee
3a2e3215b Ensure get_fee returns something in tests
3f2f2a1db Use worst case of maker / taker fee for backtest
935e8f49d Type-check fee from configuration ...