Skip to content

Releases: freqtrade/freqtrade

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

2023.6

07 Jul 18:09
eea95f7
Compare
Choose a tag to compare

Highlighted changes

  • New command freqtrade lookahead-analysis - Detect if your strategy has a lookahead bias, tainting backtesting results!
  • minimal_roi can now be empty, allowing to fully disable ROI functionality.
  • Fixed some odd behavior with OKX stoploss on exchange orders.
  • Add Pairlist generator (including live evaluation) in webserver mode.
  • Update docker images to Python 3.11.
  • FreqAI
    • Convert data preparation into a pipeline, allowing for easy customizations.

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
7ba459db8 Version bump to 2023.6
092e30a15 Attempt CI without brew update
977bfa08b Bump pypa/gh-action-pypi-publish from 1.8.6 to 1.8.7
ba6cba31b Bump fastapi from 0.98.0 to 0.99.1
1880f9ffa Bump ast-comments from 1.0.1 to 1.1.0
0310a26b8 Fix documentation typo
29725440c Simplify RPCMessageType schema definition
accc1b509 Simplify class setups without inheritance
4b06b4772 sqlalchemy - pre-commit
b12dbd2be Bump ruff from 0.0.272 to 0.0.275
be07ea5d4 Bump mypy from 1.3.0 to 1.4.1
6b201d525 make sure default PCA behavior reduces parameter space size
8c2098c26 Bump fastapi from 0.97.0 to 0.98.0
6274197f8 Bump sqlalchemy from 2.0.16 to 2.0.17
ae42d57a2 Bump pytest from 7.3.2 to 7.4.0
2d2699b0a Bump mkdocs-material from 9.1.16 to 9.1.17
fec4cb3cf Bump nbconvert from 7.5.0 to 7.6.0
1717f8670 Extract edge output to proper module
72504e62a Extract btstorage methods
65e835990 Improve naming of new file
794bca137 Split optimize report generation from visualization
5e084ad2e convert optimize_reports to a package
fca73531c fix: use .shape instead of index for outliers
9da28e532 bump datasieve
fd420738c ensure outlier-check is returning as a numpy array from datasieve
48e896532 Don't add header if it's not needed
5f98530ef Catch and send exceptions from websockets
69087c30e Don't overwrite "type" with a variable
757c6dc5c Use Self typing
01dfca80a Improve stop test behavior
2f7b29ed3 Fix test_tsl_on_exchange_compatible_with_edge
b49a11876 Fix exit_timeout test
c7683a7b6 Improve docs wording
5d60c6264 align list blocks
96c2ca67e Add usage note for pairs.json file
b0e5fb394 Improve structure of download-data documentation
8c54036fa Move Downloading tip from pairs file section
859f7ff3d be explicit when loading pairs file.
6bc3439cb Bump pytest-mock from 3.10.0 to 3.11.1
e965b2e45 Bump rich from 13.4.1 to 13.4.2
d82a0ad7b Bump ccxt from 3.1.34 to 3.1.44
f04598c5e Bump pre-commit from 3.3.2 to 3.3.3
f82d52c6d Bump xgboost from 1.7.5 to 1.7.6
fc0548ce0 Bump filelock from 3.12.1 to 3.12.2
8cc763b66 Bump time-machine from 2.9.0 to 2.10.0
ed90e77ea Bump nbconvert from 7.4.0 to 7.5.0
1eb691d46 Bump mkdocs-material from 9.1.15 to 9.1.16
571dea6e9 Fix wrong final status on bg-tasks
cca4fa117 Update BaseClassifierModel.py
7e2f857aa Update BasePyTorchClassifier.py
52db6ac7d Use proper log level
d94f3e767 Add explicit tests for download-data
7af14d198 Fix random test failure
44a38e836 Update download data tests
0be4084ea Don't allow downloading wrong pairs
937734365 Improve typehint for markets
66b34edc0 Clarify variable name
6f0f95468 Adjust mocks for new import location
7453ff2fb Migrate download-data out of commands section
b8ab6fe42 Improve wording of check command
e0d5242a4 Reduce download-data verbosity
886b86f7c chore: bump datasieve
b0ab400ff fix: ensure test_size=0 is still accommodated
bf872e8ed Simplify comparison depth
11ff454b3 fix: ensure that a user setting up their own pipeline wont have conflicts with DI_values
6bb75f0dd Simplify import if only one element is used
1567cd284 Use DOCS_LINK throughout
34e7e3efe Simplify imports
2c7aa9f72 Update doc wording
24e806f08 Improve resiliance by using non-exchange controlled order attributes.
7939716a5 Improve formatting of telegram /status messages
4f834c896 Remove old version pin for catboost
ffd7394ad Update freqai.md
2107dce2c Update freqai-feature-engineering.md
72101f059 feat: ensure full backwards compatibility
75ec19062 chore: make DOCS_LINK in constants.py, ensure datasieve is added to setup.py
64fcb1ed1 Better pin scikit-learn
dec3c0f37 Remove environment.yml completely
1b86bf8a1 Don't include non-used parameters in command structure
2cd9043c5 Make documentation discoverable / linked
b3ef024e9 Don't use PurePosixPath
964bf7646 Invert parameters for initialize_single_lookahead_analysis
ad74e6567 Simplify configuration setup
ac36ba659 Improve arguments file formatting
ca88cac08 Remove unused code file
11d7e7925 Fix random test failures
9a7794c52 Improve behavior for when stoploss cancels without content
1a4d94a6f OKX stop should convert contracts to amount
1e44cfe2f Improve stoploss test
e763e2ad3 Bump ccxt from 3.1.23 to 3.1.34
1beaf6f05 Bump plotly from 5.14.1 to 5.15.0
21949c044 bump sqlalchemy pre-commit
2e087750e Bump fastapi from 0.96.0 to 0.97.0
7172bc0af Bump orjson from 3.9.0 to 3.9.1
feb6e5c46 Bump urllib3 from 2.0.2 to 2.0.3
8b27b408c Bump ruff from 0.0.270 to 0.0.272
a9515dee8 Bump pytest from 7.3.1 to 7.3.2
71064c02e Bump sqlalchemy from 2.0.15 to 2.0.16
66dc1fd33 Bump filelock from 3.12.0 to 3.12.1
7542909e1 Bump stable-baselines3 from 2.0.0a10 to 2.0.0a13
a39f23a5c Bump pydantic from 1.10.8 to 1.10.9
663cfc621 fixing tests
bdb535d0e add maskable eval callback multiproc
5dee86eda fix action_masks typing list
c36547a56 add maskable eval callback
afd54d39a add action_masks
5844756ba Add test and fix for stop-price == limit price
4a800fe46 Add explicit test for get_stop_limit_rate
320b3e20a Use correct variable for candle-type when loading data
fc11c79b7 Fix not working date format output
87e144a95 Update webserver tags
9ef814689 Update endpoint in rest-client
1da1972c1 added test for config overrides
e332fbfb4 Add explicit test for okx get_stop_params
280611086 Add explicit test for okx cancel_stop
cfe88f06d Improve behavior of okx rebuys when using stop on exchange
ad8a4897c remove unnecessary example in feature_engineering.md
229ee643c revert change to deal with FT pinning old scikit-learn version
41e37f9d3 improve docs, update doc strings
d9bdd879a improve migration doc
f8d7c2e21 add migration guide, add protections and migration assistance
4cdd6bc6c avoid using ram for unnecessary train_df, fix some deprecation warnings
e24625979 avoid manual pipeline validation
3523f564b Improve Log reduction and corresponding test
265d782af Implement the requested changes.
94ca2988a updated docs
6656740f2 Moved config overrides to its' own function Added config overrides to dry_run_wallet and max_open_trades to avoid false positives.
99842402f Further reduce unnecessary output
16b336397 Fix type problem
b89390c06 Reduce log verbosity during bias tester runs
fc8c6b06a Extract set-log-levels from main logging module
e3056b141 Move logging tests to dedicated test file
05ea36f03 Fix performance when running tons of backtests
6b736c49d Dont persist Backtesting to avoid memory leak
33b028b10 ensure data kitchen thread count is propagated to pipeline
88337b6c5 convert to using constants in data_drawer. Remove unneeded check_if_pred_in_spaces function
e39e40dc6 improve documentation of pipeline building/customization
317e0b5f2 Avoid nested loops in telegram for force* scenarios
f81139b97 Bump python from 3.10.11-slim-bullseye to 3.11.4-slim-bullseye
14557f2d3 merge develop into outsource-data-pipeline
c066f014e fix docs
6d39adc73 bump datasieve version
135aaa2be update docs, improve the interaction with `define_data_pipeline`
dc577d2a1 update to new datasieve interface, add noise to pipeline
4d4589bec fix isort in tests
f7f88aa14 fix pickle file name
5ac141f72 convert to new datasieve api
0b8ef1b88 Fix devcontainer invalid key
c269eef77 Remove unnecessary calc_profit_ratio call
21172802d Devcontainer image should contain as many dependencies as possible
6ec91d11a Bump ccxt from 3.1.13 to 3.1.23
4dcb6395e Bump pre-commit requests types
e61659a2b Bump mkdocs-material from 9.1.14 to 9.1.15
c2125698a Bump types-requests from 2.31.0.0 to 2.31.0.1
093181e8f Bump pandas from 2.0.1 to 2.0.2
bdaf230bd Bump orjson from 3.8.14 to 3.9.0
9dcab313b Bump rich from 13.3.5 to 13.4.1
c9bbeedd8 Bump fastapi from 0.95.2 to 0.96.0
94bc91ef5 Update tests/freqai/test_freqai_datakitchen.py
7a726da69 Update cached binance leverage tiers
71b81ee7c Add margin_mode to pairlists callback
12e31208e Update typedDict type used with pydantic
ac7419e97 Split trademode response value into trade_mode and margin-mode
72f4e1475 Bump api version
74254bb89 Add /exchanges endpoint to list available exchanges
54bf1634c Refactor validExchangesType to separate types package
6f928b826 Update types for build_exchange_list_entry
cc04f3279 bump pre-commit mypy version
fcb960185 Clarify function naming
250ae2d00 Enhance list-exchanges with more information
b5d101777 Update list_exchanges to use a dict internally
e890bc071 Don't bump pi version, but bump regular version
10ea2b44c Update test line length
d9d173533 Extract ExchangePayload updating
48328fb29 reset candle_type_def
49c0fdf36 Bump cryptography from 40.0.1 to 41.0.0
ac046d6a2 Allow setting the exchange explicitly
af16ce874 Allow webserver mode to cache multiple exchanges
e2594e749 Align tests to use webserver mode
77e3e9e89 Move pairlists and background tasks API's to separate file
565c0496d Bump httpx min requirement
d0f900f56 set HTTPX level to warning
30dd63fcb Update freqai.md
8aee368f6 auto-inject webserver mode dependency
e0d9603e9 Raise correct httperrorcode ...
Read more

2023.5.1

08 Jun 20:03
Compare
Choose a tag to compare

Bugfix release, fixing a bug causing increased CPU load and unnecessary calls to the API, potentially exhausting ratelimits.

Highlighted changes (2023.5)

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

How to update

As always, you can update your bot using one of the following commands:

docker-compose

docker-compose pull
docker-compose up -d

Installation via setup script

# Deactivate venv and run 
./setup.sh --update

Plain native installation

git pull
pip install -U -r requirements.txt
Expand full changelog
2ea287958 Bump version to 2023.5
bd266f654 Properly handle invalid pairlists type before config validation
f647fb342 Update base_tensorboard.py
9e9f9b21e Bump stable-baselines3 from 2.0.0a9 to 2.0.0a10
b5ed693be Extrac OKX convert stop order, call for regular orders, too
b8220ee0f Improve recovery detection by skipping open orders
a0336c83c Update method casing in tests
6efc62e4c Add test which verifies #8680 won't happen again
6292d1af6 Use camelcase version of private fapi method
9ffdaceef Bybit - use Proxy
1e10b25e3 Bump requests from 2.30.0 to 2.31.0
44bdac5e8 Improve developer docs with some minor improvements
d26aa231f Stable baselines updates, and fix
2242d544f Bump ruff from 0.0.267 to 0.0.269
ad5f0307b bump sqlalchemy precommit
96eb109b4 Bump mkdocs-material from 9.1.12 to 9.1.14
ae52ce8cd Bump sqlalchemy from 2.0.13 to 2.0.15
811198cc3 Bump pre-commit from 3.3.1 to 3.3.2
4e3de64c5 Bump fastapi from 0.95.1 to 0.95.2
8c866abad Bump ccxt from 3.0.103 to 3.1.5
68ab147f5 Bump cachetools from 4.2.2 to 5.3.0
abc82a3fd Simplify api backtesting by extracting the background_method
a87b215d6 Fix odd import
914195acf Ensure one test can't fail 20 others
96d74063f Don't have public attributes marked as private
531622721 Extract api backtest logic from ApiServer class
c4c0371ed add docker comment to docker usage freqai doc section
a2cbe5df0 Remove trailing spaces
0d4010a0b Add sample docker-compose file for freqAI, comment about that
9d0f488de Some more edits due to arrow
707c6744b Fix doc and example indentation
ebfc9a603 Remove some humanize occurances
5d0cff2f7 Add dt_humanize helper
f657d06e9 Move shorten_date to datetime helpers
b40c45ee4 Timerange -> datetime
adcf75134 Bump min-requirement of arrow
261822147 Fix remaining arrow testcases
3ec55885b Remove arrow from more tests
9421ca262 Remove arrow from test_persistence
3a4d103bc Properly check wallets with new type
7a2ff6025 Fix more tests
915cb5ffb add dt_utc helper
c0713eb77 More tests to dt_helpers
29fdcdbf5 reduce arrow in tests
d131dd405 Fix wrong transition
cfae98ae0 dt_now for tests
e4f701fd0 Don't use arrow for everything
5b66ef4be Implement datetime.floor
7f73e9943 Simplify exchange_utils
55ce58d79 Reduce some arrow usages in favor of dt helpers
000f72942 Improve dt_now_ts helper
aa949153e Add now ts helper
5c6f3ea43 Improve wallets time handling
261df527d dt_now
6b735bc68 Implement dt_now
6044bbb6b Add datetime helpers to unify code
2477ef57f Reduce arrow usage throughout code
1d03e8bc5 Reduce arrow usage further
d3382fbe0 Reduce usage of arrow
292bd6297 Reduce verbosity of httpx (we don't need to see telegram calls)
adeab13bd cleanup tests, cross fingers that mac will pass
2ab732480 Ensure pi image can be built
45ee12e25 reload_trade should be a post endpoint
bb760a47d Bump pymdown-extensions to 10.0.1
61ea3d817 Bump pymdown-extensions from 9.11 to 10.0 in /docs
7d15c379c Fix faulty removed import
c7f7dd1d4 Avoid unnecessary type ignore
1b714fdb0 Fix wrong "first trade" date in UI, improve interface
9b1028789 Improve typing
3a0e123c6 Bump pre-commit sqlalchemy
ef15b7b3d pre-commit dateutil types
28905885e Bump sqlalchemy from 2.0.12 to 2.0.13
68f67c5ae Test proper removal of exchange keys
c242d89cd Improve test format
66c3eb282 Remove keys from config before loading strategy
b2a631e93 refactor remove_exchange_credentials
fe36e7741 Split exchange_config before passing through the strategy
fffb056ad load_exchange - force kwargs for non-required arguments
0ea47118e Create test Utils package
dd7624539 Bump ruff from 0.0.265 to 0.0.267
acdd50aad Bump torch from 2.0.0 to 2.0.1
33a0ed67d Bump pyjwt from 2.6.0 to 2.7.0
f21a7a25d Bump types-python-dateutil from 2.8.19.12 to 2.8.19.13
5f01b823d Bump mkdocs-material from 9.1.10 to 9.1.12
b0e7b4395 Bump ccxt from 3.0.97 to 3.0.103
675ab840f Bump mypy from 1.2.0 to 1.3.0
a225ab71e revert file count
9242dfa35 try reactivating tb for some tests
505f36a95 try even more deactivation
1ed084557 try even more deactivation
73e9047cd try to deactivate any test that has a callback
340d2191f deactivate tensorboard by default
55a1a3afd add config option for activating and deactivating tensorboard logger, ensure the various flavors are never activated simultaneously
ab7a474ab try limiting tb_logger to pytorch only (XGBoost still gets its callback)
af8fbad28 Improve Date timezone useage
bbce73852 Improve tests around timezone
66a97ff45 Remove some utcnow usages
726627976 Improve docs around pytho 3.11
784087384 darwin excludes must use "sys_platform"
838fbb76a Improve version constraints
106db716f Force smaller catboost version on 3.8 macos
e76356aff Bump catboost to 1.2, disable some constraints
0db186935 Update cached binance leverage tiers
dc4268b6e Convert Exchange arguments to be kw only
af95d56ce Import deepcopy specifically
0d4010c38 maint: Remove faulty config setting from default_conf
18c1eda09 remove commented lines
2ec1302c1 add warnings in the doc for users to better understand the limitations of continual_learning
fad1c1985 add warnings in the doc for users to better understand the limitations of continual_learning
3ae3cc63d fix bug in continual_learning for PyTorch* models
d50e221e6 Update active ccxt.futures test init
1552d81f4 Simplify load_exchange interface
b2a3fe687 Improve remove credentials
ab0f9d78e Mock tensorboard callbacks for all freqAI tests
23e8932a4 Mock tensorboard callbacks
400cbd183 Fix types
871f1aabb Use tensorboard fallback for mac tests
6d7172ac4 Re-add init file
49b9b463b Move tensorboard callback exports to freqai.tensorboard.
43213cc6f Revert testing Reinforcement lerning on Mac
6e5a9fe4c mac strikes again
ca7ad8a49 good old macos
8261c988b try to fix mac CI
db0645ed1 add helpful hints for reward creation
31d15da49 add disclaimers everywhere about how example strategies are meant as examples
692fa390c fix the import logic, fix tests, put all tensorboard in a single folder
6000e6842 bump ccxt min dependency
1d3687893 Bump min-requirements for python-telegram bot
b970ddeb6 Fix unused import
f7179f7c9 Fix last test with dependency on local user_data dir
1c1005247 Don't hardcode user_data in tests
963ff8c62 Run Repo check on windows, too.
395bf4919 Run Repo-check for macOS, too
2ecd63234 Remove git status again
bd6d4d5d2 Event-name for concurrency group?
1ec1abdc3 Fix syntax
800c6223e Quote concurrency group
3ba1eb6ba Improve concurrency group
c60c4b9ab Update user_dir fixture to return user_data path
7e023419d Auto-mock user_dir to tmpdir
a74a081e6 Check for repository changes
6df5cb887 add install requirement to tensorboard doc
b01aaa4d0 ensure backtesting also produces tb_logs, make sure tests are working
242247be4 Fix var name
ffc4d8726 add tensorboard integration to XGBoost and PyTorch et al
3a7e41e17 Update rest_client.py
d9cc45851 Properly enable pytorch tests
2c0230ba9 avoid mutating new_trained_timerange
35ce88f1e ensure that the buffered timerange is not the trained timestamp so that live_retrain_hours functions properly
55777eba7 Add pre-build arm wheel for pyarrow
f2a65437a Bump ccxt from 3.0.85 to 3.0.97
5a27245fc Bump pyarrow from 11.0.0 to 12.0.0
3e3945390 Bump urllib3 from 1.26.15 to 2.0.2
7e31cc410 Bump mkdocs-material from 9.1.9 to 9.1.10
591a51e4b Bump nbconvert from 7.3.1 to 7.4.0
9d7c90e9d Bump pre-commit from 3.2.2 to 3.3.1
395223221 Bump pre-commit requests types
e0c63e12e Bump mkdocs-material from 9.1.8 to 9.1.9
10604bf49 Run Torch tests on 3.11
75e5f325a Bump ruff from 0.0.263 to 0.0.265
bf7c52a9e Bump types-requests from 2.29.0.0 to 2.30.0.0
7bd33be8f Bump python-telegram-bot from 20.2 to 20.3
68a37cb71 Bump tensorboard from 2.12.2 to 2.13.0
ecd34ce47 Bump requests from 2.29.0 to 2.30.0
4a911bbe9 Bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6
3bb872a5e Bump mkdocs from 1.4.2 to 1.4.3
fa40e4e88 Bump websockets from 11.0.2 to 11.0.3
4b1cb9644 Bump orjson from 3.8.11 to 3.8.12
36e1e58da fix arch
3bbb7e38e improve transformer architecture, remove 3.10 install constraint, add documentation for torch.compile()
c2beeb4c7 bug fix backtest feature validation
908a2e817 Align BasePyTorchRegressor tensors to cpu as in BasePyTorchClassifier
306dfc4ae refactor(BasePyTorchClassifier.py): convert tensor to list before creating DataFrame to avoid TypeError. docs(BasePyTorchClassifier.py): add missing parameter description in predict method
e3ff2ccc9 Slightly reword documentation to be more clear
24804f066 Update test comment, uncomment last test section
775ea1c8c Improve ty...
Read more

2023.5

28 May 17:59
43f1537
Compare
Choose a tag to compare

Highlighted changes

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

How to update

As always, you can update your bot using one of the following commands:

docker-compose

docker-compose pull
docker-compose up -d

Installation via setup script

# Deactivate venv and run 
./setup.sh --update

Plain native installation

git pull
pip install -U -r requirements.txt
Expand full changelog
2ea287958 Bump version to 2023.5
bd266f654 Properly handle invalid pairlists type before config validation
f647fb342 Update base_tensorboard.py
9e9f9b21e Bump stable-baselines3 from 2.0.0a9 to 2.0.0a10
b5ed693be Extrac OKX convert stop order, call for regular orders, too
b8220ee0f Improve recovery detection by skipping open orders
a0336c83c Update method casing in tests
6efc62e4c Add test which verifies #8680 won't happen again
6292d1af6 Use camelcase version of private fapi method
9ffdaceef Bybit - use Proxy
1e10b25e3 Bump requests from 2.30.0 to 2.31.0
44bdac5e8 Improve developer docs with some minor improvements
d26aa231f Stable baselines updates, and fix
2242d544f Bump ruff from 0.0.267 to 0.0.269
ad5f0307b bump sqlalchemy precommit
96eb109b4 Bump mkdocs-material from 9.1.12 to 9.1.14
ae52ce8cd Bump sqlalchemy from 2.0.13 to 2.0.15
811198cc3 Bump pre-commit from 3.3.1 to 3.3.2
4e3de64c5 Bump fastapi from 0.95.1 to 0.95.2
8c866abad Bump ccxt from 3.0.103 to 3.1.5
68ab147f5 Bump cachetools from 4.2.2 to 5.3.0
abc82a3fd Simplify api backtesting by extracting the background_method
a87b215d6 Fix odd import
914195acf Ensure one test can't fail 20 others
96d74063f Don't have public attributes marked as private
531622721 Extract api backtest logic from ApiServer class
c4c0371ed add docker comment to docker usage freqai doc section
a2cbe5df0 Remove trailing spaces
0d4010a0b Add sample docker-compose file for freqAI, comment about that
9d0f488de Some more edits due to arrow
707c6744b Fix doc and example indentation
ebfc9a603 Remove some humanize occurances
5d0cff2f7 Add dt_humanize helper
f657d06e9 Move shorten_date to datetime helpers
b40c45ee4 Timerange -> datetime
adcf75134 Bump min-requirement of arrow
261822147 Fix remaining arrow testcases
3ec55885b Remove arrow from more tests
9421ca262 Remove arrow from test_persistence
3a4d103bc Properly check wallets with new type
7a2ff6025 Fix more tests
915cb5ffb add dt_utc helper
c0713eb77 More tests to dt_helpers
29fdcdbf5 reduce arrow in tests
d131dd405 Fix wrong transition
cfae98ae0 dt_now for tests
e4f701fd0 Don't use arrow for everything
5b66ef4be Implement datetime.floor
7f73e9943 Simplify exchange_utils
55ce58d79 Reduce some arrow usages in favor of dt helpers
000f72942 Improve dt_now_ts helper
aa949153e Add now ts helper
5c6f3ea43 Improve wallets time handling
261df527d dt_now
6b735bc68 Implement dt_now
6044bbb6b Add datetime helpers to unify code
2477ef57f Reduce arrow usage throughout code
1d03e8bc5 Reduce arrow usage further
d3382fbe0 Reduce usage of arrow
292bd6297 Reduce verbosity of httpx (we don't need to see telegram calls)
adeab13bd cleanup tests, cross fingers that mac will pass
2ab732480 Ensure pi image can be built
45ee12e25 reload_trade should be a post endpoint
bb760a47d Bump pymdown-extensions to 10.0.1
61ea3d817 Bump pymdown-extensions from 9.11 to 10.0 in /docs
7d15c379c Fix faulty removed import
c7f7dd1d4 Avoid unnecessary type ignore
1b714fdb0 Fix wrong "first trade" date in UI, improve interface
9b1028789 Improve typing
3a0e123c6 Bump pre-commit sqlalchemy
ef15b7b3d pre-commit dateutil types
28905885e Bump sqlalchemy from 2.0.12 to 2.0.13
68f67c5ae Test proper removal of exchange keys
c242d89cd Improve test format
66c3eb282 Remove keys from config before loading strategy
b2a631e93 refactor remove_exchange_credentials
fe36e7741 Split exchange_config before passing through the strategy
fffb056ad load_exchange - force kwargs for non-required arguments
0ea47118e Create test Utils package
dd7624539 Bump ruff from 0.0.265 to 0.0.267
acdd50aad Bump torch from 2.0.0 to 2.0.1
33a0ed67d Bump pyjwt from 2.6.0 to 2.7.0
f21a7a25d Bump types-python-dateutil from 2.8.19.12 to 2.8.19.13
5f01b823d Bump mkdocs-material from 9.1.10 to 9.1.12
b0e7b4395 Bump ccxt from 3.0.97 to 3.0.103
675ab840f Bump mypy from 1.2.0 to 1.3.0
a225ab71e revert file count
9242dfa35 try reactivating tb for some tests
505f36a95 try even more deactivation
1ed084557 try even more deactivation
73e9047cd try to deactivate any test that has a callback
340d2191f deactivate tensorboard by default
55a1a3afd add config option for activating and deactivating tensorboard logger, ensure the various flavors are never activated simultaneously
ab7a474ab try limiting tb_logger to pytorch only (XGBoost still gets its callback)
af8fbad28 Improve Date timezone useage
bbce73852 Improve tests around timezone
66a97ff45 Remove some utcnow usages
726627976 Improve docs around pytho 3.11
784087384 darwin excludes must use "sys_platform"
838fbb76a Improve version constraints
106db716f Force smaller catboost version on 3.8 macos
e76356aff Bump catboost to 1.2, disable some constraints
0db186935 Update cached binance leverage tiers
dc4268b6e Convert Exchange arguments to be kw only
af95d56ce Import deepcopy specifically
0d4010c38 maint: Remove faulty config setting from default_conf
18c1eda09 remove commented lines
2ec1302c1 add warnings in the doc for users to better understand the limitations of continual_learning
fad1c1985 add warnings in the doc for users to better understand the limitations of continual_learning
3ae3cc63d fix bug in continual_learning for PyTorch* models
d50e221e6 Update active ccxt.futures test init
1552d81f4 Simplify load_exchange interface
b2a3fe687 Improve remove credentials
ab0f9d78e Mock tensorboard callbacks for all freqAI tests
23e8932a4 Mock tensorboard callbacks
400cbd183 Fix types
871f1aabb Use tensorboard fallback for mac tests
6d7172ac4 Re-add init file
49b9b463b Move tensorboard callback exports to freqai.tensorboard.
43213cc6f Revert testing Reinforcement lerning on Mac
6e5a9fe4c mac strikes again
ca7ad8a49 good old macos
8261c988b try to fix mac CI
db0645ed1 add helpful hints for reward creation
31d15da49 add disclaimers everywhere about how example strategies are meant as examples
692fa390c fix the import logic, fix tests, put all tensorboard in a single folder
6000e6842 bump ccxt min dependency
1d3687893 Bump min-requirements for python-telegram bot
b970ddeb6 Fix unused import
f7179f7c9 Fix last test with dependency on local user_data dir
1c1005247 Don't hardcode user_data in tests
963ff8c62 Run Repo check on windows, too.
395bf4919 Run Repo-check for macOS, too
2ecd63234 Remove git status again
bd6d4d5d2 Event-name for concurrency group?
1ec1abdc3 Fix syntax
800c6223e Quote concurrency group
3ba1eb6ba Improve concurrency group
c60c4b9ab Update user_dir fixture to return user_data path
7e023419d Auto-mock user_dir to tmpdir
a74a081e6 Check for repository changes
6df5cb887 add install requirement to tensorboard doc
b01aaa4d0 ensure backtesting also produces tb_logs, make sure tests are working
242247be4 Fix var name
ffc4d8726 add tensorboard integration to XGBoost and PyTorch et al
3a7e41e17 Update rest_client.py
d9cc45851 Properly enable pytorch tests
2c0230ba9 avoid mutating new_trained_timerange
35ce88f1e ensure that the buffered timerange is not the trained timestamp so that live_retrain_hours functions properly
55777eba7 Add pre-build arm wheel for pyarrow
f2a65437a Bump ccxt from 3.0.85 to 3.0.97
5a27245fc Bump pyarrow from 11.0.0 to 12.0.0
3e3945390 Bump urllib3 from 1.26.15 to 2.0.2
7e31cc410 Bump mkdocs-material from 9.1.9 to 9.1.10
591a51e4b Bump nbconvert from 7.3.1 to 7.4.0
9d7c90e9d Bump pre-commit from 3.2.2 to 3.3.1
395223221 Bump pre-commit requests types
e0c63e12e Bump mkdocs-material from 9.1.8 to 9.1.9
10604bf49 Run Torch tests on 3.11
75e5f325a Bump ruff from 0.0.263 to 0.0.265
bf7c52a9e Bump types-requests from 2.29.0.0 to 2.30.0.0
7bd33be8f Bump python-telegram-bot from 20.2 to 20.3
68a37cb71 Bump tensorboard from 2.12.2 to 2.13.0
ecd34ce47 Bump requests from 2.29.0 to 2.30.0
4a911bbe9 Bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6
3bb872a5e Bump mkdocs from 1.4.2 to 1.4.3
fa40e4e88 Bump websockets from 11.0.2 to 11.0.3
4b1cb9644 Bump orjson from 3.8.11 to 3.8.12
36e1e58da fix arch
3bbb7e38e improve transformer architecture, remove 3.10 install constraint, add documentation for torch.compile()
c2beeb4c7 bug fix backtest feature validation
908a2e817 Align BasePyTorchRegressor tensors to cpu as in BasePyTorchClassifier
306dfc4ae refactor(BasePyTorchClassifier.py): convert tensor to list before creating DataFrame to avoid TypeError. docs(BasePyTorchClassifier.py): add missing parameter description in predict method
e3ff2ccc9 Slightly reword documentation to be more clear
24804f066 Update test comment, uncomment last test section
775ea1c8c Improve type safety
80930d72a Dont loop trades twice
0adac268e Add test for #8591
976cc1ab1 Extract order_obj existence check to separate functi...
Read more

2023.4

25 Apr 14:16
8364fc1
Compare
Choose a tag to compare

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

2023.3

31 Mar 05:09
038a111
Compare
Choose a tag to compare

Highlighted changes

  • /marketdir telegram command allowing a dedicated strategy variable to be set.
  • Improved /status message layout and information.
  • Improved Trade-detail information in freqUI.
  • Add leverage argument to stoploss_from_open. If you're using this function with leveraged trades, please make sure to add this argument.
  • Docker-files are now mirrored to the github registry (image ghcr.io/freqtrade/freqtrade:<tag>).
  • New subcommand in strategy-updater - attempting to automatically update from old strategy versions to new versions.
  • Post-only order support for Binance Spot.
  • Stoploss on exchange support for OKX added.
  • Market order support for Gate Spot markets.
  • bot_loop_start() callback now gets called once per iteration in backtesting. As a consequence, it also received a current_time parameter.
  • feather format is now available for trades data.
  • Partial support for 3.11 (no freqAI for now).
  • Mirror Docker images to github/ghcr.io, available as ghcr.io/freqtrade/freqtrade:develop image name.
  • Fix a SQLAlchemy session bug, causing Sessions in non-sqlite environments to continuously raise.
  • FreqAI:
    • Removal of the previously deprecated populate_any_indicators().
    • Don't force ohlcv data for RL (can be disabled via drop_ohlc_from_features).
    • Improved tensorboard_log() functionality for Reinforcement Learning.
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
2ea77b22e Bump version to 2023.3
fa7c29fe9 Update producer docs to reflect proper datatype
8a49d6206 Don't update liquidation price for closed trades
a64252492 Improve integration test correctness
eb96490c9 Improve some more stoploss tests
6282b4274 Remove further Magicmock trade
513df4515 Improve stoploss tests
411e21f43 Improve stop test
f0b5f95fd Remove missleading comment
736c396d9 Use correct amount for stoploss test
2860e817b Update cached binance leverage Tiers
19b78fbc2 Override ccxt's marketOrderRequiresPrice settings for gate
cde432fef Enable gate market orders
ed0e7ead3 Fix wrong import
3928051ba Revert unneeded formatting changes
e35c85000 Excude raspberry from catboost installs
4f4dfa2a5 Bump pydantic from 1.10.6 to 1.10.7
90669e0ba Bump ccxt from 3.0.36 to 3.0.37
bc0816aa6 Bump cryptography from 39.0.2 to 40.0.1
1743ad794 Bump pre-commit from 3.2.0 to 3.2.1
4891174a7 list-data should sort pairs also in timerange mode
8845f765d pre-commit - bump requests
7e11bce4f Bump pypa/gh-action-pypi-publish from 1.8.1 to 1.8.3
8955e0917 Bump filelock from 3.10.0 to 3.10.6
d13ea71a5 Bump mkdocs-material from 9.1.3 to 9.1.4
b72f61080 Bump orjson from 3.8.7 to 3.8.8
75c31cc8c Bump ruff from 0.0.257 to 0.0.259
1b3d9efed Bump types-requests from 2.28.11.15 to 2.28.11.16
2f8f60373 Bump ccxt from 3.0.23 to 3.0.36
72284317c Fix failing backtest test
80a27bc0d Fix random uvicorn error
1c9abd9e3 Properly respect can_short flag in backtesting
c14ac8a20 Properly handle non-replaced first entry orders
b09fb5826 don't use "can_short" in backtesting to determine application of leverage
fb1541bdf Explicitly close loop in async tests
444d18aa3 Revert binance PO fix, since ccxt has fixed this bug.
16057da6c typo:  above should be below
7cdcd97c2 Update tests for new logic.
86aef7cf9 Add current_time to bot_loop_start callbak
ee205ddc8 Improve trade.from_json when stops are used
298f5685e Reuse existing "cancel_stoploss" call
486d8a48a Fix docs (buffer_train_data_candles is an integer, not a boolean)
d9c8b322c Update freqai_interface.py
68154a1f5 document why users cant arbitrarily change parameter spaces...
f7c1ee6d3 add precision values to api schema
9c6a49436 Export amount/price precisions per trade
cdd44a400 docs(protections): fix typo
56170dba1 use github to download guess instead of gnu.org
79a2de7a6 Reduce impact of short outages
c0a57d352 send base_currency with messages that need it.
cbdd86d77 Fix test failures due to additional field
281dd7785 Fix some remaining type errors
ad58bac81 Type WS messagetypes
8928d3616 Improve msgtypes
e8cffeeff Update RPCStatusMessage type
76d289f0c Don't overwrite types
245ae9927 Further typing ...
70ad7b42b Improve msg typing
0ece73578 Add typedDict for RPC messages
b317524ed protect adjust_trade_position from crashing in case of unsafe code
469166636 Set initial stoploss when creating the order
150c5510c Don''t fully fail bot when invalid price value is reached
bdf19f1d6 Update freqai_interface.py
8cf3e9f91 Accept "insufficient funds" error on set_leverage from stop calls
ebebcb886 Move build-system to the top of pyproject.toml
36c45fd14 Remove unused argument from set_leverage
0128b63c1 add 'feather' to AVAILABLE_DATAHANDLERS_TRADES
e16db814f featherdatahandler: implement trades_store/_trades_load
97c420b2d Add explicit test for okx lev_prep
639987cba Prevent parameter reuse
4f4bfdac4 Adjustments to okx stoploss
a4e4310d4 Bump pytest-asyncio from 0.20.3 to 0.21.0
cb1f971d4 Bump ccxt from 2.9.12 to 3.0.23
317512103 Bump ast-comments from 1.0.0 to 1.0.1
8d649988c Bump fastapi from 0.94.0 to 0.95.0
54d8aa778 Test stoploss_adjust okx
469024467 Enable okx stop-price types
2de5a59d8 Add test for dry-run fetching
dcca51985 sqlalchemy - pre-commit
c78342b19 Bump pypa/gh-action-pypi-publish from 1.7.1 to 1.8.1
29b9be9bd Bump ruff from 0.0.255 to 0.0.257
4543a1fe0 Bump pre-commit from 3.1.1 to 3.2.0
fc7c8cce3 Bump uvicorn from 0.21.0 to 0.21.1
7d1559f31 Bump mkdocs-material from 9.1.2 to 9.1.3
a43502093 Bump sqlalchemy from 2.0.5.post1 to 2.0.7
47e84ad10 Bump python-rapidjson from 1.9 to 1.10
5ade5777e Bump filelock from 3.9.0 to 3.10.0
fb0e824a8 Bump nbconvert from 7.2.9 to 7.2.10
a7c7f720c Add test for okx fetch_stop
224f289ec OKX Stop: Add some more okx specific logic
d84ece725 Use conditional orders for stop orders
6c5dc7e0a OKX: improve stop order handling
df20757d2 OKX stop: implement proper stoploss fetching
a2ce28824 Add okx stoploss on exchange (non-working for futures).
ce3efa8f0 Remove pointless asserts
c92f28bf6 ruff: Activate UP ruleset
222ecdecd Improve code quality
236499a19 Reorder push logic for ghcr
3d91dd8a9 Support post-only orders for Binance spot
9ccc3e52e Simplify time in force code structure
f5f151fcc Fix typing error
bf3f2e4de Fix failing test
b1f88e886 fixed typo from trades to trade
62c8dd98d Use combination of thread-local and asyncio-aware session context
b0a7b64d4 Close sessions after telegram calls
d808dd49e Fix ruff violation
818d2bf92 Fix stoploss on exchange value in /show_config call
477dc5042 Add pair output to "tossed" messages
9044052b4 Fix exceptions when training fails
764d5507a Fix typo in docker param
628f6b8b7 Fix crane docker permissions
0d3de0701 use Crane to move images around
db0f449d9 Use docker manifest for GHCR builds
774eacc56 Attempt push to ghcr.io
e3e4fbd5b Minor test fix
b7709126f remove .query completely
4cfbc55d3 Update remaining tests to get rid of .query
9d6e973e5 remove .query from most tests
6ed337faa Update several tests to remove .query
e579ff953 Simplify pairlock querying
ae361e1d5 Update more .query usages
8865af910 Remove .query from pairlock
aa54b7770 Rename _session to sessoin
8073989c9 Remove more usages of .query
d45599ca3 Fix some type errors
b469addff remove usage of .query from regular models
47ab28525 Minor test fix
95ff59a21 Improve documentation for get_trades_proxy
7e08e3a59 Update example to use get_trades_proxy
8f29312c9 Minimum re-entry stake should not include stoploss
5c280d564 Improve emergency_exit handling
b23cea6e5 Bump ruff to 0.0.255
487469680 Use correct exception type for ccxt.InvalidOrder
8fd13933c Improve variable naming
cf70deaf8 Disallow negative liquidation prices
3d31eca36 Update Exception to contain more info
d723979c4 Move total_trades to explicit variable
f3a1177ba bring inc back
ad5afd304 Bump uvicorn from 0.20.0 to 0.21.0
0e663a5bf Refresh binance cached leverage tiers
10c5adfa5 Bump fastapi from 0.92.0 to 0.94.0
dc6af9a1a Bump urllib3 from 1.26.14 to 1.26.15
82707be7d Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.7.1
b800f2709 Bump mkdocs-material from 9.1.1 to 9.1.2
31daf72cc Bump mypy from 1.0.1 to 1.1.1
22ebf04da Bump pytest from 7.2.1 to 7.2.2
52a091e06 Bump pydantic from 1.10.5 to 1.10.6
fbca8e658 Allow empty pairlock reasons through api
a10f78e3e fix increment in case of 0
f584edf80 Improve tests by simply running a full strategy through everything
f5848ea89 Add test for successful_buys
b5c4f9ebe Split updater_tests to be clearer
0911cd72a Add test for strategy-updater start method
d2a412d2c Simplify start_strategy_update
cb086f79f Improve doc wording and command parameters
5bfee44bb Whitespace fix
aa283a044 Fix None limit on pair_candles RPC call
82cb10752 add tensorboard category
b23841fbf Bump ccxt to 2.9.12
8726a4645 Don't use deprecated Type construct
59d2ff3ff Simplify `handle_cancel_exit `
39c651e40 Remove pointless reset of close_profit
a2336f256 Add profit descriptions
a76ca771f telegram: Fix sending telegram message with exception
a3988f56b Sorry matthias, did not see that you already committed something and did overwrite you. Added your version to it instead of mine and pushed ag...
Read more

2023.2

26 Feb 13:54
a310458
Compare
Choose a tag to compare

Highlighted changes

  • Added support for Bybit futures.
  • Add cancel-open-order RPC endpoints (telegram, freqUI).
  • Stoploss on exchange orders on futures markets can now use different price types.
  • Convert limit orders to market orders (simulating marketable limit orders) if price crosses spread by more than 3%.
  • Updated systemd package to cysystemd to ensure compatibility with new python versions.
  • Show error in freqUI if backtest through UI failed.
  • FreqAI
    • Add shuffle_after_split option.
    • Updated purge_old_models to take an integer, defining the amount of models.
    • Add buffer_train_data_candles to add a buffer before/after the actual timerange.
    • Removed follower_mode. Please use producer/consumer mode instead.
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
25724ef72 Version bump 2023.2
dc2cfee05 Don't request sorted candles from HitBTC.
c6455c413 Pin scikit-learn to <1.2.0 for conda as well
3471f5204 Don't reuse variable
c283e2232 fix purge_old_models description in parameter table
5ac4b81a5 fix link in freqai index.md
34c42be74 Fix minor stylistic errors
659140e19 Add bt-error to UI backtest method.
63e5d3302 Better handle backtest errors
7d906fd4c  refactor(if-gate): use temp variable instead of if-gate
23a71680d Update Doc-box typo
150b7f9c8 lighten the disclaimer message
b8f011a2a give users ability to decide how many models to keep in dry/live
9633081c3 remove remnants of follower, clean data-drawer, improve doc
0f878daa9 Remove some too generic noqa statements
01d51aa97 Add necesary noqa statements
f8fa5bd96 Fix gone wrong noqa ...
18bbfa10e Reduce amount of variables for API backtesting
ff1258fd2 Better handle random UI backtest errors
3fbbc57a3 add imposter disclaimer to FreqAI front page
070a7efd7 * fixed filename in model_exists
2b5c11c7b allow users to buffer train data with buffer_train_data_candles parameter
62e120a60 Remove special treatment of cryptography for raspberries
48ecc7f6d Update freqai-reinforcement-learning docs
43962476a Remove non-working links, update links to https
a4a3d27ac Improve FAQ page
f4bd42422 Remove deprecated ubuntu image
af137188f Update wrong FAQ entry
789c867c8 Fix outdated systemd related exception text.
250faf012 Bump types-requests for pre-commit
0cd28e2ca Bump mypy from 1.0.0 to 1.0.1
eb08ef6ce Bump types-requests from 2.28.11.12 to 2.28.11.13
a4e69574d Bump ccxt from 2.7.93 to 2.8.17
c85fc6c8c Bump mkdocs-material from 9.0.12 to 9.0.13
f19128ad2 Bump fastapi from 0.91.0 to 0.92.0
2ef656fac Bump scipy from 1.10.0 to 1.10.1
e9c64c583 Update dependency to cysystemd
f89b63b0c Fix dry-run stoploss orders filling "in place" after restart.
2c0fbd850 Simplify test slightly
31c7b3e13 Update binance leverage tiers
22700527a Convert limit orders to market orders if they cross a threshold
960003968 Update dry-run fill method naming
35fe37199 fix minor typos
351c5fbf7 add shuffle_after_split to conftest
be85ef270 add documentation for shuffle_after_split, add to constants
36d65e00f generalize model_exists() for RL and Keras
a2e138994 Update Binance leverage code
8ef110cc5 Rename ob variable to orderbook
de7d274fc Pass orderbook to dry-run fill logic
7c1092156 Improve Orderbook typing to align for diff. exchanges
020c9a5ce Update freqai.md
ecff21ac2 type Orderbook
3397e47cc Rename stoploss() to create_stoploss()
6e55a873b Rename edge.stoploss to get_stoploss
bddec476f Fix missing typehint in hyper.py
cdd324d0a Rename stoploss_reached to ft_stoploss_reached
ce7d24f52 Extract ft_stoploss_adjust to seperate method
69d545946 Improve stop behavior in SIGTERM cases (docker).
9061c04f1 Bump ccxt from 2.7.80 to 2.7.93
f3a689787 Bump Docker images to latest minor version
f16fd0ad2 Reenable binanceus active test
f681ee794 Bump aiohttp from 3.8.3 to 3.8.4
50a9df9b2 Bump aiofiles from 22.1.0 to 23.1.0
2a87ad044 Bump tensorboard from 2.11.2 to 2.12.0
d14283b0e types-requests - precommit
9faa92680 Bump fastapi from 0.89.1 to 0.91.0
48c331785 Bump mypy from 0.991 to 1.0.0
bbb62c8a4 Bump types-requests from 2.28.11.8 to 2.28.11.12
b05999f6d Bump orjson from 3.8.5 to 3.8.6
ee209e3b4 Bump mkdocs-material from 9.0.11 to 9.0.12
b95ff827d Typo on freqai docs
a3b4678ad stoploss_price_type for gate
bedd3688d Properly format proxy configuration
c229ba97a Update gateio terminology to Gate
07e6932a1 Reenable longrun test mark
73992dde8 Add explicit warning that supported price types gonna differ on each exchanges
45e24d21d Bump ccxt to 2.7.78
f440d6621 Add sample_order for gate
8873a565e expose raw features to the environment for use in calculate_reward
154b6711b use function level noqa ignore
4fc0edb8b add pair to environment for access inside calculate_reward
d47d8c135 Add windows wheel for ta-lib on python 3.11
8d156b277 Bump ccxt to 2.7.66
3d22ad36b Show Config should contain stoploss-on-exchange status
102c1e799 realign binance set_leverage override
980ffa6bf Add test for binance rounding leverage
997df2032 Add response_log for set_leverage
d19ee9c95 Update okx position mode terminology
e2d81b0ce Skip binanceus ccxt test
c15e10fe1 Improve logic for initially placed stoploss
67a2cd708 Bump cryptography from 38.0.1 to 39.0.1
5a61e076d Remove unused import
953be8a7f Split validate_order_types to 2 functions to allow selective application
8c0c2496c Temporarily disable gate advanced stop orders
81619fb4a Properly use sqlalchemy column types
a6adcb485 Bump several pre-commit hooks versions
b6eb1f939 Bump pre-commit
c6601cbd8 Bump pymdown-extensions from 9.9.1 to 9.9.2
f96cb4772 Bump numpy from 1.24.1 to 1.24.2
365522f5c Bump types-cachetools from 5.2.1 to 5.3.0.0
8dde7ab6b Bump ccxt from 2.7.12 to 2.7.45
e964377ed Add new field to full config
d904e9166 Add documentation for new setting
61ba1a0dc Pin telegram in conda environment to <20
b8a527e4a Add gateio price type field
3497de3dd Add more validation
cf9e99b8e Add tests for ordertype validation
2738c3784 Test stoploss validation ...
c4fc81161 Add stop_price_type support (futures only!).
a9241f61f Add Price Type Enum
e38e41ab9 Bump isort from 5.11.4 to 5.12.0
e3f0e66b9 Bump technical from 1.3.0 to 1.4.0
b80d196d5 Bump pre-commit from 2.21.0 to 3.0.4
c61995aad Bump plotly from 5.11.0 to 5.13.0
34711eb68 Bump nbconvert from 7.2.8 to 7.2.9
5ed06cd79 Bump mkdocs-material from 9.0.8 to 9.0.11
801714a58 Update function signatures in all templates
0dd247238 add metadata param to docstrings
e569f6f6d add explicit metadata argument to example strat, include it with backtesting
5da60b718 pass metadata dictionary to feature_engineering_* and set_freqai_targets functions. Add doc
55850a5cc Skip orders when correlated trade was deleted.
02c0f91f4 fix: removes duplicated if branch
3fd6d7298 setup.sh: fix truty/falsy return of check_git_changes()
ef1738fbf Remove follow_mode from docs
618eb951d Add ft_bot_start to notebook docs
330461cf1 setup.sh: checks if git directory is dirty before bothering user with potentially scary question
b7787a984 [kucoin] manage kucoin numeric password passed as environment variable as a string
b4c3e1fd5 `order.amount` -> `order.safe_amount`
36f95fb35 Make test for `None` explicit
ccb4efbe8 remove follow mode in favor of producer consumer
ba7883f54 Update README.md
ceaaac6c3 Improve install sequence to install ta-lib after user interactivity
21618594b Update setup.sh queries to not ask redundant questions
d8583ab6e Bump setuptools in setup.sh
7569e72f5 Bump setuptools from 65.5.0 to 65.5.1
1e12e888d Update README.md
322d4b535 improve fix for setup.sh
72a98943b bybit: Add correct funding_fee_timeframe
9bb376296 Update parse_order test
839215c43 Fix Doc box error
8a0fabed0 Ensure we don't overwrite valid values by invalid exchange responses
680136f57 Add workaround patch for kucoin create_order returning empty
448505fbf Fix minor issue where amount could be empty in rest calls
50d3b7bde Add bybit sample order
42f07e6ec Improve order_parse tests
6012a5582 Improve test
9cfbb21cd Improve error messages
bbc663fce Add telegram test
1c47c118d Add cancel-order api test
daafc1c90 Update test  and help
bd2839fa4 Reorder documentation
e291d1bb1 Document telegram /coo command
1bdc0e391 Add coo command to telegram
152aa994a Fix test
baf2090f9 Just change the docs
592eebe51 Add to setup
8b307357f Add to setup
5073c780d .agg would like strings, not the sum function.
2c1457fb9 Ensure limit is integer (on server)
1dc3c5877 Convert missing candle count to int
410324ac1 time-jump detection should happen on the trimmed dataframe
9e619ecc5 Update rest api documentation
03302fa0b Add cancel_open_order to rest script
c43e857cb Bump API version
c855e2d79 Add delete open order endpoint
a704c4340 provide cancel-reason to handle_cancel_order
2b09f0129 Fixes gym issue
5a7008f37 rename handle_timedout to handle_cancel_order
3cb9cc63b add pyarrow-11 rpi wheel file
2593a929d Bump version to 2023.2.dev
411ad5641 Bump pyarrow from 10.0.1 to 11.0.0
0dd852516 Bump mkdocs-material from 9.0.5 to 9.0.8
2fea23d31 Bump lightgbm from 3.3.4 to 3.3.5
f6ba0fe6a bybit: fix broken ccxt tests
7294db81e Bump ccxt to 2.7.7
d1b069abf bybit: Update test to align with defa...
Read more

2023.1

30 Jan 17:11
cd66028
Compare
Choose a tag to compare

Highlighted changes

  • New backtesting metrics (Sharpe, Sortino and calmar ratio).
  • Improved backtesting speed while keeping high precision with --timeframe-detail.
  • New analysis group for backtesting-analysis to analyze only exit tag performance.
  • New hyperopt space ("trades") to optimize max_open_trades.
  • Allow loading plot-configuration from strategy in freqUI webserver mode.
  • Breaking change for binance-futures users.
    Naming is now aligned to other futures exchanges, following the base/quote:settle approach.
    Freqtrade will take care of the data and database automatically - however it's important that you adjust an eventual static pairlist (don't forget your blacklist!).
    it can also impact strategies that hard-code pair names (like informative pairs).
  • FreqAI:
    • Revised freqAI strategy interface. Make sure to familiarize yourself with the new methods!
      Follow the FreqAI Strategy migration guide to migrate to the new interface.

⚠️ kucoin users should either stick to 2022.12, or update to the latest develop version. This version is known to not work with kucoin.

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
4853cc127 Version bump to 2023.1
ede79590d Update ccxt compat tests with kucoin order
fee7b792e Bump ccxt
507d3d6d9 Add ci for binance.us
25dfbb5a0 Compare stake amout >= in backtesting
9286cbed8 add partial Docstring to backtesting enter_trade
c1e528e11 Version bump ccxt
f7f936c14 Typo fix
020dc3c6e filled-date shouldn't update again
aa1583758 Add test for filled_date not updating if it's already set
8647c0192 Fix typo
2333dbae4 Update reinforcement learning docs to use correct naming
bd913bc24 Disable provenance in buildx config for pi image
9652c00ac Don't amend docker manifest
6c0fa0dc1 Fix typo in docstring
078b43082 Add ccxt compat tests for order parsing
b0720fdcf Bump ccxt to latest version to fix timestamp parsing issues
7fc39eafb Bump ccxt from 2.6.39 to 2.6.58
14d9789f1 Bump types-dateutil for precommit
d3fbd41f5 Bump types-python-dateutil from 2.8.19.5 to 2.8.19.6
73414e0fb Bump types-requests in pre-commit
673f5c325 Bump types-requests from 2.28.11.7 to 2.28.11.8
b104b54e6 Bump pandas from 1.5.2 to 1.5.3
13f6529cc Bump nbconvert from 7.2.7 to 7.2.8
0642a2768 Add missing bracket
58ad5a683 Fix wrong import order in script
79d0fd937 Update pyright config to align with mypy
741d2db33 Enable implicit_optional for telegram
795934116 Remove optional_untyped from config
2bf4cf7d5 Update scripts to PEP484
8108a48f3 Follow PEP 484 - no implicit optionals
bb355cfac improve naming of backtest function
80bb12002 Simplify backtesting by removing now unnecessary private function
89eb1b008 funding-fees need to be recalculated for detailed timeframes, too.
1211b7225 Add test to show behavior reported in #7978
772800bf7 Fix bug in stake_amount adjustment
865d67830 Add backtest_detail test for futures
28e51e2df Simplify some test setups
58d48e79d Convert tests/datadir to path object - better mirroring an initialized configuration
a5d87859d Refactor test to reuse variable
6e2260738 Add 5m futures testdata to support detail-backtest tests
dbddc4c8a Improve wording on adjust_trade_position callback warning
20093ea09 Add warning about callback call frequency in backtesting
81349c2a0 Remove edge section from config template
07c391322 Remove edge from sample configs (except full).
a398f4730 Add documentation note about RSA exchange keys
a27e63a54 Bump ccxt to 2.6.39
892fb77ec Update mypy pre-commit hook
634b80f0e Add tests for plotconfig in ws mode
2298656e4 Bump api_version to 2.23
3216a05a9 Enable plot_config to work in webserver mode
da0992f85 add Config typehint in rpc
00fa90442 update config-freqai-example to match latest binance futures pair syntax
c8ecedf6d Clarify a variable via typehint
6a4fc33c3 Remove <3.8 bandaid
7092212ed re-add futures tickers quoteVolume assert
7713f343a Bump ccxt to 2.6.26
98dcab49a Add fetch_tickers test for futures
b4fcda2c1 add aiohttp proxy
92a5efad0 Fix set_test_proxy usage
b193d8418 Deepcopy config before adding proxies
f46b62f1a Attempt to use and setup a proxy for CI
394a973bb Revert "Attempt to use and setup a proxy for CI"
48ae248d2 Attempt to use and setup a proxy for CI
8cfa5934d Catch AttributeError when importing modules
813724bd8 Add a new analysis group to output stats grouped by exit_tag
8de10e374 Bump mkdocs-material from 9.0.3 to 9.0.5
7f4883008 Bump pymdown-extensions from 9.9 to 9.9.1
a4b2dc30b Bump tensorboard from 2.11.0 to 2.11.2
8dce617ad Bump fastapi from 0.89.0 to 0.89.1
283c1968b Bump cryptography from 38.0.1 to 39.0.0
0296061e4 Fix version comparison to use packaging.version
178a4c886 Bump requests from 2.28.1 to 2.28.2
7785809f4 Bump pytest from 7.2.0 to 7.2.1
59e6f19dd Bump xgboost from 1.7.2 to 1.7.3
dc7b8ac7b Bump ccxt from 2.6.6 to 2.6.24
d24fce83d Bump orjson from 3.8.4 to 3.8.5
9b97ddd0f Bump urllib3 from 1.26.13 to 1.26.14
270eed7e1 Fail if detecting invalid ccxt version for binance futures
ab12aace5 changed `trades_space` to `max_open_trades_space`
b0f1d914c Changed max_open_trades type to int or inf
ce323e66a Remove note about binance futures naming
e14f2cc27 Add db migration test
5d4a247fa Add test for binance data migration
cbcee02de call data migration from backtesting
1fc97a800 use Unified futures naming for futures throughout tests
9d1cf040f Update test leverage tiers
4ea8962ca Rename futures test data
47b50a8a2 Udpate binance leverage tiers to new pair format
c93b265ec Run migration commands on certain data commands
0be0ef9e7 Remove duplicate binance test
0d1172ca4 Update binance future test
e43b9b65f increase minimium ccxt version to 2.6.6
b024fafaf Use futures_pair in ccxt test correctly
5b3304189 trading_mode is not necessarily mandatory
183bf6819 Update binance pair naming in ccxt test
5ad664aac Update binance futures name to swap
9cb7d6c26 Run binance futures migrations on startup
bfd7803fd Update freqai-reinforcement-learning.md
ee7b505dc Add data migration method
b1bfd7674 Add binance futures db migration
1cf69f139 refactor "--version" to use "pathlib" instead of "os"
9d647fd19 Fix websockets for dataframes with NaT entreis
684de1937 Fix link syntax to actually work
08748dd02 fix "--version": needs to change working directory
4abf06119 docs: fix broken link to quickstart
00dbc195a Update huobi ci to use BTC markets
2241f2429 moved deprecated warning to start function
67495530b Add FreqAI migration documentation
93aff9325 improve deprecation note
a61274ae1 ensure cached corr-pairs works with new framework
fbdda8cd1 Always pass Dictionaries to testclient post requests
3ca2dfc07 Bump httpx from 0.23.1 to 0.23.3
0aca0d20d Add some feature flags for mkdocs migration
43b49fef4 Bump orjson from 3.8.3 to 3.8.4
25fd1ea63 Bump mkdocs-material from 8.5.11 to 9.0.3
3b69745c3 Bump ccxt from 2.5.46 to 2.5.56
79fe8fd85 Bump fastapi from 0.88.0 to 0.89.0
d32d70d2e Bump sqlalchemy from 1.4.45 to 1.4.46
c198ca296 Bump scipy from 1.9.3 to 1.10.0
2f0eb95d0 Bump lightgbm from 3.3.3 to 3.3.4
7d27afd4b Fixed test broken due to change in trades_space range
ad4954194 Adapt Tests for new mandatory columns
305b067e4 Support having no Amount/Price available from the exchange initially
fd694f14c Add new order columns, ft_amount and ft_price
10d8b016e Changed max_open_trades default range for optimization
f77dffc95 align to develop
464cb4761 Fixed max_open_trades update from hyperopt
550ab2b8e Improve select_order to only consider filled where needed.
34dbe9dea Improve fixture fake results
1d5440ff7 Bump ccxt from 2.4.60 to 2.5.46
c7f485687 Fix ccxt test failure
7bf531c8b isort fix
c1042996d flake8 fix
6198b2100 update calmar loss
d3b1aa7f0 update sortino calc
157bf962f add missing imports
86ba7dae9 change sharpe hyperopt loss
787d292ba Move "drop_candle" decision to coroutine
abdeb72eb fix tests
d91ac8b66 improve wording in freqai doc
bdf6537c6 Remove unused (and pointless) exchange method
4bac66ff0 Type ohlcv coroutine
75b0a3e63 Use dedicated type for OHLCV response
92800930e Improve backtest detail speed
5257e8b3e Fix random test failures on 3.8
ed99e7f85 fix corr_pairs startup candle count bug
8e5b4750d Continue in "regular backtest" case (no detail-data available).
647063575 In cases of no losing trade, sortino ratio can't be calculated.
f2fa476dc max_open_trades should be an integer
801ab39a2 fix get dataframe data to include startup_candle
1c5e17268 docs update
5fd85368a Added support for max_open_trades hyperopting
c384d1357 Update FreqaiExampleStrategy.py
6f031f005 Fix flake error
63db1fd89 Fix Backtesting  Analysis Column Wrong
314c0925b fix get dataframe data to include startup_candle
73114b93c Update FreqaiExampleStrategy.py
2c430c806 Fix ROI table comma and spacing
52dfb0452 Update freqai-feature-engineering.md
724465c79 Bump pydantic from 1.10.2 to 1.10.4
488b4512e Bump time-machine from 2.8.2 to 2.9.0
d304f95c1 Bump filelock from 3.8.2 to 3.9.0
74b924471 type ccxt_compat tests
cd7bd9bf9 Update gate liquidation price link
6498e352c Remove pointless default
97e8bb09e Update exchange documentation with note about leverage
5188464fc fix typo
c8aa7720a added again feature check in BT from pred files
b39fc6b92 remove add pair to column from docs, fix keyerror bug and adjust hybrid strategy example
b2bab68fb move price assignment to feature_engineering_standard() to ...
Read more

2022.12

29 Dec 16:45
9a46613
Compare
Choose a tag to compare

Highlighted changes

  • Enhanced Producer logic, reducing memory usage while improving performance (:warning: this is a breaking change - producer and consumer must be updated together).
  • --timeframe-detail now properly simulates all candles at detail timeframe, significantly increasing backtesting accuracy.
  • New pairlist RemotePairList - allowing a pairlist to be loaded from file or from an API.
  • Removal of deprecated trade.enter_side (use trade.entry_side instead).
  • FreqUI
    • Auto-refresh chart.
    • Order action notifications (fill / cancel).
    • Backtesting support for freqAI strategies.
  • FreqAI enhancements:
    • Reinforcement learning.
    • Improvements to Tensorboard logging.
  • JOSS paper has been accepted. Great job @robcaulk and everyone else involved in making this happen!

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
8e8f71ade Version bump 2022.12
5cb8fe1a5 Add JOSS badge to freqtrade docs and readme.md
c52910f28 Improve resiliance against invalid data
4d112def1 Remove binance AD from docs page
cd4faa9c5 keep max_stake_amount through backtests
62c4675e2 Remove some deprecated fields from the API
cb66663fd show max_stake_amount in API
55001bf32 Keep max_stake_amount (only relevant for DCA orders).
6f2c3e252 Split migration and persistence tests
20901c833 Improve `purge_old_models` explanation
882e68c68 Rename backtest-result from new to "not new".
6a15a9b41 Update backtest-result_new
1cef40a13 Bump numpy from 1.23.5 to 1.24.1
63f114395 is_short should be a boolean
aaeeb8662 Bump ccxt from 2.4.27 to 2.4.60
c5b246af8 Bump isort from 5.11.3 to 5.11.4
00112d81d Bump types-requests pre-commit
9a556d263 Remove all mac conflicts
18709406c use link overwrite
9ea8792d3 Attempt brew fix
3993bd7c1 Bump types-requests from 2.28.11.5 to 2.28.11.7
e0f60e175 Bump pre-commit from 2.20.0 to 2.21.0
b1bf6d8dc Bump nbconvert from 7.2.6 to 7.2.7
ce13ce4b1 Update binance stoploss order types
524da3c7a Don't actually load models to avoid random failures
ad0d7c9a9 Don't allow DCA trades to go beyond max order size
2a7369b56 fix macos CI
73792fd6c Don't attempt to convert None to dict
70531224e Allow setting identifier via UI
07606a9e2 Simplify APi backtest config merging
6d9f1fafb allow backtest_cache to be provided via backtest API
256fac2a2 Add test for freqaimodels endpoint
5dbd5c235 Add endpoint for freqAI models
a119fbd89 Small error-message finetuning
ebf60d85d self._init_done placed wrong. fixed
43f5a1600 parse exception handling, remove info, cache change
4bad2b5c0 Apply suggestions from code review
5b9e3af27 improve wording
5405d8fa6 add discussion and tips for Base3ActionRLEnvironment
a276ef4b0 ensure long only RL is tested
86b30d2d6 Improve emc test resiliancy
0c8d657d9 update types-dateutil precommit
fa87e0807 Bump ccxt from 2.2.92 to 2.4.27
7216d140d Bump torch from 1.13.0 to 1.13.1
06225b950 Bump types-python-dateutil from 2.8.19.4 to 2.8.19.5
d86885c7f Bump blosc from 1.10.6 to 1.11.1
b61fc161b Bump isort from 5.10.1 to 5.11.3
6380c3d46 reduce duplicate code, fix cache check
bb33b96ba init cache on first iteration, init checks, limit length and charmap to info replace if invalid, move filter logic
1f4cc145c Move trade docs to advanced section
eda72ef26 Add documentation for Order object
a439488b7 Add initial trade_object documentation
bad6fe77d Remove deprecated trade property
329a0a3f4 Update docs/freqai.md
c293401b2 Add can_short to freqai base model
e60404715 Enable RL tests on arm mac
a8c9aa01f Add 3ac test
7727f3150 Add 3 Action RL env
dde363343 Add can_short param to base env
e4284f4e7 add citation to freqai doc. Update credits
36948e2a7 fix base4 env done condition
935275010 Remove some unused fixtures
32d57f624 delisted bibox following ccxt PR https://github.com/ccxt/ccxt/pull/16067
6fa3db3a1 Fix failing tests
cd1b8b9ce single space removed for the unit test to pass..
1d5c66da3 + Unit Tests
581a5296c fix docstrings to reflect new env_info changes
7b4abd5ef use a dictionary to make code more readable
7a0eadbdf Don't recalc profit on closed trades
33dce5cf1 Clarify partial exit calculation messaging
ca2a878b8 Update test naming
3af2251ce Fix add_state_info backtesting bug
2018da076 Add env_info dict to base environment
fa260e656 Move "replace or append" decision to dataprovider
dac1c8ab8 fix isort
2285ca7d2 add dp to multiproc
de19d1cfb fix doc minimal_roi
97fee3707 Improve emc test
7f3524949 - print
d52c1c755 Add unit tests
1d92db780 Change CI to actually run one 2 randomized point.
fed46d330 Revert "Bump scikit-learn from 1.1.3 to 1.2.0"
c042d0146 Don't run gc_setup during tests
0dd3836cc fix rpc method docstring
1c0c4fd42 Improve test
a693495a6 Improve external_candle aggregation
96edd3145 Test add_external_candle
414c0ce05 change unused var
6717dff19 update overlapping candle handling, move append to misc
0602479f7 minor changes, update candle appending to support overlaps
f1ebaf473 fix tests
49f6f4066 remove comment
0d5b2eed9 fix same candle handling
d376bf405 fix indefinite reconnecting
ccd1aa70a change log calls to debug, handle already received candle
c050eb8b8 add candle difference calculation to dataprovider
89338fa67 allow specifying channel send throttle
d2c8487ec update add_external_candle, fix breaking on ping error, handle empty dataframes
fce1e9d6d update analyzed df request to allow specifying a single pair
36a00e8de update add_external_candle returns
4cbb3341d change how missing candles will be handled
9660e445b use new channel apis in emc, extend analyzed df to include list of dates for candles
abc3badfb Improve shutdown behavior
5c984bf5c Temporarily downgrade blosc for arm64
6f92c58e3 add docs, add bearer token.
f940280d5 Fix tensorboard_log incrementing note
f9b7d3590 add increment param for tensorboard_log
f6b90595f remove html. change var names.
de9784267 Bump filelock from 3.8.0 to 3.8.2
915e0ac62 Bump ccxt from 2.2.67 to 2.2.92
bc2b9981d Bump python-telegram-bot from 13.14 to 13.15
2647c35f4 Bump pypa/gh-action-pypi-publish from 1.6.1 to 1.6.4
034420337 Bump sqlalchemy from 1.4.44 to 1.4.45
5a7b493d3 Bump xgboost from 1.7.1 to 1.7.2
562564801 Bump pytest-asyncio from 0.20.2 to 0.20.3
a35111e55 Bump nbconvert from 7.2.5 to 7.2.6
63d3a9ced Bump prompt-toolkit from 3.0.33 to 3.0.36
434eec733 Bump blosc from 1.10.6 to 1.11.0
78c40f053 Bump scikit-learn from 1.1.3 to 1.2.0
0fd8e214e add documentation for tensorboard_log, change how users interact with tensorboard_log
cb8fc3c8c custom info to tensorboard_metrics
8c7ec0795 ensure predict_proba follows suit. Remove all lib specific params from example config
85f22b5c3 fix bug in MultiOutput* with conv_width = 1
6b9f3f279 Fix test validation
980a5a9b5 Fix docs typo
1da8ad69d improve more tests by freezing time
bbedc4b63 Stop clock to avoid random failures on slow CI runs
3d3a7033e Improve Docker documentation wording
74e623fe5 Improve kraken test resiliance
66412bfa5 Remove unnecessary loop
7efcbbb45 Local File Loading
da2747d48 Add Local .json file Loading
7b3406914 flip add_state_info
9b4364ddc ensure that add_state_info is deactivated during backtesting
b144a6357 Remove Duplicate
547a75d9c Fix Info
607d5b2f8 Split to fetch_pairlist function, Info Message
48160f3fe Flake 8 fix, Json Fetching
199fd2d07 +Remote Pairlist
58604c747 cleanup tensorboard callback
227cdb093 Change dict update order
26a61afa1 Move base tf logic to config validation
bc48099e4 Revert changes
62c69bf2b fix custom_info
72472587d Increase test range for api version test
7c27eedda Bump API version
24edc276e Simplify new_candle message
d30a872ed Move message-silencing list next to enum
687eefa06 Improve emit_df testcase
5e533b550 Emit a simple "new candle" message to allow UI's to refresh charts
189fa6405 Add more dynamic to directory change
730fba956 Ensure base tf included in include_timeframes
e734b3992 Make model_training_parameters optional
102ab91fa Bump orjson from 3.8.2 to 3.8.3
179adea0e Bump ccxt from 2.2.36 to 2.2.67
82d4dca18 Bump mkdocs-material from 8.5.10 to 8.5.11
2eb8f9f02 Bump pypa/gh-action-pypi-publish from 1.5.1 to 1.6.1
66bb2c525 Bump fastapi from 0.87.0 to 0.88.0
caae4441e Bump jsonschema from 4.17.1 to 4.17.3
441069f36 Bump pandas from 1.5.1 to 1.5.2
16bad8dca Bump pymdown-extensions from 9.8 to 9.9
133a081a3 Bump pytest-random-order from 1.0.4 to 1.1.0
d8565261e ignore initializer type
24766928b reorganize/generalize tensorboard callback
f7b4fc5bb Update freqai-reinforcement-learning.md
38d3b4cab add details to doc plot_feature_importance doc
b2edc5808 fix flake8
d6f45a12a add multiproc fix flake8
469aa0d43 add state/action info to callbacks
075c8c23c add state/action info to callbacks
7ddf7ec0a Update freqai-parameter-table.md
05424045b Temporarily disable since binance blocks US
77dc2c92a performance improvevemnts - backtest freqai from saved predictions
2b3e166dc fix fees RL
eb81ccced add download-data command change directory fix relative config path
396e666e9 Keep old behavior of model loading
4a9982f86 Fix sb3_contrib loading issue
95651fcd5 Improve/simplify telegram exception handling
59c7ce02f binance restricted locations and server location
79821ebb3 fix flake8 errors
e7f72d52b bring back market side setting in get_state_info
17cf3c7e8 bug fixes and removed fillna from fit_live_predictions
10a45474e Update data-analysis.md
4571aedb3 consolidate and clean code
3c322bf7d Improve forceenter validation messages...
Read more

2022.11

27 Nov 16:11
77826eb
Compare
Choose a tag to compare

Highlighted changes

  • FreqUI will now show you all adjustment orders.
  • ShuffleFilter shuffle behavior can now be configured (once per candle (default), once per iteration).
  • Dropped support for 32bit Python under Windows.
  • OKX - bigger timeframes now in UTC (6h+). Please redownload your data for these timeframes! (this impacts mark and ohlcv candles, but not funding rates). ⚠️
  • Fix a memory leak in producer/consumer mode caused by pandas.
  • Temporary fix for Kraken data-downloads, which broke mid-November due to an API update.
  • Fix freqAI native installation on M1 Macs.
  • freqAI
    • up to 10x performance boost with indicator caching, vectorized normalization, and optional single precision (reduce_df_footprint = true)
    • FreqaiMultiOutputClassifier allowing as many classifier targets as desired (CatboostClassifierMultiTarget, LightGBMClassifierMultiTarget)
    • Backtest directly on models collected during live/dry run (--freqai-backtest-live-models)

How to update

As always, you can update your bot using one of the following commands:

docker-compose

docker-compose pull
docker-compose up -d

Installation via setup script

# Deactivate venv and run 
./setup.sh --update

Plain native installation

git pull
pip install -U -r requirements.txt
Expand full changelog
5c571f565 Version bump 2022.11
21d740629 Temporary fix for kraken download
dba30393f ensure extra_returns_per_train are set properly on first hist_preds build
9af62ad11 Add note to dev docs about freqUI release
ce213b55a Bybit fix candle limit
756921b16 Update fthypt file
79c041b62 Update tests for new export format
8c014bd36 Export trade-counts to csv
8ee8b6e94 Improve hyperopt list output
0f97ef0d7 Reset stoploss_order_id when order is canceled
1b3e62bcb Lock execute_entry to prevent timing hickups
c593cdc43 Improve type hints
5e6cda11e Update method name for trade fee updating
048119ad3 Improve doc wording around informative pair candle types
b8d1862ca Update cached binance leverage tiers
c963fd720 Slightly change test setup for dry_run_order_fill
335de760e Enable --use-pep517 flag for freqai
bd05f85c2 Simplify ssl documentation
fff745fd8 add map to nginx config
5a489ce71 Fix docs typo
86ff71152 update docs on reverse proxy
8cb2b4666 Improve proxy docs
0fa521704 Improve protection setup
7c00ef8a7 Bump pre-commit requests version
adc1174d2 Bump types-requests from 2.28.11.4 to 2.28.11.5
2df0d613d Bump types-dateutil for precommit
beec9e2d1 Bump mypy from 0.990 to 0.991
f09fb2374 Bump orjson from 3.8.1 to 3.8.2
8d1ee67ed Bump httpx from 0.23.0 to 0.23.1
844334a7e Bump uvicorn from 0.19.0 to 0.20.0
ec15ef039 Bump nbconvert from 7.2.4 to 7.2.5
3f9dacc9b Bump ccxt from 2.1.75 to 2.1.96
5cce8f4f2 Bump types-python-dateutil from 2.8.19.3 to 2.8.19.4
0cb08024f Bump numpy from 1.23.4 to 1.23.5
edb817e2e add tutorial for ssl in docs
106ac2ab4 fix tests, change to get call
12b471c64 Prevent 2 parallel open orders through forceentry
b6a8e421f remove redundant timestamp conversion in ws serializer
12cd83453 Add warning when queue websocket queue becomes too full
4c7bb79c8 Restore prior data transfer format
436b314c8 add safe_remaining
1975e942d Add test for no remaining
48e5a4585 rpc_test: dont replicate whole response,
ce43fa5f4 small fix to websocketchannel and relay
875e9ab44 change df serialization to avoid mem leak
9432bcd06 Fix telegram error on force_enter exception
a993cb512 change to get call in ws_client
0a7f4fd3c fix httpx test warning
afcb86f42 Improve migration types
93addbe5c Improve typechecking
097af973d improve RPC testcase to cover open orders
1380ddd06 update ws client
019577f73 Temporarily Downgrade cryptography until piwheels has the new wheel available
86e094e39 update docs
6a1655c04 support ssl connections in emc
0a702cdd2 Ensure more methods are typechecked
f27be7ada Configure mypy to old behavior
a951b4954 Use Generator when sending initial dataframes
30b467906 Delist FTX, following ccxt's delisting.
c72ffad69 Add starlette test dependency
c12dcd9b9 update pre-commit dateutil
4cece8720 Bump mypy from 0.982 to 0.990
721998521 Bump types-python-dateutil from 2.8.19.2 to 2.8.19.3
60449d9be Bump cryptography from 38.0.1 to 38.0.3
cf5cda4df Bump sqlalchemy from 1.4.43 to 1.4.44
7275d4851 Bump ccxt from 2.1.54 to 2.1.75
60de797dc Bump psutil from 5.9.3 to 5.9.4
b2de07046 bump types-requests
9843fb208 Bump mkdocs-material from 8.5.8 to 8.5.10
bbfcaca9e Bump pymdown-extensions from 9.7 to 9.8
48c4d8d2d Bump types-requests from 2.28.11.2 to 2.28.11.4
ce269b798 Bump fastapi from 0.85.1 to 0.87.0
9d8d18d76 Bump pytest-asyncio from 0.20.1 to 0.20.2
001602e03 Bump nbconvert from 7.2.3 to 7.2.4
3e6834e3f Bump tensorboard from 2.10.1 to 2.11.0
42b29cd30 Fix constants type
1e9e7887a fix constants.py, fix freqai test
a59d61472 Add test for dataframe footprint reduction
942840da2 Improve setting wording to keep future possibilities open
c6013e581 Fix doc typo
535c365b4 Disable ftx ccxt_compat tests
fed3bc673 Simplify Websocket Init
914bdbdd8 Remove FTX from list of supported exchanges
954da4fec Add "forcebuy error" exception log
ee0e59157 Update join relationship of orders table to selectin
8c092d457 Update README.md
214c62247 move dataframe converter to converter.py
e46a57bbd move mem logs to debug
66514e84e add LightGBMClassifierMultiTarget. add test
054133955 fix loading of metric tracker from disk
4664d5e1d Split installation to onCreateCommand
0f9c5f8d4 Simplify timerange handling
57313dd96 Update some usages of timerange to new, simplified method
3e676dbaa Add properties to simplify timerange handling
7147f52e0 FreqAI also requires plotting dependencies
be83e7341 add pip install
88ad3fe43 Remove typo from main page
22c419d5c Add warning about FTX
9e17eabd0 Improve Bybit configuration
ec6ee7ead remove empty space
795328051 remove github.copilot extension
037363f9e support git and local changes in dev containers #7723
d3006f7f3 Bump ccxt to 2.1.54
f43f96704 Improve handling of unfilled stoploss orders in edge-cases
ea489133a Bump catboost from 1.1 to 1.1.1
884014a4b Fix some minor typos
5ba012c59 Disable "tick" in test_update_funding_fees_schedule
850b04357 Bump mkdocs-material from 8.5.7 to 8.5.8
d978ff6bf Bump orjson from 3.8.0 to 3.8.1
0bb57f738 Bump pytest from 7.1.3 to 7.2.0
37e066bd7 Bump prompt-toolkit from 3.0.31 to 3.0.32
224507dfa Bump progressbar2 from 4.1.1 to 4.2.0
f174b41fd Bump sqlalchemy from 1.4.42 to 1.4.43
01a31a6e0 Bump mkdocs from 1.4.1 to 1.4.2
1814f2560 Bump xgboost from 1.6.2 to 1.7.1
3cbbfde6b Bump jsonschema from 4.16.0 to 4.17.0
29585b5ec Improve worker iteration logic
2068a44fd Add test for new behavior
d48a9ae96 Add leverage to backtest results
1d2b89bc1 Improve handling of get_fee to not allow impossible combinations
3af177d8a bump ccxt to 2.1.33
43bdd3496 Optimize reduce_dataframe_footprint function
25b8d34fe Update backtesting test
53df60706 avoid duplicating features with okx/gateio, ensure inference timer gets logged
6e09d552a Properly handle and test ohlcv min_max with empty files
257c83383 add doc for single precision, dont allow half precision, add test
d4cfcbda2 move write_metrics_to_disk to proper place in param table
3ccc120f9 add option to force single precision
8bdc99a3d fix self-imposed bug
19d90b813 improve readibility in start_backtesting()
a7acfb7ab fix dict key error
90c5bfb4b add default conv_width
05b309caf ensure colon replaced for cached attach
6938ed658 change default conv_width to 1
db942321a fix bug with lightgbm and colons
d721b5023 flake8
3ba1e221e fix typo
6c4bdb8f6 remove special characters from feature names
356d79b38 verify mean and std exists in model metadata
ff619edeb Improve explanation comment as to why we're waiting ourselfs
b749f3edd add latency measure from ping in emc and ws_client
a0965606a update ws_client more verbosity, better readable time delta
000b0c219 prevent memory leaks from error in _broadcast_queue_data
cbede2e27 refactor channel.send to avoid queue.put
2dc55e89e better error handling channel send
55bf195bf remove debugging log calls
c2bdaea84 change exception handling in channel send
d848c2728 add task done to broadcast queue method
b3b756ec1 ensure test pass
e25dea7e0 update channel disconnecting
ce9273113 ensure backwards compatitibility
23b6915dd fix issue with different backtesting prediction size
1a38c10fc remove old code
255eb7127 start tracking the current candle in FreqAI, add robustness to corr_df caching and inference timer, add test for cache corr_df
63458a613 isort
2afa185dc add integrated tests for PCA and DBSCAN
d9f41e557 Update pyarrow prebuilt wheel
162056a36 fix flake8
97df232ac add a warning to __init__ for get_corr_dataframes
7b880a969 change elect to decide
fbc281e69 fix grammar, remove hyperlink
c3c6733b2 add statement of need to FreqAI docs
0f2e540a6 Update windows documentation about 32bit Windows
b3f612ecf Bump ccxt to 2.0.96
aa3d6dc29 Bump uvicorn from 0.18.3 to 0.19.0
be67eb958 Bump psutil from 5.9.2 to 5.9.3
39f145e7b Bump websockets from 10.3 to 10.4
ac86d1945 Bump ccxt from 2.0.58 to 2.0.90
7e12d0322 Bump colorama from 0.4.5 to 0.4.6
a5824f5cf Bump pyarrow from 9.0.0 to 10.0.0
7348a8074 Bump nbconvert from 7.2.1 to 7.2.3
30f0a4dba Bump pycoingecko from 3.0.0 to 3.1.0
eb01bed33 Bump scikit-learn from 1.1.2 to 1.1.3
41c2dc2c6 Bump plotly from 5.10.0 to 5.11.0
a49edfbae add tests for CatboostClassifier
d59a7fa2f remove analysis_lock and realign example hybrid strat
707b224af Update generic CI's to ubuntu 22.04
391c3f56f Add typehint to corr_pairlist
bd051cb20 Remove pandas workaround for pi image
7053f81fa simplified predict and predict_proba using super(). Added duplicate class label check.
fc53054d4 leverage list length...
Read more