2024.4
版本发布时间: 2024-04-30 20:03:02
freqtrade/freqtrade最新发布版本:2024.10(2024-10-31 15:07:21)
Highlighted changes
- Improved backtesting output (exit-reasons aligned with tag summary).
- Visualize market change in freqUI’s backtesting view.
- Warn users if the strategy analysis (for all pairs) takes more than 25% of a candle duration.
- Create pre-built devcontainer image - improving devcontainer initial startup time.
- Reduced UI traffic due to new “reduced” dataframe endpoint (only retrieve columns that are actually displayed).
- New API Endpoint for manual pairlocks.
- Switch to humanize for human readable distance outputs.
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/
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
39eda1b1d Bump version to 2024.4
cb06dd893 chore: update pre-commit hooks
9bd5aff87 Add new column selection to ft_rest_client pair_candles
1805fcac3 Bump the pytest group with 2 updates
cccc4b5b8 Bump docker/login-action from 2 to 3
81ae8ac83 Bump ruff from 0.4.1 to 0.4.2
df183c9cc Bump the mkdocs group with 2 updates
6934088a5 Fix some non-working links
70396fc34 Fix some non-working links
a544fb1eb Update mkdocs as group
6f1d99372 Bump devcontainers/ci from 0.2 to 0.3
18e3673a1 Bump actions/checkout from 1 to 4
e452a2389 Bump pydantic from 2.7.0 to 2.7.1
784636106 Bump mypy from 1.9.0 to 1.10.0
d6738da6e Bump pymdown-extensions from 10.8 to 10.8.1
e5fadb180 Bump ccxt from 4.3.4 to 4.3.11
31fb00999 Bump stable-baselines3 from 2.3.0 to 2.3.2
43aee2147 Update backtest assumption wording
1649aca41 Support empty array to return only the base columns
71ef6f70e Improve test coverage of strategy test
9d57e3930 Extend error testing to post call
ab1037983 Add pair_history post endpoint, too
ccd788e2c Improve naming of the schema
8c3974010 Test Post pair_candles endpoint
eeaa9061e Adapt test for to also test post endpoint
3e2077044 Slightly change returned column scheme
54d467d2b Add Post endpoint for to filter dataframe by columns
cabdfabf0 Eliminate duplicate word in wallets docstring
38b35ec52 chore: remove repetitive words
21b1f5aab Update wording
37da71461 Don't set zsh as default shell
bd608bedf Use devcontainer features for most setup work
ad370cbbc Add github action to pre-build containers
6d46d17e3 Add pre-built devcontainer
bc5ded440 Improve devcontainer Dockerfile
19284e1e9 Update vscode debug config for new mode
e17258940 Add isort to devcontainer proposals
52403ceac add GHA extension to devcontainer
3b41c7e7f Fix devcontainer config (use vscode submenu)
73905b33a Ensure consistent program naming
dd04c51c4 Use time() instead of creating a temporary time object
9bc866e6b Loader should be passed as kwarg for clarity
8e5c57422 Don't handle case where base_currency is not set
a3e6abef8 Add test for "trade amount adjust" behavior
adbf1b5e6 Adjust trade amount by 2% if trade recovery remains above the trade amount
0a89efd00 Only cancel stoploss if really necessary
35408966f Fix remaining user_data leaks
ad12c98d1 Avoid having test-result influence from user_data/
96bb4db68 Fix remaining coingecko spellings
2d9be6c81 Fix some coingecko spellings
3ca0be754 Fix misspelled coingecko variable
d6dcd8adc use explicit macos version
5f1ab7508 Add idex subclass defining the applicable ohlcv limit
652819309 chore: update pre-commit hooks
365b9c9cf kwargs for re.sub count
fa6c17c06 Remove mutable default-args from generate-candlestick
86f3b649b Update security warning in docker section
115cb4bf4 Don't use datetime.utcnow ...
226eaf0d0 Filter deprecation warning - it's a dependency ...
914d630a2 chore: update pre-commit hooks
73c9b04dc Update pyarrow prebuilt wheels
7e78a103c Bump aiohttp from 3.9.4 to 3.9.5
3842b4697 Bump pymdown-extensions from 10.7.1 to 10.8
472d5d870 Improve format_ms_time logic by reusing dt_from_ts
6f3bb7f2f Bump plotly from 5.20.0 to 5.21.0
ac5cd778c Bump fastapi from 0.110.1 to 0.110.2
938259ffd Bump python-telegram-bot from 21.1 to 21.1.1
8f26793b7 Bump catboost from 1.2.3 to 1.2.5
8888fd190 Bump orjson from 3.10.0 to 3.10.1
4fee0eae6 Bump ruff from 0.3.7 to 0.4.1
8932aab20 Bump ccxt from 4.2.97 to 4.3.4
12ae190fe Bump pyarrow from 15.0.2 to 16.0.0
98807b100 Bump mkdocs-material from 9.5.17 to 9.5.18
03835350c Remove arrow as dependency
54c2febe1 Remove dt_humanize
d48cff3b9 Update to dt_humanize_delta for all usages
cc534c500 switch from arrow to humanize
4320c7a3c Add humanize as dependency
6b15ebd4c docs: update freqai-parameter-table.md
608088bc0 Simplify trade_statistics
b9b044585 Add but comment a few ruff rules
d4ce77453 Add requests timeout to deploy commands
a375e686d Add some ruff configurations
08f2eebd6 Extract httpBasic from function header
927c54094 Improve some bugbear findings
6dfc34d22 Fix test due to missing assert
6a1c33e16 Don't use setattr
e0aefb9b5 Fix faulty asserts in freqai tests
df712c016 Fix some faulty assertions
53c548f7b Fix test to actually work
1abd8fb8f Fix wallets test
7c3feeddc Fix faulty assert statements
0c99ff7f6 Fix more default arg usages
a078088ea Fix some more default argument usage in exchange classes
31f6030c6 Reduce some mutable default argument usage
800482969 Further reduce problematic default args
448b74840 Don't use mutable default arguments to functions
9b1def604 Fix mutable arg in freqtradebot
3d4250ca9 Fix type error
6a1ca75a6 Add codespell to pre-commit hooks
22c61458a Fix codespell in ci.yml
be1e1453d Further mutable-default fix to template-renderer
87d50243e Update tests
a451b9438 Remove mutable default from template-rendere
a41b38e94 Add configuration for codespell
40aa0800d Additional fix to eliminate some word-ignores
862d4c885 Revert relationship to "selectin"
37feede6a Fix some codespell introduced syntax errors
99b4767bf Fix typos discovered by codespell
0a7ed55ad Reduce duplicate warning
298f9b225 Fix broken sample of @informative decorator
bc8535209 Split timeframe_to_secs from loggingmixin init
6a570bd82 Fix excessive whitespace
77682808e chore: update pre-commit hooks
82482ec15 Fix / improve types
5eeb96fa9 Add test for measure_time
c6a50b3c0 Use MeasureTime to warn if a strategy takes too long
3c8366e60 Add measure_time module to measure time taken by functions
2297b3ed5 Split timeframe_to_secs from loggingmixin init
393d4b8eb Add test for market_change endpoint
3dd7c1e49 Add test for market_change writing
0b1f702ef Improve testcase
54d9dbaea Formatting
ba27c41c9 Support market-change for "online" backtesting
d7920c4b6 Simplify backtest storage
3338fdece Relative profit should be relative cumulative profit
523054e8e Add endpoint to fetch market_change data
c8a590495 Store and load backtest-market-change data
7f386874a Trim dataframes accordingly ...
18a4d6972 generate_filename should be private
a0a22f62e Update typehint for backtesting
7fc1d38ff chore: remove repetitive words
3f8078618 add Combine dataframes with pct_change
e7b907a17 Enhance / simplify bt-storage logic
264669df1 chore: update pre-commit hooks
39ef97a2a Bump pandas from 2.2.1 to 2.2.2
409a6236d Bump scikit-learn from 1.4.1.post1 to 1.4.2
4df847fa0 Bump aiohttp from 3.9.3 to 3.9.4
abfed990d Bump joblib from 1.3.2 to 1.4.0
183c82903 Bump pydantic from 2.6.4 to 2.7.0
3225c051a Bump ruff from 0.3.5 to 0.3.7
a4f2ea810 Bump ccxt from 4.2.91 to 4.2.97
caf50c0bd Bump filelock from 3.13.3 to 3.13.4
76814250e Bump python-telegram-bot from 21.0.1 to 21.1
7a401415e fix: for some reason we werent including high_price
65654a4a4 Update ccxt exception handlers
0c7e89aed Update tests for OperationFailed error
094bbb3a5 Remove pointless docstring comment
df2432bc1 Re-align adjust_trade_position bt with live.
e09abfdc7 Split enter and exit rows to use different values
eaec5065a Define liquidation price only once in adjustment test
9e55690ab Bump python from 3.12.2-slim-bookworm to 3.12.3-slim-bookworm
78535bc7e chore: update pre-commit hooks
e5f3d0443 Add some imports
081e50ec4 fix: ensure full hist-preds is kept
c924399e9 chore: update pre-commit hooks
3073e8810 Slightly update developer docs
d5bb2e4eb types-requests pre-commit update
16045870a Bump scipy from 1.12.0 to 1.13.0
f741f95c3 Bump ccxt from 4.2.87 to 4.2.91
564d77f23 Bump fastapi from 0.110.0 to 0.110.1
095150f6b Bump mkdocs-material from 9.5.16 to 9.5.17
c935bd057 Bump types-requests in the types group
d8aaaa34d fix: pandas.
08d0e7618 fix: pandas.
6a8abd5d4 fix: astype handling
b19b4d001 fix: ensure future pandas will be happy
8c12a1fd8 Rename TRADING_MODES constant to avoid naming collision
a584854d4 Update docs to align with actual workings.
1df21d3cd Pin pandas version to < 3.0
d4872eae1 chore: update pre-commit hooks
4affb1ead Fix wrong site url string
15cbca51e Test with dev url
298050349 use "/en/stable" as mkdocs site url
1cbd3f52f Run online-tests against bingx
b284abf9e Add bingx exchange subclass
55c0cfefe Add missing typehint to telegram class
9de473158 Bump ruff to 0.3.5
2ef854741 chore: update pre-commit hooks
62a15580c Bump torch from 2.2.1 to 2.2.2
41db2aec7 Bump ast-comments from 1.2.1 to 1.2.2
04a25e0f3 Bump orjson from 3.9.15 to 3.10.0
1d8ebc7ec Bump ccxt from 4.2.82 to 4.2.87
66a05ee67 Bump stable-baselines3 from 2.2.1 to 2.3.0
b076ec6c8 Bump mkdocs-material from 9.5.15 to 9.5.16
b277372da Bump filelock from 3.13.1 to 3.13.3
7b6e72ab5 Update download-artifact to pattern.
d112a8c0e Bump version to 2024.4-dev
dcb9d5d61 Ft Rest client - fix typing
b1c83ce18 Exclude build dir from mypy
8fae64f37 Update typehints
747266fe4 Remove unused imports
ad06f9350 Add locks_add to rest api client
f4074d296 Add tests for lock endpoints
05f8bb357 Add Lock post endpoint
7b5e44433 Improve code stability
0906f050e Fix remaining tests
1551f9283 Fix a few tests
be26e3123 Remove obsolete code, improve resilience
36f1111d9 Remove custom handling for exit reason stats.
0bc84c6a0 Use SafeLoader in `yaml.load()` Calls