Skip to content

Releases: freqtrade/freqtrade

2024.4

30 Apr 12:03
2152a95
Compare
Choose a tag to compare

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:

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.
d112...
Read more

2024.3

31 Mar 15:38
Compare
Choose a tag to compare

Highlighted changes

  • Persist additional trade information in the database.
  • Partial exits now use a simplified logic (-trade.stake_amount now corresponds to the full trade amount, it’s no longer necessary to adjust the return value for price).
    ⚠️ This can be a breaking change if your strategy relies on precise calculations.
  • Update Docker image to 3.12.
  • VolatilityFilter can now be used to sort pairs based on recent volatility.
  • RangeStabilityFilter can now be sed to sort pairs based on recent “rate of change”.
  • Bot start and uptime added to telegram /health messages.
  • Simplified error messages in case of Configuration errors, pointing users to the documentation.
  • New command show-config - providing a way to visualize the configuration composed from multiple configuration files.
  • Provide a seperately installable package which provides the freqtrade-client command to control the bot from CLI (same functionality as the rest_client.py script).

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
a6bfe1a4a Bump version to 2024.3
2072a625b Align build job names
8792d5625 Update dockerhub-description workflow to new approach
556db08b0 Rename CI files
b651e13bd Schedule leverage tier updates
a534340cc chore: update pre-commit hooks
067a7315f Use proper secrets syntax
f405b7d1c Add CI step for leverage tier updates
178a0a5db Fix typo in update script
055c4396d De-dent pre-commit update workflow
9726c4ae2 don't use cum profit
7895eeb3b Fix tests after modified output
0a186eb8b Remove Cum Profit %
79719bbe8 Add freqtrade-client programmatic use sample
e100a0678 Use regex to match logs in rest-client tests
d606d6d08 Use a path that works on windows, too.
01f09ca5c Update command name and documentation
8ad037507 Update docstring
e8cea35f5 Have Pool parameters be kw only
411322357 Slightly enhance test cov
d047ac67a Remove unused import
e072522ed Improve tests
e971f043f Improve test cov
66422ce9a Add support for requests pool size configuration
0a0105c31 Re-add --cov args
a6ad36d08 Coverage for ft_client ...
7eb91c74a CI - always install ft_client
79b8363b7 Depend on freqtrade-client on install
ca9d792d2 License to link
fba028abd Fix version number
3f226c502 Also install ft-client in linux CI
afe3d3ebd Move Version check to the top
01bb7706e Fix messed up version-align script
772dbeaf7 Fix file permissions
0c026f950 Ensure versions are aligned between freqtrade and freqtrade_client
f0e095757 Don't set same parameters twice
7e3e65ecd Add tests for rest client
bef15b523 Add license for client file, exclude tests directory
127f61ccb Improve odering of things in ft-client
bd49ad642 Add CI step for ft_rest_client
46622f617 Add minimal readme
5888da5bc Re-add rest_client script
bfe739da3 Add pyproject.toml for ft_client installs
1036a890b Split rest client script
3401e3506 Move rest_client to it's own sub-structure
e75d46321 Exclude user_data
26311663e Add classifier for python 3.12
1ec04a8dc Add support for max_value in volume pair list
78442e36e Fix small grammar error
38e7b0e8a Update bot basics logs to align with reality
e49ab2593 Update / improve docs
c433f4908 Remove temporary gate workaround
553094c3c Assign 'status_stop' for gate stop orders
5b4d28663 chore: update pre-commit hooks
666f2fc10 Fix bug where amount becomes 0
50cd36acb Remove unused test method
dfd46a19b Update freqai-configuration.md
f60d6c8f6 remove duplicate call of order_filled callback
18e34632d Update PyTorchModelTrainer.py
f1f272b88 Bump pre-commit sqlalchemy
392598086 Bump the pytest group with 2 updates
16083b2f6 Bump sqlalchemy from 2.0.28 to 2.0.29
bbeba6ab3 Bump ccxt from 4.2.78 to 4.2.82
710a953c4 Bump mkdocs-material from 9.5.14 to 9.5.15
9d5cb103d Bump time-machine from 2.14.0 to 2.14.1
674ec6acb Bump pre-commit from 3.6.2 to 3.7.0
6e6a93f0c Bump nbconvert from 7.16.2 to 7.16.3
74641c565 Bump ruff from 0.3.3 to 0.3.4
ea634e5ce Add test for backtesting
f6a8cb469 update docs (fix typos)
2854186b1 Adjust test to work against usdt values
093fd48cf Update test to use default_conf_usdt
7f5c38fd5 Update environment variable config to clarify that config cannot be set via environment variable
b2a672268 remove order filled cb from handle_stoploss_on_exchange
e07f3d266 add test for order_filled callback sl on exchange filled case
6d3e3b5bf add test for order_filled for freqtradebot update_trade_state
72225daa6 add order_filled callback call for stoploss orders
6e88cbfca Update prebuilt pyarrow wheels
163d03ac6 Update CI schedule to run towards the middle of the night.
b4c9541fb Add hints about show-config to configuration docs
d0bda7c2c Add documentation for show-config utility command
d2a678137 Revert one error to OperationalException
cc7d341af Add overrides for Exchange Support
0d9775918 Bump ccxt from 4.2.67 to 4.2.78
150b7f85d Bump pyarrow from 15.0.1 to 15.0.2
40898f522 Bump uvicorn from 0.28.0 to 0.29.0
d6ff8ebbc Bump the pytest group with 1 update
65105f776 Don't modify original config
82ff4d587 Add explicit test for config sanitization
b1fe5b6d8 Add "sensitive information" warning output
6dc4fa9db Add test for show-sensitive
81d1a662a Add --show-sensitive CLI option
6b7935f1a Add initial test ...
38ae3ac03 Add "sanitize config" section
3059d66ec use original config for printing
7543b2681 Add show_config command
8e5097d9a Update setup-tools-config for non-dry mode
21dcb4a6a update setup_utils_configuration to not force-set dry-run mode
35253f9c8 Add overrides for Exchange Support
6219a2590 Add documentation link, re-align imports
669076a29 Add test to ensure configuration error is displayed as expected
abd096dcd Update exchange tests to config error in a few places
4a097bd64 More usages for ConfigurationError
64019e0e6 More configError usages
3621ba034 Use configError in more places
17d052df3 Configerror handling for bt api endpoint
ebd516cad Use combined exception handler at startup
b5548dbee Add proper handler for config-error
3a6474967 Raise ConfigurationError on config validation
ca94bbe99 Add configuration error to Exception hierarchy
02570e285 chore: update pre-commit hooks
996fcb6f5 fix current_time parameter of order_filled usage in backtest
6941953a8 update doc details about order_filled callback details
08c1866cd fix mypy artype error
d1e1b8410 add order parameter to order_filled callback
cd986ced4 moove order_filled callback position from update_trade_state to _update_trade_after_fill
18a3489a6 add order_filled callback to bot and backtest
d4ddcbc78 Bump types-dateutil in pre-commit config
8395192e9 Bump markdown from 3.5.2 to 3.6
28575a9ef Bump pydantic from 2.6.3 to 2.6.4
80be86533 Bump ruff from 0.3.2 to 0.3.3
2725ee577 Bump plotly from 5.19.0 to 5.20.0
405e0f02d Bump mkdocs-material from 9.5.13 to 9.5.14
9bb9f7453 Bump the types group with 1 update
409729f9d Temporarily support 'finish' in the order, too
838d9cd4d Improve stop fills order handling on gate
3ed53218a Fix rate display rounding problem on telegram messages
c06f89210 don't use :.8g formatting - it's unreliable
ca2d322eb chore: Split strip_trailing_zeros function in formatters
d07ec5054 Remove unused line
01c0fd042 If enable_protections are enabled, disable all - some work on all pairs, and we don't check protections either so ... just disable them completely - added info in the docs
45bb9ee9a Reduce stacktrace length for "no config" errors
60a62d933 Fix some failing mocks
4281642f5 Fix flake failure due to flake update
5e0aa9108 Update tests correspondlingy
dbcb07275 Refactor datahandlers into their own package
4aff24f6d Fix imports that import directly from file
3037cef4d Update freqtrade image to python 3.12
fcc6d0fea Don't run notify-complete for non-freqtrade repos
c284da404 Fully test freqAI against python 3.12
ec23fec3e fix typo
e958552bc Explain precision filter better
85c145c77 Don't close the test trade ...
28bdbbffc Patch torch logging on 3.12
e560f9963 Don't run Torch models on macos.
4e02d31cd Mock torch on mac ARM
0cf46d860 Revert "Remove conditional checks for python 3.12"
08cff9890 Remove conditional checks for python 3.12
2b5b518cc Bump rl requirements for 3.12
ce6dd466f fix typo
72015686b Update pyarrow wheels to 15.0.1
a4541fda2 Nitpicking documentation:
14c27f2cb fix test
c5201a647 fix precommit
8000f9429 changing the partial exit logic to be simpler and easier to understand
3c34126e9 chore: update pre-commit hooks
e336d870a Bump ccxt from 4.2.66 to 4.2.67
225ef6b8c Update to latest ruff format
76459f08a Update contributing with new ruff syntax
048cad04a remove unrelated old changes
bae4973da simplify full exit using adjust trade pos
6c81807b7 Bump sqlalchemy in pre-commit
b6fb1dc9e Bump sqlalchemy from 2.0.27 to 2.0.28
2a8c6a6d0 Bump uvicorn from 0.27.1 to 0.28.0
8d22fbf39 Bump ruff from 0.3.0 to 0.3.2
018d10b34 Bump ccxt from 4.2.58 to 4.2.66
33556f3c2 Bump mkdocs-material from 9.5.12 to 9.5.13
1c91675c5 Bump the pytest group with 2 updates
c78480c49 Bump types in pre-commit file
23d226d37 Bump pypa/gh-action-pypi-publish from 1.8.12 to 1.8.14
9b44d1d8c Bump packaging from 23.2 to 24.0
ab6a5d75b Bump python-telegram-bot from 20.8 to 21.0.1
e1fdb8dec Bump nbconvert from 7.16.1 to 7.16.2
6d2f454d8 Bump pymdown-extensions from 10.7 to 10.7.1
02dc895c4 Bump pyarrow from 15.0.0 to 15.0.1
80560a389 Bump mypy from 1.8.0 to 1.9.0
60b9d9448 Bump the types group with 2 updates
518b6eb56 use dt_ts to simplify exchange date math
4e9417816 exclude python 3.9 on Macos 14
0b...
Read more

2024.2

29 Feb 05:39
1fc69ef
Compare
Choose a tag to compare

Highlighted changes

  • Introduce a new pairlist, MarketCapPairList, which sorts pairs based on CoinGecko's market capitalization ranking.
  • Implement the storage of order tags within the order object, allowing for tagging on a per-order basis.
  • Enhance caching mechanisms for pairlists requiring candle data.
  • Implement active checks to prevent the creation of Unified accounts on Bybit, encouraging the use of standard subaccounts instead.
  • Address issues in Bybit resulting from recent API updates.
  • Enhance the formatting of Telegram messages, particularly when special characters are used in enter/exit tags.
  • Remove the stoploss_order_id field and utilize order objects to manage open stoploss orders.

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
0a8719c61 Bump Version to 2024.2
d6b01a6ff Assert for exact equality
01266ed7e Align test results ...
5402d276d Add header to warning box, reorder Boxes
d5c01f748 Bump ccxt from 4.2.47 to 4.2.51
d9f4c62f1 Add warning about excessive use of position_adjustment
080d9b55f Bump fastapi from 0.109.2 to 0.110.0
4ff888488 Bump cryptography from 42.0.4 to 42.0.5
e2a486f85 Bump nbconvert from 7.16.0 to 7.16.1
313de7b8a Bump mkdocs-material from 9.5.9 to 9.5.11
c2998f3d7 Bump pydantic from 2.6.1 to 2.6.2
9805cd768 Bump orjson from 3.9.14 to 3.9.15
c06e4ee89 Bump the pytest group with 1 update
d80ed7e33 Bump Docker Python version from 3.11.7 to 3.11.8
e2d3774b0 Clearer wallets variable/parameter wording
aad327b1f Update comment around funding fees
3e0755b8a Enhance funding-fee call test to account for different timezones
f164b8935 Ensure pytz is updated regularily by pinning it
c663016b4 Improve some type safety
9ac7149c4 Add check to verify that "since" is properly respected.
0acde2890 Remove pointless comment
f4ad1e802 chore: Remove wrong typehint
e30fa3a44 Remove duplicate pairlistmanager init
db83b0cdb Update typehint for candle_cache
4cfd5d004 Improve ohlcv pair cache with since_ms
3680e199c Fix range-stability filter downloading too little data
4e87169a0 Use set to reduce iterations
c013c76e6 Bump cryptography from 42.0.3 to 42.0.4
0199e7d3d Add type-hint to exchange_has dict
b3ba2cee1 Bump ccxt to 4.2.47
411f60647 Fix some tests due to new method
f53c019d2 Update "exchange_has" validation with new fallbacks
3497f7946 Add test for fetch_order_emulated
65af7750e Add fetch_order_emulated to support exchanges without proper fetch_order method
f6e2030bf chore: update pre-commit hooks
00bde70f7 Fix / improve styling in test class
434b8a423 bump types-requests pre-commit
82876570a Bump ruff from 0.2.1 to 0.2.2
a200b5524 Update sqlalchemy in pre-commit
39941a7ac Improve formatting in drawdown calc
66f483910 Further increase test coverate of max_drawdown
6aa1bbf57 Bump sqlalchemy from 2.0.26 to 2.0.27
381576b8f Bump pre-commit from 3.6.1 to 3.6.2
549b9f62f Bump tensorboard from 2.15.2 to 2.16.2
edb5431a7 Bump orjson from 3.9.13 to 3.9.14
4241db2fe Bump scikit-learn from 1.4.0 to 1.4.1.post1
c966f8314 Bump plotly from 5.18.0 to 5.19.0
f361824b1 Bump cryptography from 42.0.2 to 42.0.3
8675f86d1 Bump urllib3 from 2.2.0 to 2.2.1
0979d0b6e Bump the pytest group with 1 update
4c3879cb5 Bump the types group with 1 update
69a0f4c46 Fix bybit spot live tests
61e09ac71 Update telegram help with new wording
583b2fc69 Fail if unified account is detected.
e06b70eb0 Add log message for Bybit accout type
3250f4225 Improve validate_exchange
a5d1ae319 docs: Update sql_cheatsheet.md
ebd439cdd Remove unused import
78d8a4df2 Use "ohlcv_with_cache" for further pairlists
4bcf2c423 Don't tick on ttl cache
7b36a0fc4 Add explicit test for ohlcv_with_cache
bcfe7ef54 Refactor ohlcv caching to exchange class
8033faa2f Update pairlist cache behavior in VolumePairList
3f3760c0a Use Markdown V1 - update tests
4761bf242 Change enter_tag, exit_reason, mix_tag performance messages from HTML to Markdown to fix some string encoding issues.
c0da1b692 Fix edge-case when calculating cagr
a0b7df70d Added escaping to enter and exit tags on telegram performance messages.
60b12c1d9 Double newlines between functions ...
fd48991fb Fix duplicate parentheses
1696aa391 Adjust tests for new fields
fb54c9ffe Add open_fill_date stuff to json schema
0f85ef099 Simplify trade_model serializations
c6d1c1a98 Add dt_ts_none helper
c1d718484 Adjust for ccxt exception hierarchy change
a22181d72 Enable caching for "filter only" Volumepairlist
7f7e9ec87 Add additional test case for VolumePairlist in range mode
6c9b9e91e enhance volumpairlist range test
d01e9cf29 Improve log message
86da9cb65 Simplify some pairlist conditions
57fd0e379 Clarify processing_mode for RemotePairlist
280737447 Don't load empty dataframes - skip these
3d6079ae1 Add debug output showing the pair to be converted
f2a731201 Update sqlalchemy pre-commit
72290365d telegram: ensure msg update test uses the correct edit_message_text call
fd737af69 use query.edit_message_text to simplify telegram class
0740a1339 Bump sqlalchemy from 2.0.25 to 2.0.26
0ba27ddee Bump the pytest group with 2 updates
2c1ea2d25 Bump tensorboard from 2.15.1 to 2.15.2
8ca905b45 Bump python-telegram-bot from 20.7 to 20.8
903ae3367 Bump mkdocs-material from 9.5.8 to 9.5.9
7d74a4c19 Bump tqdm from 4.66.1 to 4.66.2
7e8e36c6b Bump ccxt from 4.2.39 to 4.2.42
d5aec91a4 Bump pre-commit from 3.6.0 to 3.6.1
f10c8f9c3 Bump uvicorn from 0.27.0.post1 to 0.27.1
3aa2d0c30 Slightly improve memory-usage of kraken-convert
a83b5abb5 Allow wildcards for pairs filter
f89147fd4 Allow limiting kraken pairs to `--pairs` selection
adf63a45c Align new-config  documentation examples
ce6b62f86 Bump numpy from 1.26.3 to 1.26.4
01a00ad04 Bump nbconvert from 7.14.2 to 7.16.0
9f449dd34 Bump ruff from 0.2.0 to 0.2.1
68fd7d7ff Bump mkdocs-material from 9.5.7 to 9.5.8
a0c246fa9 Bump ccxt from 4.2.35 to 4.2.39
7223a6c50 Bump pre-commit/action from 3.0.0 to 3.0.1
bf1f08cd2 chore: add dependency groups for regular updates,
3e5a572fc Allow int as trade-id parameter
43bab85b8 fix strategy-updater docs
d2e9d36de chore: Update ordering of requirements in setup.py
e50fac34a Bump technical to 1.4.3
8d0250407 chore: update pre-commit hooks
4aef5676d update tool.ruff configuration to match 2.0 version
73e2e034a Remove unused argument
b4f030fd5 Bump pydantic from 2.5.3 to 2.6.1
b9245aef2 Bump orjson from 3.9.12 to 3.9.13
646aca7a3 Bump fastapi from 0.109.0 to 0.109.2
a675d2b02 Bump cryptography from 42.0.1 to 42.0.2
667a8cc59 Bump peter-evans/create-pull-request from 5 to 6
e773276dd Bump ruff from 0.1.15 to 0.2.0
87e813a3d Bump mkdocs-material from 9.5.6 to 9.5.7
5114be42c Bump urllib3 from 2.1.0 to 2.2.0
440382ae6 Bump ccxt from 4.2.25 to 4.2.35
ab7364c62 Bump aiohttp from 3.9.2 to 3.9.3
696118268 Bump uvicorn from 0.27.0 to 0.27.0.post1
cb2aaa7bb Fix wording fully.
35e1421d5 Reduce whitespace
0f9e84658 Update Tests data to work with new cached levtiers
2989b4276 Update cached binance leverage tiers
3711fa509 Improve formatting of leverage
c5948693a enable sub-minute backtest detail timeframes
846948499 chore: Split stoploss tests from freqtradebot
57df7d9ec chore: convert test dir to package
80f6fbbae chore: Move bot-related tests to test subdir
0d14b7a80 perf: only create detail timedelta object once for detail backtests
ad121c19b Allow <1m timeframes for utility modes
67c3bad97 Fix misspelled comment
0bc5c876c Fix GITHUB_REF variable interpolation in ci.yml
13ee90725 Fix syntax error
7082a8073 add debugging for GITHUB_REF
cd484bd48 Update extract-branch-name to new syntax using GITHUB_OUTPUT
d1a96af5e Add ft_order_Tag to backtest test
6ba896609 chore: Add minified parameter docstring to to_json method
78a1c7247 keep ft_order_tag for backtest responses
0fa0f49b7 Add adjustment order tagging in strategy callbacks docs
6806fab1b Fix migration not triggering
79b8496f3 Fix backtesting not setting entry_tag out of position adjustments
d664e7683 Add some tests
398b93bee Fix rpc test
2d704a77b Improve formatting
830a004df Move response handling to interface wrappermethod
535ff387f add order_tag handlig to running bot
95e51bf81 allow adjust_trade_position to return tuples in backtesting
e8288a34c add ft_order_tag to backtesting
39ffee381 Improve type hint
ccd4c715c add order-tag to serialize / unserialize methods
d82bfc9fa Add order_tag to orders model
c59ae30e3 chore: Add minified parameter docs to to_json method
cfc6d3b32 Apply "Dependencies" label to pull requests
d219983f5 Bump ruff version
6c27b27d4 Bump version to 2024.2-dev
36d4f10a6 chore: update pre-commit hooks
470a239e8 Formatting ...
01baea8aa Test exceptions / errors
4a580fc72 Add test validating cache
d691ffe9d Test more diff. scenario
eb7fbb009 Improve doc wording
63aac1a2c update docs
17af69435 remove mode, add max_rank, modify test
b02e15b16 Bump lightgbm from 4.2.0 to 4.3.0
23ac9e145 Fix generator test
b72078e76 use get_pair_base_currency
076ca7520 Slightly refactor pairlist test
132e143b9 Minor comment fix
f8dc161ab add 2 more final tests
e0f7b62b5 fix initial tests
c854cef31 fix precommit
006639820 add simple test
bf17236e9 fix typo in the docs
60812983e fix error
bbec51685 remove can_filter, and use log_once
ad0f88796 fix: logical error
e76888882 Fix typehint
3ab226a09 Remove unused import
58058f019 Fix migration test
6eaf42fe3 Default order_date to dt_now if it's not set via ccxt and wasn't previously set.
88ba82d4f Fix more tests
acbea4e26 Fix some tests after update_stoploss_date removal
b9a43b...
Read more

2024.1

30 Jan 20:49
Compare
Choose a tag to compare

Highlighted changes

  • Enhanced telegram Entry / exit notifications.
  • Remove deprecated sell_reason (in favor of exit_reason)from rpc methods (mainly impacts webhook configurations).
  • FreqUI: Add timeframe / timerange to load backtest screen.
  • FreqUI: Improved log visualization.
  • FreqUI: fixed mobile height issues, resulting in odd behavior and missed functionality.
  • Kraken - support different order types (PO, IOC).
  • Kraken: Restore stoploss on exchange functionalities.
  • Huobi - Rename to HTX - as the exchange rebranded.
  • Improved list-data command output.
  • Allow full exits through adjust_trade_position() callback.

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
4342aa3bf Update version number to 2024.1
7af524ff9 Bump aiohttp from 3.9.1 to 3.9.2
effe2b536 Bump cryptography from 41.0.7 to 42.0.1
0fa7f9e47 Bump types-requests pre-commit
84913f2ea Bump peter-evans/dockerhub-description from 3 to 4
1450d9e9c Bump mkdocs-material from 9.5.4 to 9.5.6
4394fd134 Bump uvicorn from 0.26.0 to 0.27.0
3a6393e2d Bump types-requests from 2.31.0.20240106 to 2.31.0.20240125
990f9e03f Bump pytest-asyncio from 0.21.1 to 0.23.4
0b549fc7f Bump ccxt from 4.2.21 to 4.2.25
589066593 Add BTC/USDT to test markets
99b11c088 add available_parameters
f42fd2580 Improve function naming better reflecting what it aims to do
a20fe8cd0 Update docs example box
c398504f2 fix tests
dd3fbfcfd + return type
f0562c391 remove debug, reduce duplicate code -> init_check, add docs example for save_to_file
027ce4337 refresh_period not necessary for a local file
fd2165852 extend error except, add saving to a file of processed pairlist + docs
8f0dbc6be Improve common mistakes docs
8d72ee358 Improve code styles ...
0077f3c9a Code style improvements
6aa4de4d2 Tests for enhanced list-data functionality
817aaa164 Enhance list-data (detailed) view with "candles" column
ea9c51570 use resample_freq where possible
2fe6fe14a Simplify volumepairlist footprint slightly
85dd371ee use prepared timedelta object for backtesting
55fe379e1 Bump ccxt from 4.2.15 to 4.2.21
96a8263c5 trades_to_ohlcv_multi test adjustment
79ecca3e4 Add test for trades-conversation on different dates
267f2e352 Add trades-generator
1ae3b1e62 Fix weekly resamples to ensure they're on monday.
34ac2dc9a Further improve ohlcv test
efe332a39 Fix wrong test comment
8fd2dcd25 Impove tests for yearly resample
48ea43f95 Fix yearly resample timeframe
6b78dac6f Re-align naming for resample_freq generator
0a40a345f use timeframe_as_resample_freq for trade_parallel analysis
656b32814 Have trade_converter use timeframe_as_resample_freq
c9c44a471 Extract resample_interval generation
5167f6936 Prepare converter to work on 1s data.
fdf88a801 Improve test showing that 1m and 1s conversion is identical.
087c59cfb Fix data generation bug with 3m data
83480d90f Extend test range to more timeframes
67abfcf4d Add generic ohlcv_to_dataframe_multi test to ensure code works for diff. timeframe ranges
00e4c5174 Prep conftest for 1s data generation
a1b93dc91 Improve call sequence
f1d002a73 chore: update pre-commit hooks
991a279b2 Removed duplicated key
5b879df2b Improve indentation
d19113800 restored accidentally deleted lines
85658bb63 Update rpi wheels for pyarrow 15.0.0
3b5c2ea0d Bump scipy from 1.11.4 to 1.12.0
06630a599 Bump psutil from 5.9.7 to 5.9.8
0f1e7ed65 Bump actions/cache from 3 to 4
fbb91ca33 Bump mkdocs-material from 9.5.3 to 9.5.4
713d9fdc8 Bump ruff from 0.1.13 to 0.1.14
3681e3e75 Bump nbconvert from 7.14.1 to 7.14.2
32d77f808 Bump pytest-random-order from 1.1.0 to 1.1.1
d58b941bf Bump jsonschema from 4.20.0 to 4.21.1
34df71026 Bump pyarrow from 14.0.2 to 15.0.0
f324f8775 Bump scikit-learn from 1.3.2 to 1.4.0
00f8f0526 Bump orjson from 3.9.10 to 3.9.12
3d5620a42 Bump uvicorn from 0.25.0 to 0.26.0
e704c2def shorten configuration code
d534f2014 Account for kraken specialcase in tests
612ec38e5 Don't skip trades if the exchange doesn't do inclusive filtering
ac5b12cfd Improve kraken pagination behavior
f9b6830b7 update fetch_trades info data to kraken response format
8a64f0b88 Fix fetch_trades tests
15da4aa9b Update tests for added fetch_trades arg
c16757509 Move extracting trade pagination id to fetch_trades
b56c663be Add regular / fallback test.
501a9a8c9 Improve error message, add test for trade_pagination_id validation
c333c9c5a Improve kraken trades pagination logic
11dd349c2 Update ccxt online test name to htx
d355f011d Invert exchange_class mapping
ef80772fc Rename class and tests
ff95adb2e Update supported exchanges, add mapping
5b1cda923 Update Huboi brandin to htx
50864c731 chore: improve documentation for plotting custom features
5bfda534b feat: allow custom user features to be plotted in backtesting (freqai)
73b30cf3f Update ta-lib documentation links
8cbdcbd50 Bump ccxt min version
42ea4821f Bump kraken to 4.2.15
b7ab7dd25 Update tests for new kraken stoploss behavior
c2d6ab2fa Add unified kraken stoploss settings
6069670ce Remove kraken custom stoploss handling
c248bb27e use safe_price for adjust_entry_price callback
a4d078efd chore: update pre-commit hooks
e18fbbd97 Clarify points as per comments
78ca939ae pin prompt-toolkit to compatible version in jupyter dockerfile
dc5c1e130 Bump ccxt from 4.2.9 to 4.2.14
91ceb5c19 Bump markdown from 3.5.1 to 3.5.2
d073692ca Bump nbconvert from 7.14.0 to 7.14.1
e1b8742b1 Bump ruff from 0.1.11 to 0.1.13
d866bb6f0 Bump fastapi from 0.108.0 to 0.109.0
2737de1fd Remove extra EOF newline
a41b72ca1 Add backtesting vs hyperopt result difference explanations
ea1b3c38f remove last utcnow usage
291478a97 Bump docker images to 3.11.7
29d2fc2e1 Skip freqAI tests on py3.12
59cc60776 Don't force-patch torch if it ain't installed.
c79502cb4 Pin torch to <3.12
f124f2daa Exclude further dependencies
026f98962 Don't install catboost on 3.12 for now
9a2ed3503 Run CI against 3.12
d412a8fc1 Simplify emc test setup
fbed3fad7 Fix non-asserting test
393df83a9 Implement enter_tag initialization to avoid futures warning
e967dfa14 Adjust api test after column expansion
4aab57ce6 Add test for pandas deprecation warning
5841c6543 Remove unused test param
338ff6626 Only load environment variables when config is allowed
629a6be26 Rename methods to make exposure explicit
4896e04c4 Improve formatting
a53adb95e Remove container-name from ft-jupyter compose file
6fc1884e8 Update link
cd392fbbd Slightly update formatting in arguments
bcebb4d80 Bump jinja2 from 3.1.2 to 3.1.3
cb9fa734d Improve test resiliance
3f27c2792 Remove trailing newline
883f50854 Add NoDBContext to pairlist evaluation functions
3caf964c4 Add NoDbContext context manager
7fcbe9788 Extract database cleanup functions to persistence package
225c94c0f Reduce log level in rpc default handler
a9287359a chore: update pre-commit hooks
962417bde Update typing to account for correctly typed sqlalchemy responses
34c183856 Bump Sqlalchemy in pre-commit
3b7288eda Bump sqlalchemy from 2.0.23 to 2.0.25
72c41ec2c Bump types-tabulate pre-commit
5be32cd80 Bump types-tabulate from 0.9.0.3 to 0.9.0.20240106
37dacdff0 Bump pre-commit dateutil
671ce25a2 Bump types-python-dateutil from 2.8.19.14 to 2.8.19.20240106
a8228f0ea Bump types-requests pre-commit
0b3126a0f Bump ruff from 0.1.9 to 0.1.11
4686d2202 Bump nbconvert from 7.13.1 to 7.14.0
2304f852f Bump ccxt from 4.2.2 to 4.2.9
68d2d24f2 Bump numpy from 1.26.2 to 1.26.3
67f608fb5 Bump types-requests from 2.31.0.20231231 to 2.31.0.20240106
1b70e9b07 Point users to the pair naming docs when download-data yields no pairs.
7c7ddb3b1 Fix improt sorting
69e9ab90d Adjust tests for new messaging scheme
28b555223 Improve entry message
b27f99dbc Add note about removing fiat_display_currency.
6121c7ed8 Remove pointless condition (freqtradebot only ever exists in dry/live modes).
394c260eb Update runmode to 'backtest' in some test cases
582f51ccd Add runmode "dry_run" to default configuration
74bb1a29b Fix indentation
ddb42879e Fix type errors
53b24ea69 Update webhook documentation
80071dd2d Adjust tests for improved telegram output
545096cc4 feat: improve telegram message formatting
9f682b582 Improve Coin formatter naming
209e7033c Fix tests for newly added field
7f69a0681 Use Type-hinting for telegram messages
20b2f2506 Add quote currency to entry/exit msgs
88524db29 Remove leading whitespace
e1ad87a56 Extract number-formatters from misc
65009373e add round_value incl. tests
7f84996c1 Send correct Profit for both exit types
90df6bcd5 Remove pointless parenteses
3237cad8c Fix test naming from sell to exit
2a11597ad Improve exit message wording
59ec3fd86 Always send order-type to exit notifications
685fef1ee Improve buy message FIAT formatting
690a3599d Simplify exit msg method further
e4977d4cb Don't assign the original message dict for no reason
7b78e66e7 Ajust some leverage calls
8726d6392 Remove unnecessary calculations for exit msg
5e9a929e9 Further simplify msg formatting
c3ce11c22 Simplify enter_tag call
0ab54b88c Improve leverage formatting
934e72656 Simplify exit message fiat handling
b950128c4 Update freqai-running.md
86a9968bd Fix bug in exit message formatting
2bceb35b7 Circumvent edge-case in exit notifications
e7eb1c132 Improve startup sequence to avoid certain timing errors
fdc573f2f Add rudimentary test for funding_rate fix
02d124b85 Improve naming of funding-rate migration
3eade3e8d Move binance_mig test file to utils
6cce45583 Test migrate_data wrapper
f028bdf34 Improve funding fee migration logic
9...
Read more

2023.12

30 Dec 07:50
5c8c53c
Compare
Choose a tag to compare

Highlighted changes

  • Added bot_name as possibility to discord messages.
  • FreqUI: Add “fast” mode, optionally surpressing exit confirmation dialogs.
  • Bybit: Add support for time in force FOK, IOC, PO (Post only).
  • Improved behavior for backtesting when max_open_trades is loaded from the strategy in multi-strategy mode.
  • FreqUI: Add new “Measure” tool, allowing for quick chart measurements.
  • FreqAI: Add new classification Model SKLearnRandomForestClassifier.

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
846b7734e Bump version to 2023.12
02836368f add default --dist loadscope arg to pytest options
d28202785 Bump CI python version to 3.11
97780ee5b Revert build-online to 3.9 for now
e162f98cf Update pre-built wheels for pyarrow
c6967b11b Align spelling of "cancelling"
1e5d353cf use safe_value_fallback when parsing orders
58432c1cf Bump lightgbm from 4.1.0 to 4.2.0
8cc2c5010 Bump pydantic from 2.5.2 to 2.5.3
5cbcf7250 Bump pyarrow from 14.0.1 to 14.0.2
35876cf8e Bump ccxt from 4.1.91 to 4.1.98
ac60871ff Bump ruff from 0.1.8 to 0.1.9
866e34a98 Bump mkdocs-material from 9.5.2 to 9.5.3
710797182 Bump nbconvert from 7.12.0 to 7.13.1
348459064 Bump xgboost from 2.0.2 to 2.0.3
971b7d074 Bump uvicorn from 0.24.0.post1 to 0.25.0
ec89aad10 fix typo in stoploss_from_absolute code example
fc13a99b3 Use intelligent scheduling to improve online test performance
03fb20440 use Loadscope to improve parallel test performance
0a96aa69b Only run parallel on online tests
ddbfce01b Show slowest tests
12e75e849 Don't do coverge on --longrun tests
916a84763 add pytest-xdist to speed up tests
4769b5070 Fix RPC tests
18dd9cf80 Use a trade for test that actually has an open stop order
63e652619 Bump mypy to 1.8.0
3cb4b1065 Specify python version for pre-commit update
23c3757c7 chore: update pre-commit hooks
a5c914951 chore: update pre-commit hooks
9ab08d513 Update committer in pre-commit workflow
87ce7dc02 Reduce permissions
3c7c4bc02 Use repo scoped token
0484b891f Add tech maintenance label
71689d9d6 Allow write access to action to allow creating the branch
881247a82 use isinstance for type checks
d26154f99 Import logging ...
0e14dd619 Set proper log-level for test
3676514ba Add pre-commit auto-update workflow
9ec23a029 Improve rpc typing
1272a15c3 Properly name Entry / exit types
a3a175e33 Reduce logging verbosity message in webhooks
71b777ef3 Fix missing rm line
b4e8122fd Attempt to properly remove 3.12 symlinks
b1393f1bd (configuration.md) fixed value USDT value  in example for clarity
34c5c68a9 Add macos-13 to ci matrix
c9a018cf0 Improve output if a strategy wasn't found in the backtest result
2f2467256 feat: add SKLearnRandomForestClassifier
26f0fe238 make example strat *even* simpler and make sure it buys and sells a lot ;)
5e3da30ab Fix remaining bittrex instances
651d2c06b Update tests to use new file
b37159308 Move previous test config to tests
3096cddbc further remove bittrex from docs
5bbe6aacf Remove Bittrex subclass
fe4bf271b Remove futher bittrex tests
0d3d1e6d9 Remove bittrex from more tests
57e01329c Bump ccxt from 4.1.84 to 4.1.91
a70ca6f61 Bump actions/download-artifact from 3 to 4
e5c783d2d Bump actions/upload-artifact from 3 to 4
e1b652d89 Bump mkdocs-material from 9.5.1 to 9.5.2
4e98b5f71 Bump psutil from 5.9.6 to 5.9.7
901b3f6fe Bump fastapi from 0.104.1 to 0.105.0
d0a9d927d Bump isort from 5.13.0 to 5.13.2
16eb95c71 Bump technical from 1.4.1 to 1.4.2
054ed0a7b Bump ruff from 0.1.7 to 0.1.8
82853e37a Bump python-rapidjson from 1.13 to 1.14
81c6336e1 Bump torch from 2.1.1 to 2.1.2
9a9a6eaa6 Revert "Merge pull request #9450 from freqtrade/fix/startup-candle-count"
67cdab6ee Provide strategy timeframe via API
58470ba9d Fix missing files in wheels
c580e8783 fixup
bc1ad3acb Improve logging
d2e328b8b Update artifact name
93e9c4fa6 Update job names in ci.yml
8d231dbf3 Update build-system to use "build"  insead of "setup.py"
b178cc5f3 Migrate from setup.cfg to pyproject.toml
6ee0f16e4 Migrate flake8 config to pyproject.toml
1d701967b exclude tests from build
d6b43c5ee re-work deploy CI
3670699ea Add trusted publishing for next release
58dfffe87 Add FIAT mapping for BTC
e57340992 Add windows ta-lib 3.12 wheels
e3fda16d1 Don't overpopulate points at the first iteration
71d3572c2 Support webserver strategy without max_open_trades
cfd5af67c Add max-open-trades param to get_trade_stake_amount
47a952e41 Don't use config['stake_amount'] in wallets
c9f43587e Bump binance leverage tiers
e79a58e1c Add test case to verify behavior in #9432
c62e52c75 Add test for dp_get_required_startup
5ab61d9da Improve missing data output
c5c2c8c18 Enforce kwargs for preliminary
755ce3a85 Prevent config modification during webserver startup
105cd9939 use max_open_trades from straetgy instead of config
db7799d2f Use variable instead of config for startup_candle_count
30f94ef5b Use LocalTrade for typehint
eac5d53a6 Add mock to backtest adjust position
4b43ccae1 Bump ccxt from 4.1.76 to 4.1.84
4b3230689 Bump pre-commit from 3.5.0 to 3.6.0
a0e92f5a4 Bump pandas from 2.1.3 to 2.1.4
17f0697c4 Bump mkdocs-material from 9.4.14 to 9.5.1
199e3f91f Bump ruff from 0.1.6 to 0.1.7
cc14cf23b Bump isort from 5.12.0 to 5.13.0
327f750ea Bump technical from 1.4.0 to 1.4.1
a304080c0 Bump actions/setup-python from 4 to 5
78cb1e608 fix: ensure we have a row of zeros appended (not the function)
0bd513012 enhance further test for funding-fee checking
3f6cd9ee5 Patch funding_fee calculation for unrelated test
8964c138f Call funding fee calculation whenever a trade is closed
ef23f0fcb Fix test to account for new funding_fee count
074343f0f Don't calculate funding_fees on every iteration
966eb59fd Extract funding fee calculation to separate method
778bd7b3b enhance further test for funding-fee checking
b4cd46d6d Further improve funding_Fee test
1d73b57e8 Extract some assert values from bt test
476703bf7 Update data_kitchen.py
cd09d3567 Add spy test on funding_fees in backtesting
dd08c134b Remove macos 13 ci again
d428d4839 Ease install dependencies for scikit-learn
3bdfa8523 Update scikit-optimize to ft-scikit-optimize
bb85efd6a Add test for informative weekly merging
7321a14c3 Fix generate-test-data for 1w data
2745a5d33 Rename informative_pair test
d123d3bb8 Completely mock Torch on macos
b14873400 Fix odd import in freqai tests
71178ff1d Remove "activate" activator
d3d9f3281 Fix torch logging setup mess
3b4b833dd Remove unused mock
3739a1073 Bump nbconvert from 7.11.0 to 7.12.0
9a425af76 Remove unnecessary conditions in Ci run
3c48208b3 Fix cache keys
68db8d020 install libomp
220777367 Attempt more granular cache for macos
cbe6d52a7 Try macos-13 CI
4061eaf88 Remove online tests for bittrex
ef042ae5e Remove exchange tests on bittrex
6ee792069 Remove bitrex-specific section
46c81d701 Revert "Bump tables from 3.9.1 to 3.9.2"
caac77c90 Update data_drawer.py
59a287106 Bump ccxt from 4.1.75 to 4.1.76
8b5e6bf9b chore: fix pandas warning about merging on datetime. fix pandas warning about inconsistent key lists in concat
04f2b7bad Add support for different timeInForce for bybit
e0f780f10 Bump python-telegram-bot from 20.6 to 20.7
44689d058 Bump ccxt from 4.1.66 to 4.1.75
1431b2b44 Bump tables from 3.9.1 to 3.9.2
106bda51d Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11
90e4eb59b Improve multi-strategy backtest docs
701f6fc05 Update outdated docs
0235db48a Prevent merge artifacts in "informative" pair
e9e7bf3ca Slight cleanup of unused comment
4464b0271 Add handling to properly merge 1M data to
4ed9ffbf3 Add test for behavior in #9490.
c01736608 Ensure testdata generation works for 1M data
6754072bc chore: fix future warning on pandas
5daafaabc Add explicit test for "now_is_time_to_refresh
d85518ccb Improve release documentation
c34cb9eb1 Bump version to 2023.12-dev
36836ea80 add bot_name to discord rpc field
d050beb62 Bump torch from 2.0.1 to 2.1.1
72eeb6561 use Cloudpickle also for reading
eeb460e55 Use cloudpickle throughout
48317c230 Bump scikit-learn from 1.1.3 to 1.3.2
d52936fd4 chore: try to keep startup_candle_count behaving the same as a normal FT strat
21a5abf25 fix: make sure that get_required_startup is timeframe independent

2023.11

30 Nov 16:25
0654186
Compare
Choose a tag to compare

Highlighted changes

  • @informative enhancements, supporting patterns like "{base}/USDT" to generate a parallel pairlist looking at a different quote currency for the full pairlist.
  • Allow disabling of default discord messages.
  • FreqUI: New backtest-comparison view, visible when multiple backtest results are loaded.
  • Removal support for bittrex due to bittrex winding down operations.
  • Addition of Bitmart to list of supported exchanges.
  • Remove individual order info from /status, instead introduce new /order command in telegram.
  • Updated Raspberry image to use python 3.11.
  • Updated Docker images to use Bookworm (debian 12).

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
cb01a4608 Version bump to 2023.11
cf078f809 Bump to 41.0.7 to avoid install problems
5ddca4e9f Bump cryptography from 41.0.5 to 41.0.6
6db66b1e5 Add bitmart to "official supported" exchanges
0a903e45f Add Bitmart to list of supported exchnanges for spot
d0a2b9403 Fix typo
a18c85ec6 Explicitly disable stoploss on exchange for bitmart
0914b8b5f Add note about verification on Bitmart
cb2a87153 Bitmart: add section in exchange docs
ef877b5fc Add bitmart to ccxt compat tested exchanges
2738f3e43 Add minimal Exchange class for bitmart
7c00a4ed1 Remove no longer existing exchange aliases from tests
793cc1acc Bump mkdocs-material from 9.4.10 to 9.4.14
35871d7b4 Bump pydantic from 2.5.1 to 2.5.2
786d4e03f Bump aiohttp from 3.9.0 to 3.9.1
5e5b56e44 Bump mypy from 1.7.0 to 1.7.1
384ebc5b3 Bump pymdown-extensions from 10.4 to 10.5
8567af8d2 Bump ccxt from 4.1.57 to 4.1.66
88e818926 fix typo on API docs
12ea1cde8 Bump dockerfile to use bookworm (debian12)
df73b8288 Bump armhf image to bookworm
a50291cd9 RPI dockerfile - 3.11
be8ea685d Remove unused function in freqAI example
e8d0b0199 Correctly import time
94020a664 Add slight sleep to avoid random test failure on windows
8c5194d5e force-reload markets when BadSymbol appears
67e81c901 Fix wrong/faulty docstring
25ebdb4cb use strategy_wrapper for bot_loop_start in plotting
63e702a3b remove unused comments
e9f21d020 Improve logging for #9460
a044649ee Also have "badrequest" act as InvalidOrderException
5003c2af2 training_env is a property, also, so types can't be overridden
6963a9233 Improve hyperopt Tests
e2863e162 fix: logger has been converted to a property
203890844 Remove non-existing pairs
fbab18b08 Add missing config file
f7178ecd6 Update test config name and exchange
fbc70a60f Update test with no bittrex ...
b45365d38 Update tests to run for binance
9990780e6 Update binance config to be for usdt pairs
65df2f30c Update some more docs with bittrex removal
e7aa706f7 Update samples with binance
361924712 Remove bittrex from code for suppored exchanges
047dac7b7 Remove bittrex from supported exchanges
764684940 Removed redundant 'cpu_count'
10ae0ed9c Removed redudant negative from sentence
d81bbba4c Remove dependency on blosc
0e9169e1e update docs
8680b5faa fix some tests, add new tests
b97ff3a78 Bump ccxt from 4.1.52 to 4.1.57
806af7d79 Bump urllib3 from 2.0.7 to 2.1.0
202b72fd8 Bump stable-baselines3 from 2.1.0 to 2.2.1
6f6011731 Bump pydantic from 2.4.2 to 2.5.1
7070ec30e Bump jsonschema from 4.19.2 to 4.20.0
bf77019d1 Bump ruff from 0.1.5 to 0.1.6
b776e5a8e Bump rich from 13.6.0 to 13.7.0
ca208305a Bump aiohttp from 3.8.6 to 3.9.0
972c5c327 Bump mkdocs-material from 9.4.8 to 9.4.10
80edfd153 Bump scipy from 1.11.3 to 1.11.4
58cd45564 fix unused vars
caf59d25e forgot comma
7df32a34a remove order list from /status and add new /order
48097f4a7 Update tests according to calculation update
ca3f349d8 Update intermediate close_profit calculation
0815bb624 Improve trade close profit assertions
f9202c3f6 Clarify hyperopt docs for parameter options
eb186e22d Fix backtesting-analysis when no trades for a pair
cbc323875 Improve contribution wording
757ec5387 Bump ccxt from 4.1.40 to 4.1.52
5f8ff373a Update mypy to v1.7.0 in pre-commit-config.yaml
f286cb0a9 Use BaseException in exception check
e6663c030 Update strategy-customization.md
ced92300e Bump tables from 3.8.0 to 3.9.1
d2afe281b Add cancel order to new exchange docs
c237aa00b Remove non-used imports
23efa4c9c Remove deprecated json_encoders key from model_config
8b028734c Bump pandas from 2.1.2 to 2.1.3
51feeddc5 Bump mypy from 1.6.1 to 1.7.0
84b3f9924 Bump ruff from 0.1.4 to 0.1.5
50b264c6f Bump pymdown-extensions from 10.3.1 to 10.4
88e8a9fe2 Bump numpy from 1.26.1 to 1.26.2
d65aef72e Bump xgboost from 2.0.1 to 2.0.2
8273c0c2c Skip exchange validation in API server dependencies
c7624b1ed Simplify LiveStats models
54536a1c8 use profit_ratio for mix_tag_performance
7daa06a20 Align mixtag response with other statistic models
7d0ecfde9 Add tests to ensure responses are as expected
2ef716e94 Add response_models for new endpoints
de68850d2 Don't tag informative endpoints as "trading"
59cefda28 Update strategy-callbacks.md with new information on max_entry_position_adjustment
c9a5e5a98 Fix another (identical) typo
51dc5811c Update freqai-feature-engineering.md
05e36f7b2 increase API version
0738cae4a fix pre-commit
da3c42bbb add entries, exits, and mix_tags API endpoints
315783441 Update pyarrow wheels
62f1421cf Bump pyarrow from 14.0.0 to 14.0.1
52f12b704 Avoid time colision when creating orders in test
3729b3d79 Bump ruff from 0.1.3 to 0.1.4
39fc78205 Bump uvicorn from 0.23.2 to 0.24.0.post1
46a67e8d4 Bump nbconvert from 7.10.0 to 7.11.0
69017805c Bump ccxt from 4.1.39 to 4.1.40
bcec61197 Add pre-built wheels for pyarrow 14
fbb11a394 Bump sqlalchemy pre-commit
921e03426 Bump sqlalchemy from 2.0.22 to 2.0.23
264ab2c47 Bump pyarrow from 13.0.0 to 14.0.0
31af1d5dc Bump markdown from 3.5 to 3.5.1
588bbb45b Bump cachetools from 5.3.1 to 5.3.2
7ed037bad Bump tensorboard from 2.15.0 to 2.15.1
77b00b2a1 Bump mkdocs-material from 9.4.7 to 9.4.8
773bc386f Bump filelock from 3.12.4 to 3.13.1
90dacaca0 Bump jsonschema from 4.19.1 to 4.19.2
3689ad16b Bump nbconvert from 7.9.2 to 7.10.0
ab9954350 Bump ccxt from 4.1.31 to 4.1.39
533f11d9e Bump py-find-1st from 1.1.5 to 1.1.6
551033a7c Bump fastapi from 0.104.0 to 0.104.1
2efef72ec Reduce wait for ws test
751db2be7 fix: test typo mishap
6ea353447 use tmp_path instead of tmpdir
5a3839320 Remove further usages of Path(tmpdir)
555f4b51e Further improvements to test setup
be82248e0 Remove futher usages of Path(tmpdir)
7bed7801c Further test simplifications
eb409de91 use tmp_path instead of Path(tmpdir)
72dc65cb6 fix: swap tensor dimension to play nicely with pandas
2a0175f62 Add "empty" config to disable default discord messages
cd6817344 Update Dockerfile.armhf to use prebuilt wheels
c920e3a03 Bump Dockerfile to 3.11.6
83afc4ac7 Add pyarrow 3.11 wheel
19f62649e use "noindex" to install pyarrow on armhf
61ed6aee6 Add test for new formatting
051b6e945 Update documentation
44a24685a Add support for {base} and {quote} in informative decorator
1cde980c0 Extract pair_formating options
05ef4f9b6 Fix forceenter - cancel dialog not working
26aa14dbf update binance leverage tiers
04cd931cc Pass explicit stringIO type to pandas read_json
b8a6330c3 Improve pandas handling
949c3c660 Ignore "nan" enter and exit tags
9297a90d7 Use proper indexing to avoid deprecation warnings
b19f17fdf Improve handling of bt results in optimize_reports
bbdc6c0f5 improve pandas syntax to avoid deprecation error
528c65c19 Bump pandas from 2.0.3 to 2.1.2
bf24c3b27 BUmp cachetools types in pre-commit ocnfig
5182045cd Bump pytest from 7.4.2 to 7.4.3
b36907133 Bump ccxt from 4.1.22 to 4.1.31
0ab9eb7b0 Bump orjson from 3.9.9 to 3.9.10
d3d446498 Bump types-cachetools from 5.3.0.6 to 5.3.0.7
1d0934074 Bump ast-comments from 1.1.2 to 1.2.0
9382fb3be Bump ruff from 0.1.1 to 0.1.3
223af95da Bump mkdocs-material from 9.4.6 to 9.4.7
8b68b55de Bump xgboost from 2.0.0 to 2.0.1
99592d1a1 Bump python-rapidjson from 1.12 to 1.13
b69f5aaac Bump plotly from 5.17.0 to 5.18.0
0c1fefe6e Bump cryptography from 41.0.4 to 41.0.5
a049ff937 Improve special testcase
0c51e2637 Fix calculation issue for #9346
7492b75e1 Bump version to 2023.11-dev
24dfd9b93 Add test for #9346, showing current behavior
7d65b3e1b install libopenblas-base to base image
cf43427be armhf: Move pip install to base image
7ae41be97 Remove numpy armv7l lock since wheels are now available

2023.10

31 Oct 05:43
f142abf
Compare
Choose a tag to compare

Highlighted changes

  • Improved handling of order cancel messages if the order doesn’t cancel immediately.
  • Improved handling of funding fees in order-adjustment scenarios.
  • Special kraken data import (details: https://www.freqtrade.io/en/latest/exchanges/#historic-kraken-data).
  • FreqUI: New setting to invert Colors from Green/Red to Red/Green.
  • FreqUI: Improvements to backtesting Chart view.

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
9a73f7a7b Bump version to 2023.10
2c2046498 Reinit orders list on "local" objects to instance variable
e97d9013d Avoid having orders leak after multiple "from_json" calls
1e18b35f2 Change box type to tip
bb7828566 Add hint about helper commands to common mistakes section
1dccdf059 bump ruff in pre-commit
5da48d8ff chore: fix tests
4f4b7c562 fix: bug in startup candle offset
9dcf23638 Align flake and ruff configs further
494fd734b Bump ruff from 0.0.292 to 0.1.1
c2905a452 use --output-format in ruff CI
fe5f085ec types-requests pre-commit
748ac50d8 Bump ccxt from 4.1.13 to 4.1.22
d2069c172 Bump pytest-mock from 3.11.1 to 3.12.0
38cf50830 Bump fastapi from 0.103.2 to 0.104.0
bf96a43ef Bump types-requests from 2.31.0.9 to 2.31.0.10
22b455592 Bump tensorboard from 2.14.1 to 2.15.0
7fb3632e7 Bump mypy from 1.6.0 to 1.6.1
e5f0fe288 Bump pymdown-extensions from 10.3 to 10.3.1
58aaaffe2 Bump websockets from 11.0.3 to 12.0
16dfde22f Add FIAT mapping for USDC
bbbc8a760 Fix stop evaluation sequence to have stop before liquidation
e69c21c9f Revert "Bump torch from 2.0.1 to 2.1.0"
0a5cee6a7 Ensure we're not erroring on invalid custom_entry / exit prices
a80c97948 Improve behavior when downloading trades data on time-based pagination
a8c246ce0 Bump urllib3 from 2.0.6 to 2.0.7
1a78346cf Add further ebug log message for stopping clarity for --dl-data
e6d0d53e4 Add further ebug log message for stopping clarity
7de415a6a Don't bump numpy for armhf just yet
f46fa440f Bump numpy from 1.25.2 to 1.26.1
3264e2c31 pre-commit requests bump
fadc7a205 Bump types-requests from 2.31.0.8 to 2.31.0.9
5940279f7 Bump mypy from 1.5.1 to 1.6.0
35f6333b6 Bump ccxt from 4.1.8 to 4.1.13
5d9b69cbf sqlalchemy - precommit
1e0ce7d47 Bump pre-commit from 3.4.0 to 3.5.0
27cd54b42 Bump ast-comments from 1.1.0 to 1.1.2
ec64a182f Bump mkdocs-material from 9.4.4 to 9.4.6
dd30df705 Bump sqlalchemy from 2.0.21 to 2.0.22
4c6e33aa8 Bump psutil from 5.9.5 to 5.9.6
8cb934849 Bump orjson from 3.9.7 to 3.9.9
9d552d45c have to use bitwise operator, otherwise ambiguous error is thrown
1e1b8dbe5 Handle multiproc calls for now
2d9d8dc97 Improve logic for progressbarcallback handling
ba674fc79 Type-ignore training-envs
58550515a Fix deprecation warning from tensorboard-callback
27bae60b6 Fix typo
646dd63fa Properly close out progressbarCallback
8d2b389e2 Fix wording in log msg
042e35e8d Improve funding fee startup behavior
b76513ce3 Fix typo in trade_model
368bfcf47 Add comment for funding fees running
fee3c598d Move schedule to 1 minute after the hour
69264cc16 Reduce funding fee update calls
e81929bc5 Have test use funding_fee_running
0843b19b6 Implement logic around funding_fees runnign
813b472c6 Add funding_fee_running column
2f079711e Add explicit test for get_funding_fees logic
97e9d2dc4 Remove get_funding_fee error handling - it's no longer raising this error.
7344f2080 Handle funding_fee error in exchange class
bfe04464b Handle funding fee errors for regular trades per trade
2225f5661 Additional funding fee update after additional entry orders
9e77c93a5 Tighten funding-fee variance for backtest
b65fa98ce Simplify backtesting by using current_time more consequently
b57821b27 Add set_funding_fees to backtesting
db7f9598b add set_funding_fees method
e547da10d Move funding fee assignment to update_trade
5a0c15f37 Update Idem test
0f5b69b4f Move from_json to LocalTrade class
86d4497aa Add additional test for from_json
1bfecb031 Revert "Bump tables from 3.8.0 to 3.9.1"
74f678a26 Bump markdown from 3.4.4 to 3.5
1bba0cf7f Bump pre-commit types-requests
b1fd0c73c Add additional test case for funding-fee calculation
29eb6d938 Update test for fixed funding_fee logic
19620470b Improve funding fee cutof logic
7a69b01b9 avoid edge-case in test
bc531cf84 Improve variable naming
14908e52e Improv variable naming
a86bf8d6d Bump aiohttp from 3.8.5 to 3.8.6
5fae03f7b Bump nbconvert from 7.8.0 to 7.9.2
f7f0f3beb Bump ruff from 0.0.291 to 0.0.292
ccbab6ee6 Bump tables from 3.8.0 to 3.9.1
ef12dafea Bump python-rapidjson from 1.11 to 1.12
08a65b50a Bump types-requests from 2.31.0.7 to 2.31.0.8
d28d6cbdb Bump python-telegram-bot from 20.5 to 20.6
41a6709ec Bump torch from 2.0.1 to 2.1.0
756f5d540 Bump mkdocs-material from 9.4.2 to 9.4.4
422b9c8fb Bump ccxt from 4.0.112 to 4.1.8
40ec2c492 Improve messaging in case of delayed exchange cancel
5cf7ad85a Adjust tests for new interface to handle_cancel_* methods
f02c9f043 Pass order object to handle_cancel* methods
c59b5e778 Improve type hinting
e525c6694 Add ft_cancel_reason column to order object
897c14e2e Don't check for "open orders" in handle_cancel_enter
6c00bf423 Fix comment
094984eb2 Fix wrong typehint
081411fba Improve bot typehints
178c0972f Read funding_fee on order objects in "from_json"
910e317a4 Fix unhandled exception
1ef5adbb0 Test for #9270
f5db856a7 re-align adjust_entry_price between backtest and live
b2ad40253 Hide most non-freqtrade logs in `-v` mode
1e0d622d8 Don't run "recovery" when stop-orders are open
1d941249e Revert "Remove numpy armv7l lock since wheels are now available"
5bfd3fdc3 Add openblas to armhf image
04409602a Remove numpy armv7l lock since wheels are now available
b2796b850 Add funding_fee export to order object
f14b4133c fix wording
3c2e043e8 Bump urllib3 from 2.0.5 to 2.0.6
609ed2d7b fix return values
183166b3f fix output if no variance, and fix docs
cd071c3bd Bump cryptography from 41.0.3 to 41.0.4
60c2b1d6c Revert "Bump ast-comments from 1.1.0 to 1.1.1"
79e59bdda Bump types-requests pre-commit
b409ab5ea Bump pydantic from 2.3.0 to 2.4.2
5feb7fe65 Bump ast-comments from 1.1.0 to 1.1.1
980960bc6 Bump arrow from 1.2.3 to 1.3.0
84335d58b Greatly speed up recursive by caching exchange
9edd7e6bc Bump fastapi from 0.103.1 to 0.103.2
7478c56ca Bump rich from 13.5.3 to 13.6.0
1f36f4802 Bump tensorboard from 2.14.0 to 2.14.1
4d920d786 Bump packaging from 23.1 to 23.2
19fb3f9b5 Bump types-requests from 2.31.0.4 to 2.31.0.7
fafc10257 Bump mkdocs-material from 9.4.1 to 9.4.2
3868f9c69 Bump scipy from 1.11.2 to 1.11.3
0204f666b Bump ccxt from 4.0.105 to 4.0.112
f32a13bfb Bump schedule from 1.2.0 to 1.2.1
4809c9f07 Adjust tests for new naming
19af144b3 Improve of analysis files further
4db796204 Update tests to new structure
7e6f2cba5 Move analysis command into their own subspace
f7ff1dc61 Bump develop version to 2023.10-dev
8ad6eb989 Update parameter value to be clearer
74709461e Improve exception wording
9e6cc5ebb Improve comment on special handling
a2d8f92e0 Add rudimentary test for test_trade_converter
a7d90e2a2 Minor adjustments to conversions
83b37e2f7 Add documentation for kraken data mode
488629096 Improve logging in kraken-converter
a3f167f6d Split format-from for trades to allow for trades special case
1e8814b43 Improve handling of kraken dataconvert
2e430519e Call kraken-convert in special cases
2164b02c6 Add initial code for trade_kraken import

2023.9

30 Sep 15:26
e73f215
Compare
Choose a tag to compare

Highlighted changes 2023.9

  • New subcommand recursive-analysis to check for startup bias in your indicators. Please refer to the [docs].(https://www.freqtrade.io/en/stable/recursive-analysis/#how-does-the-command-work) for an explanation.
  • New argument after_fill to custom_stoploss() - which will allow the strategy to adjust the stoploss in any direction.
  • New argument leverage for stoploss_from_absolute() helper, for proper leverage adjustment.
  • New Pairlist FullTradesFilter - which empties the pairlist when all trade-slots are filled.
  • Add /weekly and /monthly API endpoints (and show corresponding metrics in freqUI).
  • Improvements to /reload_trade on Bybit and OKX, improving reliability for these exchanges when using this functionality.
  • Improve output of /profit, adding drawdown metrics.
  • Add trade argument to custom_entry_price() callback (only filled for additional entry orders, otherwise None).
  • Bybit - updated to api v5 after deprecation of old API’s.
  • Improve behavior when replacing orders where the initial cancellation fails.
  • Officially deprecate edge in the docs.
  • FreqAI: Improve behavior after downtime of more than 1 candle.
  • Drop support for python 3.8. If you’re still using python 3.8, please upgrade to python 3.9+ (we recommend 3.11).

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
96c5db3e3 Bump version to 2023.9
2d56b1bc8 Fix whitespace
aff5372a8 chore: protect users against process_only_new_candles=False
7971cb29b fix error message
154149ff0 Slightly updated docs
92d7f2798 Further update test a bit
20ea679b2 Add "bias2" test with full lookahead bias
39ede449a Rename test to avoid naming collision
37550d3bd Fix typo in --strategy_list
b68852662 Improve sorting in docs
d52d30cfb invert setting-location for stopLossPrice
56a85690b Update cached leverage tiers
90475e52d Change strat to strategy in freqai-feature-engineering.md
504f51fab Fix liquidation price setting in backtesting
a905d1bd6 Assert backtesting liquidation price
a27baf1a5 Improve backtest test
3f60b2c14 Update bybit stoploss parameter/prop for new ccxt version
927d1d268 Split stop_price parameter from property
ed45dcdf8 Update .gitignore to exclude memray stuff
e518e741a update bybit live order to v5
56b9c250b Update order_parse online test
a009816ac Bump ccxt from 4.0.88 to 4.0.105
551d1b096 Bump sqlalchemy pre-commit
5e696f4ea Bump sqlalchemy from 2.0.20 to 2.0.21
c39290d7d bump types-requests in pre-commit
4849b23fd Bump urllib3 from 2.0.4 to 2.0.5
d032aaaba Bump mkdocs-material from 9.3.1 to 9.4.1
0099381dd Bump jsonschema from 4.19.0 to 4.19.1
7bcb3d558 Bump types-requests from 2.31.0.2 to 2.31.0.4
c15c13a36 Bump ruff from 0.0.290 to 0.0.291
53a727306 Bump catboost from 1.2.1 to 1.2.2
da9a8b616 Bump mkdocs from 1.5.2 to 1.5.3
e6277222c Bump time-machine from 2.12.0 to 2.13.0
8002b476f Update recommendation for kraken
d9b5d05e2 Align sample configs with the "no ratelimit" recommendation
f5d7a4417 Split trades methods into seperate converter file
04b3b1d4d Update data-download.md
38a3ce616 Convert "converter" to package
123e51774 Move trades-to-ohlcv tests
2322d0f3f Move trades-to-ohlcv to converter file
8a5287581 Move some convert-trades-to-ohlcv logic into convert function
41cdd28f5 Improve log output for convert-trades
b387c315d fix pre-commit
3c647a379 change wordings on the doc from backtest to "calculate indicators" since we never do full backtest process
aac9ee0d5 move lookahead and recursive docs under Advanced Topics
966247baa Make sure use_db is set as early as possible.
589b9858f Disable build isolation (fix no docker builds)
c0b2b0b96 fix args description
6cfc1836a fix wrong startup candle
35800f3ad remove hardcoded docs link
9fa365e76 Fix docs rendering (lists need a newline before the first item)
a4a3b1956 Fix typo in docs
dda5a5901 Revert "Bump ccxt to 4.0.101"
30e8466ca Update recursive-analysis.md
3881c5189 add example of the result of the analysis
4959d124a Update recursive-analysis.md
f133ee3cc add more explanation in the docs about startup candle and its relation to API limit
ef6afaa2c Add test for replace_fail
0e406c4d7 Update some more test wordings
b21775142 Improve variable naming in test
8ccc66cd9 Add tests for cancel order retries
b4e732617 Add handling for order replacement cancel failing
450219c83 Extract replace_order_faild message and behavior
eb7df3006 add test
961f50e33 fix broken link
478e6f1e6 fix test
a0e115ebd fix another test
ce4f1b070 fix test after adding new test strategy
aba576f79 pre-commit fix
d92a6d7b7 all tests done
89d47ffd8 4 more tests
b9e9f8250 first test done
08b94a207 1 test
9f445cb05 Don't rely on status when determining open order count
1d23ba6e3 Improve wording after order-replacement
28e43a486 initial test
1b2852187 Improve execute_entry interface
4ba3363bc Use matching numpy version in docker armhf image
d465fcffd change startup cande in sample strat
32b0098ec fix example in the docs, increasing startup to 400 on ema100
e77b9de89 fix docs
aec67cda6 update bybit live order to v5
f3fb801b3 Update order_parse online test
fe3308824 Bump ccxt to 4.0.101
4bca8b97f Don't allow empty order-type from exchange
f62f4f771 Fix deployment (no arm numpy wheels just yet).
896e2b628 piwheels finally has wheels for cryptography
ddb0ae10b Ensure no None status is passed from "create_order"
37fa186c5 remove 1 column
979e485f2 initial doc
830f2219c Update exchanges.md
d21f0f408 chore: add guardrails for users who neglect docs
8f883f231 chore: fix set_initial_hist_preds test
2f63b0199 Bump xgboost from 1.7.6 to 2.0.0
cfdd9d6be Bump lightgbm from 4.0.0 to 4.1.0
fd4877759 Update hard min-requirement for python
3f85f3cce Exclude UP036 for now
c7106a680 Bump plotly from 5.16.1 to 5.17.0
6e1f457fb Bump python-rapidjson from 1.10 to 1.11
533a16658 Bump rich from 13.5.2 to 13.5.3
9b35dae46 Bump mkdocs-material from 9.2.8 to 9.3.1
e6d01b04e Bump numpy from 1.25.2 to 1.26.0
d185b2020 Bump filelock from 3.12.3 to 3.12.4
74ed0e0b1 Bump ruff from 0.0.287 to 0.0.290
f6fce2162 Add new parameter to strategy template
158bf0977 Fix type checking error
1f1abfe79 fix: avoid duplicate date columns interfering with fit_live_predictions()
29a5e049b edit note wording for custom_entry_price
2bc0c4ecd update docstring
224213840 update trade object as optional parameter
d81fdeb3e Update docs/strategy-callbacks.md
14c5f435a okx: Use proper history endpoint for fetch_orders
5745722a3 Increase time for fetch_orders in test
a7cd9d77f ignore custom_entry_price trade object type test, remove LocalTrade as type
5b857aeaf fix custom_entry_price trade object type test
afb1b787c add okx to  fully tested exchanges
659168d34 Improve cancel_stop test
3f4715ba4 update custom_entry_price docstring
1d0f1bd1e update doc
220bc3c23 Rename fetch_orders_emulate to make it non-protected
c90be601f Add offset to "fetch_orders" to avoid missing the initial order
5d8e0573f Run handle_onexchange_order test without dry-run
3d858f659 Fix bug closing trades while recalculating
6d2d5f93d Add exit order test
d01bc0fb9 Enforce kwargs for update_trade_state
394d758d3 Add missing fields to json (and json parse)
91c710408 fix flake8, set trade object param as Optional
3a7f39051 Cancel based forceexits shouldn't trigger a full exit.
a7d6efdcd Fix order amounts in test
fed24c130 Improve test for get_canceled_exit_order
ae4021da1 Rename get_canceled exit orders ...
8378a0234 Filter exit_order_count on canceled orders only
cf96ad1d1 add trade param to custom entry price in interface, bot, backtesting, exemples
3919bf374 Adjust sequence of trade json output
9814cf536 flake8 fix
c19fe95d3 add the filter to docs, tyding up the py file
383bdb7d5 flake8 fix
33bf7f9f3 Ensure test doesn't fail based on daytime
454c2343a More clarity for adjust_trade_position callback docstring
310c9f603 Update test_freqai_datadrawer.py
c0a600858 Change the cache of rangestability to 1 day
5b0738541 simplify the filter
844ab4aef chore: add tests for set_initial_return_values
44ca6f1c4 remove unused vars and change wording
552f94724 remove unnecessary check
7655bf6ea turn off logger for now
25ae25248 add logger
dd01ae880 fix error
e0a06ca45 add fulltradesfilter
a93592c46 add fulltradespairlist
08dffc95d fix wording
5019fb5bf fix flake8
a0e0d7fe2 more fixes
6377fd268 flake8 fix
bd9ea9bd8 precommit fix
cfeefa875 remove prepare data from baseanalysis
475d8486b fix mutable Backtest
628963c20 chore: fix bug associated with leaving FreqAI offline for more than 1 candle.
4d1810c2b update lookahead analysis
05f0dccb8 add missing args to config
6360e7fb1 debug
40695a39d add missing var
008f62121 create BaseAnalysis class
a52cf4221 use last order date to fill order.
a866b0a35 Improve test correctness
af1054fa7 Avoid re-implementing existing feature
ee9d2c637 Improve "order refind" mechanics
f0819d9df Improve "filled" date assignment for order updates
96e5615d1 Update safe_value_fallback to allow empty 2nd keys
82baa3f93 Improve and clarify wording around use_exit_signal
45c90c201 Bump pytest from 7.4.1 to 7.4.2
3a1057e1f Bump questionary from 2.0.0 to 2.0.1
e45d5d359 Bump orjson from 3.9.5 to 3.9.7
14ee5a207 Bump mkdocs-material from 9.2.7 to 9.2.8
da83243eb Bump ccxt from 4.0.81 to 4.0.88
46ec7d5ea Bump actions/checkout from 3 to 4
29fbac9f9 Add "catch-all" exceptionhandler for handle_onexchange_orde...
Read more

2023.8

28 Aug 16:47
dbf53ce
Compare
Choose a tag to compare

Highlighted changes

  • Switch default dataformat from json to feather to provide the best possible performance (please use convert-data to convert your existing data.
    in most cases, freqtrade convert-data --format-from json --format-to feather should work fine.
  • Add “notes” capability to backtest UI, to keep notes about that specific backtest run.
  • Removed explicit support for exchange sandboxes.
  • Simplified minimal new-strategy template.
  • Prevent lookahead bias in informative data within callbacks during backtesting.
  • Move virtual environment from .env to .venv (:warning: Make sure to update your scripts if necessary).
  • Added support for parquet format for trades data.

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
c1df94b50 Bump version to 2023.8
3388bc501 update conda docs to use 3.11 by default
981cf1f6e Update cached binance leverage tiers
04122abd1 chore: protect users who dont read log warnings
e5a88fded Fix stylistic issues
9c4aca2b9 Improve download data debug output
67e3ce308 Remove now unused import
a740b9458 Fix remaining test after conftest_trade rework
ffdb5fb79 Fix further tests after conftest_trades rework
0cc703923 Fix mock trade 1 status
0f73e38f9 Improve docstring for "select_filled_orders".
cfe1187cd Fix missed Test
a36e13183 Fix more conftest trades
94864a6ab Fix bad open_order_id assignment in test
e1e90112b conftest_usdt trades - align open orders
c303d47f2 Ensure stop_duration is converted to int
36d99876c Add mkdocs to rtd config
2a192b19c Fix path typo
9eaff301e Attempt update RTD config
62ce96fd4 Add documentation explanation on pair naming conventions
0c7cb29ea Don't use type() is comparisons
8ac4f4ac4 Bump ruff from 0.0.284 to 0.0.285
329b35fc5 Update sqlalchemy pre-commit
e3d17b98b Bump gymnasium from 0.28.1 to 0.29.1
1c55432bd Bump sqlalchemy from 2.0.19 to 2.0.20
a6a1b0e84 Bump orjson from 3.9.4 to 3.9.5
57c23fd9b Bump plotly from 5.16.0 to 5.16.1
d18dea076 Bump mkdocs-material from 9.2.0 to 9.2.1
4b7948116 Bump pydantic from 2.2.0 to 2.2.1
9d31566a2 Update dependabot pip limit
ec2f51dcc Bump mypy from 1.5.0 to 1.5.1
5a0f62431 Bump time-machine from 2.11.0 to 2.12.0
99f7e3bce Bump scipy from 1.11.1 to 1.11.2
e93832117 Bump nbconvert from 7.7.3 to 7.7.4
6d90ceca5 Bump mkdocs-material from 9.1.21 to 9.2.0
22f1c7251 Bump fastapi from 0.101.0 to 0.101.1
0f1e66b22 Bump ccxt from 4.0.59 to 4.0.71
b088154c0 Bump stable-baselines3 from 2.0.0 to 2.1.0
4c5f99267 Ensure signals don't break on windows
f92b8c50d Update config echo block to store config in user_data
2d800a142 Fix bug in config-builder
fb790b2d4 Update path of config for new-config documentation
b71a44f27 Enhance Keyboard interrupt handling for dl-trades (stores data it already downloaded).
4fefae6f0 Improve download-trades test
3167938d4 move "since" fallback to be the last check
7da017493 Allow slightly different ta-lib installation locations in setup.sh script
4feafb25c Update ta-lib windows wheels
08532e1df Bump ta-lib to 0.4.28
8fa31b35f use prefer-binary to avoid hardcoding ta-lib outside of requirements.txt
f5e054311 Fix windows CI failure
399e308e0 Fix bug in --dl-trades downloading
277cc0a52 Fix import sort order
185c5a779 use model_validate instead of parse_obj
352f0fdfc Bump pydantic to 2.2.0
3d8dcd164 Improve and parametrize trades_data tests
30064b410 Add support for trades data in Parquet format
8caadc4c5 Fix feather handler storing
3eb359655 Simplify trades_data storing
5de3b9d7a Clean up no longer used method
fae742de5 Fix imports
fa5f7d290 Update download-trades method to work with dataframes
757761388 Extract trades df type conversion
0fab65df0 Set explicit dtypes
f69a77630 Ensure only relevant columns are stored
26c89d89e Keep original timestamp in dataframe
d97d0e442 Extract trades DF creation to converter function
357b04202 Datahandlers should store data from dataframes
6fc1ee983 trades_append should use dataframe, not lists
780f23890 Fix trades duplicates if trade id is different
5d5cc7194 Fix pandas duplication detection, improve test
0be2250cf Keep existing trades_remove_duplicates for now
53db254cb don't cascade calls, that creates an additional call
02ee7f8b5 Update further tests
a59507475 Update test for new trades handling
7ac9d33c3 Default should return a dataframe, not an empty list.
ac80a6914 Update converters for trades dataframe handling
46882406b Update Datahandlers to work with trades data as dataframes
ba34318f7 Update converter test to use fixture
3bc49330c webserver mode should properly validate config
b93c6235c Fix Case of gym.Env in documentation
aa756221f Improve behavior of ta-lib install
688018d9f Update setup.sh script to use `.venv` instead of `.env`
ea181645b setup.sh: Extract environment recration to function
f607b8abf Silence pip download
d43993601 Update docs about suing `.venv` instead of `.env`
91fd47271 Extend ruff excludes to .venv
6134807c6 Remove wrong image link
7651f1b1d Add more samples for correct debug configurations
d9fb40ca3 Update cached binance leverage tiers
77c7dd8a1 Add FIAT mapping for true usdt
452e1ab01 get_analyzed_dataframe should provide dataframe with startup candles
bea678222 Ensure cutoffs in backtesting are properly tested
045d8c6fc Add test for informative pair filtering
161ab14ed Avoid lookahead bias through informative pairs in callbacks
6f347b839 Remove optionality from timeframe parameter
09ec00888 Don't use global variable in test
3f5903bad Split tests for jinja utils
afcaeafd9 Move rendering commands to utils
6b11f3063 "minimal" strategy templates shouldn't render all attributes
a4842113c Split strategy template to have conditional attributes
d768afed3 price_to_precision should only run once
db9247e78 prevent errors in custom stop from crashing the bot
d53b6871e Bump pre-commit mypy
08bc61582 Further simplify backtest order handling
bcc2dd980 Simplify backtest order closing
d7e9f87b3 Improve comment indent
d7556cd66 Remove duplicate call in backtesting
f4844c122 Downgrade prompt-toolkid to 3.0.36
21cf5fc67 Fix use of string.format()
9b6654e81 Fix ruff E721 (type comparison)
bb5277812 Bump joblib from 1.3.1 to 1.3.2
7224bdf82 Bump ccxt from 4.0.50 to 4.0.59
0abfad558 Bump tqdm from 4.65.0 to 4.66.1
9a95011b5 Bump ruff from 0.0.282 to 0.0.284
987a7ddac Bump aiofiles from 23.1.0 to 23.2.1
ceee57c39 Bump plotly from 5.15.0 to 5.16.0
6e79c19fe Bump tensorboard from 2.13.0 to 2.14.0
f0a50b1f2 Bump jsonschema from 4.18.6 to 4.19.0
4942d0157 Bump mypy from 1.4.1 to 1.5.0
4664cc23e Bump questionary from 1.10.0 to 2.0.0
6768641ba Bump orjson from 3.9.3 to 3.9.4
90e41274e Bump pypa/gh-action-pypi-publish from 1.8.8 to 1.8.10
2c5a7ceab Improve typing of stoploss reinit
3ecaedb7d use FormatStrings in trade_model
1ca3cd086 Fix missing . in interface docs
72bd4e816 Simplify code, no longer log "could not find rate"
716b1cd00 Improve ccxt tests
6ce08548f Further update ccxt test fixtures
ea257e3cb Refactor online test fixtures into separate conftest module
20763daa7 Simplify online tess by skipping non-available futures exchanges
7e9389421 Move ccxt_compat tests to their own subfolder
05e182861 Improve Fee check
328a6f791 Improve stoploss mock
b93464403 Fix tests, explicitly test for missing timerange
4a62ebbf9 Don't hardcode fee, but use fee from the very first iteration.
2069abe31 Remove custom fetch_funding_fees from bybit
78cf8a1c0 Fix exchange bybit test
565e2699b Re-set funding-fee history limit for bybit to 200
62ad2cca1 Add active test for alternative futures rates (ensures history is loaded correctly).
ab156b6ad Increase bybit ohlcv_candle_limit to 1000 in tests
1f23727ff Increase bybit ohlcv_candle_limit to 1000
c88f71c63 add timeout to discord
05bbc8e7a Remove last sandbox occurance
5e3e443d2 Remove Sandbox docs
88d6f70ab Remove sandbox related code
9c73e52dd Remove sandbox configuration options
33d3c4f7d Improve backtestResponse in preparation for future update
03150ee09 Ensure backpopulated "trade" attribute is immediately loaded.
4b07720d0 Update test strategy to ensure we're using stake_amount
ae3c3d81c Bump jsonschema from 4.18.5 to 4.18.6
8deedc31c Bump fastapi from 0.100.1 to 0.101.0
8c3a0cf61 Bump orjson from 3.9.2 to 3.9.3
67ea6512e Bump ccxt from 4.0.48 to 4.0.50
813ace12c Explain behavior in case of deposits
cd6fc1652 Add rate-limited wallets call before adjust_trade-Position calls
7d18261f5 Improve FAQ wording
72d9e8a09 Fix indentation of strategy-updater in utils
e174f9640 Improve docker docs with some hints about windows usage
25602ceac Added a fixed fee to 0.02 (any fixed value would suffice) since kucoin dynamically decides which pair gets which amount of fees and thereby producing false-positives upon verifying the entries/exits.
bdf89efd1 pytorch - improve docs
23d2bad2a pytorch - set n_steps type as optional
9f69a45af pytorch - documentation update
a3c6904fb pytorch - naming refactor - max_iters to n_steps
d17bf6350 pytorch - trainer - revert load changes
777d25192 pytorch - bugfix - explicitly assign tensor to var as .to() is not inplace operation
836d7b885 pytorch - trainer - set default usage of n_epochs instead of max_iters
81cd24195 Update API backtest to return proper metadata
6d6111864 Test also backtest result list
23a2b9599 Add test for updating metadata
36b84241b Don't allow null as notes
51879ffd2 move Notes to be a "API only" type
0d71a74d8 Bump api version to 2.32...
Read more

2023.7

30 Jul 07:03
d104fb1
Compare
Choose a tag to compare

Highlighted changes

  • Community showcase section in the documentation.
  • Updated proxy configuration for ccxt (make sure to read the corresponding documentation section if you think you’re impacted).
  • Improved convert-data command, converting data a lot more efficiently.
  • Improved “/profit” command by adding winrate and expectancy.
  • Improtant fix to freqUI historic plotting (backtesting, …), which will not correctly respect the startup_candle_count of the strategy.
  • Backtesting now shows max-consecutive wins/losses.
  • Improved new-config logic for api server setup within docker.
  • Allow deletion of Backtest results through UI.
  • Fixed faulty resampling of monthly (1M) candles.

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
5a7a9d48f Bump version to 2023.7
79910870a Fix bug resampling monthly candles
e7e7a1718 Add test confirming #8972
3fa31bfe2 Better explain ROI assumption on level change
b2abdab7c Fix bug where adjust_entry_price was called for exit orders
fd7dfc95e Enhance dca integration test for adjust_entry checks
797617aba Fix test comment
9a400d0e6 Allow comments and trailing commas in remotepairlist files
8f18a52cd Fix Typo in remote pairlist docs
d638a4a0f Raise proper error on strategy search
bbf472e69 Improve errorhandling on webserver endpoint
83f45d0e6 Call static method as static method, not as if it were an instance method
d6122585f Prevent pandas exception on Date assignment
2fcff7875 Move comment to actually relevant line
f56f5179d Update showcase.md
c2b40da76 Bump Api Version
05e4b6309 Extract backtest_result deletion logic to separate function
8b2abf442 Remove .json from backtesting output
997b80fd7 Allow deleting of backtest files
5a7e82234 Improve security of get_backtest_history_result
1d39cc18b Add is_file_in_dir helper function
e39af1720 Improve typing for is_relative_to
47fca02ba Improve docstring
ed2485dd5 Move generate_wins_draw_losses to bt_output (it's an output function, not a calculation)
5a057e4b9 per-commit bump types-requests
b90e7d75c Bump ruff from 0.0.278 to 0.0.280
1c26a6600 Bump types-requests from 2.31.0.1 to 2.31.0.2
161446393 Bump ccxt from 4.0.35 to 4.0.36
9df302f2f Bump uvicorn from 0.23.0 to 0.23.1
ce7f7d828 pre-commit bump dateuti
7a69bdff6 Bump types-python-dateutil from 2.8.19.13 to 2.8.19.14
bb36c9500 Bump pre-commit types tabulate
235067c79 Bump nbconvert from 7.7.0 to 7.7.2
11e604d61 Bump types-tabulate from 0.9.0.2 to 0.9.0.3
b41b96644 pre-commit bump cachetools
327b05546 Add consecutive wins/losses to backtest output
221f242a4 Bump ccxt from 4.0.34 to 4.0.35
a9d310ca0 Disable bitvavo candle test temporarily after downtime
f26b49ee0 Ensure return value is an int, not a np.int
380244f8b Improve calc_streak, rename method
0f046ceaf Implement calc_consecutive_losses
a7bd6725f Add test to verify consecutive wins / losses calculation
c61b72e5c Bump urllib3 from 2.0.3 to 2.0.4
d909fde4b Bump types-cachetools from 5.3.0.5 to 5.3.0.6
2bb4af911 Bump pyjwt from 2.7.0 to 2.8.0
00a392b26 Bump mkdocs-material from 9.1.18 to 9.1.19
6f5ba2725 Bump jsonschema from 4.18.3 to 4.18.4
6ddbc8c00 Move generate_wins_draw_losses to bt_output (it's an output function, not a calculation)
a00fcd68f Default to 0.0.0.0 if on API listen address for configs generated through docker
fb7fb7f59 Add helper function detecting (prebuilt) docker environment
d7916366b Adjust webhook tests to include timeout
ad82ad440 webhook docs improvements
8dfe43f37 Add timeout for webhooks
4549fb349 Add security notice about IP whitelisting on bybit docs
889a732e0 Enhance bybit documentation
8f0422528 another test fix
4c23771d3 fix expectancy test
0eddc6b7a update expectancy test
787e94924 Update default expectancy ratio to 100
955a63725 Improve resiliance when showing older backtest results
27a36bfb4 Bump lightgbm from 3.3.5 to 4.0.0 (#8923)
e5f01ab2e pre-commit fix
40d7d05e4 merge 2 expectancy functions
c6ee8fcf5 remove unused check
3552fa431 fix test
3dd33cde0 fix test
ee3b69ea6 fix test
b0639ab31 flake8
cfd8b068e add test for expectancy
8621dc96e fix tests
11f24aff9 flake8
dcc3ef130 flake8 fix
4812bcc28 flake8 fiz
c048e7229 modify expectancy and expectancy ratio
4ea3f41d4 Map BUSD to correct coingecko id
687412397 Bump ccxt to 4.0.34
8d332fb99 Ensure /pair_history endpoint correctly respects startup_candle_count
f4933a9cf Improve test for pair_history
4369e3cde trim_dataframe should enforce kwargs for non-required arguments
9bfe96d4d Simplify advise calls by extracting that part into a method.
91bf8abf3 Add comment to clarify usage of trim_dataframes
9c1fea0e7 Add winrate to several bt metrics
ac2147727 Update test for updated cost logic
ea4534923 Completely remove "fee_cost_in_contracts" functionality
e734ab52d okx fees are not in contracts.
75628403b Invert order_props_in_contracts logic - cost is almost never in contracts
f735973bf Bump aiohttp from 3.8.4 to 3.8.5
ab5b27286 Fix double-%%
bb5a12dc1 Add built-in trade fields in indicator list docs
f95f954df Convert winrate to ratio instead of % in calculations
5ee458698 use find-links for windows install
9c39fd6e9 Update cached binance lev-tiers file
c8ee48bc9 Update comment on install script
ef52a7a32 Simplify windows install sscript
635ab7370 Update path for install_windows helper script
c4d38e6de Add new ta-lib windows wheel
8fd96118a Bump pydantic to latest 1.10 version
db0cad04a Pin pydantic to <2.0 for now
d64d0e9f9 Update docker-compose-freqai.yml
c64c10e76 Use Fstrings in hyperopt-tools
d8ba2b5df Bump ccxt from 4.0.28 to 4.0.29
6ccc12f33 Fix calcs, rename ratio, add docs
8738b8d55 Update freqai-feature-engineering.md
f2ff85421 Bump nbconvert from 7.6.0 to 7.7.0
cb5a67e9e Bump sqlalchemy pre-commit
6f0204fcd chore: remove inlier metric
78de61491 Bump ta-lib from 0.4.26 to 0.4.27
e5221932e Bump ruff from 0.0.277 to 0.0.278
c23ff9d7c Bump pypa/gh-action-pypi-publish from 1.8.7 to 1.8.8
5f82108aa Bump jsonschema from 4.18.0 to 4.18.3
454baa7b5 Bump sqlalchemy from 2.0.18 to 2.0.19
69e969173 Bump ccxt from 4.0.17 to 4.0.28
8c8b31599 Bump pytest-asyncio from 0.21.0 to 0.21.1
e8ff5cb78 Bump pymdown-extensions from 10.0.1 to 10.1
256a8c686 Bump uvicorn from 0.22.0 to 0.23.0
79f7f82c5 Fix telegram output
35714c469 Add explicit dry_wallet test
cf9ba527b Include realized_profit in update_dry
d0e0e156b Update tests to account for realized profit/loss
8a55423ac Add asserts for wallet size
66131d510 Improve integration test assertions
1fd2a2532 Reduce trade stats function complexity
9d36dc7ac Fix line length
59cb9e39d Fix another trailing whitespace
d4b282d6f Fix expectancy calc and tests
e57bb6bc9 Add api schema entries
3ce17b740 Fix flake8 problems
768a7b47e Fix some futures symbol naming in tests
096cb0d1e Add tests, fix winrate calc
4235ab0c7 Add expectancy and winrate to telegram
6e56f84fe Add expectancy and winrate to rpc trade statistics
ff1420810 Improve logic for from_json special case
626ea6b11 Add backtesting support for order.stake_amount
d8c062188 Add stake amount property to order object
17296fdf9 Use proper cost for order
e4cd29d88 Add test for trade.cost
eeec1b0b3 Don't bump armhv crypto dependency
e043fdba5 Bump cryptography from 40.0.1 to 41.0.2
7f0e1c27c Fix realized_profit for trade from_json
240606c5a Only run once for an order
6134764d5 Don't wrongly eat into dust on rebuys
45a9c304b Add test for new conditional behavior
c970ae8ad Add pyarrow pi wheel
3cf419cbc Fix ill-used type on order backpopulate mapping
722b5569b Add Freqtrade backtest project
e8fe5a4f1 bybit provides up to 2years of historic ohlcv data on any timefame.
127ca83de Bump orjson from 3.9.1 to 3.9.2
a0fff4364 Add fee_base to json output
b7bd1eba6 Bump time-machine from 2.10.0 to 2.11.0
6d63b9400 Bump fastapi from 0.99.1 to 0.100.0
e0ba2f3a1 Bump pyarrow from 12.0.0 to 12.0.1
7d16012f6 Bump ccxt from 4.0.15 to 4.0.17
4a422cac5 Bump jsonschema from 4.17.3 to 4.18.0
884594a96 Bump sqlalchemy pre-commit
12d89a906 Bump sqlalchemy from 2.0.17 to 2.0.18
1dbc294b8 Improve order __REPR__ with date
5bc84dca5 Fix from_json with new attributes
8c0e66008 Remove wrong/faulty "default" comment from cli options
4a1a19794 Bump python-telegram-bot from 20.3 to 20.4
43f6a7e3c Bump ccxt from 4.0.14 to 4.0.15
1bece11eb Bump numpy from 1.25.0 to 1.25.1
3c1cd7243 Bump mkdocs-material from 9.1.17 to 9.1.18
1ca2a8d63 Bump prompt-toolkit from 3.0.38 to 3.0.39
7359a76b7 Bump ruff from 0.0.275 to 0.0.277
75e6315aa Bump joblib from 1.2.0 to 1.3.1
b4957a2e3 Update converter test
448f02960 Improve behavior for convert-data
5a43dd476 don't hard-default `--timeframes` via argparse
10f34563f Improve default for --candle-types
4c6eee8df Update proxy documentation to correspond to new ccxt mode
a598b8554 Bump ccxt and ccxt min requirement
511023ee1 Fix typo in comment
af5fc76dc Add test for different processing modes
e6ee55a69 Improve some test coverage
4dda9c6da Add explicit test for short-desc
5da5369ca Update parameter sequence to make more sense
e64327f35 Update my link
4d4ec11a8 - print
0b68ca6cb use pairlist_pos remove unused check, fixed Test
b2106ef4a Update frequenthippo link description
ee1fa34df Add 'processing_mode' , blacklist checks
c4b0f24cd Use USD for kraken tests, as it has more volume.
a1d50dbfa Add community showcase
5c0f5588a Simplify sort_values in PerformanceFilter
1c5ea317e Add mode as parameter for the UI
a9e239ca7 Don't use future date for ...
Read more