Download Latest Version 2026.7 source code.zip (45.1 MB)
Email in envelope

Get an email when there's a new version of Freqtrade

Home / 2026.7
Name Modified Size InfoDownloads / Week
Parent folder
2026.7 source code.tar.gz 2026-07-31 44.8 MB
2026.7 source code.zip 2026-07-31 45.1 MB
README.md 2026-07-31 13.4 kB
Totals: 3 Items   89.9 MB 9

Highlighted changes

  • Backtesting performance improvements (when used with --export signals).
  • Implement timerange filtering for trades in parquet format.
  • Drop recommendation for parquet and feather, favoring feather only based on performance tests.
  • Implement arrow based filtering for ohlcv data (feather and parquet).
  • OKX / MyOKX - support both stop-market and stop-limit orders.
  • FreqAI: support backtesting pairs with partial data availability (later listing date than other pairs).
  • Deprecate importing qtpylib from freqtrade.vendor for from technical import qtpylib .
  • Several minor performance enhancements.

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 158b380d6 chore: bump version to 2026.7 b084fb206 test: improve test for get_conversation_rate 311654802 fix: get_conversation_rate when rate is None 02ff7c4a2 fix: don't persist 0 balances to wallet history 6688845b4 chore: update ta_lib armhf wheel to 0.7.1 b15c1320c chore: update binance leverage tiers 1b9e1dcf2 fix: hyperliquid properly set lastTradeTimstamp 3d972a32f test: update trade_parallelism test ccf0f1b8d feat: include funding_fees in wallet migration be7d603ce fix: ensure handle_on_exchange works if no order is found a52c3b718 fix: wrong telegram help description 7d1b99a0e chore: pin ruff to 0.15.22 for now (aligned with dependencies). 9590f33ec chore: update pre-commit hooks 398188fc6 chore(deps-dev): bump mypy from 2.2.0 to 2.3.0 45b23fec7 chore(deps): bump ta-lib from 0.6.8 to 0.7.1 31f0099b5 chore(deps): bump the actions group across 1 directory with 2 updates 1bf74491c chore(deps): bump filelock from 3.31.0 to 3.31.1 fcbbd1bcd chore: move dependabot time 47c2b5cad chore(deps): Apply pre-commit types update 6c290445a chore(deps): bump tqdm from 4.68.4 to 4.69.0 3685eb3dd chore(deps): bump ccxt from 4.5.67 to 4.5.68 c98313f87 chore(deps): bump websockets from 16.1 to 16.1.1 2c20a03e5 chore(deps): bump fastapi from 0.139.0 to 0.139.2 8d42195a0 chore(deps): bump numexpr from 2.14.1 to 2.14.2 0d92cc311 chore(deps): bump pypa/gh-action-pypi-publish from 1.14.0 to 1.14.1 ab0eb0f00 chore(deps): bump zizmorcore/zizmor-action from 0.5.7 to 0.6.0 3ea88afb8 chore(deps-dev): bump ruff from 0.15.21 to 0.15.22 a04b1ef93 chore(deps): bump lightgbm from 4.6.0 to 4.7.0 7ee950120 chore(deps): bump filelock from 3.29.7 to 3.31.0 3cc163ee8 chore(deps): bump mkdocs-material in the mkdocs group e645c21ba chore(deps-dev): bump the types group with 2 updates d9e1cf17a feat: fix dtype on historic predictions load f5dfa6c27 test: add tests for problematic merge scenarios 3e4a5a833 fix: problematic merge due to mismatched date types 98dedb87e test: add test for row alignment 2742872f4 fix: additional row misalignment on mal-treated dataframes a1dff2465 chore: improve clarity by removing redundant variable alias eb8871a77 fix: improve resilience against strategies that drop rows d5979d676 test: add explicit test for attach_return_values_to_return_dataframe 2f2045988 fix: use pd.merge instead of concat to ensure date alignment 4f8996228 chore: improved typing 3d80e5817 test: add test for edge-case fix d9cf1f7fa fix: address pr comments 2708d0bdc chore: update contributing.md for AI contributions 7f65fc438 fix: re-map closed orders without average to open d929a092f test: test for explicit marginMode exception dda1fcb49 fix: MarginModeAlreadySet can always be skipped. 32be32bf1 refactor: use f-string for warning ff0d519b1 test: add binance futures order parsing test bac5c06c1 chore: update binance leverage tiers 69fc84835 chore: switch backtestoutput datetime format to RFC3339 94071960d test: fix leaking warning state f1117aee8 fix: switch indicator warning to a user-visible warning type 2abf3c81a chore: update pre-commit hooks 26c7f3acf chore: update pyarrow wheel to 25.0.0 af241006b chore(deps-dev): bump mypy from 2.1.0 to 2.2.0 2f52808a0 chore(deps): Apply pre-commit types update 7a38cefc9 chore(deps): bump tqdm from 4.68.3 to 4.68.4 0f0ab88d8 chore(deps): bump plotly from 6.8.0 to 6.9.0 3082c1c7c chore(deps): bump filelock from 3.29.5 to 3.29.7 b667788b6 chore(deps): bump ccxt from 4.5.64 to 4.5.67 bb23ec602 chore(deps): bump websockets from 16.0 to 16.1 f950577ae chore(deps): bump astral-sh/setup-uv from 8.3.0 to 8.3.2 a58fb6690 chore(deps): bump pyarrow from 24.0.0 to 25.0.0 fad8a639f chore(deps): bump uvicorn from 0.50.0 to 0.51.0 f53c7ee07 chore(deps-dev): bump ruff from 0.15.20 to 0.15.21 f23ae1264 chore(deps-dev): bump types-requests in the types group 398e722e5 feat: add deprecation warning for freqtrade.vendor.qtpylib imports 5bd49d5d8 test: switch test code to use technical's qtpylib directly 13daf1d30 feat: remove duplicate qtpylib indicators c29cebc50 docs: move stoploss tip to the top of "okx" section 590d3e1a5 feat(okx): extend stop-market support to spot 425228ab7 fix: remove pointless debug message b25a0721a test(okx): reuse stop params exchange instance 5ec8d6000 Fix strip_trailing_zeros corrupting integer strings 8694ac3ff test(okx): document deterministic exchange cleanup 2fced2bfc test: improve freqAI regression test e2841090c test(okx): close exchange in market stop test d93766654 feat(okx): support futures stop-market orders abfd6b309 fix: save feature list to enable freqUI f8579a657 chore(deps): bump torch in the pip group across 1 directory d8fe5cf2f docs: add link to ta-lib.org for better indicator docs 486c92120 chore: update binance leverage tiers ee2c9c926 chore: remove unused logger 9a104893d test: enhance arrow handler testing 0ca07810b fix: capture ArrowException specifically 8413f6b44 refactor: remove unreachable branch c7a2c661a fix: align arrow_trades_filter 85471c472 docs: update data comparison documentation ac576ee29 refactor: rename build_arrow_filter for clarity 32c39e16b test: add tests for ohlcv pushdown a0b492a1b test: use mocker.patch for mocking 2368655a3 test: update error case test 680bccefb feat: use arrow datareader fo ohlcv 3fc76d218 test: update test for new import path 618285237 refactor: combine feather and parquet datahandlers 25dc85994 test: disable aiohttp test warning on 3.14 b8f53ef27 chore: update pre-commit hooks 4ef58903c chore: improve log output for exchange loading 601dc183e chore: add kucoineu class mapping ef52f50db fix: wrong candle-start calculation for orderflow 41a0d5b92 test: Update test for +1 behavior 686405543 chore: add Docstring for needed_candle_for_trades_ms 630fc4488 test: add explicit test for needed_candle_for_trades_ms 1688123c2 chore(deps): bump uvicorn from 0.49.0 to 0.50.0 be08841f5 chore(deps): bump humanize from 4.15.0 to 4.16.0 a3f37c86f chore(deps): bump fastapi from 0.138.1 to 0.139.0 de0aedf86 chore(deps): bump astral-sh/setup-uv from 8.2.0 to 8.3.0 2f8aca407 chore(deps): bump pymdown-extensions from 11.0 to 11.0.1 03a6f5c1b chore(deps): bump tensorboard from 2.20.0 to 2.21.0 9a4c86af0 chore(deps): bump filelock from 3.29.4 to 3.29.5 de72bf396 chore(deps): bump the docker group with 3 updates 86671a83c chore: Add save_backtest_models to freqai example config 09638ab4d test: add explicit test for timerange.copy c7be0eec6 chore: minor adjustment 813d857c4 fix 1641098cb forgotten change 6c6d0d4f6 fix weird ruff error 497ebbae9 add copy method inside TimeRange class 547385b0f fix comment 2226e0ae8 use copy on TimeRange 3392b322a Update AgeFilter.py 04cf2d331 Update StaticPairList.py 673d2fc5b Update IPairList.py 0b966a49e Update backtest_result_type.py 00b6ec8c7 address comments, modify tests 19c13026a chore: don't overwrite inbound variable 145dcf642 fix: sanitize non-finite values in json exports 6722775c4 remove unecessary deepcopy f04d4d86b fix: switch to Install-PSResource for windows pester install 8fa99b31a chore: minor nitpick adjustment 68cae7e21 move pair lock check above free_trade_slots check bce3a39cd test: don't reassign variable 3ee98f79c revert if signal block eda817d33 fix num of complex 69145efea reduce number of calls to get free open trades 7d4c29c0e address comments ddc8fa536 fix precommit 93bdff833 move new tests on test_persistence file, rework teh new tests fbd9cd889 test: add test for new trimming warning. 738aa4a69 feat: add warning when trimming leads to no left data 2bd60670f test: fix failing test due to changed behavior a15aa18f8 fix: if canceling an open order fails, don't place a new order 023353454 test: add test-case for behavior shown in #13332 5549c189b chore: align dependencies with pyproject.toml dependencies 5e965389d chore: move `scipy` from `optional-dependencies.hyperopt` to `dependencies` da592ff52 chore: update binance leverage tiers 9864883b8 chore(deps): bump pymdown-extensions from 10.21.3 to 11.0 4d8fa4bfd chore(deps): bump stefanzweifel/git-auto-commit-action 0885fe0f7 chore(deps-dev): bump ruff from 0.15.18 to 0.15.20 a6301b52b chore(deps): bump fastapi from 0.138.0 to 0.138.1 0ab604c38 chore(deps): bump ccxt from 4.5.61 to 4.5.64 61569f770 chore(deps): bump actions/setup-python in the actions group b2a7657f1 Fix FreqAI PyTorch docs wording 3640172b8 perf: vectorize signal/rejected candle export in backtesting reports 837a95b8e chore: update binance leverage tiers 2ece16f6c fix ruff e61c53fdb add tests b38a9cc37 iterate orders once instead of max 3 times e38379244 loop orders only once dcf6922fa round float directly 2463187a0 chore: update pre-commit hooks 521129877 order_obj can't be null 7450331d2 test: simplify assert and test comment efd9cbcda chore: simplify patch and remove odd statement in docstring 72e22865f test: cover dynamic-pairlist re-entry with aligned data and real filters 3806484ac fix: advance re-entered pair to the current candle, not one before 0243512f9 fix: dynamic-pairlist backtesting replays stale candles on re-entry ef96aa02c docs: document bybit EU as supported 665332366 feat: add bybit EU exchange mapping dee5fbbc7 docs: document gate EU as supported dfd448d78 feat: add gate EU exchange mapping 59db4ca73 add test for early exit on replace_order db83b0846 chore: bump version to 2026.7-dev 7bee18b3f chore(deps): bump the gymnasium group across 1 directory with 3 updates 14ac8eda7 chore: be more precise in gh actions pin 907e2001f chore(deps): bump fastapi from 0.137.0 to 0.138.0 4ec132946 chore(deps): bump torch from 2.12.0 to 2.12.1 f5d85c245 chore(deps): bump certifi from 2026.5.20 to 2026.6.17 86c0e08d3 chore(deps): bump zizmorcore/zizmor-action from 0.5.6 to 0.5.7 5664a8b0d chore(deps-dev): bump pytest from 9.1.0 to 9.1.1 in the pytest group a33d4b062 chore(deps): bump actions/checkout in the actions group 432cf6913 2 more moves 9973ab53b add early order_obj check before fetching things e73d78613 move order_amount calc after ealy exit check, move trade_base_currency get when it's needed 70948da2d move current_profit calc when it's needed e8ce792e6 move minstake calcs only if filled is more than 0 b91aa38cb move min exit stake calc only when user want to decrease position 681a39061 check free slot before pulling dataframe 577958960 fix: handle failed freqai backtest training
Source: README.md, updated 2026-07-31