2024.10
版本发布时间: 2024-10-31 15:07:21
freqtrade/freqtrade最新发布版本:2024.12(2024-12-30 14:01:59)
Highlighted changes
- New “Strategy 101” Documentation page
- Improved startup time for certain subcommands (most noticable with
--help
). - New hyperopt function
MultiMetricHyperOptLoss
, which combines several metrics into one balanced hyperopt loss function. - New subcommand
list-hyperoptloss
to get an overview of all available loss functions. - Auto-create log-directory if
--log-file
is given but the directory doesn't exist. - Allow strategies without “enter_long” column.
- Dropped support for python 3.9.
- Setting
protections
from the configuration will now raise a configuration error.
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/
New Contributors
- @xzmeng made their first contribution in https://github.com/freqtrade/freqtrade/pull/10737
- @bearvar made their first contribution in https://github.com/freqtrade/freqtrade/pull/10805
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
84da133e9 chore: bump version to 2024.10
0d430be1f chore: update pre-commit hooks
592848ad0 test: re-add excluded assert
e35f5c9fd tests: update test to account for newly added prop
26a59e2cc fix: Don't allow backtesting to exceed max_open_trades in odd edge-cases
56df7ad9f chore: remove unnecessary commented log statement
c9e56ab04 chore: update pre-commit hooks
6cb17caf9 tests: Add test showing behavior from #10853
b5a52129f chore(deps-dev): bump ruff from 0.7.0 to 0.7.1
beaf5215b chore(deps): bump rich from 13.9.2 to 13.9.3
b3fa997be chore(deps): bump fastapi from 0.115.2 to 0.115.4
eab5bfb47 chore(deps-dev): bump mypy from 1.12.1 to 1.13.0
9f5d4dd67 chore(deps): bump ccxt from 4.4.20 to 4.4.24
fc757f6cf chore(deps): bump orjson from 3.10.9 to 3.10.10
a3bcc9d91 chore: schema.json updated
d215e3ca6 chore: add documentation and add wait_for_training to config schema
930b5e07f tests: adapt tests for improved createMarketBuyOrderRequiresPrice validation
5174717ca fix: ensure createMarketBuyOrderRequiresPrice is only applied to buys
d317f33f4 chore: improve potentially erroneous comparison
9e53b0742 docs: update documentation code to align with comment
c4cbf6de3 tests: reset permissions on tmp-path
e7b0e3293 feat: Exit with exception, not with exit1
87c8e8506 feat: add user friendly message on permission error
3d9514d26 chore: update pre-commit hooks
3d9cbf52b chore: improve import sorting
5b4043db8 chore: use Class for parse_timerange
11cef55c0 test: update mock to new pairlist location
667d08d00 refactor: extract pairlist_api from background_tasks file
ba780276a feat: auto-create logs dir if it's absent
46db0bc08 feat: rename endpoint to be better aligned
0de3c6945 test: add test for api/hyperopt-loss
0bf30aaa6 feat: add hyperopt-loss api endpoint
faac20546 tests: add test for list-hyperoptloss
1d5d7048d chore: improve test imports
033643c4c docs: add documentation for list-hyperoptloss
8b8b5cfac feat: add list-hyperoptloss subcommand
9ad32fd84 fix: improved defaultHyperoptLoss alias
186f2a839 chore: update pre-commit hooks
a1513b7c7 fix: allow user to break training
6571ef4e4 fix: guarantee crash resiliency, as long as users reload bot gracefully
336111fbd chore: update sqlalchemy pre-commit
f100ad12e chore: fix whitespace error after merge
d9ea89857 chore(deps): bump sqlalchemy from 2.0.35 to 2.0.36
a29a69701 chore(deps): bump ccxt from 4.4.17 to 4.4.20
1761d0e65 chore(deps): bump psutil from 6.0.0 to 6.1.0
41a4c7c39 chore: improve type safety
e3bdf89ca chore: bump pre-commit types-requests
0843f09c8 chore(deps): bump orjson from 3.10.7 to 3.10.9
93afe0020 chore(deps): bump torch from 2.2.2 to 2.5.0
0f978bbcc chore(deps): bump cryptography from 42.0.8 to 43.0.3
88c49a9f7 chore(deps-dev): bump ruff from 0.6.9 to 0.7.0
83f285c91 chore(deps-dev): bump mypy from 1.11.2 to 1.12.1
24499c5ea chore(deps): bump bottleneck from 1.4.1 to 1.4.2
d02b1f04e chore(deps): bump uvicorn from 0.31.1 to 0.32.0
c81800339 chore(deps): bump mkdocs-material in the mkdocs group
306db6d02 chore(deps-dev): bump types-requests in the types group
b75ff4bdf Adjust docs based on review
60439c7d8 chore: enhanced pyright configuration
3518a4167 chore: minor typing fix
51dd7fa58 chore: ensure empty leverage tiers files don't cause an exception
0a5549ebc docs: add canonical_version
607167ebe fix: improve resilience of ft_rest_client
1183517c3 chore: remove non-needed type_checking import
6d169784e chore: remove mypy override for telegram module
6a5feacd3 tests: Skip binanceus websocket tests
0a91189e6 chore: remove unused kwargs
e9d9ebf15 docs: Update documentation for MultiMetricHyperOptLoss
1a85dc9b9 chore: Update to new code standard
660af7ec7 chore: Fix test failure, sort imports
102d44a7b chore: improve lbank comment message
549b0f8ef feat: delete all files when deleting a backtest result
c6fe8ae70 feat: add lbank candle limit parameters
9e1af0db6 delete market change when deleting backtest result
43b6cb9bf docs: Update 101 docs
9b7acf33c docs: rename file to strategy-101
a40a2f96b chore: attempt to speed up CI
efc689a93 chore: update macos version to new images
78bf40eaa Edit EXPECTANCY_CONST to show it can be decimal.
578604619 Edit PF_CONST to show it can be decimal.
6eac798d9 Rename ComplexHyperOptLoss to MultiMetricHyperOptLoss. Add it to test_loss_functions_better_profits.
121bdbad8 Update and rename hyperopt_loss_complex.py to hyperopt_loss_multi_metric.py
5b2b2d1a5 chore: update pre-commit hooks
9209d1108 Add new hyperopt loss function
60f54f1bc Improve 101 docs
8b1de5d9b Update docs/freqtrade-101.md
a8e851736 Minor typo
c9b31c62c docs: improved wording for developer docs
c72cf64c8 Americanize *sigh*
8c2f84197 Update 101 and customisation docs
0c1c75000 Add and dependency groups
cdbfbb550 chore(deps): bump ccxt from 4.4.14 to 4.4.17
3a190a1c3 chore(deps): bump fastapi from 0.115.0 to 0.115.2
2098e69fb chore(deps): bump aiohttp from 3.10.9 to 3.10.10
2415275e9 chore(deps): bump bottleneck from 1.4.0 to 1.4.1
83fcc92f7 chore(deps-dev): bump pre-commit from 4.0.0 to 4.0.1
64a7ab6e2 chore(deps-dev): bump time-machine from 2.15.0 to 2.16.0
a772e1f9c chore(deps): bump uvicorn from 0.31.0 to 0.31.1
7bbed1705 chore(deps): bump mkdocs-material in the mkdocs group
4cd466035 Remove setup.py
d503724bd chore: improve backtest comment
2756a1f1a chore: improve statement sequence for improved short circuiting
883122a98 refactor: Simplify backtest code slightly
bd7f0383d chore: improve clarity of argument name
aa8cefc11 fix: minor missing statement in detail backtest fallback
48740f503 docs: add new document to index
35b81a2f3 Initial work on strategy dev docs
4b582b9d7 fix(bybit): Override fetchOrder to false for spot markets
a71ed3ec5 chore: update pre-commit hooks
92b2a6fa2 fix: Support mps device where available
b2d6c5b6a chore: update pre-commit hooks
5693039f0 tests: Add test-column to ensure string columns won't regress
52304b37a feat: Allow strategies to not define enter_long
eeed65b35 chore: Bump pre-commit types-python-dateutil
6993a650b chore(deps): bump pypa/gh-action-pypi-publish from 1.10.2 to 1.10.3
4000794af chore(deps): bump pymdown-extensions from 10.11.1 to 10.11.2
7c9e6779c chore(deps): bump rich from 13.8.1 to 13.9.2
ec6d9ec7d chore(deps): bump humanize from 4.10.0 to 4.11.0
58fccadf0 chore(deps): bump aiohttp from 3.10.8 to 3.10.9
34e736213 chore(deps-dev): bump pre-commit from 3.8.0 to 4.0.0
fca39a780 chore(deps): bump ccxt from 4.4.9 to 4.4.14
278404f47 chore(deps-dev): bump ruff from 0.6.8 to 0.6.9
64612712a chore(deps-dev): bump types-python-dateutil in the types group
9ffd0ad98 add is_number check
78e9eac64 chore: Fix remaining violations after merge
aa2c1501d chore: fix missed dependencies for deploy_ui
ed5c929b2 chore: remove rapidjson from "default" imports
672a23dbc chore: revert changes to btanalysis - they have no impact
24c09d031 refactor: move ui deployment to it's own file
092275a98 refactor: move config deployment to it's own file
3fe97e170 chore: Remove __futures__ import and corresponding ruff skips
1ad4f0c9b chore: re-export from system module
27a327402 chore: improve behavior by validating earlier
67690c9e8 Fix setup.py
4c3c2eaa3 chore: update ruff target version to 3.9
cf6c41f9d chore: remove no longer required imports
2e0a597ee chore: update tests to modern typing syntax
628983d12 chore: update ft_client to modern typing syntax
8ec5dd6de chore: update to modern typing syntax
acc40c73f chore: update strategy to modern typing syntax
1d4658e97 chore: update rpc to modern typing syntax
b8bbf3b69 chore: update resolvers to modern typing syntax
d8e41fa8b chore: update plugins to modern typing syntax
e9a6ba03f chore: update persistence to modern typing syntax
2e69e38ad chore: update optimize to modern typing syntax
c5ed876c0 chore: update types config to modern typing syntax
96f737f13 chore: update freqai to modern typing syntax
f369151e8 chore: update exchange config to modern typing syntax
d1b9990e4 chore: update edge config to modern typing syntax
ed7eb01d1 chore: update data to modern typing syntax
660112769 chore: update config to modern typing syntax
43236c1cc chore: update config to modern typing syntax
65bbf7b2a chore: update commands to modern typing syntax
74b8dca63 chore: update to modern typing syntax
7db0e3ac3 chore: remove obsolete version check
f889c2449 Fix test
852a1900b Fix test
30a273c94 Revert lazy import requests
903614140 Eliminate unnecessary lazy import
0fe772efa Eliminate unnecessary TYPE_CHECKING
e6dedee56 Split freqtrade.system into a package
9c28a6ff4 Add test
48a8d7de1 Postpone imports on demand
5fa96c944 chore: update pre-commit hooks
a0912ad6b tests: update ccxt compat test
9ba0c5429 chore: cleanup test code
86721b88c chore: improve import logic
9bdee1b82 feat: improve typing of fetch_funding_rates
abe01f8f4 feat: implement liquidation price update on all order fills
c5525d356 feat: support backtesting with cross configuration
36ae564d2 feat: update liquidation price on startup
cba6bd6ef fix: use t.leverage, not trade.leverage for cross liq calculations
4d40ffedf fix: allow setting 0 as liquidation price
319e8d746 feat: use proper trade objects for liquidation calc
fe7a88362 feat: add method to fetch binance funding fees
8bf314202 chore: simplify call to liquidation price for cross futures
ac8bc7dec fix: use "other trades" logic for binance cross calc
0d5919392 test: update binance test
1473abf19 refactor: rename dry-liquidation parameter
45e75f3d0 chore: improve arguments to get_liquidation_price
5358f2fb9 feat: allow liquidation-price update without trades for cross mode
c316d2744 refactor: move exception handler into helper function
0c0bb29f8 chore: add other_trades param to liquidation_price calls
82bc3270e test: Update binance test for new approach
ec79b0b17 feat: update dry-run calculation params to be more generic
056056705 test: add test for liquidation_price update function
3de740b35 feat: create shared method for liquidation price update
b69f598e5 refactor: move more code into cross conditional
1ad177fca feat: add liquidation_price update support for cross mode
9538c49ac chore(deps): bump python
84d43db50 Correct admonition indent
bf2d0468f tests: fix test-data setup for btc test trades
d2bc47cfe tests: fix test-data setup for usdt trades
98f4bf2f6 chore: remove Ta-lib binaries for 3.9
f9c8b7f4a chore: fix ps syntax error
a92532c0c chore: Remove now pointless helper function
bede81632 chore: remove conditional requirements
e975062e0 chore: don't run CI on 3.9
0cd051cee chore: update conditional check for python version
682980be4 chore: drop 3.9 support from setup.ps1
878043ea3 chore: drop 3.9 support from setup.sh
757ae6518 chore: remove pointless conditional (we can't hit this point)
cd63abba5 chore: update documentation to mention 3.10+ compat
915591c6d chore: update pre-commit hooks
a740883c8 chore(deps): bump aiohttp from 3.10.5 to 3.10.8
1fb0f2f04 chore(deps): bump pymdown-extensions from 10.10.1 to 10.11.1
773bf765a feat(hyperliquid): Remove precision override
8cc928c84 chore(deps-dev): bump ruff from 0.6.7 to 0.6.8
418042076 chore(deps): bump ccxt from 4.4.6 to 4.4.9
30945dc24 chore(deps): bump uvicorn from 0.30.6 to 0.31.0
4ef87e341 chore(deps): bump tensorboard from 2.17.1 to 2.18.0
478519452 chore(deps): bump mkdocs-material in the mkdocs group
8a742ce3e chore: bump version to 2024.10-dev
f77fedbea chore: move available_protections constant to test file (it's only used there)
39c582dac tests: move protection-validation test to protection test file
873672847 chore: remove unused import
23cf9f47b chore: move protection validation to protectionManager
b8feefc54 tests: update protection tests
e3a6c7108 chore: Remove protections from config logic
d6cc88fa9 chore: remove schema syntax highlighting for protections
428d451e5 chore: remove long-deprecated setting
aa67abad9 docs: simplify protections intro