github freqtrade/freqtrade 2023.4

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

Highlighted changes

  • Improved price to precision rounding logic.
  • Initial bot startup time added to /profit output.
  • Switch progressbar to Rich (Improved visualization).
  • Allow reordering of your bots in freqUI (only relevant if you have multiple bots).
  • FreqUI shows the backtesting breakdown tables.
  • FreqAI:
    • Pytorch model support.
    • Add progressbar to Reinforcement learning to show Progress per epoch.
Important reminder

Freqtrade/FreqAI is an open-source project without token offering.
freqtrade does not have a domain besides the freqtrade documentation https://www.freqtrade.io/.

Please be cautious of any projects (scams) using the name of freqtrade/freqAI with malicious goals (e.g. to sell you tokens).

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
d40a63156 Version bump 2023.4
829724c0e Fallback to "initialMargin" if collateral is not set
e99af87b6 store periodic breakdown in backtest results
3948890c3 Add --breakdown to backtest-show
d1e9e7039 Improve Resample-period test
f7c6828e6 Bump mkdocs-material from 9.1.6 to 9.1.7
0329c0c3f pre-commit - bump sqlalchemy
c513d1077 Bump sqlalchemy from 2.0.9 to 2.0.10
598478e48 Bump filelock from 3.11.0 to 3.12.0
15fdaecd7 Bump psutil from 5.9.4 to 5.9.5
43d0c7ff9 Bump numpy from 1.24.2 to 1.24.3
a64b641fd Bump ruff from 0.0.261 to 0.0.262
d320ea052 Bump ccxt from 3.0.69 to 3.0.75
185ea9c98 Bump websockets from 11.0.1 to 11.0.2
2dd3b3413 Fix malrendering in freqAI docs
ad4996259 Further increase typehints in freqAI interface
c5dc21e80 Update freqAI documentation with missing typehints
c20b07488 Add FAQ entry about permission error
cb09ef718 Extract converting wallet to est_stake
ce75a032d Balance ratio calculation should ignore non-relevant assets
5dccfab89 Add test for start_cap_ratio
9bc17a923 Downgrade wheel to isntall gym
4a4be27eb use orderid from order, the trade one has been reset
ca1a616b8 use Fstrings for log message
818da02f6 Edit `Advanced Strategies` intro for clarify and brevity
b545fc559 Correct user namespace from `cust_` to `custom_`
1056ff0d1 Update variable to better reflect it's content
670a584d7 Fix markdown inconsistencies
2f9e6c990 Update docs/strategy-callbacks.md
66f5f76a6 Fix anchor for missing heading
46f4fd79a Fix anchor for missing heading
5ed072c48 Remove extraneous code block
94e190b95 docs: strategy-callbacks: revert `leverage=trade.leverage` removal
caf524c68 Don't fail on leverage tier loading error
f9124ef5b docs: strategy-callbacks: removes outdated `leverage` argument
c297d9997 Telegram. Fixed the blacklist removal message
6f401a9e1 docs: use helper function `stoploss_from_absolute` in strategy callbacks "absolute" example
dfe8b3e83 Improve ruff rule selection
7ff35fea3 Default weekly report to monday
f04926835 Bump ccxt from 3.0.59 to 3.0.69
362974b83 Update test to properly capture errors from leverage initialization
14bca509d Cleanup some code
b2ea46425 Handle individual exceptions when initializing leverage tiers
d73e7f292 simplify Leverage tier code
d34b15d6a Telegram. Fixed the blacklist removal message
8aec71e27 Add bitvavo sublass to properly set ohlcv limit
6c6d2a0f4 Improve live test resiliance
8a8cd6798 Improve ccxt_ohlcv test debuggability
d1b600e7b Bump fastapi from 0.95.0 to 0.95.1
7c9584827 Bump rich from 13.3.3 to 13.3.4
864f53bc4 Bump cryptography from 40.0.1 to 40.0.2
f1fcd0760 Bump pytest from 7.3.0 to 7.3.1
f1730ab51 Bump httpx from 0.23.3 to 0.24.0
dba21c815 Bump tensorboard from 2.12.1 to 2.12.2
501a290f8 Pin pip also for windows installs
4ed670f82 pin pip installation to <23.1 - which breaks gym installation
f6e93114e Update binance leverage tiers file
6bc875932 Update constants.py
1d40162e9 Telegram. Fixed the blacklist removal message.
20d17cbc5 Disable telegram from default_conf
a78672c10 Improve log message formatting
6a0a33739 order cost should be with leverage, not leverage-cleared
b9f142c31 Add failing tests with leverage
6e814af36 Add test asserting cost
f81414609 Update ta-lib link
e25f6986d Improve windows doc wordings, remove reference to outdated binary provider.
95cdb8aa0 Update ta-lib windows wheels
3b377149e Add clarifying comment, simplify code
dcf9bbdae ensure data is on same device as the model
84d2d5e2a Change ["Dummy"] to [None].
0afd5a738 Improve stoploss documentation
44bf59668 prevents continous fetching every x bot_loop seconds , adheres to refresh_period, in case the pairlist returned from the remote end is empty.
2131205db Bump tag length to 255
b2b19915e Limit enter_tag and exit_reason to their actual field lenght
bba6f8e13 Use length constant for tests
a6d2233b9 Use constant for custom field lengths
9857675a5 Update torch import
476ed938f Extract custom_tag limit from interface file
40ffac9de Prevent random test failures by freezing time for certain tests
b892d373c Improve timerange parsing when accepting values from API
c4c229868 Bump mkdocs-material from 9.1.5 to 9.1.6
8564dc10b Bump nbconvert from 7.2.10 to 7.3.1
fa293c54f Bump websockets from 11.0 to 11.0.1
70fa4a53c pre-commit - bump sqlalchemy
467c63ff0 Bump ruff from 0.0.260 to 0.0.261
e2cd23b1d Remove deprecated pandas option
0d408d3d4 Bump ccxt from 3.0.58 to 3.0.59
230919777 Bump sqlalchemy from 2.0.8 to 2.0.9
66fe9abce Bump pre-commit from 3.2.1 to 3.2.2
200c18f3e Bump schedule from 1.1.0 to 1.2.0
351b5f6e6 Bump plotly from 5.14.0 to 5.14.1
f73d2a537 Ensure bot_start is called when visualizing results
3833dc0b7 pre-commit - bump dateutil
5a18ab078 Bump mypy from 1.1.1 to 1.2.0
2ea015719 Bump pypa/gh-action-pypi-publish from 1.8.4 to 1.8.5
03352f3b6 Bump types-python-dateutil from 2.8.19.11 to 2.8.19.12
26eb4f7fe Bump pymdown-extensions from 9.10 to 9.11
7e1f3aa54 Bump filelock from 3.10.6 to 3.11.0
3505fbe78 Bump ta-lib from 0.4.25 to 0.4.26
14532e3a5 Bump orjson from 3.8.9 to 3.8.10
a449f7c78 Bump pytest from 7.2.2 to 7.3.0
8854ef8cb Bump ccxt from 3.0.50 to 3.0.58
526943f29 Remove freqUI alpha warning
cf770d496 Improve visual display of progressbar
bfd9e35e3 Replace hyperopt progressbar with rich progressbar
299e78889 Dump progressbar2 dependency
4c1de4ad5 Update tests
ed57e7d43 Refactor logging to be a package, instead of a module
818d18d4e Add StdErrStreamHandler to logging
b6aac5079 REmove Rich-progress wrapper again
40450ebec Add dependency on Rich
d532da907 Add Rich Progressbar Wrapper
df51111c3 Always show strategy summary
dd8900a1c Improve ordering of backtest output
5404905d2 Fix typos in docs
bed51fa79 Properly build specific Torch image
f5a5c2d6b Improve imports
a102cfdfc Add new /profit fields to API
be72670ca Add documentation about /profit change
cf2cb94f8 Add bot start date to `/profit` output
fa3a81b02 convert Keys to enum
7ff30c6df Add additional, typesafe getters
7751768b2 Store initial_time value
c2c97d9f7 make a fake pair_dict instead of MagicMocking it
48d3c8e62 fix model loading from disk bug, improve doc, clarify installation/docker instructions, add a torch tag to the freqairl docker image. Fix seriously outdated prediction_model docstrings
ac817b780 Improve docstrings for key-value store
4d4f4bf23 Add test for key_value_store
c08372369 Add initial version of key value store
f8d89c46e Don't reset open_order_id if the order didn't cancel
1952e453b Improved formatting for fetch order_or_stop calls
77985fa59 Update thread name for uvicorn worker
a75d89100 Ensure minimum sqlalchemy version is respected
dae3f72be Bump Dockerfile to latest 3.10
f03a99918 Ensure hyper param file can be loaded
a65552422 pytorch mlp rename input to fix mypy error
26738370c pytorch mlp add explicit annotation to fix mypy error
fe02f611f Fix typo in reinforcement learning
92a060c5b Make stop_price_parameter configurable by exchange
6b204c97e fix pytorch data convertor type hints
0c4574b3b prevent mypy error, explicitly unpack input list of pytorch mlp model,
d9d999317 add documentation
7b494c833 add documentation to pytorch data convertor
bc9454e0f add device to data convertor class doc
36a0a14a2 clean code
c13766623 fix imports
7fed0782d pre-commit types-tabulate
bd3b70293 add pytorch data convertor
30fc24bd8 Bump types-tabulate from 0.9.0.1 to 0.9.0.2
b96f6670e pre-commit dateutil
b48498f27 Types pre-commit
ff40ee655 Bump types-python-dateutil from 2.8.19.10 to 2.8.19.11
57deaad80 Bump types-requests from 2.28.11.16 to 2.28.11.17
7779b8227 Bump tensorboard from 2.12.0 to 2.12.1
2bd2058af Bump ruff from 0.0.259 to 0.0.260
bf7936b0a Bump plotly from 5.13.1 to 5.14.0
8236bbfd4 Bump orjson from 3.8.8 to 3.8.9
43496d792 bump sqlalchemy pre-commit
c9b904eb0 Fix typos in documentation
372f1cb37 Reduce verbosity for stop orders
a3acdd524 apply stop-reserve to minimum limits only when necessary
e6a125719 Slightly refactor _get_stake_amount_limit
78a155179 Reorder get_stake_limit
6f79d14c9 pre-commit - bump cachetools
2715b2ccf Bump pypa/gh-action-pypi-publish from 1.8.3 to 1.8.4
2ea575cb3 Bump mkdocs-material from 9.1.4 to 9.1.5
1b31c5416 Bump ccxt from 3.0.37 to 3.0.50
e289c10b6 Bump types-cachetools from 5.3.0.4 to 5.3.0.5
26ed1ca07 Bump xgboost from 1.7.4 to 1.7.5
b1e20bcd1 Bump sqlalchemy from 2.0.7 to 2.0.8
12a73bc15 Bump websockets from 10.4 to 11.0
cfc041038 use rl_config get instead of freqai_info
cccf4f305 fix randomize_starting_position typo
4c608e716 remove misplaced param
cab82e8e6 Add sb3 learn progress bar
dc7e83491 Fix some type issues
631cb44f5 ensure python code block renders
367186cc3 Update freqai-feature-engineering.md
92f34f262 make trade_type value more explicit, add profit to trade_history dict
6dfb1a1d1 Improve docker regular build caching
f8330800d Improve docker arm builds
3ec7c72da Bump develop version to 2023.4.dev
355fde3bc revert setting dk to live in test_plot_feature_importances
861c57713 Support partially filled stop orders
e062a74e7 Add test for partial stop order canceling
c330c493d test for Handle stop on exchange partial filled
5a7ca35c6 declare class names in FreqaiExampleHybridStrategy
077a94797 clean code
8ac3a9435 add note to pytorch docs - setting class names for classifiers
dfbebdea9 improve comment on class_names in freqai interface
b795a7010 fix config example in pytorch mlp documentation
026b6a39a bugfix skip test split when empty
3cabcabcb ensure labels are properly defined in backtesting
55781e7f1 fix tests
f1e831a7b fix bug in backtest target setting
159090c0e Add explicit tests for TRUNCATE mode
0cb28f3d8 Use kwarg for rounding_mode, update tests with additional parameter
d0d0cbe1d Implement price_to_precision logic for stoploss
01dfb1cba Revert having price_rounding_mode as configuration
8903ba5d8 fix enf of file
eabd32128 small docs change
45c6ae446 small docs change
952e64121 small docs change
c44b5b1b3 add pytorch parameters to parameter table docs
fc8625c5c add pytorch classes uml diagram
36a005754 add pytorch documentation
479aafc33 rename Torch to PyTorch
f81e3d866 sort imports
b9c7d338b fix test_start_backtesting
02bccd009 add pytorch mlp models to test_start_backtesting
1ba01746a organize pytorch files
83a7d888b type hint init in pytorch mlp classes
eba82360f skip pytorch tests on python 3.11 and intel based mac os
3fa23860c skip pytorch tests on python 3.11 and intel based mac os
a80afc8f1 add optional target tensor squeezing to pytorch trainer
97339e14c round up divisions in calc_n_epochs
443263803 unsqueeze target tensor when 1 dimensional
9906e7d64 clean code
e8f040bfb add class_name attribute to freqai interface
a4b617e48 type hints fixes
c06cd3895 clean code
0a55753fa move default attributes of pytorch classifier to initializer, to prevent mypy from complaining
6b4d9f97c clean code
500c401b7 improve pytorch classifier documentation
81a2cbb4e fix tests
0510cf449 add config params to tests
68728409a add pytorch regressor test
c00ffcee5 fix pytorch classifier test
9aec1ddb1 sort imports
d98890f32 sort imports
f659f8e30 remove unused imports
54db23917 add pytorch regressor example
601c37f86 refactor classifiers class names
501e746c5 improve mlp documentation
d04146d1b improve mlp documentation
ea08931ab add mlp documentation
ddd1b5c0f modify feedforward net, move layer norm to start of thr block
e08d8190a fix test
fbf7049ac sort imports
2a1a8c0e6 fix test
833aaf8e1 create children class to PyTorchClassifier to implement the fit method where we initialize the trainer and model objects
566346dd8 classifier test - set model file extension
d0a33d2ee fix tests
fab505be1 cheat flake8 for now until we can refactor save into the model class
2f386913a refactor classifiers class names
1c11a5f04 improve mlp documentation
903a1dc3e improve mlp documentation
6f9a8a089 add mlp documentation
8bee49932 modify feedforward net, move layer norm to start of thr block
719faab4b fix test
9f477aa3c sort imports
61ac36c57 fix test
366c148c1 create children class to PyTorchClassifier to implement the fit method where we initialize the trainer and model objects
a49f62eec classifier test - set model file extension
fab9ff129 fix tests
244662b1a set class names attribute in the general classifier testing strategy
455044740 cheat flake8 for now until we can refactor save into the model class
366740885 reduce mlp number of parameters for testing
918889a2b reduce mlp number of parameters for testing
9c8c30b0e add test
d7ea75082 revert to using model_training_parameters
b6096efad logging change
b927c9dc0 remove train loss calculation from estimate_loss
523a58d3d simplify statement for pytorch file_type extension
0012fe36c sort imports
cb17b3698 simplify file_type check comparisons
f9fdf1c31 generalize mlp model
1cf0e7be2 use one iteration on all test and train data for evaluation
8a9f2aedb improve documentation
e88a0d524 convert single quotes to double quotes
2ef11faba reformat documentation
c9eee2944 reformat documentation
6f962362f expand pytorch trainer documentation
ba5de0cd0 add documentation
3081b9402 add documentation
1132fa609 feat: Added price_rounding modes in config
1597c3aa8 set class names in IStrategy.set_freqai_targets method, also save class name with model meta data
7d26df01b fix tensor type hint
c8296ccb2 sort imports
8d60327d6 add missing import
04564dc13 add missing import
6161b858c sort imports
1921a07b8 sort imports
b65ade51b revert config_freqai_example changes
dfbb2e2b3 sort imports
1805db2b0 change documentation and small bugfix
76fbec0c1 ad multiclass target names encoder to ints
4241bff32 type hints fixes
5dd60eda3 type hints fixes
8acdd0b47 type hints fixes
125085fba add freqai.model_exists pytorch file type support
7eedcb9c1 reformat code
e6e747bcd reformat code
348a08f1c add todo - currently assuming class labels are strings ['0.0', '1.0' .. n_classes]. need to resolve it per ClassifierModel
b1ac2bf51 use data loader, add evaluation on epoch
751b20561 initial commit

Don't miss a new freqtrade release

NewReleases is sending notifications on new releases.