Skip to content

Releases: freqtrade/freqtrade

2022.10

29 Oct 07:05
9adce8d
Compare
Choose a tag to compare

Highlighted changes

  • ProducerPairList - use pairs from a producer in your consumer.
  • Breaking change partial exit values will now be assumed to be stake_amount without leverage.
  • Breaking change custom_stoploss will be called with the candle's high (and corresponding profit) - to better mirror trailing_stop behavior.
  • Support for partially filled exit order cancellations (will be handled as partial exits - unless the remaining value would become unsellable).
  • send_msg() support for websockets and discord.
  • New subcommand list-freqaimodels to visualize available Model classes.
  • Improved iteration throttling, making sure data is available as soon as a new candle is available.
  • FreqAI enhancements
    • tensorboard integration for catboost.
    • new XGBoost freqAI models in XGBoostRFRegressor and XGBoostRFClassifier.

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
ec7d66349 Version bump 2022.10
9e0b39cdd Properly invert sign
d831d7d31 Rename Freqai hybrid example
fd5f31368 fix indent in initial df send
604f966c8 Enhance documentation with full space override sample
d94c0039e Add missing import to hyperopt docs
3fa50077c Don't use pydantic to type-verify outgoing messages
1ef38f137 Fix XGBoost regressor "used before assignment"
f12d40bd6 Update freqai-running.md
283dab667 Fix pydantic version pin
f70c00dd4 Improve variance around worker timing test
32600a113 fix broadcast
f93b6eec6 Improve timing for worker throttling
5bbd86151 Update binance sample config with better blacklist
6669714a7 Update mal-formatted docstrings
ba82cd9ba bump types-python-dateutil for pre-commit
b9bc91a88 Bump correct pandas version
afe0a29fb Bump pandas from 1.5.0 to 1.5.1
af89c83fa Bump pymdown-extensions from 9.6 to 9.7
06311b6a1 Bump pyjwt from 2.5.0 to 2.6.0
0328cd502 Bump scipy from 1.9.2 to 1.9.3
bde4fbbc5 Bump types-python-dateutil from 2.8.19.1 to 2.8.19.2
e516190b6 Bump mkdocs-material from 8.5.6 to 8.5.7
3480549f4 Bump python-rapidjson from 1.8 to 1.9
54d029da7 Bump ccxt from 2.0.25 to 2.0.58
96f4de442 Bump progressbar2 from 4.0.0 to 4.1.1
c29f96a64 Bump pytest-asyncio from 0.19.0 to 0.20.1
94b65a007 fix message typing in channel manager, minor improvements
49ff51f11 Change storage loc and fix test fail
10090a36d simplify throttle
d0571464d Improve test for worker throttle
c36141594 Simplify "refresh" condition
9cffa3ca2 add comment in channel
3d7a311ca removed sleep calls, better channel sending
2b6d00dde initial channel api change
abcc6dadf use pre-built pyarrow for pi image
47e93dd2b Update documentation
3a9853db1 use high/low for custom stoploss evaluation in backtesting
84a194bca Simplify stoploss logic by removing redundant condition
547fd2881 Price-jump detection should only run once
0ff7a0771 Move price_jump_warn to dataloading
b715d9c52 Improve fee handling
d1591883a add missing datetime conversion in fromJson
212b511bb Remove explicit rateLimit setting for freqAI config
bd424a877 Add Trade from_json method
0aa840792 Move persistence tests to package
f4814a7d5 Improve test resiliance to small roundings
107845afa Keep version number in docker versioning
60cb11a44 Add price jump warning
589944055 fix typos - live predictions candles
073ce1659 remove un-used f-string
295ba2138 Make extra_returns_per_train values available during backtest
7192ed7be Fix bug with dataframe not being 0 indexed
6e95b6667 Modify test ensuring we always have a 0 index
033c5bd44 Make check constant pred labels agnostic
c3d4fb9f1 Simplify backtest calling interface
c7fff1213 Rate-limit EMC startup to avoid overwelming the queue
441032be2 Fix sys.stdout bug for CatboostRegressorMultiTarget
b166c04cb Bring back asyncio.sleep to avoid overwelming the a consumer queue
c8e103e4a Adjust typehints to match return value
c2914feb1 Don't fail contract size repopulation if pair is no longer available
caf907e20 Update date-util precommit types
943f5f21f Improve get_pair_dataframe doc wording
abe4d32ea Update wording in get_analyzed_dataframe docs
6cb14148a Fix random test failure due to catboost bug
6252ae466 Convert position_stacking to attribute of backtest
8534dfb0d Extract backtest 1 candle from main function
0e8cf366f Keep trade state in LocalTrade
5aeea5b14 Bump ccxt from 1.95.30 to 2.0.25
7ec1e3b94 Bump fastapi from 0.85.0 to 0.85.1
600b88624 Bump lightgbm from 3.3.2 to 3.3.3
a9bb7db06 Bump sqlalchemy from 1.4.41 to 1.4.42
2ddfc7bbb Bump mkdocs from 1.4.0 to 1.4.1
8550eb513 Bump numpy from 1.23.3 to 1.23.4
dd3f62ac1 Bump types-python-dateutil from 2.8.19 to 2.8.19.1
e82baf5f6 Use helper-method to modify trades_open
82d75d891 Fix tests that failed due to new strategy.
b7dce8d24 Update stoploss.md
de9f5660f Fix counting available trade slots in backtesting.
b6c096d3b Simplify backtest condition
20fc52177 Fix constant PCA
99dbba6ca avoid reading from disk to instantiate large objects
d81eef0b7 add timestamps to each metric, use rapidjson
05ca725e4 Remove no longer needed local state
c8e6dad9c use exit_reason to determine left open trades
498289728 Fix catboost tests polluting CWD
93ad3810f Add test for list-freqaimodels
4bfe58706 Generalize "path" variables for resolvers
2ef315e8c Add documentation for list-freqaimodels
fda3a2827 add list-freqAI models command
4a8cb3359 Fix broken tests
9d4ba767c Update usages of search_all_objects
1d8d360a1 update _search_all_objects functioning
7f05b4437 Add eval set to CatboostClassifier
f01947105 Don't round prices if no custom prices have been used
7672586de Fix unreliable hyperopt test
c71c0e8da Fix some typos
28be784c2 Fix kucoin live test failure
204578081 Reinstate default of 1000% for roi
f8331e032 Add model libs info
75f1a123e Move "tickers_needed" check to pairlistmanager to cover all pairlists
39c27cfc3 Don't fail if fetchTickers is not availlable
96e6c1b19 Docs: add `ignore_buying_expired_candle_after` and `order pricing` to summary
a6f6a1739 Type fetch_ticker
52e952836 Improve ticker type
35f3f988d Improve price handling in priceFilter
afaca2167 use Type Alias for Ticker result to improve keyerror resiliancy
1e31be562 remove whitespace
dba1b573b remove tensorboard dir from other pred models
88b8f1863 add test for metric tracker
5b5bb8aab catboost tensorboard bugfix
30a45bb59 add XGBoostRF models to freqai test interface
16c0fef72 update timestamp calculation to correct int, remove internal ping interval
eb8c89fe3 move send delay to relay
5ada5eb54 fix error message, update exception import
c9eee2eba revert syntax
724be0afe add tensorboard asset to fai doc
5ffa3cb9b Update docs to mention `freqaimodels` directory
ee0d90d1a Automatically create freqai models directory
002a46c5a Fix typo in docstring
2ad086dd7 add XGBoost random forest predictors to freqai
eaae9c9e0 Update docstring format
60de192d4 Update Classifier docstrings
d3b2b2972 Update pairlist docstring to be less missleading
6be9b81f4 Fix workflow syntax error
d0b163764 Run coveralls only when needed
f120c6698 types-requests - update pre-commit
5218fb1df Bump types-requests from 2.28.11 to 2.28.11.2
13529fabb types-tabulate in pre-commit
3fcba2fb8 Remove hard-pin on python version in ci
c1dfa837b Bump mypy from 0.981 to 0.982
935adc99a Bump types-tabulate from 0.8.11 to 0.9.0.0
9d2f281ca Bump pytest-mock from 3.9.0 to 3.10.0
8bb7b94f8 Bump ccxt from 1.95.2 to 1.95.30
dab2759c2 Bump scipy from 1.9.1 to 1.9.2
40afa079b Bump tabulate from 0.8.10 to 0.9.0
337ea04ba Bump nbconvert from 7.0.0 to 7.2.1
db8cf6c95 disable ping interval in client
71bbffd10 update ws channel send to add data to queue
2c76dd9e3 change wait timeout to 30 seconds to better support reverse proxies
2f64a0862 set channel queue maxsize to 32
3e8d8fd1b refactor broadcasting to a queue per client
a4aa1b972 isolate and standardize location of tensorboard files, add doc, ensure backtesting functionality
76b33359a add an optional metric tracker to collect train timings, inference timings, and cpu load data
a10b2d003 Add freqai timeframe validation (incl. test)
4623c3ec1 Improve test resiliance
4f967fed9 Improve ccxt tests
db1132beb ensure required_candle_call_count is always set
8e3a4eca4 Remove unused type:ignore
4daf0000c Move check and add log warning
9454fb8f7 Fix discord message sending
df5ae6625 Refactor webhook method
1aedf08ba Update tests
ed12cddf3 Update docs with new wording for webhook settings
fb2f2d9a3 Allow webhook message setting directly
e337d4b78 Reset dataframe index after slice
0460f362f typo in handle func name
8fcb80df6 Add support for dp.send_msg() to webhooks
ec7af83c8 add tensorboard to freqai reqs
d42fb1560 Improve generic exception handler
a5bf34587 Improve fiat-convert behavior in case of coingecko outage
fab6b2f10 Align datetime import in fiat_convert
1595e5fd8 small fix in protocol
b92b98af2 fix formatting
3e08c6e54 testing/debugging ws client script
6e179c769 Only store tick refresh time if we cache
a9d5e04a4 Remove constant labels from prediction
86c781798 Add сatboost train_dir for tensorboard
7c702dd10 Add cache eviction
92a1d58df Evict cache if we didn't get new candles for X hours
f475c6c30 Add Specific, time-sensitive test-case for new behavior
638515bce Test advanced caching
678272e2e Improve test formatting
cea017e79 Age out old candles
b7f26e4f9 Update some formatting issues
02e238a94 Combine ohlcv data in exchange class for live mode
edb942f66 Add typing import to sampleStrategy
9b1fb02df Refactor generic data generation to conftest
7dbb78da9 Losely pin...
Read more

2022.9.1

02 Oct 05:15
Compare
Choose a tag to compare

2022.9.1

  • Fix memory-leak in cases with many pairs.
  • Fix verbose logging.
  • Fix FreqAI bug with PCA enabled.

Highlighted changes

  • merge_informative_pair now has an optional parameter in suffix - allowing for more control in column naming.
  • Producer/consumer mode - Create a cluster of freqtrade bots.
  • New, fast dataformats with feather and parquet.
  • FreqAI
    • New available Models XGBoost models (XGBoostRegressor, XGBoostClassifier, XGBoostRegressorMultiTarget)
    • FreqAI can now start training new models from the final state of the most recently trained model (continual learning).
    • FreqAI now supports hyperopt.
    • informative_pair() implementation no longer necessary.
    • Builtin feature performance plots.
    • Innovative inlier_metric - quantify how different a prediction data point is from the most recent historic data points.
    • Improved freqAI Documentation structure.

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
851d1e9da Version bump 2022.9.1
59cfde376 Fix pandas deprecation warnings from freqAI
c53ff94b8 Force joblib update via setup.py
03256fc77 Merge pull request #7508 from aemr3/fix-pca-errors
19b3669d9 Decrease message throughput
6841bdaa8 Update test to verify webhook won't log-spam on new messagetypes
8e101a9f1 Disable log spam from analyze_df in webhook/discord
d0456b698 Version bump 2022.9
80d0e66b4 Update log level in test
388a572cb Version bump develop version
ac229b7a4 Reduce message consumer verbosity
4e920e9c5 Reduce verbosity of sending-message
fb3d40833 Respect max_open_trades when forceentering
e9abe3cb6 Ease end of line rules
7e124618d Move "success" notification to last pipeline step
7c84edbc2 Avoid online call when asking for `/status`.
a06372c7b Improve jupyter container install
42cecb83f Disable base64 loading via API
e668bf713 Test case to disable base64 strategies via API
6c491ee02 Update missed changes to plot_feature_importance
895b15abb Fix rpi CI
24c1d8498 Fix lineending
9d462af04 Temporary workaround for PI image
8c2e473ee Fix  test warning
43e847ff2 Update to pandas 1.5.0 syntax, avoiding warnings
bc007ce03 Update binance leverage tiers
ba8c71469 Require kwargs on ohlcv_load
eb36105de Fix some random typos
9f32e02bb Update missing testcase
4faa6a0bd :bug: updated test case from StaticPairlist to StaticPairList
32930a269 Bump pandas from 1.4.4 to 1.5.0
8e0811d9d Call cleanup explicitly
ed2c960a9 Update types-requests for pre-commit
a1a62681b add fixes for random test failures
041258a54 Fix arm test failure
8ef3a41a0 Bump ccxt from 1.93.66 to 1.93.98
c4784c669 :pencil2: fixed typo from StaticPairlist to StaticPairList
5faaa25fa Bump aiohttp from 3.8.1 to 3.8.3
95a2d43e1 Bump types-requests from 2.28.10 to 2.28.11
a38f47e1a Bump mkdocs-material from 8.5.2 to 8.5.3
e54ed5b10 fix runtime error: dict changed size during iteration
f5535e780 change wording, switch FreqAI word format
48e89e68b fix typos
e53f0ce89 Update wheels to build with crypto fix
adb5b98a3 Fix pre-commit lineending
677c5719b improve inlier-metric figure
02dba5304 Revise FreqAI multipage docs structure
873d2a506 no model save backtest, plot features backtest, ensure inlier plays nice, doc
873eb5f2c Improve EMC config validations
1bd742f7e Properly setup pre-commit job
e63f9e1c1 Use pre-commit in Ci to check for all things
8d77ba118 Fix line endings
50dfde704 Remove unnecessary typing import
53c8e0923 Improve typing in message_consumer
166ae8e3a Remove missleading comment
98ba57ffa Better test for contract calculation change
4efe2e9bc use FtPrecise to convert to contracts and back
00b192b4d Add test to verify #7449
2cc00a1a2 Allow use of --strategy-list with freqai, with warning (#7455)
e429aa16f Add note about enter_tag handling
6643d90e6 simplify freqAI start_backtesting
af974443c add test
6b5d71049 add sleep
4c7cef570 typo in exception
b8e1d29a1 catch connectionclosederror
255ff000a typo in configuration.md
2fffe7c5d Fix missing comma
7c093388e Add pyarrow dependency
4576d291a Update data command outputs
7e1e388b9 Add feather/parquet docs
48352b8a3 Update hdf5 handler to reset index on load
0bbb6faeb Add generic datahandler test
a4eaff4da Add training elapsed time
5fb56b09f Test Feather/parquet datahandler init
983a16d93 Rudimentary "not implemented" test
044891f54 Add conditional formats depending on mode
dc2b93228 Add ParquetDataHandler
3c0d2c446 Add Feather datahandler (no trade mode yet)
7b4af8542 Remove double-init in test
f62f2bb1c Improve datahandler tests
2a5bc58df Split datahandler and history tests
b7c60e810 improve class diagram
06a5cfa40 Update "branding" to producer/follower mode
1626eb7f9 Update dataprovider function name to `get_producer_df`
e6c5c22ea Update websocket/follower docs
71e6c54ea Normalise distances before Weibull fit (#7432)
b1dbc3a65 remove function remove_training_from_backtesting and ensure BT period is correct with startup_candle_count
6a6ae809f fix jwt auth
77ed71323 add catch for invalid message error
128b117af support list of tokens in ws_token
0811bca8b revise docs, update dp method docstring
91dc5e7aa Be sure to provide an amount in entry notifications
08e183fb5 Add note about okx trading mode
366c6c24d Add docs for External Signals API
923182680 Explicitly define notification defaults
f7b8c5a76 Reorder telegram noise sample
02f2096fc Reverse and fix rangestability conditions
8f41f943b Fix 0.0 amount message wording
ff3643168 Adjust tests for new messageType handling
3b0874eb3 Update exit message handling to gracefully handle kucoins "empty" responses
0c01b23cb Capture exceptions in send_msg calls
0bd6ad55a Always show freqtrade version
8a91c8e22 Sort and dedup pairs before data conversion
6c18fa084 Update proxy docs
3274bb075 Remove msgpack for now
b5fd11f91 protect against unforeseen issues in scanning thread
32d46e8a6 Improve fixture naming
703bcc099 Fix list-pair regex to also support 1INCH/USDT
eb9ac9cbd add --exchange to convert-trade-data
42c75b4a7 combine log messages
9b66297cc Fix append
995396c77 Add useful log info
ad652817e Ensure train ordering after restart
ea58c29de Add plot_feature_importance to schema definition
4a0a0c307 Use json_load to load leverage tiers
d93093100 Bring back sleep - it'll ensure we give up control over the thread.
b5f51b5ec Bump fastapi from 0.83.0 to 0.85.0
15c9b6bf4 Bump mkdocs-material from 8.4.3 to 8.5.2
cbdb0ce3e Bump pyjwt from 2.4.0 to 2.5.0
f51271794 Bump ccxt from 1.93.35 to 1.93.66
4cdc89706 Bump joblib from 1.1.0 to 1.2.0
8116ca847 move trades_get_pairs to parent class
a06eee300 move ohlcv_get_pairs to parent class
584b2381d Fix Imports
470d5d840 ensure full new pairlist is in the queue
eaa43337d improve train queue system, ensure crash resilience in train queue.
edbe9137d Add Common pitfalls
95457d23c escape freqai-specific characters from file naming
994c1c5ea use Config typing in more places
667853c50 Use Alias to type config objects
188f75d8e set model in models dict
9f2358815 strategy template - remove pointless noqa's
7a73adb95 Improve default strategy template
faf84295a Separate strategy subtemplates for better overview
ab78fb373 Improve freqAI strategy formatting and readability
463493626 additional support for --data-dir
fa3d4b58a Revert unnecessary formatting
1ef875901 maintian user privacy by keeping plotly offline
68f7a3150 ensure continued operation despite not being able to plot
2c23effbf allow plot to plot multitargets, add test
1c92734f3 simplify plot_feature_importance call
c210d6614 Reorganise multipage doc
92a32ab31 Add documentation for stop-market on binance futures
063511826 Update stoploss on exchange logic
9f266cbcb Allow safe_price for market stop orders
ca6dec3d4 Binance spot also allows market orders
8639c1f23 Reduce complexity in binance stoploss handling
38b28fc4d Update duplicated test
4182a7891 Allow leverage tier cache to be 4 weeks old.
6682ae35b Update cached binance_leverage_tiers
10ec681b3 Clean up no longer needed informative sample code
d62cef01b Add test for __informative_pairs_freqai
0aada271c Move informative_pairs for freqAI to backend
4422ac7f4 constrain port in config, catch value error
86aa875bc plot features as html instead of png
b707a6da3 Add ability to plot feature importance
e5368f5a1 backtesting confirm_trade_entry should pass correct amount, not stake-amount
b0b575ead change json serialize to split orient
1ad25095c change test server from localhost to 127.0.0.1
7d1645ac2 fix tests and warning message
8e75852ff fix constants, update config example, add emc config validation
6126925db message size limit in mb, default to 8mb
711849abd Use Wheels for win builds
91bc3d116 Update docs aroudn use_exit_signal
49800e4cc pin ci python to 3.10.6 for now
aed19ff6c fix The future belongs to a different loop error
37dd22c89 Fixed a bug that prevents clearing old models
06350a13c support specifying message size in emc config
d75d5a7da debug ping error message
7a98775f0 Version bump apiVersion
46a425d1b fix OOM on emc test
7b6e465d5 Remove gate live test skip
877d24bcd Fix external dependency of test
d2abc9417 Simplify ws imports
79c70bd52 use WebSocketState from fastapi
aeaca7894 change port in send_msg test
07aa206f7 real fix for reconnecting
6d0dfd4dc continue trying connect on ping error
75ce9067d fix dp test
bf2e5dee7 add running false on shutdown, fix dp typing
12a3e90f7 fix tests
0697041f1 remove copy statement where not needed
c19a5fbe0 copy data being transferred, r...
Read more

2022.9

29 Sep 16:08
0680ca2
Compare
Choose a tag to compare

Highlighted changes

  • merge_informative_pair now has an optional parameter in suffix - allowing for more control in column naming.
  • Producer/consumer mode - Create a cluster of freqtrade bots.
  • New, fast dataformats with feather and parquet.
  • FreqAI
    • New available Models XGBoost models (XGBoostRegressor, XGBoostClassifier, XGBoostRegressorMultiTarget)
    • FreqAI can now start training new models from the final state of the most recently trained model (continual learning).
    • FreqAI now supports hyperopt.
    • informative_pair() implementation no longer necessary.
    • Builtin feature performance plots.
    • Innovative inlier_metric - quantify how different a prediction data point is from the most recent historic data points.
    • Improved freqAI Documentation structure.

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
665fd5d80 Version bump 2022.9
ac229b7a4 Reduce message consumer verbosity
4e920e9c5 Reduce verbosity of sending-message
fb3d40833 Respect max_open_trades when forceentering
e9abe3cb6 Ease end of line rules
7e124618d Move "success" notification to last pipeline step
7c84edbc2 Avoid online call when asking for `/status`.
a06372c7b Improve jupyter container install
42cecb83f Disable base64 loading via API
e668bf713 Test case to disable base64 strategies via API
6c491ee02 Update missed changes to plot_feature_importance
895b15abb Fix rpi CI
24c1d8498 Fix lineending
9d462af04 Temporary workaround for PI image
8c2e473ee Fix  test warning
43e847ff2 Update to pandas 1.5.0 syntax, avoiding warnings
bc007ce03 Update binance leverage tiers
ba8c71469 Require kwargs on ohlcv_load
eb36105de Fix some random typos
9f32e02bb Update missing testcase
4faa6a0bd :bug: updated test case from StaticPairlist to StaticPairList
32930a269 Bump pandas from 1.4.4 to 1.5.0
8e0811d9d Call cleanup explicitly
ed2c960a9 Update types-requests for pre-commit
a1a62681b add fixes for random test failures
041258a54 Fix arm test failure
8ef3a41a0 Bump ccxt from 1.93.66 to 1.93.98
c4784c669 :pencil2: fixed typo from StaticPairlist to StaticPairList
5faaa25fa Bump aiohttp from 3.8.1 to 3.8.3
95a2d43e1 Bump types-requests from 2.28.10 to 2.28.11
a38f47e1a Bump mkdocs-material from 8.5.2 to 8.5.3
e54ed5b10 fix runtime error: dict changed size during iteration
f5535e780 change wording, switch FreqAI word format
48e89e68b fix typos
e53f0ce89 Update wheels to build with crypto fix
adb5b98a3 Fix pre-commit lineending
677c5719b improve inlier-metric figure
02dba5304 Revise FreqAI multipage docs structure
873d2a506 no model save backtest, plot features backtest, ensure inlier plays nice, doc
873eb5f2c Improve EMC config validations
1bd742f7e Properly setup pre-commit job
e63f9e1c1 Use pre-commit in Ci to check for all things
8d77ba118 Fix line endings
50dfde704 Remove unnecessary typing import
53c8e0923 Improve typing in message_consumer
166ae8e3a Remove missleading comment
98ba57ffa Better test for contract calculation change
4efe2e9bc use FtPrecise to convert to contracts and back
00b192b4d Add test to verify #7449
2cc00a1a2 Allow use of --strategy-list with freqai, with warning (#7455)
e429aa16f Add note about enter_tag handling
6643d90e6 simplify freqAI start_backtesting
af974443c add test
6b5d71049 add sleep
4c7cef570 typo in exception
b8e1d29a1 catch connectionclosederror
255ff000a typo in configuration.md
2fffe7c5d Fix missing comma
7c093388e Add pyarrow dependency
4576d291a Update data command outputs
7e1e388b9 Add feather/parquet docs
48352b8a3 Update hdf5 handler to reset index on load
0bbb6faeb Add generic datahandler test
a4eaff4da Add training elapsed time
5fb56b09f Test Feather/parquet datahandler init
983a16d93 Rudimentary "not implemented" test
044891f54 Add conditional formats depending on mode
dc2b93228 Add ParquetDataHandler
3c0d2c446 Add Feather datahandler (no trade mode yet)
7b4af8542 Remove double-init in test
f62f2bb1c Improve datahandler tests
2a5bc58df Split datahandler and history tests
b7c60e810 improve class diagram
06a5cfa40 Update "branding" to producer/follower mode
1626eb7f9 Update dataprovider function name to `get_producer_df`
e6c5c22ea Update websocket/follower docs
71e6c54ea Normalise distances before Weibull fit (#7432)
b1dbc3a65 remove function remove_training_from_backtesting and ensure BT period is correct with startup_candle_count
6a6ae809f fix jwt auth
77ed71323 add catch for invalid message error
128b117af support list of tokens in ws_token
0811bca8b revise docs, update dp method docstring
91dc5e7aa Be sure to provide an amount in entry notifications
08e183fb5 Add note about okx trading mode
366c6c24d Add docs for External Signals API
923182680 Explicitly define notification defaults
f7b8c5a76 Reorder telegram noise sample
02f2096fc Reverse and fix rangestability conditions
8f41f943b Fix 0.0 amount message wording
ff3643168 Adjust tests for new messageType handling
3b0874eb3 Update exit message handling to gracefully handle kucoins "empty" responses
0c01b23cb Capture exceptions in send_msg calls
0bd6ad55a Always show freqtrade version
8a91c8e22 Sort and dedup pairs before data conversion
6c18fa084 Update proxy docs
3274bb075 Remove msgpack for now
b5fd11f91 protect against unforeseen issues in scanning thread
32d46e8a6 Improve fixture naming
703bcc099 Fix list-pair regex to also support 1INCH/USDT
eb9ac9cbd add --exchange to convert-trade-data
42c75b4a7 combine log messages
9b66297cc Fix append
995396c77 Add useful log info
ad652817e Ensure train ordering after restart
ea58c29de Add plot_feature_importance to schema definition
4a0a0c307 Use json_load to load leverage tiers
d93093100 Bring back sleep - it'll ensure we give up control over the thread.
b5f51b5ec Bump fastapi from 0.83.0 to 0.85.0
15c9b6bf4 Bump mkdocs-material from 8.4.3 to 8.5.2
cbdb0ce3e Bump pyjwt from 2.4.0 to 2.5.0
f51271794 Bump ccxt from 1.93.35 to 1.93.66
4cdc89706 Bump joblib from 1.1.0 to 1.2.0
8116ca847 move trades_get_pairs to parent class
a06eee300 move ohlcv_get_pairs to parent class
584b2381d Fix Imports
470d5d840 ensure full new pairlist is in the queue
eaa43337d improve train queue system, ensure crash resilience in train queue.
edbe9137d Add Common pitfalls
95457d23c escape freqai-specific characters from file naming
994c1c5ea use Config typing in more places
667853c50 Use Alias to type config objects
188f75d8e set model in models dict
9f2358815 strategy template - remove pointless noqa's
7a73adb95 Improve default strategy template
faf84295a Separate strategy subtemplates for better overview
ab78fb373 Improve freqAI strategy formatting and readability
463493626 additional support for --data-dir
fa3d4b58a Revert unnecessary formatting
1ef875901 maintian user privacy by keeping plotly offline
68f7a3150 ensure continued operation despite not being able to plot
2c23effbf allow plot to plot multitargets, add test
1c92734f3 simplify plot_feature_importance call
c210d6614 Reorganise multipage doc
92a32ab31 Add documentation for stop-market on binance futures
063511826 Update stoploss on exchange logic
9f266cbcb Allow safe_price for market stop orders
ca6dec3d4 Binance spot also allows market orders
8639c1f23 Reduce complexity in binance stoploss handling
38b28fc4d Update duplicated test
4182a7891 Allow leverage tier cache to be 4 weeks old.
6682ae35b Update cached binance_leverage_tiers
10ec681b3 Clean up no longer needed informative sample code
d62cef01b Add test for __informative_pairs_freqai
0aada271c Move informative_pairs for freqAI to backend
4422ac7f4 constrain port in config, catch value error
86aa875bc plot features as html instead of png
b707a6da3 Add ability to plot feature importance
e5368f5a1 backtesting confirm_trade_entry should pass correct amount, not stake-amount
b0b575ead change json serialize to split orient
1ad25095c change test server from localhost to 127.0.0.1
7d1645ac2 fix tests and warning message
8e75852ff fix constants, update config example, add emc config validation
6126925db message size limit in mb, default to 8mb
711849abd Use Wheels for win builds
91bc3d116 Update docs aroudn use_exit_signal
49800e4cc pin ci python to 3.10.6 for now
aed19ff6c fix The future belongs to a different loop error
37dd22c89 Fixed a bug that prevents clearing old models
06350a13c support specifying message size in emc config
d75d5a7da debug ping error message
7a98775f0 Version bump apiVersion
46a425d1b fix OOM on emc test
7b6e465d5 Remove gate live test skip
877d24bcd Fix external dependency of test
d2abc9417 Simplify ws imports
79c70bd52 use WebSocketState from fastapi
aeaca7894 change port in send_msg test
07aa206f7 real fix for reconnecting
6d0dfd4dc continue trying connect on ping error
75ce9067d fix dp test
bf2e5dee7 add running false on shutdown, fix dp typing
12a3e90f7 fix tests
0697041f1 remove copy statement where not needed
c19a5fbe0 copy data being transferred, remove debug messages in emc
b6434040d Remove plain json serializer implementation
867d59b93 Improve type specifitivity
0052e5891 emc: Fix potential startup timing issue
a477b3c24 remove log line, fix tests to not connect to actual ip
10852555e change verbosity of testing log
457075b82 one more line
d6205e6cf test logging lines
f45824acf Bump precommit types/requests
7ee92db7a Bump aiofiles from 0.8.0 to 22.1.0
00db473f1 Bump cryptography from 37.0.4 to 38.0.1
4ac804f79 Bump numpy from 1.23.2 to 1.23.3
09cdce864 Bump ta-lib from 0.4.24 to 0.4.25
715a714...
Read more

2022.8

31 Aug 04:24
958a456
Compare
Choose a tag to compare

Highlighted changes

  • FreqAI: an interface enabling users to train, backtest, and deploy custom predictive models.
  • Strategies can now send notifications via self.dp.send_msg().
  • Slightly modified liquidation price handling, allowing liquidation prices to change as needed.
  • Support for partial exits through adjust_trade_position(). Make sure to read the documentation to understand how calculations for this will work.
  • Partial exits through FreqUI.
  • /whitelist telegram commands now support optional arguments "sorted" and "nobase".
  • Add --show-timerange to the list-data subcommand to show available timerange.
  • Okx leverage tier caching (Speeds up startup).
  • Improved backtesting results by applying exchange precision limits.

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
2403a03fc Version bump 2022.8
8b0cfe123 Reduce image sizes in freqai doc (#7304)
a44a235b5 isort imports in tests/freqai
6634229cc appease the flake8 gods
fcb5d1cb5 remove debugging flag
dd628eb52 add tests for outlier detection and removal functions
1e41c773a fix outlier protection
22b42e91f add new parameter to freqai doc
b9f35cadb add /stopentry alias for /stopbuy
59a723aec Add /health to rest client
71f7d6878 Fixed mypy error
c3e74e6e8 Improve doc wording
2b70c3d0c support price callback for partial exits in bt
9204f0131 Don't lock pairs on partial exit
86c5ac44e Add outlier percentage check
2ef4534fe Fix ccxt / longrun tests
efe4fd3e2 Add libgomp1 to dockerfile
01126c43f Fix liquidation price tier calculation
753d1b2aa Update leverage tier terminology to be clear and aligned with ccxt
b2d664c63 Change MinPts calculation
53d46a038 align `max_entry_position_adjustment` behavior of backtesting to live
1fd223c81 Update --prepend help string
f2a356a80 Fix some imports
6636f17e0 Simplify usage of amount_to_contract precision
9e48e6a40 Update docs about precision limits in backtesting
205ab26e9 Remove TODO in test
70df03769 Improve test precision
32faad933 Fix backtest calculation problem with DCA
a6d78a861 initialize Since parameter properly
fe7108ae7 Convert amount to contracts before comparing for close
78b161e14 add contract_size to database
6036018f3 Extract contracts_to_amount and amount_to_contracts to standalone functions
1b0f37a93 Fix documentation typo
5f38a574c Add okx broker id
5ce1c6980 Improve DBSCAN epsilon identification (#7269)
96d8882f1 Plug mem leak, add training timer
f55d5ffd8 Don't fail when `--strategy-path` is not a valid directory.
015be770c ccxt now defaults to base volume for all markets
93d2f7fc8 types-requests bump pre-commit
ff9ed1aba Bump ccxt from 1.92.20 to 1.92.52
354d3c0cd Bump time-machine from 2.7.1 to 2.8.1
eeb177110 Bump jsonschema from 4.9.1 to 4.14.0
70848a258 Bump types-requests from 2.28.8 to 2.28.9
3958e53aa Bump mkdocs-material from 8.4.0 to 8.4.1
dfa7d1fc2 Bump fastapi from 0.79.0 to 0.79.1
2dc34779d Fix line length
f6d832c6d Add get_option to expose ft_has via method
87a311507 Add get_open_trade_count() to simplify getting open trade count.
085f81ec9 Fix header indent on stake-size-management
0ec38e0cf Fix typo in docs
1fb2e9558 Disable caching of leverage tiers in ccxt compat methods
5b3f03159 Use hyperopt safe amount precision method
4511634f3 improve test coverage
738e95b87 Add tests for leverage tiers caching
b6e8b9df3 Use cached leverage tiers
52ec0d104 Update binance Leverage tiers
7563050f1 Realign tests to precision backtesting
0da060083 Have backtesting respect tradable size
54ddc1a4c Add --tradingmode alias
aa3da092a Dont' use classProperty - that's not supported on 3.8
665cf4431 Add explicit test cov. for .range behavior
692c6bf1f Added and updated figs and fig descriptions
88d6a7fbf additional edits
9c6b745f0 Restructure and improve doc, add fiq
b9d48c327 use numbers in HyperoptState properly ...
1389c8f5b Update documentation with show-timerange option
733f71681 Update documentation
bc359675a Add --analyze-per-epoch - moving populate_analysis to the epoch process
09f890454 Extract analysis to separate method
08ef5ad2d Add HyperoptState enum and container class
1c6f96657 Hyperopt: simplify parameter "can_optimize" handling
16af10a5b Update notebook sample with simplified datadir configuration
b7553d20d Get min/max data in list-data command
7d84ef2e2 Remove unused imports
521381ebf undo example strategy newline
cfa5b3f12 add new line
277245c69 remove line
b420614d6 Reduce code duplication in datahandlers
975bf8fe8 Update Docstring to match actual return values
47b314353 Simplify and fix some tests
42eb50851 Attempt fix of #7184
76a3e97e0 Add migrations end message
70a77ba3d Check for "last" availability in PrecisionFilter
1fada53dd remove newline
85b43ec1a Remove double-check for "isolated margin"
fde469a25 Remove unnecessary check
075e9b852 Log Exchange responses for set_leverage
46e8d9a5e Reduce verbosity when whitelist is empty
18fab8643 Add dock segment about webserver mode for docker
0461a8934 Fix test failures
f70b0bab8 remove line
66910bfe6 Don't fail if mark candles are missing
9c38c27ee ignore sample itself distance for avg_mean_dist computation
72c34291e newline
398336822 gateio futures is showing base currency in volume!
c615e1bc6 Avoid loop error during ccxt tests
b9667f50c Fix random test failure
e7902bffa Remove checks for dataprovider existance - it's available in all modes.
e0883a4ea Improve doc wording
819bc7194 Update docs for freqai docker container
463cf6688 Fix bad image name
c8d7c2caa Update CI to build and push freqAI images
8d182768f stoploss should also use trimmed prices
0b0e7eaf9 Mutex TTL Cache accesses which can be accessed by multiple threads
24690c191 Don't convert open_rate to precision
3b44dc52e Minor corrections
ea6bc47d7 gateio default configs should specify unknown_fee_rate
5dde011b3 Add unknown_fee_rate to full sample config
a1e4fbf31 Run price_to_precision for dry-run orders
1ac81aa31 Show message if fee update failed due to missing
4c0fda400 fix input shape warning for LGBMClassifier, add sample_weights/eval_weights
fa89368c0 Add test for precision backpopulation
96d2f6181 Properly round timestamps to avoid constant log messages
b8c1cf010 Fix test leakage if config is available
15a1c59a9 Backtesting should cache precisionMode
a73e4f8e4 Truncate amount before comparing for closure
2fb7a3091 Improve backfill of precisions
a5b438e41 Run price_to_precision for dry-run orders
1dd56e35d Ensure comparisions align when closing a trade
e4b7bcaea Fix some tests
e81879742 Minor fix in amount_to_precision logic
c0bdb7181 Update docstring
f2b6ff910 Accept wrong pair in get_precision_amount
e6af9a690 Allow empty precisionMode on conversions
c3f159bd5 Add precision fields to database
22241c55d Add methods to get precision_amount from markets
15e85797c Simplify to_precision tests and imports
6c3233174 Move precision calculations to standalone functions
c7e171921 Fix interface import sorting
398b2946b Update test formatting
dba7d7fd6 Bump ccxt from 1.91.93 to 1.92.20
6fb5fbdd3 Bump orjson from 3.7.11 to 3.7.12
bc79027cf Bump mkdocs-material from 8.3.9 to 8.4.0
2581acd75 Bump filelock from 3.7.1 to 3.8.0
baa0af68b Bump plotly from 5.9.0 to 5.10.0
025ff27dd Bump numpy from 1.23.1 to 1.23.2
96c279f86 Bump nbconvert from 6.5.0 to 6.5.3
4b708caa6 Bump sqlalchemy from 1.4.39 to 1.4.40
3f6d42708 add a check for number of training features in tests
006b11e5d fix leftover bug in indicator population
8961b8d56 merge in inference timer and historic predictions handling improvements.
ad846cdb7 fix lock bug, update docstring
464d99808 Update doc table formatting
d442383a1 Fix ta-lib install script
a29402ddd Rename and move analysis_lock to data_kitchen
3a9ec76c9 Move "freqai.lock" to backend to simplify user interface
a5e96881f slightly update doc wording
e7513c96b install py-find-1st from conda forge
24f1dc4ec Update patched ta-lib install for conda
044cf8bb2 Allow new whitelist combination in "button" commands
c9c128f78 finalize logo, improve doc, improve algo overview, fix base tensorflowmodel for mypy
8d9284a52 Fix docs edit button
7a2b4dbb9 Fix docs edit button
58de20af0 make BaseClassifierModel. Add predict_proba to lightgbm
31be707cc clean up code, add docstrings
3e38c1b0b take dynamic sized tail off historic_predictions as return dataframe to strategy.
7d448fd4a allow fit_live_predictions access to current pair
1f192be43 avoid denormalizing labels twice
b1b76a2db debug classifier with predict proba
23cc21ce5 add predict_proba to base classifier, improve historic predictions handling
61acbf21d Fix broken telegram tests
7075b00e2 Remove odd dry run stoploss behavior
7c18ec405 Add missing key to "full" config sample
e09fbe9e5 Improve test resiliance
d36da9594 Fix bad import
82ac8cb41 Add freqai backtesting_load test
0b92c30ab Fix typo in test file
5aaab75d1 Add test for dynamic_pairlist_expand
1ac6ec144 Fix failing test...
b682fc446 Graciously fail if strategy has freqAI code, but freqAI is not enabled.
c190d57f1 Test populate_any_indicator interface
3918f4abb Simplify strategy interface by removing explicit self.freqai_info assignment
3b827ee60 Add "freqai.enabled" flag to disable freqAI via config flag
49989012a Bump catboost requirement to latest
f6545ebdb Disallow backtesting with --strategy-list for now.
e3a5b97b4 Update recalc_from_trades to use FtPrecise
9513c39a1 Fix migration rounding test
3bcb47d75 Remove usage of Decimal
902afc2f0 Us...
Read more

2022.7

30 Jul 14:07
046ae18
Compare
Choose a tag to compare

Highlighted changes

  • Add "leverage" as argument to custom_stake_amount() call.
  • Show candle values (ohlc) in telegram notifications (off by default!).
  • Fix hyperopt for derived/inherited strategies.
  • Improved dry-run fee handling, using maker/taker fees where appropriate.
  • Hyperopt now supports --timeframe-detail (be very careful with memory usage!).
  • New parameter required_profit in StoplossGuard.

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
28b477308 Version bump 2022.7
d70650b07 Add note for plot-dataframe and current-whitelist
cc3ead9d7 Set required_profit for stoploss guard, allowing to ignore small stoplosses.
2595e40e4 Remove unused test-strategy
a0b938875 Bump ccxt to 1.91.29
4c68bec17 Fix problem in `is_cancel_order_result_suitable`
ea112fb58 Add test for empty order (cancelled order)
47b52d4ba Bump types-dateutil in pre-commit
40969f20b Bump types-python-dateutil from 2.8.18 to 2.8.19
93340f546 Bump mypy from 0.961 to 0.971
43343d0e5 Revert markdown to 3.3.7
3ce46ff09 Bump types-requests in pre-commit
f93a3a5fc Bump ccxt from 1.90.89 to 1.91.22
98d0ad76b Bump types-requests from 2.28.1 to 2.28.3
d5933fb2a Bump mkdocs from 1.3.0 to 1.3.1
1b49e4522 Bump orjson from 3.7.7 to 3.7.8
83cac7bee Improve some more tests by adding proper orders
6e691a016 Use leverage-tiers loading in tests
2eb1d18c2 Don't load leverage tiers when not necessary
7682c9ace Update trade_close test to include orders
24a786bed Update rpc test to contain sell order
80845807e Improve some test resiliance
a02d02ac1 Enhance protections tests to have orders in mock trade
5c4f60f37 Improve configuration table formatting and ordering
e97468964 Add support for --timeframe-detail in hyperopt
32c3f6293 Fix documentation typo
b609dbcd8 Update mdx_truly_sane_lists to be compatible with markdown again
75e190ff1 Update sell-test without filled buy order
0daa9d3e5 Bump types-requests in pre-commit
ea523136f Bump types-requests from 2.28.0 to 2.28.1
d2ef24878 Bump markdown from 3.3.7 to 3.4.1
f07ad7aa8 Bump ccxt from 1.90.88 to 1.90.89
cb63d5e3d Bump fastapi from 0.78.0 to 0.79.0
5f820ab0a Bump pytest-asyncio from 0.18.3 to 0.19.0
2c6fb617a Bump jsonschema from 4.6.2 to 4.7.2
46be1b877 Version bump ccxt to 1.90.88
05a5ae4fc Update plotting to use entry/exit terminology
9347677c6 Uppdate pricecontours test to not recreate backtesting every loop
423af371c Simplify calculation by calling "get_fee" only once
4172f92bf simplify dry-run taker/maker selection
8b2535a8d Update Typing for fees
bf07d8fe8 Update test to properly patch/mock exchange
357000c47 Extract exchange validation to separate method
d03dfb393 Oder cost is real cost (including leverage)
ed64e4299 Stoploss orders should also be eligible to update closed fees
415780a4f gateio order cost is not in contracts
7b8a5585d Fetch 2ndary stoploss order once the order triggered.
7c4dd4c48 Support fee cost as string
40e2da10f Add hypeorpt cloudpickle magic
e53e53087 Add test showing broken inheritance hyperopt
2e642593e Update formatting of hyperopt_conf fixture
29efe75a6 Update hyperoptable strategy to use V3 interface
1c7f60103 Don't use master for publish CI action
fada432f4 Pin markdown docs dependency
b657a4df2 Improve hyperopt docs
cdc58058d Add candletype to notebook example
5c164efdb Also check for createLimitOrder as optionals
b9ba94d64 Bump ccxt to 1.90.47
bf992fd9d Add test for newly added functionality
f9d3775d4 Move "candle" logic for message to telegram
9a3a2f901 Simplify adding candle to message
8e8f026ea Telegram candle message should be configurable
ec3179156 Revert unwanted changes.
64f89af69 Add Explicit test for "has" checks
6ac1aa15f Reenable ccxt order checks
f8e35d876 Add TODO to disabled test
523d8a84a skip "supports market order" for now until CCXT fixes their assignemnt bugs.
7d6b3d0e0 Update hyperopt param docs to be clear that non-conclusive parameters will be ignored
0bb8c8feb Bump python-rapidjson from 1.6 to 1.8
c06b524b4 Bump urllib3 from 1.26.9 to 1.26.10
7c6c2c4d6 Bump cryptography from 37.0.2 to 37.0.4
7b998378c Bump numpy from 1.23.0 to 1.23.1
fa158ba8d Bump pre-commit from 2.19.0 to 2.20.0
719fa6f8e Bump orjson from 3.7.6 to 3.7.7
c98786a4f Bump jsonschema from 4.6.1 to 4.6.2
b1d34dba9 Bump ccxt from 1.90.40 to 1.90.41
5070a04a8 Bump mkdocs-material from 8.3.8 to 8.3.9
9086176f7 Bump pytest-mock from 3.8.1 to 3.8.2
494e0529d Update conftest for leverage tiers
9313a2d29 Update leverage tiers to latest version
ea5f41aa6 Version bump ccxt
aab59a8ca Bump ccxt to required version
c98e7ea05 Revert allowing empty currency for futures
b7167ec88 Fix wrong fee calclulation for gateio futures
5b733a723 use "fees" for trades responses
81f7d77d7 Allow fee currency to be empty for futures
2499276fc Refactor calculate_fee_rate to take separate parameters instead of an "Order"
e52f82b56 Add leverage to custom_stake_amount callback
b39508f64 remove loadMarkets from "required" section,
2dc46ca0b Add cost to partial test buy order
dbc3376fe Add alias for gate to gateio
514f7d491 change rejected to denied
647f9b546 replace the word abortion with rejected in log messages
6f0721ae2 Update dry-order-fix to use sqlalchemy internals
fe8083c7f Improve test for dry-run orderclosing
6da3fa08e Update migrations to also support Postgres
5820fc3b4 Bump jsonschema from 4.6.0 to 4.6.1
0a8a0c66b Bump requests from 2.28.0 to 2.28.1
dd21d963f Bump ccxt from 1.89.14 to 1.89.96
9a8d03b1f Bump uvicorn from 0.18.1 to 0.18.2
0555d7783 Bump python-telegram-bot from 13.12 to 13.13
b16bb23cc Bump prompt-toolkit from 3.0.29 to 3.0.30
92d189a84 Bump orjson from 3.7.3 to 3.7.6
405ea74f1 stopPrice
7fe8b7661 Display the signal candle analyzed in telegram.
10cbb5e67 test_exchange::test_taker_or_maker fixes
86ad5dd02 test_exchange::test_taker_or_maker fixes
dac9931b4 test_create_dry_run_order_fees
5d9aee6b7 test_taker_or_maker
e8803477d exchange/exchange add param taker_or_maker to add_dry_order_fee

2022.6

03 Jul 17:42
2db5cc1
Compare
Choose a tag to compare

Highlighted changes

  • New sub-command backtesting-analysis - allowing detailed entry/exit reason analysis.
  • Hyperoptable parameters can now be added to the instance (self) from within bot_start().
  • Improved handling of old orders after longer "downtime".
  • Specific Discord webhook message formatting.
  • Open orders will now be shown in the UI detail pane.
  • Relative profit is shown in /daily, /weekly and /monthly telegram commands.
  • buy/sell Telegram messages now contain a marker if the trade was made in a dry run.
  • Additional metrics in /profit telegram command.

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 ``` c1d4078 Version bump to 2022.6 07aa372 Ensure bot_loop_start is called in hyperopt, too c5e6520 Reorder methods in freqtradebot f2fdc21 Only use exit_tag if exit_type i exit_signal 906c7b9 Add enhance testcase to show problematic exit_reason behavior 86f4077 update dateutil precommit f2bc35e Bump types-python-dateutil from 2.8.17 to 2.8.18 74471e4 update tabulate precommit types 8b17985 Bump types-tabulate from 0.8.9 to 0.8.11 0c69a08 update requests precommit f6e058a Bump types-requests from 2.27.30 to 2.28.0 d60127a Bump time-machine from 2.7.0 to 2.7.1 82ef97a Bump pandas from 1.4.2 to 1.4.3 01185ab update cachetools precommit 9a9d1a8 Bump orjson from 3.7.2 to 3.7.3 0ef2c81 Bump ccxt from 1.88.15 to 1.89.14 6510c8d Bump tabulate from 0.8.9 to 0.8.10 efee148 Bump types-cachetools from 5.0.2 to 5.2.1 8b7dc03 Bump plotly from 5.8.2 to 5.9.0 963f38a Bump sqlalchemy from 1.4.37 to 1.4.39 45db234 Bump mkdocs-material from 8.3.6 to 8.3.8 4840c7d Bump pytest-mock from 3.7.0 to 3.8.1 92dbb0d Bump uvicorn from 0.17.6 to 0.18.1 b5d0bc9 Clarify stoploss behavior when not defining offset 2b07d34 Revert several undesired changes ddc355f Bump numpy from 1.22.4 to 1.23.0 90feccf slightly update custom dockerfile with add. comment 53e5483 Store StopPrice for dry-run orders 15fac74 Bump mkdocs-material from 8.3.4 to 8.3.6 3189b28 Fix tests condition 1cd2b05 Run regular tests for 3.9 under other ubuntu systems e1e3a90 Bump ccxt from 1.87.12 to 1.88.15 996372b Bump colorama from 0.4.4 to 0.4.5 50c19ec Fix ccxt test gateio flukyness f9668ed Fix CI Syntax error 0804fc7 CI should run ccxt tests only once 55fb765 Update pre-commit cachetools 8406010 Bump types-cachetools from 5.0.1 to 5.0.2 0d967f9 Improve performance of some RPC calls 0809f9a Add offset to trade response 0168343 Add trading-volume to api schema 474e670 Add Profit factor to backtesting 53bfa79 Add rudimentary test for prior bug 8c46d19 Fix backtesting bug b7e4dea Document new Profit metrics 40c9abc Add trading volume to /profit output 6a15d36 Add Drawdown and profit_factor to /profit d77ce46 Add "dry" hint to buy/sell messages 03815cb Use fstrings in telegram messaging d622732 Update /help for /fx to align with actual command name 017fd03 Fix but with late entries in backtesting 616bf31 gateio: futures market orders require IOC to be set. fda8248 Gateio allow market orders on futures markets 6bdf9c2 Simplify trade profit calculations further 91f9818 Simplify trade calculations d7770c5 Remove implicit use of certain rates in profit calculations 76cae8e Update tests to always provide rate to profit calculations 575b4ea Update Test with funding_fee 0 14a859c Improve some documentation around futures / leverage 8f32fa5 Avoid exception on exchange recycling if __init__ fails f9e2e87 Improve some formatting and typehints e2e6c79 Minor doc update 4a5ed5a Fix tests c391ca0 Change backtesting-analysis options to space separated lists 29d8aeb Don't fail on invalid parameter 3c62df6 Ensure the same timestamp is used for backtest and signal export 6bb342f Add export-filename support 01a68e1 Remove unnecessary check and condition 1ffee96 Fix protection parameters not loading from parameter file d5fd1f9 Improve order filled handling 848a5d8 Add small stability fix to test 35adeb6 Bump plotly from 5.8.0 to 5.8.2 850f5d3 Bump orjson from 3.7.1 to 3.7.2 fdca583 Bump pymdown-extensions from 9.4 to 9.5 cb2f89b Bump requests from 2.27.1 to 2.28.0 43b8b0a Bump mypy from 0.960 to 0.961 71f314d Bump ccxt from 1.85.57 to 1.87.12 ee0b9e3 Bump mkdocs-material from 8.3.2 to 8.3.4 e67d29c Update more trades to use create_mock_trades 70966c8 Bump actions/setup-python from 3 to 4 8fd245c Update pre-commit filelocktypes 43c871f Use time-machine to stabilize time-sensitive tests 390e600 Update statistics output 40c7caa Bump types-filelock from 3.2.6 to 3.2.7 7619fd0 Update telegram tests to use mock_trades dff83ef Update telegram profit test to USDT 56652c2 Improve test resiliance c9761f4 FreqUI should be installed by default when running setup.sh 4b70e03 Add some rudimentary tsts for discord webhook integration fdfa94b make discord notifications fully configurable. f816c15 Update discord message format 3a06337 Update API to provide new values. 9ba11f7 Update docs and tests for new daily command 76827b3 Add relative profit to daily/weekly commands 0a801c0 Simplify daily RPC test 1a5c3c5 Simplify weekly/monthly tests, convert to usdt ab6a306 Update daily test to USDT 2c7c5f9 Update mock_usdt trade method 76f8737 Reduce decimals on FIAT daily column 7142394 remove random_state condition ad3c017 time aggregate to only query for data necessary dce9fdd don't overwrite is_random 8fb743b improve variable wording 3c2ba99 Improve sql cheatsheet docs a9c7ad8 Add warning about sqlite disabled foreign keys 1ddd5f1 Update docstring throughout the bot. 88f8cbe Update tests to reflect new naming b211a51 Add test for strategy_wrapper lazy loading a547001 Reduce Telegram "unit" stats d4dd026 Consolidate monthly stats to common method 3cb15a2 Combine weekly and daily profit methods c550cd8 Simplify query in freqtradebot d265b8a Bump python from 3.10.4-slim-bullseye to 3.10.5-slim-bullseye 7eacb84 Fix backtesting bug when order is not replaced ac40ae8 give extra info on rate origin for confirm_trade_* 381d648 version-bump ccxt 9534d6c Cancel orders which can no longer be found after several days 057be50 Remove old concurrency method 0b806af Add orders column to btresult 82c5a6b Update CI to use concurrency ea9b68b Add updating freqtrade to updating desc 99f6c75 Bump types-requests precommit 05922e9 Bump ccxt from 1.84.39 to 1.84.97 4affa75 Bump sqlalchemy from 1.4.36 to 1.4.37 963dc02 Bump types-requests from 2.27.29 to 2.27.30 35316ec Bump jsonschema from 4.5.1 to 4.6.0 6547f3a Bump mkdocs-material from 8.2.16 to 8.3.2 04cb49b Bump filelock from 3.7.0 to 3.7.1 786bc36 Bump orjson from 3.6.8 to 3.7.1 79107fd Add minimal order object serialization 8369d5b Include open orders in json responses c0ff554 Cleanup old, left open dry-run orders f709222 Properly close out orders in backtesting c499bb0 Allow empty unfilledtimeout for webserver mode a790bad Add entry_tag to leverage callback 27bea58 Fix rest-client script's force_enter eb4adea fix flake8 issues 45c47bd refactor into discord rpc module afd8e85 feat: add support for discord notification ea537b3 Update tests for leverage_tier_loading cce8d1a Update get_market_leverage_tiers to be async be6e081 Remove --strategy from analysis test c285ad0 Remove --strategy parameters, update docs 056047f Fix --help 9a068c0 Add test for each analysis group, remove default table output if not indicator-list 24b0212 Update docs df1c36e Change command name, use load_backtest_stats for strategy resolving e7c5818 First pass changes for cleaning up 43b7955 Fully rely on pathlib 145faf9 Use tmpdir for testing 21e6c14 Final test changes f5c2930 Presume that pytest will call the cleanup call 2873ca6 Add cleanup, adjust _print_table for indicators, add rsi to test output edd474e Another test fix attempt 22b9805 Fix all tests 3adda84 Update docs, add test 8c03ebb Fix group 0 table, add pathlib.Path use 80c6190 Fix analyze_commands setup ae1ede5 Fix import order a1a09a8 Add analyze_commands 9488e89 First commit for integrating buy_reasons into FT 2b61aa2 Removed None in dict.get()


</details>

2022.5.1

01 Jun 04:38
Compare
Choose a tag to compare

2022.5.1

  • Fix edge-case bug in backtesting (colliding canceled and replaced orders).
  • Fix deleting trades when position adjustment (DCA) orders time out.

Highlighted changes 2022.5

  • New adjust_entry_price() callback - to adjust open entry limit orders.
  • New command convert-db to migrate databases between database systems.
  • Dry-run orders no longer reset on bot restart.
  • Certain Protections can now only look at longs or shorts, and only lock this direction.
  • Updated binance leverage tiers to contain new pairs.
  • Multiple exit-sigals are evaluated in sequence, causing changed behavior for confirm_trade_exit(), which can now be called multiple times for the same trade with different exit signal types.
  • download-data now respects the timerange end date.
  • download-data now allows data-prepending.
  • LowProfitPairs now supports "only_per_side" for futures trading.
  • Fixed OKX historic data download (:warning: Warning- requires manual clearing and redownload of existing data)

How to update

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

docker-compose

docker-compose pull
docker-compose up -d

Installation via setup script

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

Plain native installation

git pull
pip install -U -r requirements.txt
Expand full changelog
c57db0a33 Version bump 2022.5.1
34a44b9dd Fix backtesting bug when canceling orders
66edbcd3d Fix slight backtesting bug in edge-case scenarios
354917637 Update missleading docstring
88845f6d8 Fix cancel order deleting trade
d950b0acb Update documentation about dynamic parameters
8e2c7e129 extract detect_parameters to separate function
f323cbc76 Bump types-requests precommit
5bf021be2 Enhance hyperoptable strategy to test instance parameters
eaa656f85 Hyperoptable parameters can be instance attributes
2b2967f34 Bump types-requests from 2.27.27 to 2.27.29
386d3e035 Rename stop/roi loading method
ad8ff10a0 Minor doc changes
41052b4e1 Bump types dateutil precommit
23fa00e29 Bump ccxt from 1.83.62 to 1.84.39
a937f3699 Bump mypy from 0.950 to 0.960
9366c1d36 Bump mkdocs-material from 8.2.15 to 8.2.16
e7c78529e Bump types-python-dateutil from 2.8.16 to 2.8.17
b52fd0b4d Bump python-telegram-bot from 13.11 to 13.12
f65df4901 Update doc clarity
e6affcc23 Move parameter file loading to hyper-mixin
1ee08d22d Delay parameter init
a875a7dc4 Use unified stopPrice for binance
f64f2b1ad Fix /stats Formatting issue in multi-message settings
a1d54f5ae Version bump 2022.5
3e7bf6a9e Remove imports in test_strategy2
b04fe5d4e Simplify test v2 strategy
24cf04464 Fix bybit spot mode
682daa4e9 Reset logging mixin to avoid random test failure
e1c6cf5f9 fix typo
537d10c62 Improve some typing
3e66275c9 Refactor bot_start to separate function
023f81717 Improve wording for supported futures exchanges
b2968df5d Fix some type problems
43f726ba8 Run CI against different templates
a8ee77cd5 Simplify backtesting typechecking
904f094b8 Don't reassign method, but implement it properly
0a713faca Fix some type errors
f1a72e448 Align interfaces and strategy templates
3f68c3b68 Update some types
502404c0c Use pyproject.toml  instead of setup.cfg
7f4161ff7 Add typehints to strategy wrapper
07ec3b27f Add typing information to retrier decorator
42ae8ba6f Refactor hyperopt parameters to separate file
5c4014ee6 Change default value of process_only_new_candles to True since False is an uncommon usecase for expert strategy devs
34b1231df Bump filelock-precommit
b88dfe429 Bump types-filelock from 3.2.5 to 3.2.6
cc3ec279c Bump dateutil types precommit
596aeec65 Bump scikit-learn from 1.1.0 to 1.1.1
66497c28e Bump pre-commit requests types
7f5650699 Bump types-requests from 2.27.25 to 2.27.27
34657639f Bump numpy from 1.22.3 to 1.22.4
ff9dcfe78 Bump types-python-dateutil from 2.8.15 to 2.8.16
40f63ae51 Bump scipy from 1.8.0 to 1.8.1
f819fafa1 Bump psutil from 5.9.0 to 5.9.1
27019339b Bump ccxt from 1.83.12 to 1.83.62
e3beaae8b update hyperopt typing
0b5544ef9 Stoploss fill should fill as "filled" notification
938a66511 Update Documentation for new confirm_trade_exit behavior
3692fcd3d Improve exit signal sequence
ce3bfd59f Add explicit should_sell test
b7388557a Update interface tests
bdb904e71 Should_exit should return all sell signals
1315d0243 Fix startup sending "longed" messages for open stoplosses
26d394ca7 Add liquidation Price to api response
ea8fda0de Slightly improve test
f006978ca Be more explicit in default value
681ef1317 Relax dry-run leverage test-case to simplify future updates
97abcf4b3 Add documentation for leverage_tiers update
963cc17c1 Update leveraged tiers
0d388b561 Add test for "combine_funding_and_mark", fix bug
2df42a303 Move "funding fillup" logic to exchange class
6bd5535d6 Use exchange method to combine funding and mark candles
0e158b66b Update docs link
c499a92f5 Remove surplus mark columns, and make fillna on funding rate only
c3e3188c6 Rename variable
843bf0631 Remove Sponsored Promotions
b3acfb3c6 Bump ccxt to 1.83.12
2cf17e04b Init persistence for tests that use dry-run orders
46ea135b6 Update dry-run considerations
219363fff Check for both ask and bid in SpreadFilter
56a73575a Add explicit test for order_to_ccxt
5e18e51ce Fix some tests
a3d9384bc Remove clean-dry-run code
0a95ef6ab Don't reset open orders in dry-run on restart
363098d32 Fix reversed makr/funding_rate columns
736f9f497 Fix docs and add outer join support for merging funding rates across full timerange
d5486f17d Update Test to use StrategyV3
c41d4c4f4 Fix leverage docs
37e4ede65 Fix flake issues
bb758da94 Add support for fudging unavailable funding rates, allowing backtesting of timeranges where futures candles are available, but rates are not
c6bf6779f Update docs BT sample report and details.
bb7ffd8fb Update testcases relying on BT results.
0585b378b BT: Report canceled/replaced orders also.
6e8f24f6a BT: track canceled/replaced orders also.
905b24bd4 Update BT report detailing.
a2a8e4fdc Update doc BT sample report.
99aea454b Update testcases to match reporting.
f2e2e5723 Report trade entries canceled by user.
fb7c0792c Track trade entries canceled by user.
76637d393 Simplify timeframe-transition
2e65a1793 Add fallback to load 1M files as well as 1Mo files
a1048fb61 Store monthly candles as "Mo"
9607d0427 Improve ccxt imports
d09b46293 Add rudimentary tests for Precise "builtin operator" workings
c8e0fc926 Update to do Builtin Precise math
a793cf8f0 Use ccxt's "precise" to do precise math
528509f80 Extract get_price_side from get_rate
f5183df0f Bump scikit-learn from 1.0.2 to 1.1.0
bd65236e1 Bump pyjwt from 2.3.0 to 2.4.0
dd1b84f93 Bump filelock from 3.6.0 to 3.7.0
a8b4066f8 Bump mkdocs-material from 8.2.14 to 8.2.15
9e44d6977 Bump ccxt from 1.81.81 to 1.82.61
9fc21686e Bump flake8-tidy-imports from 4.7.0 to 4.8.0
748055892 Bump plotly from 5.7.0 to 5.8.0
47c116a42 Bump fastapi from 0.76.0 to 0.78.0
4fc6857d8 Bump time-machine from 2.6.0 to 2.7.0
2cb8eecf1 add space
e21f6a778 missing newline
008ee1488 Improve ci to run on ubuntu 22.04
86af3fe0e Update image versions from 3.9 to 3.10
a0b25938f Fix exit_reason assignment in backtesting
a8f064a8c Fix exit_reason assignment in live mode
706994340 Fix bad docstring
18fd3bb33 Update stoploss handling for entry-order adjustment
9143e9ecb Add some safety measures for new startup_candles verification
d60d0f64d Revert ohlcv_candle_limit logic for okx
116b58e97 add "date_minus_candles" method
a947a1316 Add test to ensure stoploss is set properly in live
3b1443924 Slightly improve performance of order adjusts
c27e0a0a1 Allow SL refresh only if no filled entry orders.
ec54b47b6 Flake fix.
1c20fb763 Refresh open_rate and stoploss on order replacement.
5767d652b Add explicit test and document behavior
2a1368d50 Offsetfilter: add number_assets parameter
bb1b283d9 Update some ohlcv_candle_limit calls
111b04c9e Okx - conditional candle-length
64668b11d  add ohlcv_has_history - disabling kraken downloads
64670726a flake8 fix
9d13c8729 cleaned up backtesting
71a80cab3 fixed variable naming style
8a3c2c6ca Corrected docstring
c299601ec Add warning about OKX futures backtesting data
1fc041d0d Fix formatting issue
b2b503f04  minor polish for explanation of --breakdown
8a6a6ec91 corrected minor "typo" in formatting
f374c9da7 PR cleanup
044afdf7a Add better test scenario
31cce741a Add sequence migration
269630e75 Add preliminary documentation for database conversion
c19be34e7 Add rudimentary test for db migration
0958c06b8 Implement database migration to other system
c3b0f6b64 Add feature shell for database conversion
35ec657ef Bump types-tabulate==0.8.9 precommit
a5beacbdd Bump types-tabulate from 0.8.8 to 0.8.9
2dd655eda Bump pre-commit from 2.18.1 to 2.19.0
5080245a7 Bump ccxt from 1.81.43 to 1.81.81
0756027e3 BUmp types-python-dateutil precommit
69b79cd79 Bump types-python-dateutil from 2.8.14 to 2.8.15
1ae74c119 Bump flake8-tidy-imports from 4.6.0 to 4.7.0
77a22a6b1 Bump fastapi from 0.75.2 to 0.76.0
74b309cf5 Bump jsonschema from 4.4.0 to 4.5.1
30cc8e92a Bump mkdocs-material from 8.2.12 to 8.2.14
df48399a9 Bump cryptography from 37.0.1 to 37.0.2
f71b2624a then -> than
30d6eeffd Fix migration bug
b58e811b1 Move trade/order Models to their own class
af1a5e044 Extract base and Pairlock from models file
3221726d8 Update migration to use boolean value
4a7515e66 Add test for 0.0 case
1436bc1a7 Update list-strategies command
f43ae0ea4 logged balance details
d79b90a98 consistent exchange name
45b328af2 explicitly call cleanup when cleaning backtest
bfc789865 Report profit only on filled entries.
277e07589 update/fix some comments and docs
eca8d16c6 Minor fix and enhancement for TC51.
f5f599c7f Add LowProfitPairs only_pe...
Read more

2022.5

28 May 11:46
eed0d67
Compare
Choose a tag to compare

Highlighted changes

  • New adjust_entry_price() callback - to adjust open entry limit orders.
  • New command convert-db to migrate databases between database systems.
  • Dry-run orders no longer reset on bot restart.
  • Certain Protections can now only look at longs or shorts, and only lock this direction.
  • Updated binance leverage tiers to contain new pairs.
  • Multiple exit-sigals are evaluated in sequence, causing changed behavior for confirm_trade_exit(), which can now be called multiple times for the same trade with different exit signal types.
  • download-data now respects the timerange end date.
  • download-data now allows data-prepending.
  • LowProfitPairs now supports "only_per_side" for futures trading.
  • Fixed OKX historic data download (:warning: Warning- requires manual clearing and redownload of existing data)

How to update

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

docker-compose

docker-compose pull
docker-compose up -d

Installation via setup script

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

Plain native installation

git pull
pip install -U -r requirements.txt
Expand full changelog ``` a1d54f5 Version bump 2022.5 3e7bf6a Remove imports in test_strategy2 b04fe5d Simplify test v2 strategy 24cf044 Fix bybit spot mode 682daa4 Reset logging mixin to avoid random test failure e1c6cf5 fix typo 537d10c Improve some typing 3e66275 Refactor bot_start to separate function 023f817 Improve wording for supported futures exchanges b2968df Fix some type problems 43f726b Run CI against different templates a8ee77c Simplify backtesting typechecking 904f094 Don't reassign method, but implement it properly 0a713fa Fix some type errors f1a72e4 Align interfaces and strategy templates 3f68c3b Update some types 502404c Use pyproject.toml instead of setup.cfg 7f4161f Add typehints to strategy wrapper 07ec3b2 Add typing information to retrier decorator 42ae8ba Refactor hyperopt parameters to separate file 5c4014e Change default value of process_only_new_candles to True since False is an uncommon usecase for expert strategy devs 34b1231 Bump filelock-precommit b88dfe4 Bump types-filelock from 3.2.5 to 3.2.6 cc3ec27 Bump dateutil types precommit 596aeec Bump scikit-learn from 1.1.0 to 1.1.1 66497c2 Bump pre-commit requests types 7f56506 Bump types-requests from 2.27.25 to 2.27.27 3465763 Bump numpy from 1.22.3 to 1.22.4 ff9dcfe Bump types-python-dateutil from 2.8.15 to 2.8.16 40f63ae Bump scipy from 1.8.0 to 1.8.1 f819faf Bump psutil from 5.9.0 to 5.9.1 2701933 Bump ccxt from 1.83.12 to 1.83.62 e3beaae update hyperopt typing 0b5544e Stoploss fill should fill as "filled" notification 938a665 Update Documentation for new confirm_trade_exit behavior 3692fcd Improve exit signal sequence ce3bfd5 Add explicit should_sell test b738855 Update interface tests bdb904e Should_exit should return all sell signals 1315d02 Fix startup sending "longed" messages for open stoplosses 26d394c Add liquidation Price to api response ea8fda0 Slightly improve test f006978 Be more explicit in default value 681ef13 Relax dry-run leverage test-case to simplify future updates 97abcf4 Add documentation for leverage_tiers update 963cc17 Update leveraged tiers 0d388b5 Add test for "combine_funding_and_mark", fix bug 2df42a3 Move "funding fillup" logic to exchange class 6bd5535 Use exchange method to combine funding and mark candles 0e158b6 Update docs link c499a92 Remove surplus mark columns, and make fillna on funding rate only c3e3188 Rename variable 843bf06 Remove Sponsored Promotions b3acfb3 Bump ccxt to 1.83.12 2cf17e0 Init persistence for tests that use dry-run orders 46ea135 Update dry-run considerations 219363f Check for both ask and bid in SpreadFilter 56a7357 Add explicit test for order_to_ccxt 5e18e51 Fix some tests a3d9384 Remove clean-dry-run code 0a95ef6 Don't reset open orders in dry-run on restart 363098d Fix reversed makr/funding_rate columns 736f9f4 Fix docs and add outer join support for merging funding rates across full timerange d5486f1 Update Test to use StrategyV3 c41d4c4 Fix leverage docs 37e4ede Fix flake issues bb758da Add support for fudging unavailable funding rates, allowing backtesting of timeranges where futures candles are available, but rates are not c6bf677 Update docs BT sample report and details. bb7ffd8 Update testcases relying on BT results. 0585b37 BT: Report canceled/replaced orders also. 6e8f24f BT: track canceled/replaced orders also. 905b24b Update BT report detailing. a2a8e4f Update doc BT sample report. 99aea45 Update testcases to match reporting. f2e2e57 Report trade entries canceled by user. fb7c079 Track trade entries canceled by user. 76637d3 Simplify timeframe-transition 2e65a17 Add fallback to load 1M files as well as 1Mo files a1048fb Store monthly candles as "Mo" 9607d04 Improve ccxt imports d09b462 Add rudimentary tests for Precise "builtin operator" workings c8e0fc9 Update to do Builtin Precise math a793cf8 Use ccxt's "precise" to do precise math 528509f Extract get_price_side from get_rate f5183df Bump scikit-learn from 1.0.2 to 1.1.0 bd65236 Bump pyjwt from 2.3.0 to 2.4.0 dd1b84f Bump filelock from 3.6.0 to 3.7.0 a8b4066 Bump mkdocs-material from 8.2.14 to 8.2.15 9e44d69 Bump ccxt from 1.81.81 to 1.82.61 9fc2168 Bump flake8-tidy-imports from 4.7.0 to 4.8.0 7480558 Bump plotly from 5.7.0 to 5.8.0 47c116a Bump fastapi from 0.76.0 to 0.78.0 4fc6857 Bump time-machine from 2.6.0 to 2.7.0 2cb8eec add space e21f6a7 missing newline 008ee14 Improve ci to run on ubuntu 22.04 86af3fe Update image versions from 3.9 to 3.10 a0b2593 Fix exit_reason assignment in backtesting a8f064a Fix exit_reason assignment in live mode 7069943 Fix bad docstring 18fd3bb Update stoploss handling for entry-order adjustment 9143e9e Add some safety measures for new startup_candles verification d60d0f6 Revert ohlcv_candle_limit logic for okx 116b58e add "date_minus_candles" method a947a13 Add test to ensure stoploss is set properly in live 3b14439 Slightly improve performance of order adjusts c27e0a0 Allow SL refresh only if no filled entry orders. ec54b47 Flake fix. 1c20fb7 Refresh open_rate and stoploss on order replacement. 5767d65 Add explicit test and document behavior 2a1368d Offsetfilter: add number_assets parameter bb1b283 Update some ohlcv_candle_limit calls 111b04c Okx - conditional candle-length 64668b1 add ohlcv_has_history - disabling kraken downloads 6467072 flake8 fix 9d13c87 cleaned up backtesting 71a80ca fixed variable naming style 8a3c2c6 Corrected docstring c299601 Add warning about OKX futures backtesting data 1fc041d Fix formatting issue b2b503f minor polish for explanation of --breakdown 8a6a6ec corrected minor "typo" in formatting f374c9d PR cleanup 044afdf Add better test scenario 31cce74 Add sequence migration 269630e Add preliminary documentation for database conversion c19be34 Add rudimentary test for db migration 0958c06 Implement database migration to other system c3b0f6b Add feature shell for database conversion 35ec657 Bump types-tabulate==0.8.9 precommit a5beacb Bump types-tabulate from 0.8.8 to 0.8.9 2dd655e Bump pre-commit from 2.18.1 to 2.19.0 5080245 Bump ccxt from 1.81.43 to 1.81.81 0756027 BUmp types-python-dateutil precommit 69b79cd Bump types-python-dateutil from 2.8.14 to 2.8.15 1ae74c1 Bump flake8-tidy-imports from 4.6.0 to 4.7.0 77a22a6 Bump fastapi from 0.75.2 to 0.76.0 74b309c Bump jsonschema from 4.4.0 to 4.5.1 30cc8e9 Bump mkdocs-material from 8.2.12 to 8.2.14 df48399 Bump cryptography from 37.0.1 to 37.0.2 f71b262 then -> than 30d6eef Fix migration bug b58e811 Move trade/order Models to their own class af1a5e0 Extract base and Pairlock from models file 3221726 Update migration to use boolean value 4a7515e Add test for 0.0 case 1436bc1 Update list-strategies command f43ae0e logged balance details d79b90a consistent exchange name 45b328a explicitly call cleanup when cleaning backtest bfc7898 Report profit only on filled entries. 277e075 update/fix some comments and docs eca8d16 Minor fix and enhancement for TC51. f5f599c Add LowProfitPairs only_per_side option dc0c1bf Only fetch accounts when authenticated. 149704e Fix wrong type 6fdcf3a Support both position modes on OKX 2da284b Properly type side for create_order 68a97a8 Disable scheduled notification in CI 108903f Add DCA order adjust test 70bac41 Add more backtest test scenarios 182a6f4 Minor typos. 5b3eaa3 Ensure advanced strategy template is runnable d11c449 Slightly reword docs 2d9be6d move open_rate updating to close_bt_order 29f1edb Cleanup. Remove stray new line. 2bed0ea BT: Update trade open_rate on first filled order. 25c74e2 Models:Trade: Revert trade open_rate update. 1a37c6f Bump ccxt to 1.81.43 ae01afd Models:Trade: Fix open_rate updates. dbecc09 Models:Trade: Update trade open_rate based on lastest order. b2f3394 Add preliminary backtesting test 5c82cce Fix new test failures ce035a5 Add bot_loop_start() call in plotting.py 091cb4f Reduce no stake amount verbosity eb996a1 Fix fee handling for futures trades 8e1cdb9 Update setup.sh 7a57629 Keep Backtest-metrics aligned 3f64c63 Maintain compatibility with old backtest results 1e2523a Fix some assumptions on the data 4c74601 Freqtradebot: Cleanup stray debug messages. 59397cd Freqtradebot: Fix full cancel logging location. b83cd95 Tests: add basic testcases for...
Read more

2022.4.2

03 May 18:38
Compare
Choose a tag to compare

Highlighted changes

  • Introducing Futures markets (gateio, okx and binance) - which includes short trades and leveraged trading.
  • Revised strategy interface (no immediate migration necessary for spot market bots).
  • Improved backtesting timeout behavior (buy timeouts are now evaluated on the proper candle).
  • Webhook naming changes (sell -> exit).
  • Changed behavior of custom_exit() (formerly custom_sell()) - which is now called independent of exit_profit_only.
  • /forcesell now returns a list interactive trades to exit from when no parameter is specified.
  • FreqUI backtesting mode (freqtrade started with freqtrade webserver) now allows loading historic backtest results.
  • Recursive config loading via add_config_files.
  • Recursive loading of strategies via --recursive-strategy-search.
  • Remove long deprecated V1 strategy interface.
  • Add CAGR calculation to backtesting metrics.
  • New callback bot_start() - which get's called once per bot iteration.

New in 2022.4.2:

  • bugfix freqUI not loading correctly
  • bugfix OKX futures fees not always correct

Important notes

If you're looking to get started with futures trading, please make sure to read the strategy migration guide - as well as the leverage documentation page to get up to speed with the changes necessary for the new modes.

⚠️ Trading futures with leverage is very risky - please make sure you understand the risks involved. freqtrade is not responsible for any losses.

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

Too big to show - sorry.

2022.4.1

01 May 14:49
Compare
Choose a tag to compare

Highlighted changes

  • Introducing Futures markets (gateio, okx and binance) - which includes short trades and leveraged trading.
  • Revised strategy interface (no immediate migration necessary for spot market bots).
  • Improved backtesting timeout behavior (buy timeouts are now evaluated on the proper candle).
  • Webhook naming changes (sell -> exit).
  • Changed behavior of custom_exit() (formerly custom_sell()) - which is now called independent of exit_profit_only.
  • /forcesell now returns a list interactive trades to exit from when no parameter is specified.
  • FreqUI backtesting mode (freqtrade started with freqtrade webserver) now allows loading historic backtest results.
  • Recursive config loading via add_config_files.
  • Recursive loading of strategies via --recursive-strategy-search.
  • Remove long deprecated V1 strategy interface.
  • Add CAGR calculation to backtesting metrics.
  • New callback bot_start() - which get's called once per bot iteration.

Important notes

If you're looking to get started with futures trading, please make sure to read the strategy migration guide - as well as the leverage documentation page to get up to speed with the changes necessary for the new modes.

⚠️ Trading futures with leverage is very risky - please make sure you understand the risks involved. freqtrade is not responsible for any losses.

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

Too big to show - sorry.