Download Latest Version 2026.10 source code.zip (50.3 MB) Google Add to Preferred Sources
Home / 2026.10
Name Modified Size InfoDownloads / Week
Parent folder
2026.10 source code.tar.gz 2026-10-30 50.0 MB
2026.10 source code.zip 2026-10-30 50.3 MB
README.md 2026-10-30 18.3 kB
Totals: 3 Items   100.3 MB 1

Highlighted changes

  • Add Orderbook websocket support.
  • Fully Decouple bot from RPC messaging for more reliable bot loop execution.
  • Parameter values are now kept per strategy instance. Access them through self.<param>.value, not through the class.
  • Armv7 (raspberry 32bit) image updated to python 3.13.
  • Dropped support for python 3.11.
  • Support changing strategy parameters from Backtesting UI (webserver mode only).
  • FreqUI will now use the backtested strategy to plot in backtest mode (webserver mode only).
  • backtesting-show --export-params now writes the parameters from a backtest back to the strategy.
  • Improved efficiency for AgeFilter doing fewer calls for validated pairs.

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

:::bash
docker-compose pull
docker-compose up -d

Installation via setup script

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

Plain native installation

:::bash
git pull
pip install -U -r requirements.txt
Expand full changelog 4a39de1a5 chore: bump version to 2026.10 be53411c7 chore: remove reduced excludes 686e59b99 chore(deps): update python docker tag to v3.14.10 4209674c0 chore(deps): update python docker tag to v3.13.18 de1f3bb5a chore: update binance leverage tiers d4d48db16 Drop the get_rate assertion, it is not part of the call path anymore 0b3ef98dc Pass the placed price to emergency_exit when the cancelled order has none 4c3e11286 chore: format CI yaml files dafa0b6f4 test: fix random, timing based test failure 953d0c2ba fix: avoid attribute error 91aa6b6b2 Fix emergency exit crash when the cancelled order has no price 43b62f22f chore(deps): update python non-major dependencies ce2246364 chore(deps): update dependency filelock to v4.2.1 [security] c8a1e03e2 chore(deps): update dependency ubuntu to v26 1948b0f75 chore(deps): update zizmorcore/zizmor-action action to v0.7.1 c5bdef921 chore(deps): update pre-commit hooks f95ca1508 chore(deps): update ruff to v0.17.1 826d54c38 chore(deps): update python non-major dev dependencies 8eb66c7ad chore(deps): update dependency ccxt to v4.5.90 a20c63bcb test: add test for expired fuding_fee history ba9f6def4 fix: loop funding history if older than 1 request 150a10bc2 fix: humanize for daylight-saving periods 9830ab1c1 chore: don't sanitize None values. 451047bf0 fix: ensure ccxt config values are sanitized correctly 0ff5765e2 fix: dry-run should remove ccxt keys, too 337415d8b test: add test for ccxt credential sanitization. 4e902c305 fix: sanitize keys passed directly to ccxt 70ac586fa chore: improved new-config for stake-amount handling e8c87670e test: explicitly test exchange_requires_password 6815c6636 feat: reliably ask for api key password if ccxt requires that 8cf9136ab chore: delist kucoineu (aligned with ccxt) d2b9b4063 fix: exchange class mapping typo 66757ee65 chore: remove bittrex config template 1a744e30e chore: remove bittrex references ni tests and docstrings b463578dc Fix Gate and HTX config templates and complete credential escaping 2afb514fd avoid using shift just to fetch 1 older row 12e0878f8 docs: fix some typos 781c57b5b chore: fix some spelling/grammar errors 1742ce5f8 test: remove useless testcase e61aba76d chore: simplified comment fdb1db4bd chore: relax cerfiti "exclude newer" constraints 017e3e686 chore(deps): update dependency certifi to v2026.10.19 [security] e203fab3a chore: move constraints.python config to parent repo 0aad78a9b chore: update ta-lib prebuilt arm binary 382f2a0e6 fix: set OHLCV refresh time from the converted dataframe af1dff103 chore: update binance leverage tiers ebdf7fd63 chore(deps): update dependency ta-lib to v0.8.2 e480d5e62 chore(deps): update dependency ccxt to v4.5.89 22ee787c5 use stoploss of 0 for min stake 24bc3d19d min and max stake on backtest should also take leverage into account 0db79d391 chore: code clarity/understandability b0a675214 fix: add value validation to ShuffleFilter 5a45d581e fix: don't use & for comparisons 98aa936a5 chore: improve wording / error messages 9e1ebde1a update tests' wording e5061a27a use simpler list deduplication 403fee5c4 add pairlist name on exception message 51f18294a chore: re-enable ruff DTZ 4a740ac35 chore: revert python bump a2995e693 add tests 95daab65d validate custon enum value on pairlist a7c67f5e2 chore(deps): update ruff to v0.17.0 64d748b72 chore(deps): update dependency gymnasium to v1.4.0 f35edf325 chore(deps): update python non-major dev dependencies 0bc399e89 chore(deps): update python non-major dependencies 9177d78a3 chore(deps): update python docker tag to v3.14.8 b70d9f8f8 chore(deps): update github-actions non-major dependencies 46ff148a6 create new function to decrease complexity b3daf68d9 fix bug when multiple categories are used b8ca1a9fc fix: stoploss on exchange fill funding fee handling bee01de70 test: fix test encoding for windows 84e5657e6 test: update online okx tests af45c029d test: update some tests for new okx behavior aff00f3dd fix: okx leverage tiers are in contracts and base currency 96256ae01 chore: renovate - split armhf dockerfile updates 86397af3e Fix configuration generation and nested token redaction 21cc906d6 chore(deps): update dependency ccxt to v4.5.88 d9d1644c9 fix: don't round up exact prices in significant digits mode 6fffda776 test: update tests for file loading fix 19f11e371 fix: loading of corrupted parameters file 7f5e86022 fix: round decimal parameters before setting them 0a577781c chore: Update pyarrow wheel to 26.0.0 5d4d5955a chore(deps): update dependency pyarrow to v26 f304620bc test: update tests for new response codes b76100a55 fix: raise ConfigurartionError if overrides are invalid fcdd8c428 feat: warn when parameters are provided that are out of range 730843ec3 refactor: simplify parameter input schemas 15cdd90c6 chore: cleanup unreachable code dee1f1171 feat: be verbose when no parameter is found cb9d04724 test: update test with valid params 85795e38a fix: don't allow invalid parameters 393a730fd fix: Update to new code pattern af2f4bbf5 test: api-params should reject invalid parameters. a767b3451 fix: reject invalid overrides a8425a7e8 fix: don't log when zip file has no parameters 13b8d4002 fix: default backtest to spot for when not explicitly set 19f9f8501 test: add test for pair_history from backtest 7a22c20cb feat: Add endpoint for pair_history from backtest result b85a96f1c test: backtest-show with export parameters 66907bc9d docs: document backtest-show behavior 70474f75a chore: auto-export backtest-show command b2097832c feat: Add parameter export to backtest-show 1f82a6108 refactor: expose get_backtest_filename from the module 1ef07adfa test: add tests for bt_strategy_dir context manager 0a590a3ef feat: extract strategy/parameters from zip file 129d3d19d test: add test for strategy optimization 4cf7983c8 fix: correctly save modified strategy params e3abd2ce6 test: strategy-run_id detection from dynamic params 7176dfffb fix: Dynamic params should be considered for caching 8d95cfa84 test: update strategy_params calls f502f1ece feat: Update parameters file in backtest result a4691ca7d refactor: split Hyperopt serialization 0ce8675c5 feat: add space to parameter input for strategy parameters 0f41ed185 chore: clarify variable naming 98eff5acd feat: bump api_version to 2.51 5f8cee912 test: add test for backtest api overwrites dd2cde3db feat: add parameter overrides to API backtesting f3c311964 test: add test for pair_history param update 4e9de660a feat: add Strategy parameter loading to pair_history endpoint a1cd4f09b feat: add Strategy Inputparameter schemas db95b10a3 chore: update renovate config dd88ab3a6 chore: renovate link to github, not local 60fa47194 fix: slightly different variant to generate message 8308ecf0a fix: log when pairs without data are removed 9430a4a6a feat: improved removal message wording a7be5e8fa chore: increase offset for a bit more safety margin d62d6fed3 test: additional tests for Agefilter 7815e4de4 test: update tests for new AgeFilter behavior f94725087 chore: simplify condition 54bf5f374 feat: improve AgeFilter logic 32698fb40 chore: update binance leverage tiers 183351d57 fix: only fetch leverage tiers for active markets 191f71de5 chore: reduce severity of orderbook staleness message 9f54ebfa0 fix: add ohlcv_volume_in_contracts for Volumepairlist 6afd6776c chore: align ohlcv and orderbook cancel behavior 8d735173a chore: unwatch should get a timeout 82e4c9604 chore: add authorized_only to all telegram endpoints 0becb6b54 fix: rollback telegram customData sessions 070727f95 fix: rollback customData session 93efa8480 make sure no false positive in comparison between bool and int f271f0113 chore: improve LowProfitPairs lock reason message 32bf4d81d typo 4811e966f protect agains trade-limit 0 f4471bf7d allow matching None, "", False and 0 4eb522769 chore(deps): cleanup numpy version split b1908aff8 chore: revert bumps to orjson and certifi 152c63e66 chore(deps): Apply pre-commit types update 3f2476583 chore(deps): update python non-major dev dependencies 81fbd84c8 chore(deps): update python non-major dependencies a179f5cf1 chore(deps): update freqai dependencies 291ba9b50 Fix percentage conversion for aggregated mix tags 8b23256ec fix: reset realized profit after offsetting partial exits d636f8e47 fix: missing fstring in Agefilter cde4437e9 make the trade count also honor only_per_side setting fa5dc3938 fix: reject unsupported future Python versions 72c49b882 fix: reject unsupported Python versions in setup 9a2f03a6b chore: renovate -> run pyarrow in a separate group e99c82e38 test: add test handling binance exchange errors a1622c9d5 fix: handle exchange errors on binance trade_history download 2f25a6f2e chore: update web-proxy-ip fccc94d9b test: enhance test coverage of rpc_emc 464d31e18 test: add test for new behavior eea79443c fix: EMC - fall back to initial instead of a 1500 default 093e493c0 chore: Add minimum value, document. 0b68d1c22 chore: improved naming for renovate groups 038233bf2 make sure initial_candle_limit is used 2cdfc2325 chore: improved renovate config d29b87e9a chore: remove duplicate dependency entries c4b851adc fix: correct filter logic 51121200d test: update order not found startup test dac0a2baf chore(deps): make sure all requirements files are detected 2827c8208 return empty list on no data instead of 404 b6dbe6ec6 chore: remove scipy platform constraint 65e3bea30 chore(deps): Apply pre-commit types update a99a39dff chore(deps): update scipy 7b222fc16 chore: fix renovate config df11a9af7 chore: drop Python 3.11 constraint in Renovate configuration 63f4d4a83 test: remove test fluke due to hour rollover d77ea1692 fix and improve test on 1 missing coverage 43b400dcd add comment on test 3a73cdfe8 chore: update binance leverage tiers 116cda786 fix bug when first open trade has no requested custom data 18d527cf2 update cd_type on setter 52e7f6f9f fix: no wildcards in custom_data queries e1d58f84b add api_server.ws_token 6126fd5a8 add api_server.jwt_secret_key as sensitive key b7fad51e3 docs: update rpi doc wording ccc94700c chore: bump renovate.json version constraint to 3.12 021a0f89a chore: Improved type syntax for 3.12 797f59257 chore: type modernization acbaeb1b2 docs: bump docs for 3.12+ reality 6a657b67f chore: disalbe CI on 3.11 f3ec9796f chore: Remove python 3.11 from docs and setup scripts 24aca66af docs: improved raspberry documentation 1c9c206d2 docs: fix raspbian documentation bug a6a2ac681 chore: drop readthedocs file f90146c7d chore: make sure to install deps for supported versions f331805de chore: bump Dockerfile to 3.13.16 61d6131ad chore: minor cleanups db7645bca test: improve online test performance a0074c53c chore: workaround for scipy 8494a2f22 chore: update pre-commit hooks 4cd6e31da chore: bump numpy on armh7l to 2.4.5 c25135717 chore: add 3.13 wheels, remove 3.11 wheels a859a8f6e chore: Renovate should consider supported versions 00aaa1f34 chore: bump pyarrow wheel e4be0f258 chore: bump pi image to trixie 35495b244 chore: simplify docker install 16cdadff4 chore: bump armhf dockerfile to python 3.13 ede1608b0 chore: add pyarrow 3.13 armv7 wheel 545f99f31 chore: stick to xgboost 3.2.0 for now 77ce1402b chore: remove unnecessary mypy plugin 7b1a53c57 chore: downgrade a few packages for compatibility fe6b57a1d chore: bump scipy and scipy-stubs together 46acf3c8d chore: revert scipy-stubs for now 58dd94caf chore(deps): Apply pre-commit types update 68c6b8081 chore(deps): Apply pre-commit types update c77c1d56c chore(deps): update python non-major dev dependencies 4dfe76b15 chore(deps): update python non-major dependencies f4d178f46 chore(deps): update dependency python to 3.14 d477b53bf chore: update ta-lib wheel 3930b03f7 chore(deps): update dependency ta-lib to v0.8.1 1a4fff8c5 chore(ci): mypy type version update - include renovate ef960437b chore: remove dependabot, explicit schedule 0d23788a5 chore: Add .github/renovate.json 45d486b12 chore: bump small jobs to ubuntu 24.04 fd0497b1f chore: test on macos-26 ffa803682 chore: remove deprecated macos-14 image 990828d19 chore(deps): bump pyjwt 44e77d7bc chore: bump urllib to 2.8.0 53e09bc9b chore: bump ccxt to 4.5.85 3db1a1ced chore: move comment to the call dd29251c6 chore: don't update wallets if not needed 27d7e01b5 test: add test for hyper params shared base class leaking 3982128e3 test: open_interest online fix 6951a63ab chore: update binance leverage tiers a14b0e198 docs: note strategy parameter access behavior a5a652214 fix: prevent parameters leaking through base classes 22f2d3b15 test: update test for improved queue shutdown 7cfc492ee fix: improved cleanup to avoid thread leaking (or sending messages after a reload) 52195f7ab fix: don't warn on 0 queue size ab0bce3f7 test: add tests for msg queue b9edaccfc test: flush queue for telegram tests d7331939e feat: use queue to decouple RPC from bot operations 3321fe54c test: update test for messageStream changes 358a71e3b fix: call publish message set_result on loop thread f6a7b767a fix: remove coinex from online tests 2c43162e5 chore: bump develop version to 2026.10-dev ea4f84ee4 refactor: improved naming and log output for ohlcv ws 902d014e4 fix: improved cleanup fa8d63d46 test: improve ws orderbook tests 0926be9a5 feat: per exchange orderbook subscribe limit 76310ea5d chore: avoid log spam in ws failure mode ff7e5c4e0 chore: fix typecheck d84599325 test: improved ws_orderbook test 2f70d1786 fix: prevent mid-update responses from orderbook e1d8658c8 chore: improved comment wording 8101d8c23 chore: disable hyperliquid orderbook websocket 52a2aa54a test: add test for unwatch_while_stopping dbc908b0e fix: implement shutdown guard c54b6b0d9 fix: legacy configurations shouldn't break e9f88ce47 test: stabilize orderbook online test 992320396 fix: upper l2 limit for okx 02d91393e test: fix watch ohlcv online test 604b6ede9 test: add exchange_ws unwatch tests 4eaaf015e test: update tests for websocket limit handling 8084e164b feat: improve unsubscribe resiliance f3f116c8f feat: ws orderbook respects limit now b8f21f816 chore: improved ws cleanup c226a7191 test: update test mistake fa3a1ead4 feat: enable orderbook websocket support for binance futures c034651fe chore: Improved debug log output dc87b9748 test: update websocket orderbook tests 10bdd6be5 feat: add orderbook staleness c2d1190a4 fix: skip empty orderbook objects 05a17d579 test: add orderbook online test 20b6d6c86 test: add tests for watch orderbook 429229cdd feat: extract ob watch timeout for now a7d8f36da test: add test for enable_per_stream 56754fad3 feat: allow users to disable websockets per stream 061480887 fix: return correct websocket type 2bdaac4c0 feat: allow individual ws disabling by stream 89ef9cb0d feat: enhance orderbook websocket behavior b420a3893 feat: Add orderbook websocket support
Source: README.md, updated 2026-10-30