2021.1
版本发布时间: 2021-01-28 02:07:21
freqtrade/freqtrade最新发布版本:2024.10(2024-10-31 15:07:21)
Highlighted changes
-
New feature: Custom stoploss callback.
- Allow the strategy to change the stoploss via custom callback.
- Needs to be explicitly activated via
use_custom_stoploss
.
- Wildcard-filters, allowing regex to blacklist and whitelist pairs dynamically (e.g.
.*BULL/BTC
,.*BEAR/BTC
,BNB/.*
) - Switch API layer from Flask to FastAPI to better support parallel requests.
- Improved
merge_informative_pair()
making sure longer timeframes are used as soon as they're available. - Protections can now be defined in the strategy as well. As with all other settings, Protections in the config will overwrite strategy settings.
- Expire buy-signals after X minutes (
ignore_buying_expired_candle_after
). - Set
sell_profit_offset
in combination withsell_profit_only
to define an offset when to enable the sell-signal. - Call
bot_loop_start()
during backtesting once per pair. - Add
bot_name
setting, allowing the UI to differentiate when running multiple bots. - Add
/status <tradeids>
to query status of specific trades.
Important note: As anounced previously, the master branch (and docker images) images will be removed with this version. If you didn't update your docker-image / branch previously, make sure to do so now to benefit from this new version.
How to update
As always, you can update your bot using one of the following commands:
docker-compose
Note: We've switched from master to stable for the release Images - please adjust your docker-file and replace freqtradeorg/freqtrade:master
with freqtradeorg/freqtrade:stable
. The master
image will not be built for this release, and will be removed soon.
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
eac98dbbd Version bump to 2021.1
a9b4d6de3 Check for existance of ask key in ticker
4d7f3e570 Add test for spreadfilter division exception
5ab8cc56a Update docs to also work for postgres
8f529f48d Update freqtrade/freqtradebot.py use is_open.is_(True)
91b6c0294 Update download-data --dl-trades sample command
f98bd4095 Bump ccxt from 1.40.74 to 1.40.99
cb749b578 Bump scikit-learn from 0.24.0 to 0.24.1
fb99cf145 Bump prompt-toolkit from 3.0.10 to 3.0.14
d4e9037e6 Bump pandas from 1.2.0 to 1.2.1
afdcd2c0a Bump pytest-cov from 2.10.1 to 2.11.1
9422062cb Bump blosc from 1.10.1 to 1.10.2
b976baae3 Bump cachetools from 4.2.0 to 4.2.1
c22cccb55 Fix operator does not exist: boolean = integer
9a3c425cf Update slack link
16f967535 Fix whitelist expansion problem
31e0b0964 Rename config.json.example
371b374ea Remove unused config setup from setup.sh
bec9b580b sell_profit_offset should be documented in the strategy override section
e94e2dd38 Remove docker config without compose
c42241986 further investigate random test failure
fd379d36a Fixed quickstart link in docs
5c0f98b51 Blacklist Poloniex - as ccxt does not provide a fetch_order endpoint
5f5f75e14 Improve wording in protections documentation
992d6b801 Small improvement to MaxDrawDown protection
7c80eeea9 Add use_custom_stoploss to optimize_report
86b3306a3 Small doc refactoring
7c99e6f0e Avoid random test failure
cd8d4da46 Add test for /status <tradeids> functionality
a68a546dd _rpc_trade_status argument datatype optimizations
10104927c Fix devcontainer
994b4013a Bump ccxt from 1.40.30 to 1.40.74
8b5f8937c Bump pyjwt from 2.0.0 to 2.0.1
7f8dbce36 Bump mkdocs-material from 6.2.4 to 6.2.5
6a8e49510 Bump plotly from 4.14.1 to 4.14.3
296a6bd43 Bump coveralls from 2.2.0 to 3.0.0
eb95d970e flake8 beautify
d21eff0d5 fix, if an non existing trade_id is provided
3ea33d173 updating doc and help with new /status argument
6d40814db extend status bot command to query specific trades
a8bae3a38 Don't update trade fees for dry-run orders
389db2fe7 Enhance wording of docker quickstart
53c208197 Add bot_name setting
572f5f918 Fix fstring syntax error
9f338ba6e Debug random test failure in CI
d74376726 api-server should fully support max_open_trades=-1
bf5868c96 Add testcase for nonexisting pairs on whitelist
f72d53351 Added ability to keep invalid pairs while expanding expand_pairlist
0b65fe6af Capture backtest start / end time
914710625 call bot_loop_start() in backtesting to allow setup-code to run
baa1142af Use preprocessed to get min/max date in hyperopt
9d4cdcad1 Extract backtesting of one strategy
6d1fba140 Remove unnecessary log output tests
f3de0dd3e Fix support for protections in hyperopt
950c5c011 fix: edge doc typos
adb3fb123 Fix typo
47a06c621 Fix enable/reenable of swagger UI endpoint
ac43591c4 Fix failing api when max_open_trades is unlimited
60ea32e39 Improve wording
1f6a71fdd Reformat code on new version
71f45021b Removed redundant statement
e328182bd Changed workings so it only needs to timing-parameter, instead of also requiring a boolean value
4d7ffa8c8 Added suppoort for regex in whitelist
b062b836c Add test for sell_profit_offset
63a579dba Add sell_profit_offset parameter
dbc25f00a Switch full config from bittrex to binance
f159c4643 Include stoploss_on_exchange in stoploss_guard
59efc5f08 Bump pytest-mock from 3.5.0 to 3.5.1
f1809286c Bump ccxt from 1.40.25 to 1.40.30
a34753fcb Bump prompt-toolkit from 3.0.9 to 3.0.10
ddecf3ef9 Bump mkdocs-material from 6.2.3 to 6.2.4
8631a5451 Fix test due to pyjwt2.0
378a252ad Fix #4161 - by not using the problematic method for windows
c8df3c473 Bump pyjwt from 1.7.1 to 2.0.0
4d2c59b7e Bump numpy from 1.19.4 to 1.19.5
3cf506fa5 Bump ccxt from 1.40.14 to 1.40.25
784630e2f Bump uvicorn from 0.13.2 to 0.13.3
f3319e138 Bump prompt-toolkit from 3.0.8 to 3.0.9
bd5f46e4c Bump pytest-mock from 3.4.0 to 3.5.0
2e7faa782 Add documentation section for macOS installation error on 3.999999999
4f126bea3 Change trades-test2 to better test correct behaviour
bf182dc01 Fix wrong key usage in trade_history_timebased
124cb5c5b Add cblosc brew dependency
54ab61d18 Install hdf5 via brew
9e66417e8 Run CI for mac on 3.9
b43ef474a Fix expired candle implementation
c9e477214 Allow protections to be set in the strategy
e69dac270 Fix bug in RPC history mode when no data is found
a9ca72c1b Fix typo in documentation
91f866788 DOn't update open orders in dry-run mode
a90609315 FIx doc wording for all guards
f7b055a58 Attempt to improve wording
95732e899 Clarification in documentation
5c34140a1 Adjusted documentation to reflect sub-key configuration
65d91a3a5 isort fix
573de1cf0 Fixed flake8 warnings
e3f3f3629 Changes based on review comments
eaaaddac8 Update docs/configuration.md
c9ed2137b Simplified return statements
67306d943 Update interface.py
9a93a0876 Update interface.py
844df96ec Making changes so the build checks are satisified (imports & flake8)
614a99659 First commit about ignoring expired candle
1cf6e2c95 Changed documentation based on review comments
0704cfb05 Added an example with a positive offset for a custom stoploss
07bc0c3fc Improve merge_informative_pairs to properly merge correct timeframes
d1804dee6 Add note about python-dev dependency
9e435fba0 Bump ccxt from 1.39.79 to 1.40.14
7d06e6146 Bump scipy from 1.5.4 to 1.6.0
66391b80a Bump isort from 5.6.4 to 5.7.0
5ca2cd3a1 Change defaults to log only errors
634d6f389 Change logging to stderr
26c346340 Stake-amount supports unlimited, too
cff50f9f6 Add response-model for show_config
ca0bb7bbb Don't require RPC for strategy
e6176d43f Optional RPC dependency
3dc37dd79 Add types for deps
336dd1a29 Rename api_models to api_schemas
84ced9200 Fix mock-tests missing some fields
29f4dd1dc Enhance some response models
718f2b24d Don't use relative imports
b2ab553a3 Rename api_server2 module to apiserver
eb20f6e7d Align auth token to flask version to prevent user-logout
346542e5c Remove flask dependency
68d148e72 Allow configuration of openAPI interface
1717121f1 Properly use JWT secret key
790f83365 Some more tests around api_auth
29ce32364 Fix wrong hyperoptlosstest
776ce57f5 Remove api_server
54a50b1fb Fix some tests
9f873305e Improve response models
9350f505b Implement missing methods
e23898d17 Improve some tests
9ee1d8835 Implement more endpoints
73a29e6d7 Improve tests, implement more fastapi methods
a18d66e10 Add more endpoints to fastapi
f37ea4ba2 Fix some initial tests towards fastAPI
4b86700a0 Implement more endpoints
5e4c4cae0 Fix auth providers
86d070088 Move models to apimodels
659427850 Reorder endpoints
eac74a9de Implement auth in fastapi
619b855d5 Add version endpoint
a862f19f8 Allow retrieval of rpc and config via dependencies
1e38fec61 Initial fastapi implementation (Ping working)
11f36fbae Fix all custom stoploss samples
67ced6a53 Update docs/strategy-advanced.md
e5840abaf Added imports to documentation for clarification when using custom stoploss
512e16335 change docstring to better reflect what the method is for
bd7600ff0 Small visual changes
04624aae4 Add documentation for wildcard-blacklist
0affacd39 Support invalid regex blacklist from config
9feabe707 Fix RPC methods to allow wildcards (and validate wildcards)
704cf1438 Add expand_pairlist method
2fdda8e44 plot-profit should fail gracefully if no trade is within the selected timerange
b8899b39e Show advanced plot-config section again
b607740dd Fix kraken balance bug if open buy orders exist
238e9aabb Add test showing wrong behaviour
dcc7d559e Reinstate header partials
ecea6c952 Move jquery to the bottom
accc59aa1 Reinstate jquery
003552d78 Remove custom header section from docs
0d4cf3208 Slightly adapt to pandas incompatibility
30087697e Bump pandas from 1.1.5 to 1.2.0
092ebf845 Bump scikit-learn from 0.23.2 to 0.24.0
fc0d14c1b Improve documentation
676dd0d66 Improve documentation
9d5961e22 Rename method to custom_stoploss
277342f16 Rename flag to "use_custom_stoposs"
8574751a0 Add stoploss_value to strategy template
f8639fe93 Add more tests for custom_loss
5f8610b28 Add explicit test for stop_loss_reached
22d64553c Rename test file
ea4238e86 cleanup some tests
11e291562 Fix documentation problem
6892c08e9 Improve docstring
b2c109831 more docs for dynamic stoploss method
f7b54c241 Allow and document time-based custom stoploss
f235ab8cf Fix some typos in docs
18795844d Add initial set of custom stoploss documentation
a414b57d5 Experiment with custom stoploss interface
8f6aefb59 Extract stoploss assignment
768a24c37 Add stoplossvalue interface