github freqtrade/freqtrade 2025.11

2 hours ago

Highlighted changes

  • New builtin hyperopt spaces enter and exit (with space autodetection from the parameter name).
  • Add support for custom parameter spaces in hyperopt (e.g. --spaces exitMACD enterRSI ).
  • Add blacklist mode to MarketCapPairlist -allowing you to exclude certain categories or top marketcap pairs from the pairlist.
  • Add --trading-mode support for list-timeframes to support exchanges with differing timeframe availability.
  • Improved strategy loading logic by applying string-matching first, which avoids loading all files in the strategy directory.
  • Added Liquidation Price to /status Telegram messages.
  • Improved Visualization for /status and /status table (shows N/A now) when no rate is available.
  • Fixed freqUI visualization when no current profit/rate is available.
  • Add coincurve dependency for faster signing time with some exchanges.

Sponsor

You can sponsor the work on freqtrade via the following links:

New Contributors

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
3b55e577c chore: bump version to 2025.11
bfe9aac16 fix(hyperliquid): exclude HIP3 pairs for now
1770a6845 chore: fix wrongly worded exchange_response endpoint naming
57fd455ad fix: Proper fix for plotscript
61ecaa4c4 fix: ensure automatic exportfilename detection works
682c4137b docs: improved wording
759c18df3 docs: improve pre-commit docs wording
001baa07b chore: update pre-commit hooks
72724037a Replaced unsafe loop with a list comprehension & added docstring in refresh_pairlist()
c0a1911f2 chore(ci): improve zizmor action formatting
f4920f199 chore(ci): only notify after build.
6b8968ed0 chore(ci): restructure CI to reliably fail the build step if other checks failed
b5e17735a chore: use codecov with token
f94acc917 chore: update pre-commit hooks
a7ac95739 chore: implement cleanup for codecov action bug
b337b075a chore: limit to appropriate runner
3152e97b2 chore: switch from coveralls to codecov
77e8a5357 Fix backtesting exception when no data is available for a pair (new approach)
8274a6c3a chore: update usage of TTLCache to FtTTLCache
f0a5b95ec feat: add FtTTLCache to avoid mocking issues
024d2db2e chore: bump pre-commit config dateutil types
bc3342b4d chore(deps): bump plotly from 6.4.0 to 6.5.0
64cf284c0 chore(deps): bump numpy from 2.3.4 to 2.3.5
15b0cc28f chore(deps-dev): bump ruff from 0.14.4 to 0.14.5
a647ceb75 chore(deps): bump fastapi from 0.121.1 to 0.121.3
54840a3f7 chore(deps-dev): bump time-machine from 2.19.0 to 3.0.0
2b1ef1bf5 chore(deps): bump cachetools from 6.2.1 to 6.2.2
757439a59 chore(deps-dev): bump types-python-dateutil in the types group
73dccb078 test: Add test case for no parallel on 1 combo
aa7aac3a1 feat: don't jump into parallel mode for single pair/timeframe downloads
2015ccc72 test: update parallel-history test
47301830b fix: be more selective before activating parallel download
7edc2e8c9 fix: improved realized profit telegram condition
972e25a6a feat: Improve conditions to not exclude `0.0` profits
649db6931 test: add tests for N/A when formatting prices
d0fb4cdc3 feat: use N/A for round value
efabcef33 feat: use pct formatting helper throughout telegram module
a4e6ac0c7 test: update test for new status table behavior
0ce9149dd feat: use helper method to format for pct
2750643e0 test: add tests for format_pct
b92535dee feat: Add format_pct helper method
2fa050399 fix: telegram crash during exchange downtime
d901f4b10 make sure the strat's starupt count don't get replaced
826938407 fix: missing space in template
b364153d0 feat: add nr_of_successful_* to api
916d8324c test: update tests with new fields
60309b9e5 chore: move num_entries/exits to trade model
a05d142af chore: remove unneeded formatting
1feb11bac refactor: use fstring for telegram sending
93936c994 refactor: use fstrings for /order telegram message
ce78039ea refactor: don't do delayed formatting on status message
1513ba9af chore: Move liquidation up a line
18f73af6e use get to return None on trade with no liq price
2f392b483 add liq line
220480327 test: add explicit test for dry_order_filled
2c6ff3f01 docs: update supported exchanges for Delist Filter
d02e5f2b9 chore: simplify imports
92fd9411e chore: simplify import
650cdf5eb change to exclude optimize mode
060a1543e change to exclude optimize mode
50402c5cd test: add explicit tests for price_crossed
644907465 chore: update pre-commit hooks
b8d558a45 remove unnecessary check because it will be catch anyway
4017b010f add test
7e178cb03 add test
e17936c40 use dt_ts
f437d4a55 use dt_ts
a731b7345 add delisting check for bitget futures
b5be462dd add delisting check for bybit futures
b55e7bcf4 chore: Improve fetch_dry_run_order
d1e71544a test: imrpove testcase
6e1367fa9 test: enable gate futures test
58452ebc7 chore: bump ccxt to 4.5.20
1321991fc chore: update pre-commit hooks
1c96dfd58 chore: add TODO comment for pytest migration
f98efdbe0 Fix backtesting exception when no data is available for a pair
e67c2eeff test: live test "get_fee" for futures exchange
89a8adcbc chore(deps-dev): bump the pytest group with 2 updates
57f216e9c chore: bump dateutil in pre-commit config
1747114b5 chore(deps): bump ccxt from 4.5.17 to 4.5.19
1056b2562 chore(deps): bump optuna from 4.5.0 to 4.6.0
64f680ed8 chore(deps): bump pymdown-extensions from 10.16.1 to 10.17.1
028c60ce5 chore(deps-dev): bump ruff from 0.14.3 to 0.14.4
d27ee227c chore(deps-dev): bump pre-commit from 4.3.0 to 4.4.0
81c49136d chore(deps): bump certifi from 2025.10.5 to 2025.11.12
429720722 chore(deps): bump torch from 2.9.0 to 2.9.1
3877fb46d chore(deps): bump fastapi from 0.121.0 to 0.121.1
22707b866 chore(deps): bump mkdocs-material in the mkdocs group
d2c380c83 chore(deps-dev): bump types-python-dateutil in the types group
bc516db3f refactor: add generic "migrate" method
5c0cf8f22 chore: prevent execution of command partials on python <3.13
af728f822 chore: update command partial
500092793 test: add tests for new list-timeframes behavior
89274bfcd test: update tests for new timeframe approach
ef86b4113 feat:  add trading-mode to list-timeframes
38ff75553 fix: start drawdown series with a 0 row
70ec37665 test: further expand drawdown test
1a506dc4b test: add tests for high/low logic
47451dd98 Fix high_value calculation in calculate_max_drawdown()
14d3096a2 chore: update pre-commit hooks
0f17b04b2 chore: update pre-commit hooks
625629b9d chore(deps): bump fastapi from 0.120.2 to 0.121.0
9fa9f0860 chore: remove coincurve - ccxt depends directly on it
73f91eab1 chore(deps): bump ccxt from 4.5.16 to 4.5.17
35fb59801 chore(deps): bump markdown from 3.9 to 3.10
40b9a836e chore(deps): bump gymnasium from 1.2.1 to 1.2.2
7189c0ff3 chore(deps): bump pydantic from 2.12.3 to 2.12.4
0eb206c7b chore(deps-dev): bump ruff from 0.14.2 to 0.14.3
728d2c9bc chore(deps): bump psutil from 7.1.2 to 7.1.3
f22feb7de chore(deps): bump docker/setup-qemu-action from 3.6.0 to 3.7.0
c6bf0e184 chore(deps): bump plotly from 6.3.1 to 6.4.0
68836cb7b chore(deps): bump mkdocs-material in the mkdocs group
9aec10b0f docs: update badge link to point to CI workflow directly
b6b817e05 chore: re-export all command partials
40107b938 feat: format partials codeblock as outputs
880485017 refactor: extract partial-file writing
d246933c2 refactor: improve partials script
777ff1938 feat: extract freqtrade-client to auto-use help
2846d9478 chore: fix ci condition
5d494eac5 docs: update command partials to be created with python 3.13
e26c3cbe5 chore: update CI to create partials on 3.13
81a5056e1 fix: support `ft-client help` and `ft-client show` commands
889ab7ea0 update docs regarding forceenter endpoint
2d4b02f7e refactor: align wording from category to space
c5a339eaf refactor: improve wording from category to space
1e50a2da5 refactor: simplify hyperopt-auto
7d1c2d3a1 test: Update test mock approach for hyperopt
236df5be6 chore: remove unnecessary pip flag
6ea83ba0e docs: clarify space naming prevalence
992c2f9e3 feat: improve code for list-strategies
5e74700e3 chore: don't use conflicting spaces in sample strategy
4a225cab2 test: update test for new "conflicting" behavior
524ceebcb fix: don't restrict spaces - explicitly defined space should win
f93c90661 test: improve tests for new builtin spaces
b32ba68a6 docs: at enter/exit spaces as builtin spaces
649aff807 feat: add builtin spaces enter and exit
a3efba019 docs: update documentation for new hyperopt spaces
ff4230af8 chore: update space parameter docstring
3bad6d334 chore: switch white/blacklist to option
7526fd0e0 test: Add additional test
cce7702e9 chore: update pre-commit hooks
1328df772 feat: ensure spaces are valid identifiers
68dea691c chore: improve help wording
f214942ff fix: improve error message for missing hyperopt parameters
91866c116 refactor: move lookup dictionary outside of loop
f73cbed84 chore: update ccxt version to 4.5.16
5ad817f59 chore: add coincurve to support faster ECDSA signing
4a8f487b6 chore: update json schema
d1b553cec test: add custom parameter to test strategy
1a2f261ee feat: support "--spaces all" with custom spaces
cfd4926f4 chore: fix odd indentation error
dc5f646f2 chore: minor improvement for docs
d7e4965cd feat: improve list-strategies command output
e22bf5c68 chore: non-loaded strategies shouldn't show as hyperoptable
007ab1b79 test: some cleanup
c748ac2aa chore: be more precise in type
c091426c4 feat: improve Auto-space detection logic
ab28e4305 test: update tests to new behavior
74a18bdb1 chore: improve output wording/formatting
367b9fa7f test: fix failing test
8269333d9 feat: improve output wording
d83f222a1 chore: remove unused imports
2ba917252 feat: Assign all matching parameters
465af62c1 feat: further updates
231a14571 refactor: improve parameter storage
4cabbe4d5 test: remove detect_parameters from tests
72c87b7cb chore: remove no longer used function
3da6006a4 feat: improve hyperopt detection logic
6f48b8229 test: slight update to test ...
ac51b41fd refactor: remove pointless wrapper
4b0b306c4 fix: hyperoptable should work whenever there's any space detected.
fd0acc074 feat: improve parameter detection to detect random named spaces
39c37980d fix: improve resiliance
6dc254717 feat: Update output for random space names
d1224367e feat: further enable dynamic hyperopt parameters
c88a92b4f feat: allow init of random spaces
ffab6c3c5 test: Add test for "no hyperopt parameters found" error
cb7e04bfb feat: add explicit scenario testing if any parameter is selected
c6a7b8468 test: update test for new init sequence
97afb4a56 chore: remove no longer used helper methods
886c15a7f test: update test asserting no longer existing metric
e34e84c5c refactor: further refactor of hyperopt spaces
4cac68d77 chore: refactor buy/sell spaces slightly
a792744c0 refactor: improve get_indicator space naming
384ed3faf feat: don't limit spaces to builtin spaces
041d93a25 chore: update pre-commit hooks
964ed8099 chore: remove workaround dependency pin for aarch64
71b169616 chore: update pyarrow armhf wheel
a580ba190 chore(deps): bump pyarrow from 20.0.0 to 22.0.0
f1f07a176 chore(deps): bump ccxt from 4.5.12 to 4.5.14
5139ea4e1 chore: bump scipy-stubs in pre-commit config
fdf9d4da8 chore(deps): bump orjson from 3.11.3 to 3.11.4
c7e64360c chore(deps): bump aiohttp from 3.13.1 to 3.13.2
55b66ca5e chore(deps): bump psutil from 7.1.1 to 7.1.2
1fc6cf4c8 chore(deps-dev): bump ruff from 0.14.1 to 0.14.2
918e7c4bf chore(deps): bump actions/upload-artifact from 4 to 5
cfc406709 chore(deps): bump fastapi from 0.119.1 to 0.120.2
9f55dac60 chore(deps): bump the scipy group with 2 updates
00a6575fb chore(deps): bump astral-sh/setup-uv from 7.1.0 to 7.1.2
c6eb63ab7 chore(deps): bump actions/download-artifact from 5 to 6
db63d433f chore: improve log message
635af046b test: add test for string loading skipping
86381955a feat: use text-analysis to short-circuit strategy loading
3cfa366ec fix: validate trading-mode support when downloading data
baa5b1a58 feat: support validating trading mode only
5be0a9c06 test: update test trading-mode validation test
b3bbb9235 docs: slight rewording of hyperliquid subaccount docs
06ac40fdb Update exchanges.md
d38d8167d chore: update command-partials
5684d0de0 chore: improve description formatting
a2f887aab chore: update config schema
f72e70862 chore: move some setting-validations to config-schema
781d8501c update docs
015f1055a add tests
e6ddeef07 chore: update version to 2025.11-dev
614b85e83 add blacklist mode

Don't miss a new freqtrade release

NewReleases is sending notifications on new releases.