2024.8
版本发布时间: 2024-08-31 22:04:14
freqtrade/freqtrade最新发布版本:2024.11(2024-12-02 03:12:36)
Highlighted changes
- Add
$schema
support to have improved editor support in configuration files. - Add
PercentChangePairList
- a pairlist to sort and filter based on pair movements. - Protections can now als use
unlock_at
to unlock at a precise time of the day. - Add
--trades
argument tolist-data
to allow visualizing downloaded trades data. - Backtesting - allow re-filling the last trade slot (when max-open-trades had been reached) on the trade exit candle.
- Improved performance for orderflow’s download-trade functionality (dry/live only).
- Websocket Support for OKX (spot and futures).
- Improved and aligned import defaults in strategies and documentation.
- Enhance
list-data
to show available trades data (via the--trades
cli option).
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
5e9d2323e chore: bump version to 2024.8
a250cf7eb test: Remove unnecessary asyncio decorators
1c5ca0f02 chore: improved fix for terminal error
ca3dee7b3 chore: add setting to avoid deprecation warning from pytest-asyncio
59d47955a chore: fix test failure due to terminal error
d05ca3db0 fix: handle small terminal width
87678eff9 fix: avoid hyperopt-results not showing past terminal height
4c487d666 chore: update pre-commit hooks
655a300ac docs: re-establish search box on develop documentation
660a5d910 chore: bump pre-commit type deps
ec55fdb8d chore: update pre-commit hooks
eaf68fe10 chore(deps): bump aiohttp from 3.10.4 to 3.10.5
a9451a541 chore(deps-dev): bump mypy from 1.11.1 to 1.11.2
6d280be08 chore(deps): bump fastapi from 0.112.1 to 0.112.2
877c6635e chore(deps): bump scipy from 1.14.0 to 1.14.1
ca0be181b chore(deps): bump ccxt from 4.3.85 to 4.3.88
ba2cf8015 chore(deps): bump websockets from 12.0 to 13.0
f1f4ed97c chore(deps-dev): bump ruff from 0.6.1 to 0.6.2
24785d28e chore(deps): bump mkdocs-material in the mkdocs group
0076205da chore(deps-dev): bump pytest-asyncio in the pytest group
6235b50c9 chore(deps-dev): bump the types group with 2 updates
5cca19bb8 refactor: simplify binance liquidation test setup
1b7056853 refactor: move test_liquidation_price_binance to binance test file
d1bc51959 docs: Show version alias on versions
bcae1dce7 docs: reduce font-weight of version_list
e87927564 chore: Improve typing
01b7ad4a3 feat: prevent freqAI startup on exchanges without history
fd30edf2b chore: update pre-commit hooks
33614d8ff docs: Improve wording for untradeable pairs
4a6219968 Add clarification for untradeable pairs vs markets
68be56240 chore: fix test param
19ccb27db chore: deploy through github internal pipeline
a7e2bf071 chore: Move deployment to gh native actions
e05a6e976 chore: add Ci for gha deployment
c7485e3fd chore: add mike to mkdocs config
f4440d43d chore: increase wait time on ws to avoid flukes
6bd21b899 chore: pin tables for python 3.9
ce66fbb59 chore: ruff format notebook
d2c908b1a chore: bump ruff pre-commit version
976f9b259 chore: re-format ipynb notebook
4d175a466 chore(deps): bump ccxt from 4.3.84 to 4.3.85
986ff7d1b chore: rename parameter to avoid naming collision
bc719feb5 chore(deps): bump mkdocs-material in the mkdocs group
a70116ed4 chore(deps): bump fastapi from 0.112.0 to 0.112.1
b859d7f3a chore(deps): bump ccxt from 4.3.79 to 4.3.84
75714ae84 chore(deps): bump matplotlib from 3.9.1.post1 to 3.9.2
8321425e6 chore(deps): bump uvicorn from 0.30.5 to 0.30.6
ba3223a9a chore(deps): bump tables from 3.9.1 to 3.10.1
a266997b6 chore(deps-dev): bump ruff from 0.5.7 to 0.6.1
314983b13 chore(deps): bump tensorboard from 2.17.0 to 2.17.1
8896b0ae7 chore(deps): bump aiohttp from 3.10.3 to 3.10.4
b6aa922c0 chore(deps): bump markdown from 3.6 to 3.7
95732f417 chore(deps): bump cachetools from 5.4.0 to 5.5.0
83e0cf75c add startup count from strategy to the analysis
7fe23ad8c chore: add alias_for to tests
fd9ec438d feat: show name, class name and eventually the replacement alias
7cab973cb feat: get new name for aliased ccxt exchanges
7952712c5 chore: update samples to use doublequotes
d754a2e29 feat: improve default imports
768b4e5e2 chore: Update formatting of default export sequence
b1ae09c00 docs: remove callback examples imports
9408e858c chore: use aligned quoting strategy for templtae
099516411 feat: improve formatting of generated strategy
b3a042a63 feat: don't use commented typehints
c2ac70ff1 feat: update base_strategy to include all imports
e7b57d8de chore: Update import for qtpylib to technical
5bc8b02b0 feat: Update imports for sample strategy
d6f96b2c5 chore: remove typing imports
6c131b564 chore: add comment to better explain imports
27a4a502d docs: Add section explaining strategy imports
f0a25ea48 feat: Add __all__ export to strategy's init file
4ca6e6172 fix: use dynamic trading_mode for trades loading
e26ac6ed0 test: speed up detail test
f341edb97 feat: Enable websocket support for okx
fdad24aaa feat: add leverage to telegram's /status table
3a676f98d test: improve telegram balance test
8498cb17e test: add explicit test for telegram's short behavior
36098f6b7 test: update tests for removal of leverage
34667c69d chore: remove leverage from /balance endpoint
756fef53f refactor: improve live positions update
2ffe93820 test: update test behavior - wallets has 0, never none
d52169930 refactor: type fetch_positions response
5ad23405b chore: align safevalue_fallback types
04cdd807b chore: improved type ordering
646ed50f3 chore: improve typing for balance endpoint
1b0ba0fa6 fix: typo in armhf dockerfile causing build to fail
21c5c919e chore: Improve typehinting for hyperopt
d9f6f0847 docs: improve readability of hyperopt-loss sample
77b32e94f chore: update pre-commit hooks
331159a3d fix: ensure handle_onexchange_order works without false warnings
23510c80b fix: don't auto-populate non-existing secret entries
6ea450a4e chore: bitvavo uses DECIMAL_PLACES for amount rounding
f64786543 feat: hyperliquid requires different precision modes
aa6c30ade chore: fix line too long issue
0b8dfa687 chore: improved docstring for precision_mode_price
d7bee0c9e test: update further tests for precision_mode_price
350c2241c test: adjust test mocks for precision_mode_price
cfa591838 feat: use "precision_mode_price" where applicable
ac1ac0deb feat: set precision_mode_price when creating trade objects
54bc60b08 test: Update test for new to-json field
f8de46cea feat: Add precision_mode_price column
1e410feed test: fix missing test arg
948e67a2b docs: improved wording
0f820e449 chore: Fix 3.9 syntax error
c7bc1b10e docs: fix messed up formatting
ef04324f9 docs: update --help output docs
2b86865b9 chore: improve wording in subcommand helptext
f009625c1 docs: update list-data documentation
a991c7684 feat: add test for test_list_data command
d02ea3244 feat: add "trades" switch to list-data command
5a9f87ac6 feat: add start_list_trades_data command to output trades data
9bfd0cb63 feat: add test for trades_data_minmax
3f4c19abb chore: add test for trades_get_available_data
cf26635e3 feat: add trades helper functions
263be72c1 chore: update pre-commit hooks
b63c04df4 chore: update help wording
784208dd8 chore: improve variable naming for ohlcv
5cb6c234c chore: improve naming for refresh_latest_trades
7972a023e fix: oddly wrong fee_cost calculation
6cf92c2a9 chore: enhanced aggregation syntax
50835c878 chore: add more test coverage
b727e5ca1 chore: simplify update code
5773d1fd8 docs: Update documentation for new flow
530226dbe chore: Add "use_detail" to detail test
4882a18bf chore: add pair_detail test
70f3018e6 feat: remove "open_trade_count_start" workaround
08c10c1f9 chore: exclude right boundary from parallelism test
7945eba38 feat: Evaluate pairs with open trades first
b6f4e124c chore: improve backtesting test details
f01e10144 feat: extract backtest iteration into generator
980b81f00 chore: Simplify futures backtest
10f0522a6 chore: update attribute wording to bt_profit
2bc9cdafb chore: update attribute wording to bt_trades
e643a2ea3 chore: update attribute wording to bt_trades_open
b456afa2a chore: improve backtesting test
88b754e38 chore: update test to reflect a fix in ccxt
16d5d7b31 chore(deps): bump ccxt from 4.3.76 to 4.3.79
fa0ee035e chore(deps): bump orjson from 3.10.6 to 3.10.7
010dbf82f chore(deps-dev): bump ruff from 0.5.6 to 0.5.7
9a9d27b86 chore(deps): bump aiohttp from 3.10.2 to 3.10.3
0afd3fc5e fix: improved handling for corrupt trades files
f5ebfcca5 chore: accept that trades dataframes may be empty for some reason
42294ff69 chore(deps): bump aiohttp from 3.10.1 to 3.10.2
ed59f74cb chore: move asyncio import to only import when necessary
2b4438720 chore: call selectorPolicy
758e532a6 chore: add todo to uvicorn workaround
d4ca6617d chore: set asyncio-policy for windows
f6040c5f0 chore(deps): bump aiohttp from 3.9.5 to 3.10.1
de70ee117 chore(deps): bump matplotlib from 3.9.0 to 3.9.1.post1
85844c8ed chore(deps): bump ccxt from 4.3.73 to 4.3.76
101dc850a Update pre-commit sqlalchemy types
5650de062 chore: dependabot shouldn't update major versions
999ee981f chore(deps-dev): bump time-machine from 2.14.2 to 2.15.0
ee6e78927 chore(deps): bump python-rapidjson from 1.19 to 1.20
9dd9ae7a2 chore(deps): bump sqlalchemy from 2.0.31 to 2.0.32
cbd178dab chore: bump armhf dockerfile to 3.11
e34a28ee5 chore: dependabot should monitor /docker, too
d453aa849 chore(deps): bump python
9d0cd961b chore: update pre-commit hooks
900922760 feat: add json schema validation docs
95546e0a7 chore: update pre-commit hooks
3d439c8c0 chore(deps): bump pyjwt from 2.8.0 to 2.9.0
477448114 chore(deps-dev): bump mypy from 1.11.0 to 1.11.1
91da1c3f8 chore(deps): bump uvicorn from 0.30.3 to 0.30.5
0bee3c9db chore(deps): bump tqdm from 4.66.4 to 4.66.5
e3ba28d76 chore(deps): bump ccxt from 4.3.68 to 4.3.73
1f9c2cd18 chore(deps): bump technical from 1.4.3 to 1.4.4
ea2b12a54 chore(deps-dev): bump ruff from 0.5.5 to 0.5.6
c9f4db2a4 chore(deps): bump fastapi from 0.111.1 to 0.112.0
1e5154c90 chore(deps): bump mkdocs-material in the mkdocs group
17dc41279 Ruff formatting
cb4747aed Add rich table width if jupyter in modules
ce8d03ddc chore: improve comment as to why matplotlib is pinned in the first place
366c7e2b9 fix: pin matplotlib to 3.9.0 to fix windows wheels
6c5fb5e22 chore: add_config_files to config_schema
4854bdd02 chore: Add log_responses to config schema
d7ecdc9b0 chore: Downgrade cryptography for RPI
c8d30ae80 chore: fix oneline exchange-list output
9eebe82b3 chore: fix api-server tests
b3915ff8f chore: use classname to show exchanges
805c946b3 feat: improve structure of list_exchange endpoints
8bc194946 docs: update link to technical documentation
a6689b103 chore: Remove unnecessary, duplicate mkdocs install
f63910d35 chore: improve wording for cooldown_period
98c852105 chore: fix minor gotcha
57139295b tests: Add unlock_at test
176062495 test: Test "invalid date format"
9429657a2 chore: make Hyperliquid class actually usable
2b0b1e23e chore: enhance error message on ohlcv error
dd55baf14 chore: support snake_case for api keys
9e47172d6 chore: Reduce test flakyness of ws test
a84096951 feat: move trades-refresh to async
67fdfdf58 chore: Update schema file
abef8e376 feat: add $schema to config examples
8a85077e7 chore: add download_trades config key, reorder some keys
b3ac296ca chore: Improve schema wording
af554fc3f chore: update pre-commit hooks
02621eee7 chore: remove pip version lock from instal scripts
8105f5160 chore: remove pip lock from Dockerfiles
c40ac27d7 chore: Remove pip pin from ci
eb0fc0fc8 docs: Fix minor typo
40b20c559 chore: update pre-commit hooks
1ebbfffd2 chore: hyperliquid doesn't have historic ohlcv
c8b758083 chore(deps-dev): bump pre-commit from 3.7.1 to 3.8.0
3789e1339 chore(deps): bump pymdown-extensions from 10.8.1 to 10.9
a1490d07b chore(deps-dev): bump ruff from 0.5.4 to 0.5.5
5e1038dc6 chore: Fix torch version bump
5e852ebb5 chore(deps): bump lightgbm from 4.4.0 to 4.5.0
097786c62 chore(deps): bump plotly from 5.22.0 to 5.23.0
baeced32c chore(deps): bump python-rapidjson from 1.18 to 1.19
2f4e4343c chore(deps): bump torch from 2.2.2 to 2.4.0
9fd6d7318 chore(deps): bump ccxt from 4.3.65 to 4.3.68
fd2be958b chore(deps): bump mkdocs-material in the mkdocs group
719889b27 chore(deps-dev): bump pytest from 8.3.1 to 8.3.2 in the pytest group
faaa1050d chore: Bump dev version to 2024.8
27aed5cd7 Update schema.json
ac1e405c3 Update documentation and fix doc test
4932473b3 Add documentation
206baf7d8 chore: add a bit of typehinting
4ac7a4fda Allow empty min_Value setting...
283e8045d PercentChangePairlist should partecipate in regular tests
8637f4a70 Remove SortKey dynamics and setting
4a768682e Remove unnecessary logs and up description
dad4f3059 Correct calculation for percent calculation and use tickers
1b81de01b 10348 | run ruff formatter
b09f9e8c1 10348 | Update tests and add pairlist constants
4b1177e07 10348 | Create new pair list to dynamically fetch pairs based on percent volume change
f714d1ab2 Added unlock_at field to protections document
dcc9d20cc Remove unnecessary statement
d590ab003 Add unlock_at config test, simplify validation
a3c52445e Simplify validation
be3fcd90e Remove unneeded property
26aa33645 Combine "until" logic into calculate_lock_end
65972d9c0 Add cooldown with timeperiod test
d13f47ec0 align wording to simplify "locking for" element
1e36bc98b chore: Remove unused method
16dd86e73 _unlock_at should be private
be894664e Fixed building of wrong reason texts Removed unnecessary method set_unlock_at_as_stop_duration()
af505b346 Fixed an access on the config by a wrong config key
77b4689ac Fixed implementation of unlock_at and updated unit tests
57118691d Removed entry in gitignore
2b456cbde Added unlock_at field for protection config