github freqtrade/freqtrade 2023.5

latest releases: 2024.5, 2024.4, 2024.3...
12 months ago

Highlighted changes

  • Improved balance display (incl. new telegram variant /balance full)
  • Recover trades when asset is sold on Exchange (intentionally, or through liquidation).
  • New argument --rejected for backtesting-analysis, allowing analysis of rejected signals.
  • Add full support for Python 3.11 (setup.sh, …)
  • Enhanced freqUI plot Configurator.
  • Add support for area Charts in freqUI.
  • Better protect API keys by no longer exposing them to the strategy.
  • FreqAI:
    • New Torch Transformer model (PyTorchTransformerRegressor).
    • Updated dependencies, including 3.11 support.
    • Use freqUI charts to visualize backtesting results also for freqAI strategies.
    • Tensorboard logging now available for all PyTorch and XGBoost models.

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
2ea287958 Bump version to 2023.5
bd266f654 Properly handle invalid pairlists type before config validation
f647fb342 Update base_tensorboard.py
9e9f9b21e Bump stable-baselines3 from 2.0.0a9 to 2.0.0a10
b5ed693be Extrac OKX convert stop order, call for regular orders, too
b8220ee0f Improve recovery detection by skipping open orders
a0336c83c Update method casing in tests
6efc62e4c Add test which verifies #8680 won't happen again
6292d1af6 Use camelcase version of private fapi method
9ffdaceef Bybit - use Proxy
1e10b25e3 Bump requests from 2.30.0 to 2.31.0
44bdac5e8 Improve developer docs with some minor improvements
d26aa231f Stable baselines updates, and fix
2242d544f Bump ruff from 0.0.267 to 0.0.269
ad5f0307b bump sqlalchemy precommit
96eb109b4 Bump mkdocs-material from 9.1.12 to 9.1.14
ae52ce8cd Bump sqlalchemy from 2.0.13 to 2.0.15
811198cc3 Bump pre-commit from 3.3.1 to 3.3.2
4e3de64c5 Bump fastapi from 0.95.1 to 0.95.2
8c866abad Bump ccxt from 3.0.103 to 3.1.5
68ab147f5 Bump cachetools from 4.2.2 to 5.3.0
abc82a3fd Simplify api backtesting by extracting the background_method
a87b215d6 Fix odd import
914195acf Ensure one test can't fail 20 others
96d74063f Don't have public attributes marked as private
531622721 Extract api backtest logic from ApiServer class
c4c0371ed add docker comment to docker usage freqai doc section
a2cbe5df0 Remove trailing spaces
0d4010a0b Add sample docker-compose file for freqAI, comment about that
9d0f488de Some more edits due to arrow
707c6744b Fix doc and example indentation
ebfc9a603 Remove some humanize occurances
5d0cff2f7 Add dt_humanize helper
f657d06e9 Move shorten_date to datetime helpers
b40c45ee4 Timerange -> datetime
adcf75134 Bump min-requirement of arrow
261822147 Fix remaining arrow testcases
3ec55885b Remove arrow from more tests
9421ca262 Remove arrow from test_persistence
3a4d103bc Properly check wallets with new type
7a2ff6025 Fix more tests
915cb5ffb add dt_utc helper
c0713eb77 More tests to dt_helpers
29fdcdbf5 reduce arrow in tests
d131dd405 Fix wrong transition
cfae98ae0 dt_now for tests
e4f701fd0 Don't use arrow for everything
5b66ef4be Implement datetime.floor
7f73e9943 Simplify exchange_utils
55ce58d79 Reduce some arrow usages in favor of dt helpers
000f72942 Improve dt_now_ts helper
aa949153e Add now ts helper
5c6f3ea43 Improve wallets time handling
261df527d dt_now
6b735bc68 Implement dt_now
6044bbb6b Add datetime helpers to unify code
2477ef57f Reduce arrow usage throughout code
1d03e8bc5 Reduce arrow usage further
d3382fbe0 Reduce usage of arrow
292bd6297 Reduce verbosity of httpx (we don't need to see telegram calls)
adeab13bd cleanup tests, cross fingers that mac will pass
2ab732480 Ensure pi image can be built
45ee12e25 reload_trade should be a post endpoint
bb760a47d Bump pymdown-extensions to 10.0.1
61ea3d817 Bump pymdown-extensions from 9.11 to 10.0 in /docs
7d15c379c Fix faulty removed import
c7f7dd1d4 Avoid unnecessary type ignore
1b714fdb0 Fix wrong "first trade" date in UI, improve interface
9b1028789 Improve typing
3a0e123c6 Bump pre-commit sqlalchemy
ef15b7b3d pre-commit dateutil types
28905885e Bump sqlalchemy from 2.0.12 to 2.0.13
68f67c5ae Test proper removal of exchange keys
c242d89cd Improve test format
66c3eb282 Remove keys from config before loading strategy
b2a631e93 refactor remove_exchange_credentials
fe36e7741 Split exchange_config before passing through the strategy
fffb056ad load_exchange - force kwargs for non-required arguments
0ea47118e Create test Utils package
dd7624539 Bump ruff from 0.0.265 to 0.0.267
acdd50aad Bump torch from 2.0.0 to 2.0.1
33a0ed67d Bump pyjwt from 2.6.0 to 2.7.0
f21a7a25d Bump types-python-dateutil from 2.8.19.12 to 2.8.19.13
5f01b823d Bump mkdocs-material from 9.1.10 to 9.1.12
b0e7b4395 Bump ccxt from 3.0.97 to 3.0.103
675ab840f Bump mypy from 1.2.0 to 1.3.0
a225ab71e revert file count
9242dfa35 try reactivating tb for some tests
505f36a95 try even more deactivation
1ed084557 try even more deactivation
73e9047cd try to deactivate any test that has a callback
340d2191f deactivate tensorboard by default
55a1a3afd add config option for activating and deactivating tensorboard logger, ensure the various flavors are never activated simultaneously
ab7a474ab try limiting tb_logger to pytorch only (XGBoost still gets its callback)
af8fbad28 Improve Date timezone useage
bbce73852 Improve tests around timezone
66a97ff45 Remove some utcnow usages
726627976 Improve docs around pytho 3.11
784087384 darwin excludes must use "sys_platform"
838fbb76a Improve version constraints
106db716f Force smaller catboost version on 3.8 macos
e76356aff Bump catboost to 1.2, disable some constraints
0db186935 Update cached binance leverage tiers
dc4268b6e Convert Exchange arguments to be kw only
af95d56ce Import deepcopy specifically
0d4010c38 maint: Remove faulty config setting from default_conf
18c1eda09 remove commented lines
2ec1302c1 add warnings in the doc for users to better understand the limitations of continual_learning
fad1c1985 add warnings in the doc for users to better understand the limitations of continual_learning
3ae3cc63d fix bug in continual_learning for PyTorch* models
d50e221e6 Update active ccxt.futures test init
1552d81f4 Simplify load_exchange interface
b2a3fe687 Improve remove credentials
ab0f9d78e Mock tensorboard callbacks for all freqAI tests
23e8932a4 Mock tensorboard callbacks
400cbd183 Fix types
871f1aabb Use tensorboard fallback for mac tests
6d7172ac4 Re-add init file
49b9b463b Move tensorboard callback exports to freqai.tensorboard.
43213cc6f Revert testing Reinforcement lerning on Mac
6e5a9fe4c mac strikes again
ca7ad8a49 good old macos
8261c988b try to fix mac CI
db0645ed1 add helpful hints for reward creation
31d15da49 add disclaimers everywhere about how example strategies are meant as examples
692fa390c fix the import logic, fix tests, put all tensorboard in a single folder
6000e6842 bump ccxt min dependency
1d3687893 Bump min-requirements for python-telegram bot
b970ddeb6 Fix unused import
f7179f7c9 Fix last test with dependency on local user_data dir
1c1005247 Don't hardcode user_data in tests
963ff8c62 Run Repo check on windows, too.
395bf4919 Run Repo-check for macOS, too
2ecd63234 Remove git status again
bd6d4d5d2 Event-name for concurrency group?
1ec1abdc3 Fix syntax
800c6223e Quote concurrency group
3ba1eb6ba Improve concurrency group
c60c4b9ab Update user_dir fixture to return user_data path
7e023419d Auto-mock user_dir to tmpdir
a74a081e6 Check for repository changes
6df5cb887 add install requirement to tensorboard doc
b01aaa4d0 ensure backtesting also produces tb_logs, make sure tests are working
242247be4 Fix var name
ffc4d8726 add tensorboard integration to XGBoost and PyTorch et al
3a7e41e17 Update rest_client.py
d9cc45851 Properly enable pytorch tests
2c0230ba9 avoid mutating new_trained_timerange
35ce88f1e ensure that the buffered timerange is not the trained timestamp so that live_retrain_hours functions properly
55777eba7 Add pre-build arm wheel for pyarrow
f2a65437a Bump ccxt from 3.0.85 to 3.0.97
5a27245fc Bump pyarrow from 11.0.0 to 12.0.0
3e3945390 Bump urllib3 from 1.26.15 to 2.0.2
7e31cc410 Bump mkdocs-material from 9.1.9 to 9.1.10
591a51e4b Bump nbconvert from 7.3.1 to 7.4.0
9d7c90e9d Bump pre-commit from 3.2.2 to 3.3.1
395223221 Bump pre-commit requests types
e0c63e12e Bump mkdocs-material from 9.1.8 to 9.1.9
10604bf49 Run Torch tests on 3.11
75e5f325a Bump ruff from 0.0.263 to 0.0.265
bf7c52a9e Bump types-requests from 2.29.0.0 to 2.30.0.0
7bd33be8f Bump python-telegram-bot from 20.2 to 20.3
68a37cb71 Bump tensorboard from 2.12.2 to 2.13.0
ecd34ce47 Bump requests from 2.29.0 to 2.30.0
4a911bbe9 Bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6
3bb872a5e Bump mkdocs from 1.4.2 to 1.4.3
fa40e4e88 Bump websockets from 11.0.2 to 11.0.3
4b1cb9644 Bump orjson from 3.8.11 to 3.8.12
36e1e58da fix arch
3bbb7e38e improve transformer architecture, remove 3.10 install constraint, add documentation for torch.compile()
c2beeb4c7 bug fix backtest feature validation
908a2e817 Align BasePyTorchRegressor tensors to cpu as in BasePyTorchClassifier
306dfc4ae refactor(BasePyTorchClassifier.py): convert tensor to list before creating DataFrame to avoid TypeError. docs(BasePyTorchClassifier.py): add missing parameter description in predict method
e3ff2ccc9 Slightly reword documentation to be more clear
24804f066 Update test comment, uncomment last test section
775ea1c8c Improve type safety
80930d72a Dont loop trades twice
0adac268e Add test for #8591
976cc1ab1 Extract order_obj existence check to separate function
1cc5b6126 Bump pre-commit ruff version
0d1d25e86 Improve error-handling
13974d250 Reduce error severity when maintenance-ratio fails
f419d7870 Add freqaimodel to pair history endpoint
fb5fac164 add Packaging dependency explicitly
a935f1e4d Remove no longer necessary dependency from setup.py
d8a9c9422 Update missing "requirements" install in documentation
220f8c6b5 Add missing freqai-rl dependencies
e3f983729 Update freqai dependencies
8f5fb4e32 Add missing dev dependencies
75daa44c5 Add missing core dependencies
1c2dd884e Remove dependency workarounds in place for gym
238581ee7 Remove <3.11 pin for tqdm
3f58c1997 Bump ccxt from 3.0.84 to 3.0.85
5e32182c7 Bump types requests
103f27cfd Bump sqlalchemy pre-commit
a31ceb51a Bump sqlalchemy from 2.0.10 to 2.0.12
af139ffba add transformer with positional encoding, fix some odds and ends in pytorch, upgrade to PyTorch 2.0
fe9f2d005 Bump types-requests from 2.28.11.17 to 2.29.0.0
1d73c7c27 Bump mkdocs-material from 9.1.7 to 9.1.8
d023e7592 Bump ccxt from 3.0.75 to 3.0.84
063ddd62e Bump uvicorn from 0.21.1 to 0.22.0
7f9a6ffc5 Bump ruff from 0.0.262 to 0.0.263
7dda3f580 Bump orjson from 3.8.10 to 3.8.11
d928792eb Bump requests from 2.28.2 to 2.29.0
9dd077d69 Bump rich from 13.3.4 to 13.3.5
a66e8768c Update docker-compose.yml
d1eb6d4fe Update BasePyTorchRegressor.py
023c155a2 Extract signals generation from backtesting class
6e395ad7c Refactor methods in backtesting
0753f427b Simplify storage
e20d9c8f9 Impoved errorhandling, better typesafety
fc2a3c9f1 Implement further improvements, improve typehinting
703ec3ccc Fix help text to show correct format
76ae539e6 Minor edit
2a9e50a6a Add test testing create-table statement creation for different sql dialects
daf564b62 Invert logic for webhook
1d9933412 improve `/version` output formatting
395ac5f6d Update integration test
491d2cb02 Explicit test for handle_onexchange_order
8cf0e4a31 Fix mypy typing errors
6d3c94a73 type: ignore the offending tensorflow call
c6f3a3bbc avoid typing issues in the tensorboard callback
e86980bef remove typing from callback init
e29ce218e fix typing in TensorboardCallback
e88e25903 explicitly test check_exit_amount
d29a425ba Update parameter type in RPC modules
b0b036c45 Fix logic lapsus in check_exit_amount
d0b5c7d21 update telegram/api documentation with new endpoint
25bed7bb8 Update telegram help with reload_trade
7287e9da1 Add telegram endpoint for reload_trade
0c22710dd Add API endpoint to force trade reloading
f2696c960 Force special exit reason for "recovered" exits
24cab0047 Extract amount checking to wallets, implement for futures
974cf6c36 Move comment to more appropriate spot
95b35e452 Emulate fetch_orders if it ain't supported natively
81633b7c2 Add "handle_onexchange_order" functionality
d14f50f50 temporary comment fetch_orders logic
531b5727f add fetch_orders exchange wrapper
c4a091090 Handle special case where exit order is for more than the trade amount ...
1b228e370 Improve test resiliance by removing unneeded MagicMock
e8fedb685 Update missleading docstring
11c9f96d2 Use lock for trade entries, too
59f9f4d46 Fix exception typos due to newlines
1e9fa4c04 Improve test to cover to_ccxt better
6a271317b use stop_price_param for dry stops
c19d6b4e2 Bump pandas from 1.5.3 to 2.0.1
b49ff3d5b Improve type safety
2615b0297 Move httpx to regular dependencies, losely-pin
c06759223 Improve telegram async tests
516b49ff5 Fix bad types
d25e82d09 Mock exchange loop
5608aaca2 Simplify mocking
7171fd113 Test telegram startup
c9e6137ad Fix test_telegram _init test
cf0b37057 update telegram "cleanup" test
69f61ef76 Further telegram async tests
4177afdf8 More async test updates
678c9ae67 Fix some more async telegram tests
c475c8184 Update several tests to async behavior
fb56889b4 Update a few tests ...
914d7350f Update mocks in apimanager tests
b1367ac46 Update decorator typehint
3d0e1d142 Convert endpoints to async
54732b72f Manage startup/teardown of telegram manually
e7e6f719e _update_msg to async
5134bf8ec Authorized-only and /version to async
cb45689c1 Small fixes to new telegram implementation
14b501a4f Initial changes for telegram migration
68ac93492 Update command list to handle frozenSets
57eed50ac Fix some test failures caused by v20 update
c37b7b77e move telegram fixture to telegram file
da261003d Fix telegram imports to match v20.0
99a4a6405 Bump python-telegram-bot from 13.15 to 20.2
98db27e8f Bump develop version to 2023.5-dev
8086d9053 Update some tests for balance updates
68a8c79c0 Improve output for futures
94a6bc608 Update stake-currency behavior
741834301 Update tests
f937818b8 Add "owned" fields to balance
c4f8ff95d Update tests
dbf1f0897 Add /balance full, reduce regular balance output
7a47500b2 Add "is_bot_managed" flag to API
0a0509971 fix mypy
f1e03a687 Update variable to better reflect it's content
3fb5cd3df Improve formatting
c055f82e9 Pip release follow up
66c326b78 Add proper handling of multiple environments
f455e3327 Simplify method further
af6fc886f Small refactor for new methods
d03fe1f8e add latest experimental version of gymnasium
fc6d7f012 Support for python 3.11
97a6fb285 revert to dataframe.to_json
f5359985e Make CLI option and docs clearer that we're handling signals not trades
854f056ea Fix missing Path constructors
5a4e99b41 Add support for collating and analysing rejected trades in backtest

Don't miss a new freqtrade release

NewReleases is sending notifications on new releases.