Compare commits

...

8353 Commits

Author SHA1 Message Date
Matthias 0afd5a7385 Improve stoploss documentation
closes #8492
2023-04-12 18:13:16 +02:00
Matthias 2131205db6 Bump tag length to 255 2023-04-12 07:19:36 +02:00
Matthias b2b19915e6 Limit enter_tag and exit_reason to their actual field lenght
closes #8486
2023-04-12 07:19:36 +02:00
Matthias bba6f8e133 Use length constant for tests 2023-04-12 07:19:36 +02:00
Matthias a6d2233b95 Use constant for custom field lengths 2023-04-11 21:05:14 +02:00
Matthias 9857675a5e Update torch import 2023-04-11 19:38:24 +02:00
Robert Caulk 4ab047dfa7
Merge pull request #8297 from Yinon-Polak/feat/add-pytorch-model-support
Feat/add pytorch model support
2023-04-11 15:40:12 +02:00
Matthias 476ed938f5 Extract custom_tag limit from interface file 2023-04-11 07:26:38 +02:00
Matthias 40ffac9de0 Prevent random test failures by freezing time for certain tests 2023-04-10 19:45:24 +02:00
Matthias b892d373cd Improve timerange parsing when accepting values from API 2023-04-10 19:45:24 +02:00
Matthias c3647e49ad
Merge pull request #8484 from freqtrade/dependabot/pip/develop/nbconvert-7.3.1
Bump nbconvert from 7.2.10 to 7.3.1
2023-04-10 19:38:12 +02:00
Matthias 37ed37dc76
Merge pull request #8485 from freqtrade/dependabot/pip/develop/mkdocs-material-9.1.6
Bump mkdocs-material from 9.1.5 to 9.1.6
2023-04-10 19:37:54 +02:00
Matthias 5cb688c112
Merge pull request #8482 from freqtrade/dependabot/pip/develop/websockets-11.0.1
Bump websockets from 11.0 to 11.0.1
2023-04-10 19:37:37 +02:00
Matthias 3e394d0612
Merge pull request #8480 from freqtrade/dependabot/pip/develop/sqlalchemy-2.0.9
Bump sqlalchemy from 2.0.8 to 2.0.9
2023-04-10 19:37:17 +02:00
dependabot[bot] c4c2298686
Bump mkdocs-material from 9.1.5 to 9.1.6
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.5 to 9.1.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.5...9.1.6)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 16:17:10 +00:00
dependabot[bot] 8564dc10b2
Bump nbconvert from 7.2.10 to 7.3.1
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.2.10 to 7.3.1.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Changelog](https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter/nbconvert/compare/v7.2.10...v7.3.1)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 16:16:42 +00:00
Matthias 3fb892fcb8
Merge pull request #8483 from freqtrade/dependabot/pip/develop/ruff-0.0.261
Bump ruff from 0.0.260 to 0.0.261
2023-04-10 18:16:24 +02:00
Matthias 9968348324
Merge pull request #8481 from freqtrade/dependabot/pip/develop/ccxt-3.0.59
Bump ccxt from 3.0.58 to 3.0.59
2023-04-10 18:15:44 +02:00
dependabot[bot] fa293c54f8
Bump websockets from 11.0 to 11.0.1
Bumps [websockets](https://github.com/aaugustin/websockets) from 11.0 to 11.0.1.
- [Release notes](https://github.com/aaugustin/websockets/releases)
- [Commits](https://github.com/aaugustin/websockets/compare/11.0...11.0.1)

---
updated-dependencies:
- dependency-name: websockets
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 15:46:40 +00:00
Matthias 95449ca886
Merge pull request #8478 from freqtrade/dependabot/pip/develop/schedule-1.2.0
Bump schedule from 1.1.0 to 1.2.0
2023-04-10 17:45:44 +02:00
Matthias 70fa4a53cd
pre-commit - bump sqlalchemy 2023-04-10 17:45:23 +02:00
dependabot[bot] 467c63ff01
Bump ruff from 0.0.260 to 0.0.261
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.260 to 0.0.261.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.260...v0.0.261)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 15:25:04 +00:00
Matthias b8a9c200fe
Merge pull request #8479 from freqtrade/dependabot/pip/develop/pre-commit-3.2.2
Bump pre-commit from 3.2.1 to 3.2.2
2023-04-10 17:24:02 +02:00
Matthias 7c10af65a1
Merge pull request #8477 from freqtrade/dependabot/pip/develop/plotly-5.14.1
Bump plotly from 5.14.0 to 5.14.1
2023-04-10 16:44:35 +02:00
Matthias e2cd23b1d2 Remove deprecated pandas option 2023-04-10 16:33:56 +02:00
dependabot[bot] 0d408d3d43
Bump ccxt from 3.0.58 to 3.0.59
Bumps [ccxt](https://github.com/ccxt/ccxt) from 3.0.58 to 3.0.59.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ccxt/ccxt/compare/3.0.58...3.0.59)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 14:20:19 +00:00
dependabot[bot] 2309197771
Bump sqlalchemy from 2.0.8 to 2.0.9
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.8 to 2.0.9.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 14:20:14 +00:00
dependabot[bot] 66fe9abce0
Bump pre-commit from 3.2.1 to 3.2.2
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.2.1...v3.2.2)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 14:20:03 +00:00
dependabot[bot] 200c18f3e4
Bump schedule from 1.1.0 to 1.2.0
Bumps [schedule](https://github.com/dbader/schedule) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/dbader/schedule/releases)
- [Changelog](https://github.com/dbader/schedule/blob/master/HISTORY.rst)
- [Commits](https://github.com/dbader/schedule/compare/1.1.0...1.2.0)

---
updated-dependencies:
- dependency-name: schedule
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 14:19:59 +00:00
dependabot[bot] 351b5f6e65
Bump plotly from 5.14.0 to 5.14.1
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.14.0 to 5.14.1.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.14.0...v5.14.1)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 14:19:56 +00:00
Matthias 605cc20a21
Merge pull request #8459 from freqtrade/feat/kvstore
Add initial bot start time to /profit endpoint
2023-04-10 14:49:01 +02:00
Matthias f73d2a5371 Ensure bot_start is called when visualizing results 2023-04-10 14:48:02 +02:00
Matthias 485a074674
Merge pull request #8472 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.19.12
Bump types-python-dateutil from 2.8.19.11 to 2.8.19.12
2023-04-10 14:42:53 +02:00
Matthias 865cf5232b
Merge pull request #8471 from freqtrade/dependabot/pip/develop/mypy-1.2.0
Bump mypy from 1.1.1 to 1.2.0
2023-04-10 14:42:35 +02:00
Matthias 95a24c3133
Merge pull request #8467 from freqtrade/dependabot/pip/develop/orjson-3.8.10
Bump orjson from 3.8.9 to 3.8.10
2023-04-10 14:41:25 +02:00
Matthias 6833059c70
Merge pull request #8474 from freqtrade/dependabot/github_actions/develop/pypa/gh-action-pypi-publish-1.8.5
Bump pypa/gh-action-pypi-publish from 1.8.4 to 1.8.5
2023-04-10 08:03:55 +02:00
Matthias 3833dc0b78
pre-commit - bump dateutil 2023-04-10 07:54:01 +02:00
Matthias e0d3c771db
Merge pull request #8465 from freqtrade/dependabot/pip/develop/ccxt-3.0.58
Bump ccxt from 3.0.50 to 3.0.58
2023-04-10 07:53:21 +02:00
dependabot[bot] 5a18ab0784
Bump mypy from 1.1.1 to 1.2.0
Bumps [mypy](https://github.com/python/mypy) from 1.1.1 to 1.2.0.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v1.1.1...v1.2.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 05:51:33 +00:00
Matthias 1d66f82b1d
Merge pull request #8469 from freqtrade/dependabot/pip/develop/filelock-3.11.0
Bump filelock from 3.10.6 to 3.11.0
2023-04-10 07:50:48 +02:00
Matthias 2e765fe6d1
Merge pull request #8470 from freqtrade/dependabot/pip/develop/pymdown-extensions-9.11
Bump pymdown-extensions from 9.10 to 9.11
2023-04-10 07:50:25 +02:00
Matthias 21ea02bbcf
Merge pull request #8466 from freqtrade/dependabot/pip/develop/pytest-7.3.0
Bump pytest from 7.2.2 to 7.3.0
2023-04-10 07:49:57 +02:00
dependabot[bot] 2ea0157197
Bump pypa/gh-action-pypi-publish from 1.8.4 to 1.8.5
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.4 to 1.8.5.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.4...v1.8.5)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 03:57:51 +00:00
dependabot[bot] 03352f3b62
Bump types-python-dateutil from 2.8.19.11 to 2.8.19.12
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.11 to 2.8.19.12.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 03:57:04 +00:00
dependabot[bot] 26eb4f7fe6
Bump pymdown-extensions from 9.10 to 9.11
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.10 to 9.11.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.10...9.11)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 03:56:57 +00:00
dependabot[bot] 7e1f3aa545
Bump filelock from 3.10.6 to 3.11.0
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.10.6 to 3.11.0.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/py-filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.10.6...3.11.0)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 03:56:51 +00:00
dependabot[bot] 14532e3a56
Bump orjson from 3.8.9 to 3.8.10
Bumps [orjson](https://github.com/ijl/orjson) from 3.8.9 to 3.8.10.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.8.9...3.8.10)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 03:56:42 +00:00
dependabot[bot] a449f7c78c
Bump pytest from 7.2.2 to 7.3.0
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.2.2 to 7.3.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.2.2...7.3.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 03:56:38 +00:00
dependabot[bot] 8854ef8cba
Bump ccxt from 3.0.50 to 3.0.58
Bumps [ccxt](https://github.com/ccxt/ccxt) from 3.0.50 to 3.0.58.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ccxt/ccxt/compare/3.0.50...3.0.58)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 03:56:33 +00:00
Matthias 526943f29e Remove freqUI alpha warning 2023-04-09 19:44:38 +02:00
Matthias df51111c33 Always show strategy summary 2023-04-09 08:53:36 +02:00
Matthias dd8900a1c6 Improve ordering of backtest output 2023-04-09 08:53:36 +02:00
Matthias 5404905d28 Fix typos in docs 2023-04-08 17:13:51 +02:00
Matthias bed51fa790 Properly build specific Torch image 2023-04-08 17:00:25 +02:00
Matthias f5a5c2d6b9 Improve imports 2023-04-08 16:44:33 +02:00
Matthias a102cfdfc9 Add new /profit fields to API 2023-04-08 16:41:25 +02:00
Matthias be72670ca2 Add documentation about /profit change 2023-04-08 16:40:14 +02:00
Matthias cf2cb94f8d Add bot start date to `/profit` output 2023-04-08 16:38:44 +02:00
Matthias fa3a81b022 convert Keys to enum 2023-04-08 16:28:50 +02:00
Matthias 7ff30c6df8 Add additional, typesafe getters 2023-04-08 16:24:38 +02:00
Matthias 7751768b2e Store initial_time value 2023-04-08 16:13:16 +02:00
Matthias 9c2cdd4fb9
Merge pull request #8388 from freqtrade/patch-pair-colon-bug
Bug fix: FreqAI backtest target setting
2023-04-08 14:16:41 +02:00
robcaulk 69b9b35a08 Merge remote-tracking branch 'origin/develop' into feat/add-pytorch-model-support 2023-04-08 13:22:25 +02:00
robcaulk c2c97d9f78 make a fake pair_dict instead of MagicMocking it 2023-04-08 13:20:29 +02:00
robcaulk 48d3c8e62e 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 2023-04-08 12:09:53 +02:00
Matthias ac817b7808 Improve docstrings for key-value store 2023-04-08 10:09:31 +02:00
Matthias 4d4f4bf23e Add test for key_value_store 2023-04-08 10:07:21 +02:00
Matthias c083723698 Add initial version of key value store 2023-04-08 10:07:03 +02:00
Matthias f8d89c46e5 Don't reset open_order_id if the order didn't cancel 2023-04-07 19:49:13 +02:00
Matthias 1952e453bb Improved formatting for fetch order_or_stop calls 2023-04-07 17:35:11 +02:00
Matthias 77985fa591 Update thread name for uvicorn worker 2023-04-07 14:49:53 +02:00
Matthias a75d891007 Ensure minimum sqlalchemy version is respected 2023-04-07 14:45:06 +02:00
Matthias dae3f72be7 Bump Dockerfile to latest 3.10 2023-04-07 14:11:31 +02:00
Matthias f03a99918a Ensure hyper param file can be loaded
closes #8452
2023-04-04 20:04:28 +02:00
Yinon Polak a655524221 pytorch mlp rename input to fix mypy error 2023-04-04 12:24:29 +03:00
Yinon Polak 26738370c7 pytorch mlp add explicit annotation to fix mypy error 2023-04-04 12:12:02 +03:00
Matthias fe02f611fb Fix typo in reinforcement learning
closes #8431
2023-04-04 06:46:35 +02:00
Matthias 1b10a3a2bf Merge branch 'develop' of github.com:freqtrade/freqtrade into develop 2023-04-03 20:24:58 +02:00
Matthias 92a060c5b4 Make stop_price_parameter configurable by exchange 2023-04-03 20:18:57 +02:00
Matthias 096fd1916c
Merge pull request #8445 from freqtrade/dependabot/pip/develop/tensorboard-2.12.1
Bump tensorboard from 2.12.0 to 2.12.1
2023-04-03 19:14:29 +02:00
Matthias fb09a16127
Merge pull request #8438 from freqtrade/dependabot/pip/develop/types-tabulate-0.9.0.2
Bump types-tabulate from 0.9.0.1 to 0.9.0.2
2023-04-03 18:12:30 +02:00
Yinon Polak 6b204c97ed fix pytorch data convertor type hints 2023-04-03 19:02:07 +03:00
Yinon Polak 0c4574b3b7 prevent mypy error, explicitly unpack input list of pytorch mlp model, 2023-04-03 18:10:47 +03:00
Yinon Polak d9d9993179 add documentation 2023-04-03 17:06:39 +03:00
Yinon Polak 7b494c8333 add documentation to pytorch data convertor 2023-04-03 16:39:49 +03:00
Yinon Polak bc9454e0f9 add device to data convertor class doc 2023-04-03 16:36:38 +03:00
Yinon Polak 36a0a14a23 clean code 2023-04-03 16:26:42 +03:00
Yinon Polak c137666230 fix imports 2023-04-03 16:03:15 +03:00
Matthias 7fed0782d5
pre-commit types-tabulate 2023-04-03 14:19:11 +02:00
Yinon Polak bd3b70293f add pytorch data convertor 2023-04-03 15:19:10 +03:00
dependabot[bot] 30fc24bd8c
Bump types-tabulate from 0.9.0.1 to 0.9.0.2
Bumps [types-tabulate](https://github.com/python/typeshed) from 0.9.0.1 to 0.9.0.2.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-tabulate
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 12:18:15 +00:00
Matthias 7e3de178e1
Merge pull request #8447 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.19.11
Bump types-python-dateutil from 2.8.19.10 to 2.8.19.11
2023-04-03 14:17:24 +02:00
Matthias 0c9c9fff0e
Merge branch 'develop' into dependabot/pip/develop/types-python-dateutil-2.8.19.11 2023-04-03 13:41:10 +02:00
Matthias b96f6670e3
pre-commit dateutil 2023-04-03 13:28:17 +02:00
Matthias 6e02743256
Merge pull request #8446 from freqtrade/dependabot/pip/develop/types-requests-2.28.11.17
Bump types-requests from 2.28.11.16 to 2.28.11.17
2023-04-03 13:27:31 +02:00
Matthias 2b4fa92d09
Merge pull request #8444 from freqtrade/dependabot/pip/develop/ruff-0.0.260
Bump ruff from 0.0.259 to 0.0.260
2023-04-03 11:40:07 +02:00
Matthias be250230b6
Merge pull request #8443 from freqtrade/dependabot/pip/develop/plotly-5.14.0
Bump plotly from 5.13.1 to 5.14.0
2023-04-03 11:39:42 +02:00
Matthias 5d33ffc015
Merge pull request #8442 from freqtrade/dependabot/pip/develop/orjson-3.8.9
Bump orjson from 3.8.8 to 3.8.9
2023-04-03 11:04:17 +02:00
Matthias b48498f27f
Types pre-commit 2023-04-03 10:16:56 +02:00
Matthias e582d8bacb
Merge pull request #8434 from freqtrade/dependabot/pip/develop/sqlalchemy-2.0.8
Bump sqlalchemy from 2.0.7 to 2.0.8
2023-04-03 10:16:00 +02:00
dependabot[bot] ff40ee655b
Bump types-python-dateutil from 2.8.19.10 to 2.8.19.11
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.10 to 2.8.19.11.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 07:49:24 +00:00
dependabot[bot] 57deaad806
Bump types-requests from 2.28.11.16 to 2.28.11.17
Bumps [types-requests](https://github.com/python/typeshed) from 2.28.11.16 to 2.28.11.17.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 07:49:21 +00:00
dependabot[bot] 7779b82277
Bump tensorboard from 2.12.0 to 2.12.1
Bumps [tensorboard](https://github.com/tensorflow/tensorboard) from 2.12.0 to 2.12.1.
- [Release notes](https://github.com/tensorflow/tensorboard/releases)
- [Changelog](https://github.com/tensorflow/tensorboard/blob/2.12.1/RELEASE.md)
- [Commits](https://github.com/tensorflow/tensorboard/compare/2.12.0...2.12.1)

---
updated-dependencies:
- dependency-name: tensorboard
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 07:49:18 +00:00
dependabot[bot] 2bd2058afa
Bump ruff from 0.0.259 to 0.0.260
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.259 to 0.0.260.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.259...v0.0.260)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 07:49:12 +00:00
dependabot[bot] bf7936b0af
Bump plotly from 5.13.1 to 5.14.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.13.1 to 5.14.0.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.13.1...v5.14.0)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 07:48:50 +00:00
dependabot[bot] 8236bbfd48
Bump orjson from 3.8.8 to 3.8.9
Bumps [orjson](https://github.com/ijl/orjson) from 3.8.8 to 3.8.9.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.8.8...3.8.9)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 07:48:43 +00:00
Matthias 4dc13ac16a
Merge pull request #8437 from freqtrade/dependabot/pip/develop/ccxt-3.0.50
Bump ccxt from 3.0.37 to 3.0.50
2023-04-03 09:47:27 +02:00
Matthias eb5423469a
Merge pull request #8435 from freqtrade/dependabot/pip/develop/xgboost-1.7.5
Bump xgboost from 1.7.4 to 1.7.5
2023-04-03 09:47:09 +02:00
Matthias 43496d7929
bump sqlalchemy pre-commit 2023-04-03 09:46:32 +02:00
Matthias 92c70b6b90
Merge pull request #8441 from freqtrade/dependabot/github_actions/develop/pypa/gh-action-pypi-publish-1.8.4
Bump pypa/gh-action-pypi-publish from 1.8.3 to 1.8.4
2023-04-03 09:45:51 +02:00
Matthias 77897c7d6b
Merge pull request #8439 from freqtrade/dependabot/pip/develop/mkdocs-material-9.1.5
Bump mkdocs-material from 9.1.4 to 9.1.5
2023-04-03 09:45:26 +02:00
Matthias 531861573a
Merge pull request #8436 from freqtrade/dependabot/pip/develop/types-cachetools-5.3.0.5
Bump types-cachetools from 5.3.0.4 to 5.3.0.5
2023-04-03 09:45:10 +02:00
Matthias c9b904eb0e Fix typos in documentation 2023-04-03 06:49:30 +02:00
Matthias 372f1cb37f Reduce verbosity for stop orders 2023-04-03 06:37:31 +02:00
Matthias a3acdd5240 apply stop-reserve to minimum limits only when necessary
it's unnecessary for amount - but necessary for Cost / price limits.
2023-04-03 06:37:31 +02:00
Matthias e6a125719e Slightly refactor _get_stake_amount_limit 2023-04-03 06:37:31 +02:00
Matthias 78a1551798 Reorder get_stake_limit 2023-04-03 06:37:31 +02:00
Matthias 6f79d14c9c
pre-commit - bump cachetools 2023-04-03 06:37:15 +02:00
Matthias 28d8722fa7
Merge pull request #8433 from freqtrade/dependabot/pip/develop/websockets-11.0
Bump websockets from 10.4 to 11.0
2023-04-03 06:36:30 +02:00
dependabot[bot] 2715b2ccf0
Bump pypa/gh-action-pypi-publish from 1.8.3 to 1.8.4
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.3 to 1.8.4.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.3...v1.8.4)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 03:58:12 +00:00
dependabot[bot] 2ea575cb31
Bump mkdocs-material from 9.1.4 to 9.1.5
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.4 to 9.1.5.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.4...9.1.5)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 03:57:30 +00:00
dependabot[bot] 1b31c54162
Bump ccxt from 3.0.37 to 3.0.50
Bumps [ccxt](https://github.com/ccxt/ccxt) from 3.0.37 to 3.0.50.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ccxt/ccxt/compare/3.0.37...3.0.50)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 03:57:19 +00:00
dependabot[bot] e289c10b6c
Bump types-cachetools from 5.3.0.4 to 5.3.0.5
Bumps [types-cachetools](https://github.com/python/typeshed) from 5.3.0.4 to 5.3.0.5.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 03:57:10 +00:00
dependabot[bot] 26ed1ca07c
Bump xgboost from 1.7.4 to 1.7.5
Bumps [xgboost](https://github.com/dmlc/xgboost) from 1.7.4 to 1.7.5.
- [Release notes](https://github.com/dmlc/xgboost/releases)
- [Changelog](https://github.com/dmlc/xgboost/blob/master/NEWS.md)
- [Commits](https://github.com/dmlc/xgboost/compare/v1.7.4...v1.7.5)

---
updated-dependencies:
- dependency-name: xgboost
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 03:57:05 +00:00
dependabot[bot] b1e20bcd1e
Bump sqlalchemy from 2.0.7 to 2.0.8
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.7 to 2.0.8.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 03:57:00 +00:00
dependabot[bot] 12a73bc151
Bump websockets from 10.4 to 11.0
Bumps [websockets](https://github.com/aaugustin/websockets) from 10.4 to 11.0.
- [Release notes](https://github.com/aaugustin/websockets/releases)
- [Commits](https://github.com/aaugustin/websockets/compare/10.4...11.0)

---
updated-dependencies:
- dependency-name: websockets
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 03:56:46 +00:00
Matthias 19e112f399
Merge pull request #8427 from initrv/typo-fix-constants
Typo fix constants
2023-04-02 07:42:15 +02:00
initrv cccf4f305b fix randomize_starting_position typo 2023-04-02 03:42:05 +03:00
Matthias dc7e834911 Fix some type issues 2023-04-01 20:17:56 +02:00
Matthias a630799984
Merge pull request #8423 from freqtrade/add-profit-trade-history
make trade_type value more explicit, add profit to trade_history dict
2023-04-01 15:19:54 +02:00
Matthias 916e1bbc7c
Merge pull request #8412 from freqtrade/fix/partial_stops
support partially filled stops
2023-04-01 15:18:42 +02:00
Robert Caulk 631cb44f5c ensure python code block renders 2023-04-01 15:16:48 +02:00
Robert Caulk 367186cc34 Update freqai-feature-engineering.md
The `metadata` section of `freqai-feature-engineering.md` had a misplaced whitespace in front of the title. 

This PR removes the whitespace.
2023-04-01 15:16:43 +02:00
robcaulk 92f34f262e make trade_type value more explicit, add profit to trade_history dict 2023-04-01 10:05:58 +02:00
Matthias 5e13b48648
Merge pull request #8386 from freqtrade/feature/price_to_precision_round
price to precision rounding
2023-03-31 07:20:10 +02:00
Matthias 6dfb1a1d14 Improve docker regular build caching 2023-03-31 06:49:12 +02:00
Matthias f8330800d1 Improve docker arm builds 2023-03-31 06:49:02 +02:00
Matthias 3ec7c72da1 Bump develop version to 2023.4.dev 2023-03-30 07:06:23 +02:00
robcaulk 355fde3bca revert setting dk to live in test_plot_feature_importances 2023-03-29 22:01:54 +02:00
Matthias fa7c29fe9f Update producer docs to reflect proper datatype
closes #8419
2023-03-29 20:43:23 +02:00
Matthias 861c577138 Support partially filled stop orders
closes #8374
2023-03-29 07:05:39 +02:00
Matthias e062a74e70 Add test for partial stop order canceling
part of #8374
2023-03-29 06:57:17 +02:00
Matthias c330c493d5 test for Handle stop on exchange partial filled
part of #8374
2023-03-29 06:57:17 +02:00
Matthias 8a49d62068 Don't update liquidation price for closed trades 2023-03-29 06:49:22 +02:00
Matthias a642524928 Improve integration test correctness 2023-03-29 06:48:00 +02:00
Matthias eb96490c99 Improve some more stoploss tests 2023-03-28 20:28:05 +02:00
Matthias 6282b42741 Remove further Magicmock trade 2023-03-28 19:38:43 +02:00
Matthias 513df4515b Improve stoploss tests 2023-03-28 19:19:55 +02:00
Matthias 411e21f430 Improve stop test 2023-03-28 18:13:26 +02:00
Matthias f0b5f95fd6 Remove missleading comment 2023-03-28 18:10:26 +02:00
Matthias 736c396d98 Use correct amount for stoploss test 2023-03-28 16:45:54 +02:00
Yinon Polak 5a7ca35c6b declare class names in FreqaiExampleHybridStrategy 2023-03-28 16:24:49 +03:00
Yinon Polak 077a947972 clean code 2023-03-28 15:18:10 +03:00
Yinon Polak 8ac3a94358 add note to pytorch docs - setting class names for classifiers 2023-03-28 15:17:40 +03:00
Yinon Polak dfbebdea9b improve comment on class_names in freqai interface 2023-03-28 14:44:44 +03:00
Yinon Polak b795a70102 fix config example in pytorch mlp documentation 2023-03-28 14:44:43 +03:00
Yinon Polak 026b6a39a9 bugfix skip test split when empty 2023-03-28 14:40:23 +03:00
Matthias 2860e817bd Update cached binance leverage Tiers 2023-03-28 07:05:37 +02:00
Matthias 19b78fbc22 Override ccxt's marketOrderRequiresPrice settings for gate 2023-03-28 06:57:18 +02:00
Matthias cde432fef0 Enable gate market orders
closes #8368
2023-03-28 06:56:11 +02:00
Matthias 8ae44c204e
Merge pull request #8361 from TheJoeSchr/feature/trades-feather
featherdatahandler: implement trades_store/_trades_load
2023-03-27 21:05:30 +02:00
Matthias ed0e7ead31 Fix wrong import 2023-03-27 20:36:05 +02:00
Matthias 3928051baf Revert unneeded formatting changes 2023-03-27 20:35:26 +02:00
Matthias e35c85000e Excude raspberry from catboost installs
closes #8404
2023-03-27 20:19:23 +02:00
robcaulk 3cabcabcbd ensure labels are properly defined in backtesting 2023-03-27 15:23:01 +02:00
Matthias 85776db692
Merge pull request #8401 from freqtrade/dependabot/pip/develop/ccxt-3.0.37
Bump ccxt from 3.0.36 to 3.0.37
2023-03-27 11:02:44 +02:00
Matthias ce81af08d8
Merge pull request #8398 from freqtrade/dependabot/pip/develop/mkdocs-material-9.1.4
Bump mkdocs-material from 9.1.3 to 9.1.4
2023-03-27 11:00:57 +02:00
Matthias 5aa6c1dfae
Merge pull request #8402 from freqtrade/dependabot/pip/develop/pydantic-1.10.7
Bump pydantic from 1.10.6 to 1.10.7
2023-03-27 11:00:40 +02:00
dependabot[bot] 4f4dfa2a59
Bump pydantic from 1.10.6 to 1.10.7
Bumps [pydantic](https://github.com/pydantic/pydantic) from 1.10.6 to 1.10.7.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/v1.10.7/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v1.10.6...v1.10.7)

---
updated-dependencies:
- dependency-name: pydantic
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-27 07:50:06 +00:00
dependabot[bot] 90669e0ba9
Bump ccxt from 3.0.36 to 3.0.37
Bumps [ccxt](https://github.com/ccxt/ccxt) from 3.0.36 to 3.0.37.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ccxt/ccxt/compare/3.0.36...3.0.37)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-27 07:49:56 +00:00
Matthias bc9f6d30c1
Merge pull request #8391 from freqtrade/dependabot/pip/develop/types-requests-2.28.11.16
Bump types-requests from 2.28.11.15 to 2.28.11.16
2023-03-27 09:47:34 +02:00
Matthias 4ae2333306
Merge pull request #8399 from freqtrade/dependabot/pip/develop/filelock-3.10.6
Bump filelock from 3.10.0 to 3.10.6
2023-03-27 09:47:16 +02:00
Matthias 8c63e3dc4f
Merge pull request #8396 from freqtrade/dependabot/pip/develop/cryptography-40.0.1
Bump cryptography from 39.0.2 to 40.0.1
2023-03-27 09:47:02 +02:00
Matthias b0dddd35ca
Merge pull request #8395 from freqtrade/dependabot/pip/develop/pre-commit-3.2.1
Bump pre-commit from 3.2.0 to 3.2.1
2023-03-27 09:45:57 +02:00
Matthias 96ba75179b
Merge pull request #8400 from freqtrade/dependabot/github_actions/develop/pypa/gh-action-pypi-publish-1.8.3
Bump pypa/gh-action-pypi-publish from 1.8.1 to 1.8.3
2023-03-27 08:28:18 +02:00
Matthias 2589717375
Merge pull request #8397 from freqtrade/dependabot/pip/develop/orjson-3.8.8
Bump orjson from 3.8.7 to 3.8.8
2023-03-27 08:00:46 +02:00
dependabot[bot] bc0816aa66
Bump cryptography from 39.0.2 to 40.0.1
Bumps [cryptography](https://github.com/pyca/cryptography) from 39.0.2 to 40.0.1.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/39.0.2...40.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-27 05:15:59 +00:00
dependabot[bot] 1743ad7946
Bump pre-commit from 3.2.0 to 3.2.1
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.2.0...v3.2.1)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-27 05:14:04 +00:00
Matthias 9367cbcfd3
Merge pull request #8390 from freqtrade/dependabot/pip/develop/ccxt-3.0.36
Bump ccxt from 3.0.23 to 3.0.36
2023-03-27 07:10:39 +02:00
Matthias 43a7b9236b
Merge pull request #8393 from freqtrade/dependabot/pip/develop/ruff-0.0.259
Bump ruff from 0.0.257 to 0.0.259
2023-03-27 07:00:38 +02:00
Matthias 4891174a71 list-data should sort pairs also in timerange mode 2023-03-27 06:44:36 +02:00
Matthias 8845f765db
pre-commit - bump requests 2023-03-27 06:25:11 +02:00
dependabot[bot] 7e11bce4f4
Bump pypa/gh-action-pypi-publish from 1.8.1 to 1.8.3
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.1 to 1.8.3.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.1...v1.8.3)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-27 03:58:02 +00:00
dependabot[bot] 8955e09175
Bump filelock from 3.10.0 to 3.10.6
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.10.0 to 3.10.6.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/py-filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.10.0...3.10.6)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-27 03:58:00 +00:00
dependabot[bot] d13ea71a58
Bump mkdocs-material from 9.1.3 to 9.1.4
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.3 to 9.1.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.3...9.1.4)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-27 03:57:55 +00:00
dependabot[bot] b72f61080b
Bump orjson from 3.8.7 to 3.8.8
Bumps [orjson](https://github.com/ijl/orjson) from 3.8.7 to 3.8.8.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.8.7...3.8.8)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-27 03:57:46 +00:00
dependabot[bot] 75c31cc8cc
Bump ruff from 0.0.257 to 0.0.259
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.257 to 0.0.259.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.257...v0.0.259)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-27 03:57:14 +00:00
dependabot[bot] 1b3d9efedd
Bump types-requests from 2.28.11.15 to 2.28.11.16
Bumps [types-requests](https://github.com/python/typeshed) from 2.28.11.15 to 2.28.11.16.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-27 03:56:55 +00:00
dependabot[bot] 2f8f60373e
Bump ccxt from 3.0.23 to 3.0.36
Bumps [ccxt](https://github.com/ccxt/ccxt) from 3.0.23 to 3.0.36.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ccxt/ccxt/compare/3.0.23...3.0.36)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-27 03:56:49 +00:00
robcaulk 55781e7f10 fix tests 2023-03-26 19:22:52 +02:00
Matthias 72284317c2 Fix failing backtest test 2023-03-26 18:21:21 +02:00
Matthias 80a27bc0db Fix random uvicorn error 2023-03-26 18:18:52 +02:00
Matthias 1c9abd9e35 Properly respect can_short flag in backtesting
closes  #8387
2023-03-26 17:27:52 +02:00
Matthias c14ac8a205 Properly handle non-replaced first entry orders 2023-03-26 16:46:41 +02:00
Matthias b09fb5826f don't use "can_short" in backtesting to determine application of leverage 2023-03-26 16:21:51 +02:00
Matthias fb1541bdf6 Explicitly close loop in async tests 2023-03-26 16:21:51 +02:00
Matthias 444d18aa39 Revert binance PO fix, since ccxt has fixed this bug. 2023-03-26 16:21:51 +02:00
Matthias 91ab4abba8
Merge pull request #8389 from escanoro/patch-1
typo:  above should be below
2023-03-26 15:45:29 +02:00
escanoro 16057da6cc
typo: above should be below 2023-03-26 14:09:41 +02:00
Matthias d97500581d
Merge pull request #8379 from xmatthias/type_sendmsg
Type sendmsg
2023-03-26 14:09:01 +02:00
robcaulk f1e831a7b8 fix bug in backtest target setting 2023-03-26 13:43:59 +02:00
Matthias 31a396bc25
Merge pull request #8272 from paranoidandy/bot-loop-start-every-candle-bt
Make strategy.bot_loop_start run once per candle in backtest
2023-03-26 13:21:08 +02:00
Matthias 7cdcd97c26 Update tests for new logic. 2023-03-26 11:30:44 +02:00
Matthias 73b59df77b Merge branch 'develop' into pr/paranoidandy/8272 2023-03-26 11:22:24 +02:00
Matthias 86aef7cf9d Add current_time to bot_loop_start callbak 2023-03-26 11:22:19 +02:00
Matthias 159090c0e7 Add explicit tests for TRUNCATE mode 2023-03-26 11:14:34 +02:00
Matthias 0cb28f3d82 Use kwarg for rounding_mode, update tests with additional parameter 2023-03-26 11:00:41 +02:00
Matthias d0d0cbe1d1 Implement price_to_precision logic for stoploss 2023-03-26 10:37:18 +02:00
Matthias 02078456fc Merge branch 'develop' into pr/asuiu/8296 2023-03-26 10:28:02 +02:00
Matthias 01dfb1cba8 Revert having price_rounding_mode as configuration 2023-03-26 10:24:47 +02:00
Matthias ee205ddc86 Improve trade.from_json when stops are used 2023-03-25 20:26:56 +01:00
Matthias 298f5685ee Reuse existing "cancel_stoploss" call 2023-03-25 20:06:21 +01:00
Matthias 486d8a48a0 Fix docs (buffer_train_data_candles is an integer, not a boolean)
closes #8384
2023-03-25 19:36:28 +01:00
Matthias d426077445 Merge branch 'develop' of github.com:freqtrade/freqtrade into develop 2023-03-25 16:33:07 +01:00
Matthias 9aa455fcd4
Merge pull request #8364 from freqtrade/robcaulk-patch-1
Update freqai_interface.py
2023-03-25 16:27:25 +01:00
Robert Caulk d9c8b322ce
Update freqai_interface.py 2023-03-25 13:37:07 +01:00
robcaulk 68154a1f52 document why users cant arbitrarily change parameter spaces... 2023-03-25 11:57:52 +01:00
Matthias f7c1ee6d3e add precision values to api schema 2023-03-25 11:55:47 +01:00
Matthias 9c6a49436b Export amount/price precisions per trade 2023-03-25 11:42:19 +01:00
Matthias 75464c22f5
Merge pull request #8382 from linquanisaac/develop
docs(protections): fix typo
2023-03-25 11:36:35 +01:00
linquanisaac cdd44a4005 docs(protections): fix typo 2023-03-25 17:19:58 +08:00
Matthias 34313a7af6 Merge remote-tracking branch 'origin/develop' into type_sendmsg 2023-03-25 09:23:00 +01:00
Matthias 4053ee4581
Merge pull request #8380 from freqtrade/fix/talibinstall
use github to download guess instead of gnu.org
2023-03-25 09:22:43 +01:00
Matthias 56170dba19 use github to download guess instead of gnu.org
gnu.org seems down rn (dns does no longer resolve),
and doesn't have good uptime history
2023-03-25 08:55:36 +01:00
Matthias 79a2de7a64 Reduce impact of short outages 2023-03-25 08:31:35 +01:00
Matthias c0a57d352f send base_currency with messages that need it. 2023-03-25 08:16:07 +01:00
Matthias cbdd86d777 Fix test failures due to additional field 2023-03-24 21:05:10 +01:00
Matthias 281dd7785e Fix some remaining type errors 2023-03-24 20:56:18 +01:00
Matthias ad58bac810 Type WS messagetypes 2023-03-24 20:54:28 +01:00
Matthias 8928d3616a Improve msgtypes 2023-03-24 20:47:53 +01:00
Matthias e8cffeeffd Update RPCStatusMessage type 2023-03-24 20:36:29 +01:00
Matthias 76d289f0ce Don't overwrite types 2023-03-24 20:35:01 +01:00
Matthias 245ae99273 Further typing ... 2023-03-24 20:33:00 +01:00
Matthias 70ad7b42b1 Improve msg typing 2023-03-24 20:33:00 +01:00
Matthias 0ece73578c Add typedDict for RPC messages
Currently not fully functional.
2023-03-24 20:33:00 +01:00
Matthias b317524ed7 protect adjust_trade_position from crashing in case of unsafe code 2023-03-24 20:27:45 +01:00
Yinon Polak 8903ba5d89 fix enf of file 2023-03-24 20:35:55 +03:00
Matthias 469166636c Set initial stoploss when creating the order
This ensures that a trade never has "None" as stoploss
2023-03-24 07:27:45 +01:00
Yinon Polak eabd321281 small docs change 2023-03-23 15:59:57 +02:00
Yinon Polak 45c6ae446f small docs change 2023-03-23 15:04:29 +02:00
Yinon Polak 952e641213 small docs change 2023-03-23 12:43:37 +02:00
Yinon Polak c44b5b1b3a add pytorch parameters to parameter table docs 2023-03-23 12:41:20 +02:00
Yinon Polak fc8625c5c5 add pytorch classes uml diagram 2023-03-23 12:13:27 +02:00
Matthias 150c5510c7 Don''t fully fail bot when invalid price value is reached
closes #8300
2023-03-22 19:46:07 +01:00
Yinon Polak 36a005754a add pytorch documentation 2023-03-22 18:15:57 +02:00
Yinon Polak 479aafc331 rename Torch to PyTorch 2023-03-22 17:50:00 +02:00
Robert Caulk bdf19f1d66
Update freqai_interface.py 2023-03-21 22:44:56 +01:00
Matthias 8cf3e9f91b Accept "insufficient funds" error on set_leverage from stop calls
closes #8341
2023-03-21 19:29:27 +01:00
Matthias ebebcb886c Move build-system to the top of pyproject.toml 2023-03-21 19:28:26 +01:00
Matthias 36c45fd14f Remove unused argument from set_leverage 2023-03-21 19:14:09 +01:00
Joe Schr 0128b63c1c add 'feather' to AVAILABLE_DATAHANDLERS_TRADES 2023-03-21 19:13:32 +01:00
Joe Schr e16db814fa featherdatahandler: implement trades_store/_trades_load 2023-03-21 17:56:51 +01:00
Yinon Polak f81e3d8667 sort imports 2023-03-21 16:42:13 +02:00
Yinon Polak b9c7d338b3 fix test_start_backtesting 2023-03-21 16:38:05 +02:00
Yinon Polak 4f93106755 Merge remote-tracking branch 'origin/feat/add-pytorch-model-support' into feat/add-pytorch-model-support 2023-03-21 16:26:42 +02:00
Yinon Polak 02bccd0097 add pytorch mlp models to test_start_backtesting 2023-03-21 16:20:35 +02:00
robcaulk 1ba01746a0 organize pytorch files 2023-03-21 15:09:54 +01:00
Yinon Polak 83a7d888bc type hint init in pytorch mlp classes 2023-03-21 15:19:34 +02:00
Yinon Polak eba82360fa skip pytorch tests on python 3.11 and intel based mac os 2023-03-21 15:18:05 +02:00
Yinon Polak 3fa23860c0 skip pytorch tests on python 3.11 and intel based mac os 2023-03-21 14:34:27 +02:00
Yinon Polak a80afc8f1b add optional target tensor squeezing to pytorch trainer 2023-03-21 13:20:54 +02:00
Yinon Polak 97339e14cf round up divisions in calc_n_epochs 2023-03-21 12:29:05 +02:00
Yinon Polak 443263803c unsqueeze target tensor when 1 dimensional 2023-03-21 11:42:05 +02:00
Yinon Polak 9906e7d646 clean code 2023-03-21 11:23:45 +02:00
Yinon Polak e8f040bfbd add class_name attribute to freqai interface 2023-03-20 20:38:43 +02:00
Matthias 97c420b2df Add explicit test for okx lev_prep 2023-03-20 19:27:48 +01:00
Yinon Polak a4b617e482 type hints fixes 2023-03-20 20:22:28 +02:00
Matthias 7b5e322ef2
Merge pull request #8360 from freqtrade/okx_stop
Okx stoploss on exchange
2023-03-20 19:19:59 +01:00
Yinon Polak c06cd38951 clean code 2023-03-20 19:55:39 +02:00
Yinon Polak 0a55753faf move default attributes of pytorch classifier to initializer,
to prevent mypy from complaining
2023-03-20 19:40:36 +02:00
Yinon Polak 6b4d9f97c1 clean code 2023-03-20 19:28:30 +02:00
Matthias 639987cbab Prevent parameter reuse 2023-03-20 18:19:17 +01:00
Matthias 56c2aa89bc
Merge pull request #8344 from freqtrade/fix/db_concurrent
Fix db concurrent problem
2023-03-20 18:17:09 +01:00
Yinon Polak bf4aa91aab Merge remote-tracking branch 'origin/feat/add-pytorch-model-support' into feat/add-pytorch-model-support
# Conflicts:
#	freqtrade/freqai/base_models/PyTorchModelTrainer.py
#	freqtrade/freqai/prediction_models/PyTorchClassifier.py
#	freqtrade/freqai/prediction_models/PyTorchMLPClassifier.py
#	freqtrade/freqai/prediction_models/PyTorchMLPModel.py
#	tests/freqai/test_freqai_interface.py
2023-03-20 18:44:24 +02:00
Yinon Polak 500c401b75 improve pytorch classifier documentation 2023-03-20 18:41:04 +02:00
Yinon Polak 81a2cbb4eb fix tests 2023-03-20 18:41:04 +02:00
Yinon Polak 0510cf4491 add config params to tests 2023-03-20 18:41:04 +02:00
Yinon Polak 68728409aa add pytorch regressor test 2023-03-20 18:41:04 +02:00
Yinon Polak c00ffcee59 fix pytorch classifier test 2023-03-20 18:41:04 +02:00
Yinon Polak 9aec1ddb17 sort imports 2023-03-20 18:41:04 +02:00
Yinon Polak d98890f32e sort imports 2023-03-20 18:41:04 +02:00
Yinon Polak f659f8e309 remove unused imports 2023-03-20 18:41:04 +02:00
Yinon Polak 54db239175 add pytorch regressor example 2023-03-20 18:41:04 +02:00
Yinon Polak 601c37f862 refactor classifiers class names 2023-03-20 18:41:04 +02:00
Yinon Polak 501e746c52 improve mlp documentation 2023-03-20 18:41:04 +02:00
Yinon Polak d04146d1b1 improve mlp documentation 2023-03-20 18:41:04 +02:00
Yinon Polak ea08931ab3 add mlp documentation 2023-03-20 18:41:04 +02:00
Yinon Polak ddd1b5c0ff modify feedforward net, move layer norm to start of thr block 2023-03-20 18:41:04 +02:00
Yinon Polak e08d8190ae fix test 2023-03-20 18:41:04 +02:00
Yinon Polak fbf7049ac5 sort imports 2023-03-20 18:41:04 +02:00
Yinon Polak 2a1a8c0e64 fix test 2023-03-20 18:41:04 +02:00
Yinon Polak 833aaf8e10 create children class to PyTorchClassifier to implement the fit method where we initialize the trainer and model objects 2023-03-20 18:41:04 +02:00
Yinon Polak 566346dd87 classifier test - set model file extension 2023-03-20 18:41:03 +02:00
Yinon Polak d0a33d2ee7 fix tests 2023-03-20 18:41:03 +02:00
robcaulk fab505be1b cheat flake8 for now until we can refactor save into the model class 2023-03-20 18:41:03 +02:00
Yinon Polak 2f386913ac refactor classifiers class names 2023-03-20 11:54:17 +02:00
Matthias 4f4bfdac4d Adjustments to okx stoploss 2023-03-20 09:00:00 +01:00
Matthias 8b6ea32c4c
Merge pull request #8357 from freqtrade/dependabot/pip/develop/pytest-asyncio-0.21.0
Bump pytest-asyncio from 0.20.3 to 0.21.0
2023-03-20 08:59:19 +01:00
Matthias ff497d5c90
Merge pull request #8356 from freqtrade/dependabot/pip/develop/fastapi-0.95.0
Bump fastapi from 0.94.0 to 0.95.0
2023-03-20 08:54:49 +01:00
Matthias c05db6742c
Merge pull request #8351 from freqtrade/dependabot/pip/develop/ccxt-3.0.23
Bump ccxt from 2.9.12 to 3.0.23
2023-03-20 08:52:12 +01:00
Matthias 75f75f3881
Merge pull request #8358 from freqtrade/dependabot/pip/develop/ast-comments-1.0.1
Bump ast-comments from 1.0.0 to 1.0.1
2023-03-20 08:51:56 +01:00
dependabot[bot] a4e4310d40
Bump pytest-asyncio from 0.20.3 to 0.21.0
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.20.3 to 0.21.0.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.20.3...v0.21.0)

---
updated-dependencies:
- dependency-name: pytest-asyncio
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 07:11:18 +00:00
Matthias dfc3524334
Merge pull request #8355 from freqtrade/dependabot/github_actions/develop/pypa/gh-action-pypi-publish-1.8.1
Bump pypa/gh-action-pypi-publish from 1.7.1 to 1.8.1
2023-03-20 08:10:17 +01:00
Matthias a0913588b8
Merge pull request #8353 from freqtrade/dependabot/pip/develop/pre-commit-3.2.0
Bump pre-commit from 3.1.1 to 3.2.0
2023-03-20 08:10:04 +01:00
Matthias c56b344077
Merge pull request #8354 from freqtrade/dependabot/pip/develop/ruff-0.0.257
Bump ruff from 0.0.255 to 0.0.257
2023-03-20 08:09:08 +01:00
dependabot[bot] cb1f971d4b
Bump ccxt from 2.9.12 to 3.0.23
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.9.12 to 3.0.23.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ccxt/ccxt/compare/2.9.12...3.0.23)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 06:39:13 +00:00
Matthias 78e64be04e
Merge pull request #8349 from freqtrade/dependabot/pip/develop/sqlalchemy-2.0.7
Bump sqlalchemy from 2.0.5.post1 to 2.0.7
2023-03-20 07:38:07 +01:00
dependabot[bot] 3175121030
Bump ast-comments from 1.0.0 to 1.0.1
Bumps [ast-comments](https://github.com/t3rn0/ast-comments) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/t3rn0/ast-comments/releases)
- [Commits](https://github.com/t3rn0/ast-comments/compare/1.0.0...1.0.1)

---
updated-dependencies:
- dependency-name: ast-comments
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 05:47:55 +00:00
dependabot[bot] 8d649988ca
Bump fastapi from 0.94.0 to 0.95.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.94.0 to 0.95.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.94.0...0.95.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 05:47:47 +00:00
Matthias ec7e7e744b
Merge pull request #8352 from freqtrade/dependabot/pip/develop/uvicorn-0.21.1
Bump uvicorn from 0.21.0 to 0.21.1
2023-03-20 06:46:46 +01:00
Matthias 5c754eb4d3
Merge pull request #8350 from freqtrade/dependabot/pip/develop/mkdocs-material-9.1.3
Bump mkdocs-material from 9.1.2 to 9.1.3
2023-03-20 06:46:25 +01:00
Matthias 54d8aa7782 Test stoploss_adjust okx 2023-03-20 06:46:00 +01:00
Matthias 4690244673 Enable okx stop-price types 2023-03-20 06:40:57 +01:00
Matthias 2de5a59d89 Add test for dry-run fetching 2023-03-20 06:38:42 +01:00
Matthias 98685f1c98
Merge pull request #8348 from freqtrade/dependabot/pip/develop/python-rapidjson-1.10
Bump python-rapidjson from 1.9 to 1.10
2023-03-20 06:29:35 +01:00
Matthias 88e93b4902
Merge pull request #8346 from freqtrade/dependabot/pip/develop/nbconvert-7.2.10
Bump nbconvert from 7.2.9 to 7.2.10
2023-03-20 06:29:02 +01:00
Matthias dcca51985d
sqlalchemy - pre-commit 2023-03-20 06:27:39 +01:00
Matthias 21f2f67ffa
Merge pull request #8347 from freqtrade/dependabot/pip/develop/filelock-3.10.0
Bump filelock from 3.9.0 to 3.10.0
2023-03-20 06:24:50 +01:00
dependabot[bot] c78342b194
Bump pypa/gh-action-pypi-publish from 1.7.1 to 1.8.1
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.7.1 to 1.8.1.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.7.1...v1.8.1)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 03:58:15 +00:00
dependabot[bot] 29b9be9bd0
Bump ruff from 0.0.255 to 0.0.257
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.255 to 0.0.257.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.255...v0.0.257)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 03:57:47 +00:00
dependabot[bot] 4543a1fe02
Bump pre-commit from 3.1.1 to 3.2.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.1.1...v3.2.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 03:57:33 +00:00
dependabot[bot] fc7c8cce3c
Bump uvicorn from 0.21.0 to 0.21.1
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.21.0 to 0.21.1.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.21.0...0.21.1)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 03:57:28 +00:00
dependabot[bot] 7d1559f319
Bump mkdocs-material from 9.1.2 to 9.1.3
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.2 to 9.1.3.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.2...9.1.3)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 03:57:13 +00:00
dependabot[bot] a43502093d
Bump sqlalchemy from 2.0.5.post1 to 2.0.7
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.5.post1 to 2.0.7.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 03:57:07 +00:00
dependabot[bot] 47e84ad106
Bump python-rapidjson from 1.9 to 1.10
Bumps [python-rapidjson](https://github.com/python-rapidjson/python-rapidjson) from 1.9 to 1.10.
- [Release notes](https://github.com/python-rapidjson/python-rapidjson/releases)
- [Changelog](https://github.com/python-rapidjson/python-rapidjson/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-rapidjson/python-rapidjson/compare/v1.9...v1.10)

---
updated-dependencies:
- dependency-name: python-rapidjson
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 03:56:54 +00:00
dependabot[bot] 5ade5777e8
Bump filelock from 3.9.0 to 3.10.0
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.9.0 to 3.10.0.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/py-filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.9.0...3.10.0)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 03:56:49 +00:00
dependabot[bot] fb0e824a83
Bump nbconvert from 7.2.9 to 7.2.10
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.2.9 to 7.2.10.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Changelog](https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter/nbconvert/compare/v7.2.9...v7.2.10)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 03:56:45 +00:00
Matthias a7c7f720c0 Add test for okx fetch_stop 2023-03-19 20:03:34 +01:00
Matthias 224f289ec8 OKX Stop: Add some more okx specific logic 2023-03-19 19:45:30 +01:00
Matthias d84ece7258 Use conditional orders for stop orders 2023-03-19 19:44:35 +01:00
Matthias 6c5dc7e0a9 OKX: improve stop order handling 2023-03-19 19:44:35 +01:00
Matthias df20757d21 OKX stop: implement proper stoploss fetching 2023-03-19 19:44:35 +01:00
Matthias a2ce288241 Add okx stoploss on exchange (non-working for futures). 2023-03-19 19:44:35 +01:00
Matthias ce3efa8f00 Remove pointless asserts 2023-03-19 18:05:08 +01:00
Matthias c92f28bf6f ruff: Activate UP ruleset 2023-03-19 17:57:56 +01:00
Matthias 222ecdecd2 Improve code quality 2023-03-19 17:50:08 +01:00
Yinon Polak 1c11a5f048 improve mlp documentation 2023-03-19 18:10:57 +02:00
Yinon Polak 903a1dc3e5 improve mlp documentation 2023-03-19 18:04:01 +02:00
Yinon Polak 6f9a8a089c add mlp documentation 2023-03-19 17:45:30 +02:00
Yinon Polak 8bee499328 modify feedforward net, move layer norm to start of thr block 2023-03-19 17:03:36 +02:00
Matthias 236499a195 Reorder push logic for ghcr 2023-03-19 15:47:42 +01:00
Matthias 3d91dd8a98 Support post-only orders for Binance spot
closes #8044
2023-03-19 15:36:35 +01:00
Matthias 9ccc3e52ec Simplify time in force code structure 2023-03-19 15:30:27 +01:00
Matthias f5f151fcc5 Fix typing error 2023-03-19 15:06:56 +01:00
Matthias 7aa56adf15
Merge pull request #7951 from hippocritical/strategy_utils
strategy_updater
2023-03-19 14:28:36 +01:00
Yinon Polak 719faab4b8 fix test 2023-03-19 15:21:34 +02:00
Yinon Polak 9f477aa3c9 sort imports 2023-03-19 15:09:50 +02:00
Yinon Polak 61ac36c576 fix test 2023-03-19 14:49:12 +02:00
Yinon Polak 366c148c10 create children class to PyTorchClassifier to implement the fit method where we initialize the trainer and model objects 2023-03-19 14:38:49 +02:00
Matthias bf3f2e4de4 Fix failing test 2023-03-19 11:16:54 +01:00
hippocritical 763f4f4a3e
Merge branch 'freqtrade:develop' into strategy_utils 2023-03-18 20:15:12 +01:00
hippocritical 4925d8f580 Merge remote-tracking branch 'origin/strategy_utils' into strategy_utils 2023-03-18 20:07:34 +01:00
hippocritical b1f88e8861 fixed typo from trades to trade 2023-03-18 20:02:55 +01:00
Yinon Polak a49f62eecb classifier test - set model file extension 2023-03-18 20:51:30 +02:00
Matthias 62c8dd98d5 Use combination of thread-local and asyncio-aware session context 2023-03-18 19:28:22 +01:00
Matthias b0a7b64d44 Close sessions after telegram calls 2023-03-18 19:28:22 +01:00
Matthias d808dd49e8 Fix ruff violation 2023-03-18 19:28:13 +01:00
Matthias 818d2bf92a Fix stoploss on exchange value in /show_config call 2023-03-18 18:02:46 +01:00
Matthias f98a12c26c
Merge pull request #8343 from freqtrade/freqai/add_pair
Add pair output to "tossed" messages
2023-03-18 18:02:36 +01:00
Matthias 477dc50425 Add pair output to "tossed" messages 2023-03-18 16:32:07 +00:00
Yinon Polak fab9ff1294 fix tests 2023-03-18 15:27:38 +02:00
Yinon Polak 1c91b4427b Merge remote-tracking branch 'origin/feat/add-pytorch-model-support' into feat/add-pytorch-model-support 2023-03-18 14:14:38 +02:00
Yinon Polak 244662b1a4 set class names attribute in the general classifier testing strategy 2023-03-18 14:12:31 +02:00
Robert Caulk 186fe5933b
Merge pull request #8338 from freqtrade/freqai_exception
Fix exceptions when training fails
2023-03-18 12:56:25 +01:00
Matthias 8ab35bbaf3
Merge pull request #8340 from freqtrade/sqlalchemy2_queyr
remove Sqlalchemy .query usage
2023-03-18 08:10:56 +01:00
Matthias 9044052b4e Fix exceptions when training fails 2023-03-17 18:29:10 +01:00
hippocritical 209811d23a
Merge branch 'freqtrade:develop' into strategy_utils 2023-03-17 08:48:52 +01:00
Matthias 764d5507a3 Fix typo in docker param 2023-03-17 07:05:13 +01:00
Matthias 628f6b8b7c Fix crane docker permissions 2023-03-17 07:05:13 +01:00
Matthias 0d3de07012 use Crane to move images around 2023-03-17 07:05:13 +01:00
Matthias db0f449d93 Use docker manifest for GHCR builds 2023-03-17 07:05:13 +01:00
Matthias 774eacc561 Attempt push to ghcr.io 2023-03-17 07:05:13 +01:00
Matthias e3e4fbd5ba Minor test fix 2023-03-16 19:24:37 +01:00
Matthias b7709126f9 remove .query completely 2023-03-16 18:07:22 +01:00
Matthias 4cfbc55d34 Update remaining tests to get rid of .query 2023-03-16 18:07:06 +01:00
Robert Caulk 00054dcfde
Merge pull request #8307 from initrv/tensorboard-category
Improve tensorboard_log
2023-03-16 11:10:29 +01:00
Matthias 9d6e973e5b remove .query from most tests 2023-03-16 07:25:04 +01:00
Matthias 6ed337faa3 Update several tests to remove .query 2023-03-16 07:04:15 +01:00
Matthias e579ff9532 Simplify pairlock querying 2023-03-16 06:48:12 +01:00
Matthias ae361e1d5d Update more .query usages 2023-03-16 06:44:53 +01:00
Matthias 8865af9104 Remove .query from pairlock 2023-03-15 21:21:00 +01:00
Matthias aa54b77702 Rename _session to sessoin 2023-03-15 21:12:06 +01:00
Matthias 8073989c98 Remove more usages of .query 2023-03-15 21:10:47 +01:00
Matthias d45599ca3b Fix some type errors 2023-03-15 21:09:25 +01:00
Matthias b469addffb remove usage of .query from regular models 2023-03-15 21:00:30 +01:00
Matthias 47ab285252 Minor test fix 2023-03-15 20:49:35 +01:00
Matthias 95ff59a21c Improve documentation for get_trades_proxy 2023-03-15 07:23:54 +01:00
Matthias 7e08e3a59a Update example to use get_trades_proxy 2023-03-15 07:22:07 +01:00
robcaulk 4550447409 cheat flake8 for now until we can refactor save into the model class 2023-03-14 21:13:30 +01:00
Matthias 8f29312c9e Minimum re-entry stake should not include stoploss 2023-03-14 08:14:01 +01:00
Matthias 5c280d5649 Improve emergency_exit handling 2023-03-13 20:28:13 +01:00
Matthias b23cea6e59 Bump ruff to 0.0.255 2023-03-13 20:16:12 +01:00
Matthias 487469680f Use correct exception type for ccxt.InvalidOrder 2023-03-13 20:13:12 +01:00
Matthias 8fd13933c3 Improve variable naming 2023-03-13 19:51:03 +01:00
Matthias cf70deaf8d Disallow negative liquidation prices
part of #8300
2023-03-13 19:41:39 +01:00
Matthias 3d31eca365 Update Exception to contain more info
part of #8300
2023-03-13 19:40:52 +01:00
Matthias d723979c42 Move total_trades to explicit variable 2023-03-13 19:21:53 +01:00
Yinon Polak 366740885a reduce mlp number of parameters for testing 2023-03-13 20:18:26 +02:00
Yinon Polak 918889a2bd reduce mlp number of parameters for testing 2023-03-13 20:09:12 +02:00
Matthias 1947fab3d7
Merge pull request #8315 from freqtrade/dependabot/pip/develop/uvicorn-0.21.0
Bump uvicorn from 0.20.0 to 0.21.0
2023-03-13 18:11:13 +01:00
Matthias cdb97e64ab
Merge pull request #8323 from freqtrade/dependabot/github_actions/develop/pypa/gh-action-pypi-publish-1.7.1
Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.7.1
2023-03-13 18:10:04 +01:00
Matthias daa59f6248
Merge pull request #8322 from freqtrade/dependabot/pip/develop/mkdocs-material-9.1.2
Bump mkdocs-material from 9.1.1 to 9.1.2
2023-03-13 18:08:08 +01:00
Yinon Polak 9c8c30b0e8 add test 2023-03-13 17:17:00 +02:00
initrv f3a1177bad bring inc back 2023-03-13 17:53:35 +03:00
dependabot[bot] ad5afd3047
Bump uvicorn from 0.20.0 to 0.21.0
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.20.0 to 0.21.0.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.20.0...0.21.0)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 08:08:57 +00:00
Matthias 458bfcc89b
Merge pull request #8324 from freqtrade/dependabot/pip/develop/urllib3-1.26.15
Bump urllib3 from 1.26.14 to 1.26.15
2023-03-13 09:02:17 +01:00
Matthias d4122c36ac
Merge pull request #8317 from freqtrade/dependabot/pip/develop/fastapi-0.94.0
Bump fastapi from 0.92.0 to 0.94.0
2023-03-13 09:01:59 +01:00
Matthias 0e663a5bf8 Refresh binance cached leverage tiers 2023-03-13 07:06:59 +01:00
Matthias 562efd1841
Merge pull request #8320 from freqtrade/dependabot/pip/develop/pytest-7.2.2
Bump pytest from 7.2.1 to 7.2.2
2023-03-13 06:59:00 +01:00
Matthias 7baa2b9005
Merge pull request #8321 from freqtrade/dependabot/pip/develop/mypy-1.1.1
Bump mypy from 1.0.1 to 1.1.1
2023-03-13 06:58:32 +01:00
dependabot[bot] 10c5adfa50
Bump fastapi from 0.92.0 to 0.94.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.92.0 to 0.94.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.92.0...0.94.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 05:37:55 +00:00
Matthias 44c4729a9d
Merge pull request #8319 from freqtrade/dependabot/pip/develop/pydantic-1.10.6
Bump pydantic from 1.10.5 to 1.10.6
2023-03-13 06:28:28 +01:00
dependabot[bot] dc6af9a1a7
Bump urllib3 from 1.26.14 to 1.26.15
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.14 to 1.26.15.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.14...1.26.15)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 03:57:54 +00:00
dependabot[bot] 82707be7d0
Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.7.1
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.6.4 to 1.7.1.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.6.4...v1.7.1)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 03:57:48 +00:00
dependabot[bot] b800f27092
Bump mkdocs-material from 9.1.1 to 9.1.2
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.1 to 9.1.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.1...9.1.2)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 03:57:46 +00:00
dependabot[bot] 31daf72cc6
Bump mypy from 1.0.1 to 1.1.1
Bumps [mypy](https://github.com/python/mypy) from 1.0.1 to 1.1.1.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v1.0.1...v1.1.1)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 03:57:40 +00:00
dependabot[bot] 22ebf04daa
Bump pytest from 7.2.1 to 7.2.2
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.2.1 to 7.2.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.2.1...7.2.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 03:57:29 +00:00
dependabot[bot] 52a091e063
Bump pydantic from 1.10.5 to 1.10.6
Bumps [pydantic](https://github.com/pydantic/pydantic) from 1.10.5 to 1.10.6.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/v1.10.6/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v1.10.5...v1.10.6)

---
updated-dependencies:
- dependency-name: pydantic
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 03:57:23 +00:00
Yinon Polak d7ea750823 revert to using model_training_parameters 2023-03-13 00:35:51 +02:00
Yinon Polak b6096efadd logging change 2023-03-13 00:35:14 +02:00
Yinon Polak b927c9dc01 remove train loss calculation from estimate_loss 2023-03-13 00:17:34 +02:00
Yinon Polak 523a58d3d6 simplify statement for pytorch file_type extension 2023-03-13 00:16:44 +02:00
Matthias fbca8e6587 Allow empty pairlock reasons through api
closes #8312
2023-03-12 21:31:08 +01:00
initrv a10f78e3ef fix increment in case of 0 2023-03-12 23:29:27 +03:00
hippocritical 8987e5f108
Merge branch 'freqtrade:develop' into strategy_utils 2023-03-12 20:14:40 +01:00
Matthias f584edf809 Improve tests by simply running a full strategy through everything 2023-03-12 16:45:56 +01:00
Matthias f5848ea891 Add test for successful_buys 2023-03-12 16:29:18 +01:00
Matthias b5c4f9ebe2 Split updater_tests to be clearer 2023-03-12 16:27:54 +01:00
Matthias 0911cd72a2 Add test for strategy-updater start method 2023-03-12 15:59:14 +01:00
Matthias d2a412d2c6 Simplify start_strategy_update 2023-03-12 15:47:03 +01:00
Matthias cb086f79ff Improve doc wording and command parameters 2023-03-12 15:46:44 +01:00
Matthias d9bff68501
Merge pull request #8311 from froggleston/develop
Fix None limit on pair_candles RPC call
2023-03-12 15:25:30 +01:00
Matthias 5bfee44bba Whitespace fix 2023-03-12 15:24:27 +01:00
Yinon Polak 0012fe36ca sort imports 2023-03-12 16:16:04 +02:00
hippocritical d186f8f1e1
Merge branch 'freqtrade:develop' into strategy_utils 2023-03-12 14:40:02 +01:00
Yinon Polak cb17b36981 simplify file_type check comparisons 2023-03-12 14:50:08 +02:00
froggleston aa283a0447 Fix None limit on pair_candles RPC call 2023-03-12 12:44:12 +00:00
Yinon Polak f9fdf1c31b generalize mlp model 2023-03-12 14:31:08 +02:00
Yinon Polak 1cf0e7be24 use one iteration on all test and train data for evaluation 2023-03-12 12:48:15 +02:00
initrv 82cb107520 add tensorboard category 2023-03-12 01:32:55 +03:00
Matthias b23841fbfe Bump ccxt to 2.9.12 2023-03-11 17:35:30 +01:00
Matthias 8726a4645d Don't use deprecated Type construct 2023-03-11 15:15:32 +01:00
Matthias 59d2ff3ffa Simplify `handle_cancel_exit ` 2023-03-11 15:15:10 +01:00
Matthias 39c651e40c Remove pointless reset of close_profit 2023-03-11 15:15:02 +01:00
Matthias a2336f256b Add profit descriptions
closes #8234
2023-03-11 08:25:45 +01:00
Matthias a76ca771f8 telegram: Fix sending telegram message with exception 2023-03-10 18:09:05 +01:00
hippocritical f722823b0d Merge remote-tracking branch 'origin/strategy_utils' into strategy_utils 2023-03-10 09:24:08 +01:00
hippocritical a3988f56b2 Sorry matthias, did not see that you already committed something and did overwrite you.
Added your version to it instead of mine and pushed again (since it was already overwritten by me).
2023-03-10 09:23:56 +01:00
hippocritical 5a467eb969
Merge branch 'freqtrade:develop' into strategy_utils 2023-03-10 09:18:44 +01:00
hippocritical 5f8202e1b5 Merge remote-tracking branch 'origin/strategy_utils' into strategy_utils
# Conflicts:
#	freqtrade/commands/strategy_utils_commands.py
#	tests/test_strategy_updater.py
2023-03-10 09:00:00 +01:00
hippocritical bfc7f48f17 added checks for python3.8 or lower since ast_comments.unparse() needs python 3.9 or higher.
testing with python 3.8 would make the build fail tests, skipping it there.
2023-03-10 08:59:07 +01:00
Matthias 5b2a291109
Merge pull request #8273 from freqtrade/stop_from_open_lev
Stop from open lev
2023-03-09 19:44:16 +01:00
Matthias d3a3ddbc61 Check if exchang provides bid/ask via fetch_tickers - and fail with spread filter if it doesn't.
closes #8286
2023-03-09 19:42:43 +01:00
Yinon Polak 8a9f2aedbb improve documentation 2023-03-09 14:55:52 +02:00
Yinon Polak e88a0d5248 convert single quotes to double quotes 2023-03-09 13:29:11 +02:00
Yinon Polak 2ef11faba7 reformat documentation 2023-03-09 13:25:20 +02:00
Yinon Polak c9eee2944b reformat documentation 2023-03-09 13:01:04 +02:00
Yinon Polak 6f962362f2 expand pytorch trainer documentation 2023-03-09 12:45:46 +02:00
Yinon Polak ba5de0cd00 add documentation 2023-03-09 11:21:10 +02:00
Yinon Polak 3081b9402b add documentation 2023-03-09 11:14:54 +02:00
Matthias 30fd1e742e Add 3.8 block for strategyUpdater 2023-03-09 07:46:58 +00:00
Matthias 4d8e3c25bd Merge branch 'develop' into strategy_utils 2023-03-09 07:12:48 +00:00
ASU 1132fa6093 feat: Added price_rounding modes in config 2023-03-09 02:11:31 +02:00
Matthias 29dfb5c169
Merge pull request #8291 from freqtrade/allow-ohlc-removal
allow user to drop ohlc from features in RL
2023-03-08 21:04:34 +01:00
robcaulk d10ee0979a ensure training_features_list is updated properly 2023-03-08 19:37:11 +01:00
Matthias 0318486bee Update stoploss_from_open documentation for leverage adjustment 2023-03-08 19:35:26 +01:00
Robert Caulk 85e345fc48
Update BaseReinforcementLearningModel.py 2023-03-08 19:29:39 +01:00
Yinon Polak 1597c3aa89 set class names in IStrategy.set_freqai_targets method, also save class name with model meta data 2023-03-08 18:36:44 +02:00
Yinon Polak 7d26df01b8 fix tensor type hint 2023-03-08 16:17:19 +02:00
Yinon Polak c8296ccb2d sort imports 2023-03-08 16:13:35 +02:00
Yinon Polak 8d60327d60 add missing import 2023-03-08 16:12:47 +02:00
Yinon Polak 04564dc134 add missing import 2023-03-08 16:11:51 +02:00
Yinon Polak 6161b858c4 sort imports 2023-03-08 16:10:25 +02:00
Yinon Polak 1921a07b89 sort imports 2023-03-08 16:08:04 +02:00
Yinon Polak b65ade51be revert config_freqai_example changes 2023-03-08 16:05:02 +02:00
Yinon Polak dfbb2e2b35 sort imports 2023-03-08 16:03:36 +02:00
Yinon Polak 1805db2b07 change documentation and small bugfix 2023-03-08 15:38:22 +02:00
Yinon Polak 76fbec0c17 ad multiclass target names encoder to ints 2023-03-08 14:29:38 +02:00
robcaulk 29d337fa02 ensure ohlc is dropped from both train and predict 2023-03-08 11:26:28 +01:00
Matthias 2c7ae756f5 Improve mock behavior 2023-03-08 07:05:59 +01:00
robcaulk d9dc831772 allow user to drop ohlc from features in RL 2023-03-07 11:33:54 +01:00
Yinon Polak 4241bff32a type hints fixes 2023-03-06 20:15:36 +02:00
Yinon Polak 5dd60eda36 type hints fixes 2023-03-06 19:37:08 +02:00
Yinon Polak 8acdd0b47c type hints fixes 2023-03-06 19:14:54 +02:00
Yinon Polak 125085fbaf add freqai.model_exists pytorch file type support 2023-03-06 18:10:49 +02:00
Yinon Polak 7eedcb9c14 reformat code 2023-03-06 17:56:07 +02:00
Yinon Polak e6e747bcd8 reformat code 2023-03-06 17:50:02 +02:00
Yinon Polak 348a08f1c4 add todo - currently assuming class labels are strings ['0.0', '1.0' .. n_classes]. need to resolve it per ClassifierModel 2023-03-06 16:41:47 +02:00
Yinon Polak b1ac2bf515 use data loader, add evaluation on epoch 2023-03-06 16:16:45 +02:00
Matthias b710bdaf6c
Merge pull request #8284 from freqtrade/dependabot/pip/develop/ccxt-2.9.4
Bump ccxt from 2.8.98 to 2.9.4
2023-03-06 10:49:10 +01:00
Matthias 27fa297209
Merge pull request #8282 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.19.10
Bump types-python-dateutil from 2.8.19.9 to 2.8.19.10
2023-03-06 09:13:42 +01:00
dependabot[bot] 85e64cd121
Bump ccxt from 2.8.98 to 2.9.4
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.8.98 to 2.9.4.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ccxt/ccxt/compare/2.8.98...2.9.4)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 07:21:23 +00:00
Matthias 0d876d7a89
Merge branch 'develop' into dependabot/pip/develop/types-python-dateutil-2.8.19.10 2023-03-06 08:20:59 +01:00
Matthias 69e5377f3d
Merge pull request #8280 from freqtrade/dependabot/pip/develop/sqlalchemy-2.0.5.post1
Bump sqlalchemy from 2.0.4 to 2.0.5.post1
2023-03-06 08:20:17 +01:00
Matthias 532ecaf2c8
Merge pull request #8276 from freqtrade/dependabot/pip/develop/pymdown-extensions-9.10
Bump pymdown-extensions from 9.9.2 to 9.10
2023-03-06 08:07:20 +01:00
Matthias d779d60812 Expose total_profit_ratio through API 2023-03-06 07:10:02 +01:00
Matthias c4a80e33ea Fix missing newline in telegram /status 2023-03-06 07:01:25 +01:00
Matthias cab1b750b3 Improve test accuracy 2023-03-06 06:39:05 +01:00
Matthias 9d285e3dc0 Add total_profit_ratio to telegram output
part of #8234
2023-03-06 06:39:05 +01:00
Matthias fff08f737f /status msg - improve formatting further 2023-03-06 06:39:05 +01:00
Matthias ca789b3282 /status - whitespace 2023-03-06 06:39:05 +01:00
Matthias 11eea9b4e1 Fix formatting for /status Realized profit 2023-03-06 06:39:05 +01:00
Matthias de015a2d7e Improve telegram message formatting 2023-03-06 06:39:05 +01:00
Matthias 4cfc7e4427
Merge pull request #8275 from freqtrade/dependabot/pip/develop/ruff-0.0.254
Bump ruff from 0.0.253 to 0.0.254
2023-03-06 06:38:57 +01:00
Matthias 0a525c6d32
Merge pull request #8274 from freqtrade/dependabot/pip/develop/orjson-3.8.7
Bump orjson from 3.8.6 to 3.8.7
2023-03-06 06:37:43 +01:00
Matthias ae8c426025
Merge pull request #8278 from freqtrade/dependabot/pip/develop/prompt-toolkit-3.0.38
Bump prompt-toolkit from 3.0.37 to 3.0.38
2023-03-06 06:37:21 +01:00
dependabot[bot] 0fe72510d5
Bump pymdown-extensions from 9.9.2 to 9.10
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.9.2 to 9.10.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.9.2...9.10)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 05:36:16 +00:00
Matthias fecb9db072
Merge pull request #8277 from freqtrade/dependabot/pip/develop/cryptography-39.0.2
Bump cryptography from 39.0.1 to 39.0.2
2023-03-06 06:36:16 +01:00
Matthias 30ac648539
Merge pull request #8279 from freqtrade/dependabot/pip/develop/mkdocs-material-9.1.1
Bump mkdocs-material from 9.0.15 to 9.1.1
2023-03-06 06:35:31 +01:00
Matthias 25fd4a04d6 Update sqlalchemy QueryPropertyDescriptor to match latest version 2023-03-06 06:34:37 +01:00
Matthias 9750e9ca4e
pre-commit python-dateutil 2023-03-06 06:32:33 +01:00
dependabot[bot] a57b033745
Bump types-python-dateutil from 2.8.19.9 to 2.8.19.10
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.9 to 2.8.19.10.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 03:57:27 +00:00
dependabot[bot] 48e16f6aba
Bump sqlalchemy from 2.0.4 to 2.0.5.post1
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.4 to 2.0.5.post1.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 03:57:18 +00:00
dependabot[bot] d1d9e25c2e
Bump mkdocs-material from 9.0.15 to 9.1.1
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.15 to 9.1.1.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.0.15...9.1.1)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 03:57:03 +00:00
dependabot[bot] 57969f8b01
Bump prompt-toolkit from 3.0.37 to 3.0.38
Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.37 to 3.0.38.
- [Release notes](https://github.com/prompt-toolkit/python-prompt-toolkit/releases)
- [Changelog](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/CHANGELOG)
- [Commits](https://github.com/prompt-toolkit/python-prompt-toolkit/compare/3.0.37...3.0.38)

---
updated-dependencies:
- dependency-name: prompt-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 03:56:58 +00:00
dependabot[bot] 8484427cf8
Bump cryptography from 39.0.1 to 39.0.2
Bumps [cryptography](https://github.com/pyca/cryptography) from 39.0.1 to 39.0.2.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/39.0.1...39.0.2)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 03:56:54 +00:00
dependabot[bot] f4c17be8de
Bump ruff from 0.0.253 to 0.0.254
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.253 to 0.0.254.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.253...v0.0.254)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 03:56:44 +00:00
dependabot[bot] 0bdd238d7f
Bump orjson from 3.8.6 to 3.8.7
Bumps [orjson](https://github.com/ijl/orjson) from 3.8.6 to 3.8.7.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.8.6...3.8.7)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 03:56:37 +00:00
hippocritical 1bb697e58c Merge remote-tracking branch 'origin/strategy_utils' into strategy_utils 2023-03-05 18:48:54 +01:00
hippocritical b072fae507 added strategy-updater compartment inside utils.md 2023-03-05 18:48:32 +01:00
hippocritical 9fa6bfa655
Merge branch 'freqtrade:develop' into strategy_utils 2023-03-05 16:25:17 +01:00
hippocritical da44b39423 Merge remote-tracking branch 'origin/strategy_utils' into strategy_utils 2023-03-05 16:20:46 +01:00
hippocritical d0d6f53dec fixed github formatting errors 2023-03-05 16:19:26 +01:00
Yinon Polak 751b205618 initial commit 2023-03-05 16:59:24 +02:00
Matthias d80760d20c bump ccxt to 2.8.98 2023-03-05 14:16:53 +01:00
hippocritical 5dd919b7ad
Merge branch 'freqtrade:develop' into strategy_utils 2023-03-05 12:30:26 +01:00
Matthias 108a578772 Update tests to latest rpc changes 2023-03-04 20:17:19 +01:00
Matthias 9444bbb6f3 `/maxentries` should be in single tics. 2023-03-04 20:09:39 +01:00
Matthias 7c0c98a368 Properly format first entry value, too. 2023-03-04 20:08:20 +01:00
Matthias c1d395a7d8 Revert "Bump ccxt to 2.8.88"
This reverts commit 51c15d894b.
2023-03-04 20:02:20 +01:00
Matthias 3f6795962f Update bybit orderbook test 2023-03-04 19:49:59 +01:00
Matthias 60e651b481 Updat bybit ohlcv data to v5 2023-03-04 19:49:37 +01:00
Matthias 548db18857 Improve wording on partial exit notifications 2023-03-04 19:27:55 +01:00
Matthias aec11618ce Telegram improved formatting 2023-03-04 18:28:15 +01:00
Matthias f0cbb4f949 Expose relative realized profit 2023-03-04 18:20:31 +01:00
Matthias 027e023443 Stop from open with leverage 2023-03-04 18:02:47 +01:00
Matthias 51c15d894b Bump ccxt to 2.8.88
closes #8270
2023-03-04 15:27:01 +01:00
Andy Lawless b262f0b374 Update docs re: bot_loop_start in backtest 2023-03-03 20:46:43 +00:00
Andy Lawless a3dee9350f Move bot_loop_start call to run on every candle 2023-03-03 20:37:05 +00:00
Matthias d0045673fa Add explicit test for stoploss_from_open 2023-03-03 20:32:33 +01:00
hippocritical d92971cca1
Merge branch 'freqtrade:develop' into strategy_utils 2023-03-03 18:56:00 +01:00
hippocritical 87b7513401 fixed --strategy-list
moved ast comments to requirements.txt >=1.0.0 (since that is the first version that adds the comments unparsing)
2023-03-03 18:53:09 +01:00
Matthias c03c3a5706 improve order REPR display 2023-03-03 18:12:41 +01:00
Matthias 9573974c47 Update deprecations document 2023-03-03 06:36:35 +01:00
Matthias 6e9ff5fdd8
Merge pull request #8202 from freqtrade/remove-populate-any-indicators
remove populate_any_indicators
2023-03-03 06:33:25 +01:00
Matthias 022f85095e Show Number of exits
part of #8234
2023-03-03 06:31:40 +01:00
Matthias 6a0848a3a9
Merge pull request #8267 from freqtrade/python_3.11
Python 3.11
2023-03-03 06:31:33 +01:00
Matthias 13376fdad8
Merge pull request #8220 from eSAMTrade/remove-redundant-dependencies
removed redundant dependencies from environment.yml
2023-03-03 06:25:22 +01:00
Matthias 5b0c143713 Update some comments about 3.11 2023-03-02 19:39:31 +01:00
Matthias 5d0e14b564 Don't mock full modules 2023-03-02 18:23:49 +01:00
Matthias 38050b5346 Simplify "model-run" conditions 2023-03-02 18:23:49 +01:00
Matthias b1a5776f14 Skip reinforcement learning for python 3.11 2023-03-02 18:23:49 +01:00
Matthias 7a7f16b658 Skip catboost tests on py3.11 2023-03-02 18:23:49 +01:00
Matthias 684d310ea0 Limit catboost to python <3.11 2023-03-02 18:23:49 +01:00
Matthias 49bfa556bf Update CI to test against python 3.11 2023-03-02 18:23:49 +01:00
Matthias e228733f1a
Merge pull request #8264 from xmatthias/sqlalchemy_2
Sqlalchemy 2
2023-03-02 18:23:01 +01:00
Matthias 103bd9e2f2 keep Trade.session private 2023-03-02 07:26:50 +01:00
Matthias ba38a826e9 Update missing mocks 2023-03-02 06:46:17 +01:00
Matthias 8103656ae1 Bump mypy in pre-commit 2023-03-02 06:36:03 +01:00
Matthias b980f45b2b Fix test mypy errors 2023-03-02 06:23:01 +01:00
Matthias b4b8dde4fb Add sqlalchemy to pre-commit dependencies 2023-03-01 20:41:49 +01:00
Matthias 59d57d3466 Improve test resiliance 2023-03-01 20:32:56 +01:00
Matthias f0f72fdd33 Don't define "mapped" on LocalTrade class 2023-03-01 20:32:32 +01:00
Matthias 388dfec50b Remove last type error 2023-03-01 20:32:32 +01:00
Matthias 874413ccc5 Fix some style violations 2023-03-01 20:32:32 +01:00
Matthias 4a35d32b6a Improve trade stop types 2023-03-01 20:32:32 +01:00
Matthias a1166b1077 allow null fee on calc_base_close 2023-03-01 20:32:32 +01:00
Matthias e5c9cde36f Update trades_proxy typing 2023-03-01 20:32:32 +01:00
Matthias b5f55c9b14 Improve type safety in backtesting 2023-03-01 20:32:32 +01:00
Matthias 7c09c01788 Add some more typehints 2023-03-01 20:32:32 +01:00
Matthias 0f914cf2bd Use Mapped for LocalTrade
this won't initialize sqlalchemy, as the base class is not inheriting from sqlalchemy.
2023-03-01 20:32:32 +01:00
Matthias d175ab495b Move SessionType to base module 2023-03-01 20:32:32 +01:00
Matthias f2f4158974 Bump sqlalchemy to 2.0.4 2023-03-01 20:32:32 +01:00
Matthias 764001a4c2 Don't reuse variable 2023-03-01 20:32:32 +01:00
Matthias b65cff0adc Update "Query" type 2023-03-01 20:32:32 +01:00
Matthias db4f4498dc Experimentally type query property ... 2023-03-01 20:32:32 +01:00
Matthias c2c039151c Improve typesafety around trade object 2023-03-01 20:32:32 +01:00
Matthias 8765e3a4d6 Fix some Type issues 2023-03-01 20:32:32 +01:00
Matthias f6b3998bbd Fix backtesting type incompatibilities 2023-03-01 20:32:32 +01:00
Matthias 0691bbaad9 Update some db types 2023-03-01 20:32:32 +01:00
Matthias 101d9ab87f Improvements - tests runnable again 2023-03-01 20:32:32 +01:00
Matthias 65a5cf64df Re-type session 2023-03-01 20:32:32 +01:00
Matthias 608a7c2d38 Add safe_close_rate 2023-03-01 20:32:31 +01:00
Matthias e59eaf33e0 Update _session to session 2023-03-01 20:32:31 +01:00
Matthias 47b66f3220 More fun with types 2023-03-01 20:32:31 +01:00
Matthias 491f49388c "Mapped" for trade_model 2023-03-01 20:32:31 +01:00
Matthias bb116456a9 Update Types for Order object 2023-03-01 20:32:31 +01:00
Matthias 13b1a3e737 Properly pairlock columns using mapped 2023-03-01 20:32:31 +01:00
Matthias 98791752a9 Update TradeModels to mapped_column 2023-03-01 20:32:31 +01:00
Matthias 0bd9b00132 Pairlock to mappedColumn 2023-03-01 20:32:31 +01:00
Matthias 39a658eac2 Update DeclarativeBase 2023-03-01 20:32:31 +01:00
Matthias 3c019e0e16 tentative augmented typing of Trade object 2023-03-01 20:32:31 +01:00
Matthias 41e27ba621 Enhance some type info 2023-03-01 20:32:31 +01:00
Matthias 3a9d83f86c Mypy: define sqlalchemy plugin 2023-03-01 20:32:31 +01:00
Matthias 9d455f58b1 Improve some trade model Types 2023-03-01 20:32:31 +01:00
Matthias 829e10ff87 Improve Type for models.py 2023-03-01 20:32:31 +01:00
Matthias b62830031f Dummy-type query objects 2023-03-01 20:32:31 +01:00
Matthias a553a9923a Update types for pairlock 2023-03-01 20:32:31 +01:00
dependabot[bot] a629d455fb Bump sqlalchemy from 1.4.46 to 2.0.3
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.46 to 2.0.3.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 20:32:31 +01:00
Matthias feabed30a3 Update remaining exchange mock occurances 2023-03-01 20:27:15 +01:00
Matthias 2ca8b0b12e Update more exchange mocks to use EXMS 2023-03-01 20:27:15 +01:00
Matthias bcdf4e0fe8 Use variable for exchange mocks to shorten lines 2023-03-01 20:27:15 +01:00
Matthias 78e5ec13bb Use absolute path for generic mocks 2023-03-01 20:27:15 +01:00
Matthias 8b51f5f563 Lowercase exchange ID 2023-03-01 20:27:15 +01:00
Matthias 756c284ecd
Merge pull request #8225 from freqtrade/ruff2
Ruff - add PTH rule and subsequent changes
2023-03-01 20:27:06 +01:00
Matthias d1b2e38ae9 if a stoploss order exists, always allow canceling that 2023-02-28 20:39:17 +01:00
Matthias dd10dec73d Improve variable wording 2023-02-28 20:31:02 +01:00
Matthias f822f1795a Reduce `/status` verbosity 2023-02-28 19:54:56 +01:00
Matthias 386915378b Improve /status message (show Total profit) 2023-02-28 19:54:47 +01:00
Matthias 2f1c5cf143 Remove pointless pylint rules 2023-02-28 18:22:17 +01:00
Matthias 3706d28125 use pytest.approx in favor of "prec_satoshi" ... 2023-02-28 18:20:37 +01:00
Matthias 0707e70183 Remove deprecated current_profit from api responses 2023-02-28 18:20:37 +01:00
Matthias bebee15d10 Improve TradeSchema readability 2023-02-28 18:20:36 +01:00
Matthias 5660036f47
Merge pull request #8245 from eSAMTrade/bugfix-8244
Fix last_process related bug in RPC.health (BUG-#8231)
2023-02-28 18:18:53 +01:00
Matthias 262f03bc92 Add backtest warning for market_direction feature 2023-02-28 17:26:38 +01:00
Matthias 244fd0e731
Merge pull request #8184 from LangLazy/feature
Feature market direction
2023-02-28 17:22:31 +01:00
Matthias fe6af0ef5d
Merge pull request #8258 from freqtrade/dependabot/pip/develop/xgboost-1.7.4
Bump xgboost from 1.7.3 to 1.7.4
2023-02-28 12:06:17 +01:00
Matthias fd63f50221
Merge pull request #8257 from freqtrade/dependabot/pip/develop/ccxt-2.8.54
Bump ccxt from 2.8.17 to 2.8.54
2023-02-28 12:05:42 +01:00
Matthias 5c13fbb0b8
Merge pull request #8256 from freqtrade/dependabot/pip/develop/types-cachetools-5.3.0.4
Bump types-cachetools from 5.3.0.0 to 5.3.0.4
2023-02-28 12:02:39 +01:00
Matthias 9a5b090894
pre-commit cachetools 2023-02-28 11:23:11 +01:00
dependabot[bot] 5a3f23f00c
Bump types-cachetools from 5.3.0.0 to 5.3.0.4
Bumps [types-cachetools](https://github.com/python/typeshed) from 5.3.0.0 to 5.3.0.4.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-28 09:26:32 +00:00
Matthias 8b347dfdcf
Merge pull request #8259 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.19.9
Bump types-python-dateutil from 2.8.19.8 to 2.8.19.9
2023-02-28 10:25:35 +01:00
Matthias deca5479f0
pre-commit dateutil-types 2023-02-28 10:05:38 +01:00
Matthias 2ea71d466c
Merge pull request #8255 from freqtrade/dependabot/pip/develop/prompt-toolkit-3.0.37
Bump prompt-toolkit from 3.0.36 to 3.0.37
2023-02-28 09:53:24 +01:00
Matthias 200f5ac157
Merge pull request #8252 from freqtrade/dependabot/pip/develop/ruff-0.0.253
Bump ruff from 0.0.252 to 0.0.253
2023-02-28 09:53:06 +01:00
Matthias 9e77effacb
Merge pull request #8253 from freqtrade/dependabot/pip/develop/pre-commit-3.1.1
Bump pre-commit from 3.1.0 to 3.1.1
2023-02-28 09:52:35 +01:00
Matthias f5f883202d
Merge pull request #8254 from freqtrade/dependabot/pip/develop/plotly-5.13.1
Bump plotly from 5.13.0 to 5.13.1
2023-02-28 09:52:02 +01:00
dependabot[bot] 594757d27d
Bump types-python-dateutil from 2.8.19.8 to 2.8.19.9
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.8 to 2.8.19.9.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-28 05:52:58 +00:00
dependabot[bot] fed5d87cfd
Bump xgboost from 1.7.3 to 1.7.4
Bumps [xgboost](https://github.com/dmlc/xgboost) from 1.7.3 to 1.7.4.
- [Release notes](https://github.com/dmlc/xgboost/releases)
- [Changelog](https://github.com/dmlc/xgboost/blob/master/NEWS.md)
- [Commits](https://github.com/dmlc/xgboost/compare/v1.7.3...v1.7.4)

---
updated-dependencies:
- dependency-name: xgboost
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-28 05:52:55 +00:00
dependabot[bot] adf5b7f233
Bump ccxt from 2.8.17 to 2.8.54
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.8.17 to 2.8.54.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ccxt/ccxt/compare/2.8.17...2.8.54)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-28 05:52:48 +00:00
dependabot[bot] 1b4c831469
Bump prompt-toolkit from 3.0.36 to 3.0.37
Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.36 to 3.0.37.
- [Release notes](https://github.com/prompt-toolkit/python-prompt-toolkit/releases)
- [Changelog](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/CHANGELOG)
- [Commits](https://github.com/prompt-toolkit/python-prompt-toolkit/compare/3.0.36...3.0.37)

---
updated-dependencies:
- dependency-name: prompt-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-28 05:52:40 +00:00
dependabot[bot] 78e7ab92d8
Bump plotly from 5.13.0 to 5.13.1
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.13.0 to 5.13.1.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.13.0...v5.13.1)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-28 05:52:35 +00:00
dependabot[bot] 6e45e998ac
Bump pre-commit from 3.1.0 to 3.1.1
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.1.0...v3.1.1)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-28 05:52:29 +00:00
dependabot[bot] a75e9f193f
Bump ruff from 0.0.252 to 0.0.253
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.252 to 0.0.253.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.252...v0.0.253)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-28 05:52:21 +00:00
Matthias 0899e5cb83 Improve documentation wording 2023-02-28 06:41:18 +01:00
Rahul 39331b59ed Fixed issues raised in PR 2023-02-27 22:51:22 +00:00
Matthias 65d1598a90 Show absolute profit in /status command 2023-02-27 21:17:02 +01:00
Matthias 46b987042b Include realized_profit in api output 2023-02-27 20:47:07 +01:00
Matthias 75d1dd2793 Properly round Stake currencies in telegram message 2023-02-27 20:47:07 +01:00
Matthias e5c68661fe Simplify code line wrapping 2023-02-27 19:57:28 +01:00
Matthias e482feed7d Further improve behavior for telegram /status with stop on exchange 2023-02-27 19:40:02 +01:00
Matthias 87fe4108a2 Fix order numeration to also work with stoploss on exchange 2023-02-27 18:24:19 +01:00
Matthias 02c831a4e7 Improve Note wording
closes #8235
2023-02-27 18:04:21 +01:00
ASU bcd416c83d Removed unresolved FreqTrade typehint 2023-02-27 16:18:24 +02:00
ASU 1d5608d627 Fix last_process related bug in RPC.health 2023-02-27 12:14:38 +02:00
Matthias 79a14bcbe7
Merge pull request #8237 from freqtrade/dependabot/pip/develop/types-tabulate-0.9.0.1
Bump types-tabulate from 0.9.0.0 to 0.9.0.1
2023-02-27 10:44:54 +01:00
Matthias 81bc515e5d
Bump tabulate types for pre-commit 2023-02-27 10:00:41 +01:00
dependabot[bot] 201522f1b1
Bump types-tabulate from 0.9.0.0 to 0.9.0.1
Bumps [types-tabulate](https://github.com/python/typeshed) from 0.9.0.0 to 0.9.0.1.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-tabulate
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-27 07:10:51 +00:00
Matthias 44b1005077
Merge pull request #8240 from freqtrade/dependabot/pip/develop/types-requests-2.28.11.15
Bump types-requests from 2.28.11.13 to 2.28.11.15
2023-02-27 08:02:57 +01:00
Matthias 48b21d00d2
bump pre-commit requests 2023-02-27 07:12:12 +01:00
dependabot[bot] e83eefb71d
Bump types-requests from 2.28.11.13 to 2.28.11.15
Bumps [types-requests](https://github.com/python/typeshed) from 2.28.11.13 to 2.28.11.15.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-27 06:10:08 +00:00
Matthias 345a47ede7
Merge pull request #8238 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.19.8
Bump types-python-dateutil from 2.8.19.6 to 2.8.19.8
2023-02-27 07:06:51 +01:00
Matthias 03d41bdf46
Merge pull request #8243 from freqtrade/dependabot/pip/develop/mkdocs-material-9.0.15
Bump mkdocs-material from 9.0.13 to 9.0.15
2023-02-27 06:32:31 +01:00
Matthias 05f3884722
bump pre-commit dateutil 2023-02-27 06:25:13 +01:00
Matthias aaa0f49f31
Merge pull request #8241 from freqtrade/dependabot/pip/develop/ruff-0.0.252
Bump ruff from 0.0.251 to 0.0.252
2023-02-27 06:24:24 +01:00
Matthias 303c628998
Merge pull request #8239 from freqtrade/dependabot/pip/develop/pre-commit-3.1.0
Bump pre-commit from 3.0.4 to 3.1.0
2023-02-27 06:23:26 +01:00
Matthias 8cab2e85be
Merge pull request #8236 from freqtrade/dependabot/pip/develop/pydantic-1.10.5
Bump pydantic from 1.10.4 to 1.10.5
2023-02-27 06:23:04 +01:00
dependabot[bot] a4423778d5
Bump mkdocs-material from 9.0.13 to 9.0.15
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.13 to 9.0.15.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.0.13...9.0.15)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-27 03:58:01 +00:00
dependabot[bot] 2a7f86bfb4
Bump ruff from 0.0.251 to 0.0.252
Bumps [ruff](https://github.com/charliermarsh/ruff) from 0.0.251 to 0.0.252.
- [Release notes](https://github.com/charliermarsh/ruff/releases)
- [Changelog](https://github.com/charliermarsh/ruff/blob/main/BREAKING_CHANGES.md)
- [Commits](https://github.com/charliermarsh/ruff/compare/v0.0.251...v0.0.252)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-27 03:57:22 +00:00
dependabot[bot] 7add902bc7
Bump pre-commit from 3.0.4 to 3.1.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.0.4 to 3.1.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.0.4...v3.1.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-27 03:57:04 +00:00
dependabot[bot] cc78054b8c
Bump types-python-dateutil from 2.8.19.6 to 2.8.19.8
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.6 to 2.8.19.8.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-27 03:56:57 +00:00
dependabot[bot] 533f97f080
Bump pydantic from 1.10.4 to 1.10.5
Bumps [pydantic](https://github.com/pydantic/pydantic) from 1.10.4 to 1.10.5.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/v1.10.5/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v1.10.4...v1.10.5)

---
updated-dependencies:
- dependency-name: pydantic
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-27 03:56:50 +00:00
Matthias 5b0bc5bbc5 Don't "fix" dry-run kucoin orders
closes #8229
2023-02-26 16:17:41 +01:00
Matthias 6f7ab97fc3 Improve bybit test coverage 2023-02-26 16:17:41 +01:00
Matthias 27676f4aa2 Add explicit bybit test 2023-02-26 16:17:41 +01:00
Matthias 79dc972e5a Add explicit test for kucoin 2023-02-26 16:17:41 +01:00
Matthias 66c2e145cb
Merge pull request #7975 from freqtrade/improve-freqai-gap-handling
handle data gaps between FreqAI and DP better
2023-02-26 15:26:46 +01:00
Matthias d3d7cb1b14
Merge pull request #8216 from freqtrade/close-rl-env
Close training and eval environments in ReinforcementLearner_multiproc
2023-02-26 15:20:32 +01:00
Matthias e88bb4e05c Revert small change - otherwise the data is never updated. 2023-02-26 15:09:25 +01:00
ASU 7e7ae144a9 Merge branch 'develop' into remove-redundant-dependencies 2023-02-26 04:29:30 +02:00
Matthias 305eda74e2 Enable Complexity for ruff 2023-02-25 20:50:26 +01:00
Matthias 84d905a648 Fix missed test 2023-02-25 17:39:18 +01:00
ASU 32ce819889 Removed environment.yml and updated documentation 2023-02-25 18:23:07 +02:00
Matthias 26315b6bc2 add PTH ruff selection 2023-02-25 17:17:05 +01:00
Matthias d014e4590e use Path.open() instead of open 2023-02-25 17:15:54 +01:00
Matthias c8a4a773ee Fix _pairs_last_refresh_time storing the wrong date
Depending on the drop_incomplete settings, this can lead to implicit bugs
2023-02-25 16:18:46 +01:00
Matthias ff3aa7c1a9 Bump Version to 2023.3.dev 2023-02-25 16:18:33 +01:00
Matthias 84b8cee004 Merge branch 'stable' into develop 2023-02-25 16:18:25 +01:00
Matthias 6d9e50d60c
Merge pull request #8209 from freqtrade/ruff
Ruff
2023-02-25 16:14:26 +01:00
Matthias be352ae014 Update more enums 2023-02-25 15:49:45 +01:00
Matthias 563742f13c Fix enum behavior for python 3.11
closes #8221
closes #8217
2023-02-25 15:49:45 +01:00
Matthias dc2cfee056 Don't request sorted candles from HitBTC.
Apparently hitBTC cannot properly handle this anymore.

closes #8214
2023-02-25 13:49:16 +01:00
Matthias c6455c4131 Pin scikit-learn to <1.2.0 for conda as well
closes #8223
2023-02-25 13:39:48 +01:00
ASU 7bcae7b665 removed redundant dependencies from environment.yml 2023-02-25 00:26:20 +02:00
Matthias 3471f5204b Don't reuse variable 2023-02-24 14:34:41 +01:00
Matthias 521025037d
Merge pull request #8203 from freqtrade/add-bufer-train-data-candles
Add buffer_train_data_candles feature
2023-02-24 13:25:18 +01:00
Matthias ac2a2512ef
Merge pull request #8210 from freqtrade/clean-data-drawer
Allow user to control number of historical model files
2023-02-24 13:19:38 +01:00
Robert Caulk 607d90ca5d
Merge pull request #8215 from freqtrade/fix-freqai-index
fix link in freqai index.md
2023-02-24 12:38:56 +01:00
robcaulk cb80d7c26f close the multi_proc env before creating new ones in an attempt to avoid increasing processes 2023-02-24 11:19:54 +01:00
robcaulk c283e22325 fix purge_old_models description in parameter table 2023-02-24 10:54:43 +01:00
robcaulk 5ac4b81a5d fix link in freqai index.md 2023-02-24 10:50:39 +01:00
Matthias 34c42be74f Fix minor stylistic errors 2023-02-23 20:06:10 +01:00
Matthias 659140e190 Add bt-error to UI backtest method. 2023-02-23 20:06:10 +01:00
Matthias 63e5d33028 Better handle backtest errors 2023-02-23 20:06:10 +01:00
Matthias 2fed924a0d
Merge pull request #8211 from TheJoeSchr/refactor-1
refactor(if-gate): use temp variable instead of if-gate
2023-02-23 18:14:21 +01:00
Joe Schr 7d906fd4c2 refactor(if-gate): use temp variable instead of if-gate 2023-02-23 10:58:43 +01:00
Matthias 6b829d839b Improve ruff config 2023-02-23 07:12:54 +01:00
Matthias bf968a9fd8 Use actions as documented 2023-02-23 06:51:03 +01:00
Matthias cdc96136bc
Merge pull request #8207 from freqtrade/add-freqai-disclaimer
add imposter disclaimer to FreqAI front page
2023-02-23 06:49:18 +01:00
Matthias 23a71680de
Update Doc-box typo 2023-02-23 06:29:58 +01:00
robcaulk 150b7f9c87 lighten the disclaimer message 2023-02-22 22:33:41 +01:00
robcaulk b8f011a2ab give users ability to decide how many models to keep in dry/live 2023-02-22 22:27:56 +01:00
robcaulk 9633081c31 remove remnants of follower, clean data-drawer, improve doc 2023-02-22 22:01:41 +01:00
Matthias b4ea37d598 Remove flake8 in favor of ruff 2023-02-22 21:08:17 +01:00
Matthias 549a0e1c44 Add ruff linting - initial configuration 2023-02-22 21:06:11 +01:00
Matthias 2bc9413be1 Fix minor stylistic errors 2023-02-22 20:58:24 +01:00
Matthias e6766b9b82 Add bt-error to UI backtest method. 2023-02-22 20:22:59 +01:00
Matthias 75bc5809a9 Better handle backtest errors 2023-02-22 20:02:51 +01:00
Matthias 0f878daa98 Remove some too generic noqa statements 2023-02-22 19:56:32 +01:00
Matthias 01d51aa979 Add necesary noqa statements 2023-02-22 19:56:32 +01:00
Matthias f8fa5bd969 Fix gone wrong noqa ... 2023-02-22 19:56:32 +01:00
Matthias 18bbfa10e5 Reduce amount of variables for API backtesting 2023-02-22 19:56:32 +01:00
Matthias ff1258fd20 Better handle random UI backtest errors 2023-02-22 19:56:32 +01:00
Matthias e56bf067c4
Merge pull request #8205 from amalysh/develop
* fixed filename in model_exists
2023-02-22 17:43:57 +01:00
robcaulk 3fbbc57a37 add imposter disclaimer to FreqAI front page 2023-02-22 17:08:30 +01:00
Alexander Malysh 070a7efd73
* fixed filename in model_exists 2023-02-22 14:52:20 +01:00
robcaulk 986bc63e54 raise OperationalException if latest historical data candle is older than earliest dataprovider candle 2023-02-21 21:23:58 +01:00
robcaulk 2b5c11c7b4 allow users to buffer train data with buffer_train_data_candles parameter 2023-02-21 21:08:34 +01:00
Matthias 62e120a602 Remove special treatment of cryptography for raspberries 2023-02-21 20:34:55 +01:00
Matthias 48ecc7f6dc Update freqai-reinforcement-learning docs
closes #8199
2023-02-21 19:55:32 +01:00
Matthias 43962476aa Remove non-working links, update links to https 2023-02-21 19:53:09 +01:00
Matthias a4a3d27ac6 Improve FAQ page 2023-02-21 19:52:22 +01:00
Matthias f4bd424226 Remove deprecated ubuntu image
Follows anouncement in https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and-will-be-removed-by-12-1-22/
2023-02-21 18:29:00 +01:00
Matthias af137188f4 Update wrong FAQ entry 2023-02-21 18:05:20 +01:00
robcaulk fd4e27d889 remove populate_any_indicators 2023-02-21 14:22:40 +01:00
Rahul Gudise 2261cbd92e fixed command regex and updated documentation 2023-02-20 16:22:17 -05:00
Rahul Gudise 3033e27466 Added documentation for new telegram command 2023-02-20 15:53:29 -05:00
Matthias 352f4962da
Merge pull request #8198 from AchmadFathoni/develop
Fix outdated systemd related exception text.
2023-02-20 11:05:42 +01:00
Achmad Fathoni 789c867c8f Fix outdated systemd related exception text. 2023-02-20 16:30:23 +07:00
Matthias 4f794aae61
Merge pull request #8191 from freqtrade/dependabot/pip/develop/mkdocs-material-9.0.13
Bump mkdocs-material from 9.0.12 to 9.0.13
2023-02-20 08:06:53 +01:00
Matthias bf6560e45b
Merge pull request #8194 from freqtrade/dependabot/pip/develop/types-requests-2.28.11.13
Bump types-requests from 2.28.11.12 to 2.28.11.13
2023-02-20 08:06:37 +01:00
Matthias ccf4fbed60
Merge pull request #8192 from freqtrade/dependabot/pip/develop/ccxt-2.8.17
Bump ccxt from 2.7.93 to 2.8.17
2023-02-20 07:11:49 +01:00
Matthias 250faf012d
Bump types-requests for pre-commit 2023-02-20 06:55:58 +01:00
Matthias 3a9ffdf135
Merge pull request #8190 from freqtrade/dependabot/pip/develop/fastapi-0.92.0
Bump fastapi from 0.91.0 to 0.92.0
2023-02-20 06:55:17 +01:00
Matthias ec1991d165
Merge pull request #8189 from freqtrade/dependabot/pip/develop/scipy-1.10.1
Bump scipy from 1.10.0 to 1.10.1
2023-02-20 06:54:16 +01:00
Matthias 4e1f5354fe
Merge pull request #8196 from freqtrade/dependabot/pip/develop/mypy-1.0.1
Bump mypy from 1.0.0 to 1.0.1
2023-02-20 06:53:28 +01:00
dependabot[bot] 0cd28e2cab
Bump mypy from 1.0.0 to 1.0.1
Bumps [mypy](https://github.com/python/mypy) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v1.0.0...v1.0.1)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-20 03:58:03 +00:00
dependabot[bot] eb08ef6ced
Bump types-requests from 2.28.11.12 to 2.28.11.13
Bumps [types-requests](https://github.com/python/typeshed) from 2.28.11.12 to 2.28.11.13.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-20 03:57:41 +00:00
dependabot[bot] a4e69574d3
Bump ccxt from 2.7.93 to 2.8.17
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.7.93 to 2.8.17.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ccxt/ccxt/compare/2.7.93...2.8.17)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-20 03:57:17 +00:00
dependabot[bot] c85fc6c8ca
Bump mkdocs-material from 9.0.12 to 9.0.13
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.12 to 9.0.13.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.0.12...9.0.13)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-20 03:57:10 +00:00
dependabot[bot] f19128ad21
Bump fastapi from 0.91.0 to 0.92.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.91.0 to 0.92.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.91.0...0.92.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-20 03:56:55 +00:00
dependabot[bot] 2ef656fac0
Bump scipy from 1.10.0 to 1.10.1
Bumps [scipy](https://github.com/scipy/scipy) from 1.10.0 to 1.10.1.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.10.0...v1.10.1)

---
updated-dependencies:
- dependency-name: scipy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-20 03:56:50 +00:00
Matthias e9c64c5839 Update dependency to cysystemd
closes #8187
2023-02-19 19:30:27 +01:00
Rahul 8927a92eaf fixed lint issue 2023-02-19 16:11:21 +00:00
Matthias b0ec35d526
Merge pull request #7904 from freqtrade/feat/shuffle_after_split
add shuffle_after_split option
2023-02-19 15:03:04 +01:00
Rahul 5fb539190d addressed some issues mentioned in PR 2023-02-18 23:50:02 +00:00
Matthias f89b63b0c5 Fix dry-run stoploss orders filling "in place" after restart. 2023-02-18 19:25:11 +01:00
Matthias 2c0fbd8500 Simplify test slightly 2023-02-18 18:07:35 +01:00
Rahul Gudise ade64f25d3 fixed formatting 2023-02-17 17:08:39 -05:00
Rahul 72af1912ca added new text 2023-02-17 22:01:00 +00:00
hippocritical 08ca0f7c0f
Merge branch 'freqtrade:develop' into strategy_utils 2023-02-17 21:07:23 +01:00
hippocritical bcef00edee changed to ast_comments, added tests for comments. 2023-02-17 21:04:26 +01:00
hippocritical 06edc5c044 changed to ast_comments, added tests for comments. 2023-02-17 21:01:09 +01:00
Matthias c4ec4db050
Merge pull request #8183 from th0rntwig/improve-freqai-docs
fix minor typos
2023-02-17 07:14:39 +01:00
Matthias 31c7b3e136 Update binance leverage tiers 2023-02-17 06:37:03 +01:00
Matthias 22700527ac Convert limit orders to market orders if they cross a threshold
closes #7786
2023-02-17 06:37:03 +01:00
Matthias 9600039686 Update dry-run fill method naming 2023-02-17 06:37:03 +01:00
Rahul 1a74ede126 Merge branch 'feature' of github.com:LangLazy/freqtrade into feature 2023-02-16 17:54:20 -05:00
Rahul Gudise 07c886a2b1
Merge branch 'freqtrade:develop' into feature 2023-02-16 17:54:14 -05:00
Rahul b73089deb8 fixed a test 2023-02-16 17:51:50 -05:00
thorntwig 35fe37199d fix minor typos 2023-02-16 20:04:42 +01:00
robcaulk 351c5fbf7f add shuffle_after_split to conftest 2023-02-16 19:48:22 +01:00
Robert Caulk f68543b151
Merge pull request #8182 from freqtrade/generalize-model-exists
generalize model_exists() for RL and Keras
2023-02-16 19:41:07 +01:00
robcaulk be85ef2707 add documentation for shuffle_after_split, add to constants 2023-02-16 18:50:11 +01:00
robcaulk b6a741b421 merge develop into feat/shuffle_after_split 2023-02-16 18:46:01 +01:00
robcaulk 36d65e00f9 generalize model_exists() for RL and Keras 2023-02-16 18:33:40 +01:00
Matthias a2e1389943 Update Binance leverage code 2023-02-16 18:06:34 +01:00
Matthias 8ef110cc5f Rename ob variable to orderbook 2023-02-16 06:38:58 +01:00
Matthias de7d274fcf Pass orderbook to dry-run fill logic 2023-02-16 06:38:58 +01:00
Matthias 7c10921564 Improve Orderbook typing to align for diff. exchanges 2023-02-16 06:38:58 +01:00
Matthias a11f081d2d
Merge pull request #8176 from freqtrade/robcaulk-patch-1
Update freqai.md
2023-02-16 06:14:56 +01:00
Robert Caulk 020c9a5cec
Update freqai.md 2023-02-15 21:54:45 +01:00
Matthias ecff21ac21 type Orderbook 2023-02-15 07:01:36 +01:00
Matthias 3397e47ccf Rename stoploss() to create_stoploss() 2023-02-14 20:42:08 +01:00
Matthias 6e55a873b3 Rename edge.stoploss to get_stoploss
this will make it clear that it's different from
2023-02-14 07:18:11 +01:00
Matthias bddec476f9 Fix missing typehint in hyper.py 2023-02-13 20:13:26 +01:00
Matthias cdd324d0a9 Rename stoploss_reached to ft_stoploss_reached 2023-02-13 20:08:54 +01:00
Matthias ce7d24f529 Extract ft_stoploss_adjust to seperate method 2023-02-13 19:53:04 +01:00
Matthias a0e2f98086
Merge pull request #8164 from freqtrade/dependabot/pip/develop/tensorboard-2.12.0
Bump tensorboard from 2.11.2 to 2.12.0
2023-02-13 19:34:14 +01:00
Matthias 69d5459460 Improve stop behavior in SIGTERM cases (docker). 2023-02-13 18:25:15 +01:00
Matthias aafaff877b
Merge pull request #8170 from freqtrade/dependabot/pip/develop/ccxt-2.7.93
Bump ccxt from 2.7.80 to 2.7.93
2023-02-13 18:17:29 +01:00
dependabot[bot] 9061c04f1d
Bump ccxt from 2.7.80 to 2.7.93
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.7.80 to 2.7.93.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/2.7.80...2.7.93)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 16:09:57 +00:00
Matthias 9a2f6d2416
Merge pull request #8165 from freqtrade/dependabot/pip/develop/aiofiles-23.1.0
Bump aiofiles from 22.1.0 to 23.1.0
2023-02-13 09:50:11 +01:00
Matthias b5121d3f4c
Merge pull request #8166 from freqtrade/dependabot/pip/develop/aiohttp-3.8.4
Bump aiohttp from 3.8.3 to 3.8.4
2023-02-13 09:49:56 +01:00
Matthias f3a6897870 Bump Docker images to latest minor version 2023-02-13 07:12:46 +01:00
Matthias f16fd0ad23 Reenable binanceus active test 2023-02-13 07:12:46 +01:00
dependabot[bot] f681ee7942
Bump aiohttp from 3.8.3 to 3.8.4
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.8.3 to 3.8.4.
- [Release notes](https://github.com/aio-libs/aiohttp/releases)
- [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst)
- [Commits](https://github.com/aio-libs/aiohttp/compare/v3.8.3...v3.8.4)

---
updated-dependencies:
- dependency-name: aiohttp
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 06:11:49 +00:00
dependabot[bot] 50a9df9b29
Bump aiofiles from 22.1.0 to 23.1.0
Bumps [aiofiles](https://github.com/Tinche/aiofiles) from 22.1.0 to 23.1.0.
- [Release notes](https://github.com/Tinche/aiofiles/releases)
- [Commits](https://github.com/Tinche/aiofiles/compare/v22.1.0...v23.1.0)

---
updated-dependencies:
- dependency-name: aiofiles
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 06:11:37 +00:00
dependabot[bot] 2a87ad044d
Bump tensorboard from 2.11.2 to 2.12.0
Bumps [tensorboard](https://github.com/tensorflow/tensorboard) from 2.11.2 to 2.12.0.
- [Release notes](https://github.com/tensorflow/tensorboard/releases)
- [Changelog](https://github.com/tensorflow/tensorboard/blob/master/RELEASE.md)
- [Commits](https://github.com/tensorflow/tensorboard/compare/2.11.2...2.12.0)

---
updated-dependencies:
- dependency-name: tensorboard
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 06:11:33 +00:00
Matthias a573976406
Merge pull request #8158 from freqtrade/dependabot/pip/develop/types-requests-2.28.11.12
Bump types-requests from 2.28.11.8 to 2.28.11.12
2023-02-13 07:09:58 +01:00
Matthias 0b5b8e4c97
Merge pull request #8163 from freqtrade/dependabot/pip/develop/fastapi-0.91.0
Bump fastapi from 0.89.1 to 0.91.0
2023-02-13 07:09:44 +01:00
Matthias ee158c1f55
Merge pull request #8162 from freqtrade/dependabot/pip/develop/mypy-1.0.0
Bump mypy from 0.991 to 1.0.0
2023-02-13 07:08:53 +01:00
Matthias bf242ac4a2
Merge pull request #8156 from freqtrade/dependabot/pip/develop/mkdocs-material-9.0.12
Bump mkdocs-material from 9.0.11 to 9.0.12
2023-02-13 06:39:34 +01:00
Matthias a800c19c14
Merge pull request #8157 from freqtrade/dependabot/pip/develop/orjson-3.8.6
Bump orjson from 3.8.5 to 3.8.6
2023-02-13 06:37:39 +01:00
Matthias d14283b0e7
types-requests - precommit 2023-02-13 06:22:13 +01:00
dependabot[bot] 9faa926803
Bump fastapi from 0.89.1 to 0.91.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.89.1 to 0.91.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.89.1...0.91.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 03:58:55 +00:00
dependabot[bot] 48c331785c
Bump mypy from 0.991 to 1.0.0
Bumps [mypy](https://github.com/python/mypy) from 0.991 to 1.0.0.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.991...v1.0.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 03:58:34 +00:00
dependabot[bot] bbb62c8a4b
Bump types-requests from 2.28.11.8 to 2.28.11.12
Bumps [types-requests](https://github.com/python/typeshed) from 2.28.11.8 to 2.28.11.12.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 03:57:16 +00:00
dependabot[bot] b05999f6d5
Bump orjson from 3.8.5 to 3.8.6
Bumps [orjson](https://github.com/ijl/orjson) from 3.8.5 to 3.8.6.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.8.5...3.8.6)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 03:57:11 +00:00
dependabot[bot] ee209e3b44
Bump mkdocs-material from 9.0.11 to 9.0.12
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.11 to 9.0.12.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.0.11...9.0.12)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 03:56:56 +00:00
hippocritical 69a63975c1
Merge branch 'freqtrade:develop' into strategy_utils 2023-02-12 20:11:15 +01:00
Rahul a3cc001f1b initial commit 2023-02-11 18:31:25 -05:00
Matthias b3fbb263ce
Merge pull request #8152 from Shadyzpop/patch-1
Typo on freqai docs
2023-02-11 20:22:16 +01:00
Shadyzpop b95ff827d3
Typo on freqai docs
1. `a the` - there is an extra "a" before `the features`
2. `historic` - it should be "historical" to match the correct adjective form.
2023-02-11 17:12:57 +03:00
Matthias a3b4678ad6 stoploss_price_type for gate 2023-02-11 13:02:55 +01:00
Matthias a2759b495b
Merge pull request #8149 from freqtrade/gate_rename
Update gateio terminology to Gate
2023-02-11 12:40:58 +01:00
Matthias bedd3688d0 Properly format proxy configuration 2023-02-11 12:37:40 +01:00
Matthias c229ba97a9 Update gateio terminology to Gate 2023-02-11 08:15:11 +01:00
Matthias 07e6932a17 Reenable longrun test mark 2023-02-11 08:14:55 +01:00
Matthias 0713fc6a6a
Merge pull request #8148 from stash86/bt-metrics
Add explicit warning that supported price types gonna differ
2023-02-11 08:14:23 +01:00
Stefano Ariestasia 73992dde8d Add explicit warning that supported price types gonna differ on each exchanges 2023-02-11 11:15:31 +09:00
Matthias 42c76d9e0c
Merge pull request #8147 from freqtrade/add-pair-to-env
Add pair to environment for access inside calculate_reward
2023-02-10 19:38:10 +01:00
Matthias 45e24d21d3 Bump ccxt to 2.7.78
closes #8141
2023-02-10 19:35:45 +01:00
Matthias f440d66210 Add sample_order for gate 2023-02-10 18:12:21 +01:00
robcaulk 8873a565ee expose raw features to the environment for use in calculate_reward 2023-02-10 15:48:18 +01:00
robcaulk 154b6711b3 use function level noqa ignore 2023-02-10 15:26:17 +01:00
robcaulk 4fc0edb8b7 add pair to environment for access inside calculate_reward 2023-02-10 14:45:50 +01:00
Matthias d47d8c135b Add windows wheel for ta-lib on python 3.11 2023-02-10 07:17:12 +01:00
Matthias 22cbc16238
Merge pull request #8120 from freqtrade/fut/stop_price_type
stoploss price type
2023-02-10 07:02:25 +01:00
Matthias eab724fe54 Merge branch 'develop' into fut/stop_price_type 2023-02-09 20:02:59 +01:00
Matthias 8d156b2770 Bump ccxt to 2.7.66
closes  #8132
2023-02-08 20:35:24 +01:00
Matthias 3d22ad36b8 Show Config should contain stoploss-on-exchange status 2023-02-08 07:08:42 +01:00
Matthias 102c1e799c realign binance set_leverage override 2023-02-08 07:08:42 +01:00
Matthias 980ffa6bfb Add test for binance rounding leverage 2023-02-08 07:08:42 +01:00
Matthias 997df2032e Add response_log for set_leverage 2023-02-08 07:08:42 +01:00
Matthias d19ee9c95f Update okx position mode terminology 2023-02-08 07:08:42 +01:00
Matthias e2d81b0ce0 Skip binanceus ccxt test 2023-02-08 07:08:42 +01:00
Matthias c15e10fe1f Improve logic for initially placed stoploss 2023-02-08 07:08:42 +01:00
Matthias 2b0e281113
Merge pull request #8136 from freqtrade/dependabot/pip/cryptography-39.0.1
Bump cryptography from 38.0.1 to 39.0.1
2023-02-08 06:33:49 +01:00
dependabot[bot] 67a2cd7086
Bump cryptography from 38.0.1 to 39.0.1
Bumps [cryptography](https://github.com/pyca/cryptography) from 38.0.1 to 39.0.1.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/38.0.1...39.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-08 04:07:21 +00:00
Matthias 5a61e076d7 Remove unused import 2023-02-07 19:19:59 +01:00
Matthias 953be8a7f8 Split validate_order_types to 2 functions to allow selective application 2023-02-07 18:00:44 +01:00
Matthias 8c0c2496c2 Temporarily disable gate advanced stop orders 2023-02-07 07:13:57 +01:00
Matthias e8dc3dd59a
Merge pull request #8126 from freqtrade/dependabot/pip/develop/types-cachetools-5.3.0.0
Bump types-cachetools from 5.2.1 to 5.3.0.0
2023-02-07 06:21:03 +01:00
Matthias 81619fb4a0 Properly use sqlalchemy column types 2023-02-06 19:51:51 +01:00
Matthias 82dad7ab17
Merge pull request #8086 from freqtrade/feat/cancel_order
Cancel open orders through UI/telegram
2023-02-06 19:43:21 +01:00
Matthias a6adcb485e Bump several pre-commit hooks versions 2023-02-06 19:34:30 +01:00
Matthias be335c401d
Merge pull request #8125 from freqtrade/dependabot/pip/develop/ccxt-2.7.45
Bump ccxt from 2.7.12 to 2.7.45
2023-02-06 19:24:23 +01:00
Matthias b6eb1f9395
Bump pre-commit 2023-02-06 07:09:59 +01:00
Matthias 7f5a624cfd
Merge pull request #8127 from freqtrade/dependabot/pip/develop/numpy-1.24.2
Bump numpy from 1.24.1 to 1.24.2
2023-02-06 07:08:27 +01:00
Matthias b215329456
Merge pull request #8128 from freqtrade/dependabot/pip/develop/pymdown-extensions-9.9.2
Bump pymdown-extensions from 9.9.1 to 9.9.2
2023-02-06 07:07:47 +01:00
dependabot[bot] c6601cbd89
Bump pymdown-extensions from 9.9.1 to 9.9.2
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.9.1 to 9.9.2.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.9.1...9.9.2)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 03:01:25 +00:00
dependabot[bot] f96cb47727
Bump numpy from 1.24.1 to 1.24.2
Bumps [numpy](https://github.com/numpy/numpy) from 1.24.1 to 1.24.2.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v1.24.1...v1.24.2)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 03:01:17 +00:00
dependabot[bot] 365522f5c8
Bump types-cachetools from 5.2.1 to 5.3.0.0
Bumps [types-cachetools](https://github.com/python/typeshed) from 5.2.1 to 5.3.0.0.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 03:00:52 +00:00
dependabot[bot] 8dde7ab6b8
Bump ccxt from 2.7.12 to 2.7.45
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.7.12 to 2.7.45.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/2.7.12...2.7.45)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 03:00:49 +00:00
Matthias e964377edf Add new field to full config 2023-02-05 14:58:12 +01:00
Matthias d904e91663 Add documentation for new setting 2023-02-05 14:55:11 +01:00
Matthias 61ba1a0dc7 Pin telegram in conda environment to <20
closes #8111
2023-02-05 14:39:20 +01:00
Matthias 48d78d8df9
Merge pull request #8116 from freqtrade/dependabot/pip/develop/technical-1.4.0
Bump technical from 1.3.0 to 1.4.0
2023-02-05 13:16:23 +01:00
Matthias 797993d0b7
Merge pull request #8118 from freqtrade/dependabot/pip/develop/isort-5.12.0
Bump isort from 5.11.4 to 5.12.0
2023-02-05 13:15:37 +01:00
Matthias 79d279b99b
Merge pull request #8114 from freqtrade/dependabot/pip/develop/plotly-5.13.0
Bump plotly from 5.11.0 to 5.13.0
2023-02-05 12:43:46 +01:00
Matthias a577d6ab36
Merge pull request #8112 from freqtrade/dependabot/pip/develop/mkdocs-material-9.0.11
Bump mkdocs-material from 9.0.8 to 9.0.11
2023-02-05 12:42:58 +01:00
Matthias 389e576b3e
Merge pull request #8113 from freqtrade/dependabot/pip/develop/nbconvert-7.2.9
Bump nbconvert from 7.2.8 to 7.2.9
2023-02-05 12:42:17 +01:00
Matthias 47f47a33e3
Merge pull request #8115 from freqtrade/dependabot/pip/develop/pre-commit-3.0.4
Bump pre-commit from 2.21.0 to 3.0.4
2023-02-05 12:41:47 +01:00
Matthias b8a527e4a0 Add gateio price type field 2023-02-05 10:46:24 +01:00
Matthias 3497de3dd5 Add more validation 2023-02-05 10:38:58 +01:00
Matthias cf9e99b8e1 Add tests for ordertype validation 2023-02-05 10:38:58 +01:00
Matthias 2738c37845 Test stoploss validation ... 2023-02-05 10:38:58 +01:00
Matthias c4fc811619 Add stop_price_type support (futures only!). 2023-02-05 10:38:58 +01:00
Matthias a9241f61f9 Add Price Type Enum 2023-02-05 10:38:58 +01:00
dependabot[bot] e38e41ab97
Bump isort from 5.11.4 to 5.12.0
Bumps [isort](https://github.com/pycqa/isort) from 5.11.4 to 5.12.0.
- [Release notes](https://github.com/pycqa/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pycqa/isort/compare/5.11.4...5.12.0)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-05 09:20:10 +00:00
dependabot[bot] e3f0e66b9a
Bump technical from 1.3.0 to 1.4.0
Bumps [technical](https://github.com/freqtrade/technical) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/freqtrade/technical/releases)
- [Commits](https://github.com/freqtrade/technical/compare/1.3.0...1.4.0)

---
updated-dependencies:
- dependency-name: technical
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-05 09:19:44 +00:00
dependabot[bot] b80d196d56
Bump pre-commit from 2.21.0 to 3.0.4
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 2.21.0 to 3.0.4.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v2.21.0...v3.0.4)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-05 09:19:39 +00:00
dependabot[bot] c61995aad9
Bump plotly from 5.11.0 to 5.13.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.11.0 to 5.13.0.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.11.0...v5.13.0)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-05 09:19:31 +00:00
dependabot[bot] 34711eb683
Bump nbconvert from 7.2.8 to 7.2.9
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.2.8 to 7.2.9.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Changelog](https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter/nbconvert/compare/v7.2.8...v7.2.9)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-05 09:19:25 +00:00
dependabot[bot] 5ed06cd79b
Bump mkdocs-material from 9.0.8 to 9.0.11
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.8 to 9.0.11.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.0.8...9.0.11)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-05 09:19:18 +00:00
Matthias a7fec1f871
Merge pull request #8109 from freqtrade/add-metadata-to-feature-engineering
Pass metadata dictionary to feature_engineering_* and set_freqai_targets()
2023-02-05 09:56:21 +01:00
Matthias 801714a588 Update function signatures in all templates
add typehints to help the user's editor suggest the right things.
2023-02-04 20:04:16 +01:00
robcaulk 0dd2472385 add metadata param to docstrings 2023-02-04 16:56:36 +01:00
robcaulk e569f6f6df add explicit metadata argument to example strat, include it with backtesting 2023-02-04 16:53:17 +01:00
robcaulk 5da60b718d pass metadata dictionary to feature_engineering_* and set_freqai_targets functions. Add doc 2023-02-04 13:47:11 +01:00
Matthias 55850a5ccd Skip orders when correlated trade was deleted.
closes #8107
2023-02-04 08:39:25 +01:00
Matthias 7991124794
Merge pull request #8102 from TheJoeSchr/develop
setup.sh: checks if git directory is dirty before bothering user with…
2023-02-03 16:56:52 +01:00
Joe Schr 02c0f91f4d fix: removes duplicated if branch 2023-02-03 16:16:30 +01:00
Joe Schr 3fd6d72984 setup.sh: fix truty/falsy return of check_git_changes() 2023-02-03 08:52:26 +01:00
Matthias 3c4ff2e037
Merge pull request #8095 from freqtrade/remove-follow-mode
remove follow mode in favor of producer consumer
2023-02-03 07:02:56 +01:00
Matthias ef1738fbf6 Remove follow_mode from docs 2023-02-02 19:30:59 +01:00
Matthias 618eb951d3 Add ft_bot_start to notebook docs
part of #8066
2023-02-02 19:26:48 +01:00
Joe Schr 330461cf1e setup.sh: checks if git directory is dirty before bothering user with potentially scary question 2023-02-02 17:00:07 +01:00
Matthias e95eb220c5
Merge pull request #8101 from obseries/develop
[kucoin] manage kucoin numeric password passed as environment variabl…
2023-02-02 16:58:29 +01:00
Matthias c093934c24
Merge pull request #8099 from raphaelstar/raphaelstar-patch-2
`order.amount` -> `order.safe_amount`
2023-02-02 16:28:04 +01:00
Luca Forni b7787a9846
[kucoin] manage kucoin numeric password passed as environment variable as a string 2023-02-02 16:15:23 +01:00
raphaelstar b4c3e1fd58
`order.amount` -> `order.safe_amount` 2023-02-02 15:52:27 +01:00
Matthias 300e9acd37
Merge pull request #8096 from raphaelstar/raphaelstar-patch-1
Make test for `None` explicit
2023-02-02 14:53:46 +01:00
raphaelstar 36f95fb35d
Make test for `None` explicit
Make test for `None` explicit
2023-02-02 13:29:37 +01:00
robcaulk ccb4efbe88 remove follow mode in favor of producer consumer 2023-02-02 11:40:23 +01:00
Matthias 1d6738778b
Merge pull request #8088 from Ezrahel/patch-1
Update README.md
2023-02-02 10:22:09 +01:00
Ezrahel ba7883f549
Update README.md 2023-02-02 03:02:52 +01:00
Matthias ceaaac6c3a Improve install sequence to install ta-lib after user interactivity 2023-02-01 18:36:48 +00:00
Matthias 21618594b2 Update setup.sh queries to not ask redundant questions 2023-02-01 17:16:11 +00:00
Matthias 8c9de445e7
Merge pull request #8089 from freqtrade/dependabot/pip/setuptools-65.5.1
Bump setuptools from 65.5.0 to 65.5.1
2023-02-01 12:32:43 +01:00
Matthias d8583ab6e6 Bump setuptools in setup.sh 2023-02-01 11:06:30 +00:00
dependabot[bot] 7569e72f55
Bump setuptools from 65.5.0 to 65.5.1
Bumps [setuptools](https://github.com/pypa/setuptools) from 65.5.0 to 65.5.1.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/CHANGES.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v65.5.0...v65.5.1)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 10:11:12 +00:00
Ezrahel 1e12e888d1
Update README.md 2023-02-01 11:06:32 +01:00
Matthias fb742361e9
Merge pull request #8083 from leonardocustodio/patch-1
Gym aid
2023-02-01 11:05:38 +01:00
Matthias 322d4b5351 improve fix for setup.sh 2023-02-01 09:20:40 +00:00
Matthias c1a34396d0 Merge branch 'develop' into feat/cancel_order 2023-02-01 07:06:17 +00:00
Matthias 72a98943b1 bybit: Add correct funding_fee_timeframe 2023-02-01 06:58:45 +01:00
Matthias 9bb376296d Update parse_order test 2023-01-31 20:59:55 +01:00
Matthias 839215c437
Fix Doc box error 2023-01-31 20:58:20 +01:00
Matthias 8a0fabed0e Ensure we don't overwrite valid values by invalid exchange responses 2023-01-31 20:55:11 +01:00
Matthias 680136f57d Add workaround patch for kucoin create_order returning empty
While the actual problem is caused by a ccxt change, the change itself makes sense.
once ccxt starts returning the correct status (open) for create-orders, we can remove the fix.

closes #8079
2023-01-31 20:46:34 +01:00
Matthias 448505fbfb Fix minor issue where amount could be empty in rest calls 2023-01-31 20:38:18 +01:00
Matthias 50d3b7bdef Add bybit sample order 2023-01-31 20:00:05 +01:00
Matthias 42f07e6ec2 Improve order_parse tests 2023-01-31 19:45:27 +01:00
Matthias 6012a55828 Improve test 2023-01-31 19:40:42 +01:00
Matthias 9cfbb21cd7 Improve error messages 2023-01-31 19:38:43 +01:00
Matthias bbc663fce1 Add telegram test 2023-01-31 19:26:26 +01:00
Matthias 1c47c118d6 Add cancel-order api test 2023-01-31 19:26:21 +01:00
Matthias daafc1c90f Update test and help 2023-01-31 18:16:59 +01:00
Matthias bd2839fa40 Reorder documentation 2023-01-31 18:13:42 +01:00
Matthias e291d1bb17 Document telegram /coo command 2023-01-31 18:12:18 +01:00
Matthias 1bdc0e3917 Add coo command to telegram 2023-01-31 18:09:40 +01:00
Leonardo Custodio 152aa994a6
Fix test 2023-01-31 12:46:21 -03:00
Leonardo Custodio baf2090f9e
Just change the docs 2023-01-31 12:42:39 -03:00
Leonardo Custodio 592eebe516
Add to setup 2023-01-31 12:10:41 -03:00
Leonardo Custodio 8b307357f3
Add to setup 2023-01-31 12:09:14 -03:00
Leonardo Custodio d27d5624e0
Merge branch 'freqtrade:develop' into patch-1 2023-01-31 12:00:00 -03:00
Matthias 5073c780d8 .agg would like strings, not the sum function. 2023-01-31 11:22:04 +00:00
Matthias 2c1457fb95 Ensure limit is integer (on server) 2023-01-31 11:06:23 +00:00
Matthias 1dc3c58775 Convert missing candle count to int
closes #8082
2023-01-31 11:04:56 +00:00
Matthias 410324ac19 time-jump detection should happen on the trimmed dataframe
Fixes comment in #7615
2023-01-31 10:13:21 +00:00
Matthias 9e619ecc50 Update rest api documentation 2023-01-31 07:26:12 +01:00
Matthias 03302fa0b0 Add cancel_open_order to rest script 2023-01-31 07:24:19 +01:00
Matthias c43e857cbc Bump API version 2023-01-31 07:09:07 +01:00
Matthias c855e2d79c Add delete open order endpoint 2023-01-31 07:09:03 +01:00
Matthias a704c43402 provide cancel-reason to handle_cancel_order 2023-01-31 07:08:12 +01:00
Leonardo Custodio 2b09f01293
Fixes gym issue
https://github.com/freqtrade/freqtrade/issues/8078
2023-01-30 18:52:56 -03:00
Matthias 5a7008f377 rename handle_timedout to handle_cancel_order 2023-01-30 20:02:01 +01:00
Matthias cd6602882c
Merge pull request #8076 from freqtrade/new_release
New release 2023.1
2023-01-30 18:11:08 +01:00
Matthias c3ef8ebb10
Merge pull request #8059 from freqtrade/bybit
Bybit futures support 🎉
2023-01-30 18:10:46 +01:00
Matthias b5c0daa069
Merge pull request #8028 from freqtrade/dependabot/pip/develop/sb3-contrib-1.7.0
Bump sb3-contrib from 1.6.2 to 1.7.0
2023-01-30 11:42:24 +01:00
Matthias da0ac8190f
Merge pull request #8075 from freqtrade/dependabot/pip/develop/pyarrow-11.0.0
Bump pyarrow from 10.0.1 to 11.0.0
2023-01-30 11:33:23 +01:00
Matthias 3cb9cc63b3 add pyarrow-11 rpi wheel file 2023-01-30 10:04:10 +00:00
Matthias e77c16d510
Merge pull request #8073 from freqtrade/dependabot/pip/develop/lightgbm-3.3.5
Bump lightgbm from 3.3.4 to 3.3.5
2023-01-30 09:42:14 +01:00
Matthias f57394c1ce Merge branch 'develop' into bybit 2023-01-30 07:23:41 +01:00
Matthias f22f613b24
Merge pull request #8074 from freqtrade/dependabot/pip/develop/mkdocs-material-9.0.8
Bump mkdocs-material from 9.0.5 to 9.0.8
2023-01-30 07:22:46 +01:00
Matthias 2593a929d4 Bump version to 2023.2.dev 2023-01-30 07:19:35 +01:00
Matthias 786f746958 Version bump to 2023.1 2023-01-30 07:16:16 +01:00
Matthias c4482d56ab Merge branch 'stable' into new_release 2023-01-30 07:10:32 +01:00
dependabot[bot] 411ad5641a
Bump pyarrow from 10.0.1 to 11.0.0
Bumps [pyarrow](https://github.com/apache/arrow) from 10.0.1 to 11.0.0.
- [Release notes](https://github.com/apache/arrow/releases)
- [Commits](https://github.com/apache/arrow/compare/go/v10.0.1...apache-arrow-11.0.0)

---
updated-dependencies:
- dependency-name: pyarrow
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 03:02:06 +00:00
dependabot[bot] 0dd852516a
Bump mkdocs-material from 9.0.5 to 9.0.8
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.5 to 9.0.8.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.0.5...9.0.8)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 03:01:33 +00:00
dependabot[bot] 2fea23d31a
Bump lightgbm from 3.3.4 to 3.3.5
Bumps [lightgbm](https://github.com/microsoft/LightGBM) from 3.3.4 to 3.3.5.
- [Release notes](https://github.com/microsoft/LightGBM/releases)
- [Commits](https://github.com/microsoft/LightGBM/compare/v3.3.4...v3.3.5)

---
updated-dependencies:
- dependency-name: lightgbm
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 03:01:12 +00:00
Matthias ede79590da Update ccxt compat tests with kucoin order 2023-01-29 19:56:13 +01:00
Matthias fee7b792e1 Bump ccxt 2023-01-29 19:33:13 +01:00
Matthias 507d3d6d9b Add ci for binance.us 2023-01-29 15:14:55 +01:00
Matthias 25dfbb5a08 Compare stake amout >= in backtesting
closes #8067
2023-01-29 12:47:16 +01:00
Matthias 9286cbed86 add partial Docstring to backtesting enter_trade 2023-01-29 11:02:31 +01:00
Matthias c1e528e116 Version bump ccxt
closes #8010
2023-01-28 19:54:28 +01:00
Matthias f6ba0fe6ae bybit: fix broken ccxt tests 2023-01-28 18:23:23 +01:00
Matthias 7294db81e2 Bump ccxt to 2.7.7 2023-01-28 18:17:09 +01:00
Matthias adf29fe1d7
Merge pull request #8065 from Shadyzpop/patch-1
Docs typo fix
2023-01-28 18:11:36 +01:00
Shadyzpop f7f936c14f
Typo fix 2023-01-28 03:43:18 +03:00
Matthias d1b069abfb bybit: Update test to align with defaultType change 2023-01-27 20:33:34 +01:00
Matthias 7029b9602c Merge branch 'develop' into bybit 2023-01-27 20:30:05 +01:00
Matthias 020dc3c6e1 filled-date shouldn't update again 2023-01-27 20:21:29 +01:00
Matthias aa15837589 Add test for filled_date not updating if it's already set 2023-01-27 20:20:15 +01:00
Matthias fa033965c8 use "swap" for bybit 2023-01-27 19:34:29 +01:00
Matthias 08ede37795 Add documentation note about stoploss on exchange 2023-01-26 19:58:58 +01:00
Matthias 8665d0866d Add test for bybit startup magic 2023-01-26 19:58:42 +01:00
Matthias 1431f7cc3e Set position mode to one-way on startup 2023-01-26 19:54:35 +01:00
Matthias 73ef1d5191 Improve exception wording on binance 2023-01-26 19:53:14 +01:00
Matthias 8647c0192c Fix typo 2023-01-26 07:08:38 +01:00
Matthias 2333dbae40 Update reinforcement learning docs to use correct naming 2023-01-26 07:07:49 +01:00
Matthias bd913bc24d
Disable provenance in buildx config for pi image 2023-01-25 14:34:52 +01:00
Matthias 9652c00acb
Don't amend docker manifest 2023-01-25 12:20:10 +01:00
Matthias c12fb1a49c bybit: Some final cleanup 2023-01-24 20:12:50 +01:00
Matthias 25fa6bee74 Override get_funding_fees for bybit 2023-01-24 07:21:56 +01:00
Matthias 051c3be99e add test case for bybit 2023-01-24 07:21:56 +01:00
Matthias 3a83427f92 Add Bybit stoploss support 2023-01-24 07:21:56 +01:00
Matthias c14553bacb Add bybit to supported Futures exchanges 2023-01-24 07:21:56 +01:00
Matthias c2b33a0f58 Fix set-leverage function sig 2023-01-24 07:21:56 +01:00
Matthias 7a18e96042 bybit: hot-fix funding fees (temporary - must be changed) 2023-01-24 07:21:56 +01:00
Matthias f681ce9139 Allow margin and leverage setting failures
(this is important when an exchange "fails" a request if the setting didn't change).
2023-01-24 07:21:56 +01:00
Matthias 31745a9dc2 bybit: Initial implementation liquidation calculation 2023-01-24 07:21:56 +01:00
Matthias 93ce963e9b Update test name 2023-01-24 07:21:56 +01:00
Matthias 752110a268 Add online tests for bybit 2023-01-24 07:21:56 +01:00
Matthias d05ecd630f Update tests for new liquidation parameter 2023-01-24 07:21:56 +01:00
Matthias 34e7433844 Add leverage to dry-run liquidation price calculation 2023-01-24 07:21:56 +01:00
Matthias a7b030fff9 Add note about bybit futures 2023-01-24 07:21:56 +01:00
Matthias 3192af8df8 Limit bybit futures markets to USDT 2023-01-24 07:21:56 +01:00
Matthias 63c732a560 Bybit futures data download 2023-01-24 07:21:56 +01:00
Matthias 6c0fa0dc1f Fix typo in docstring 2023-01-24 07:21:43 +01:00
Matthias 078b430828 Add ccxt compat tests for order parsing 2023-01-23 18:22:07 +01:00
Matthias b0720fdcf5 Bump ccxt to latest version to fix timestamp parsing issues 2023-01-23 18:10:56 +01:00
Matthias 1e43154bc5
Merge pull request #8049 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.19.6
Bump types-python-dateutil from 2.8.19.5 to 2.8.19.6
2023-01-23 09:31:34 +01:00
Matthias 228fc757e9
Merge pull request #8050 from freqtrade/dependabot/pip/develop/ccxt-2.6.58
Bump ccxt from 2.6.39 to 2.6.58
2023-01-23 09:31:18 +01:00
dependabot[bot] 7fc39eafbd
Bump ccxt from 2.6.39 to 2.6.58
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.6.39 to 2.6.58.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/2.6.39...2.6.58)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 07:36:53 +00:00
Matthias 3397225df2
Merge pull request #8051 from freqtrade/dependabot/pip/develop/pandas-1.5.3
Bump pandas from 1.5.2 to 1.5.3
2023-01-23 08:10:48 +01:00
Matthias 14d9789f1e
Bump types-dateutil for precommit 2023-01-23 08:04:45 +01:00
dependabot[bot] d3fbd41f59
Bump types-python-dateutil from 2.8.19.5 to 2.8.19.6
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.5 to 2.8.19.6.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 06:18:40 +00:00
Matthias b80c9dfd1e
Merge pull request #8052 from freqtrade/dependabot/pip/develop/types-requests-2.28.11.8
Bump types-requests from 2.28.11.7 to 2.28.11.8
2023-01-23 07:16:41 +01:00
Matthias 5ef6ea4d91
Merge pull request #8048 from freqtrade/dependabot/pip/develop/nbconvert-7.2.8
Bump nbconvert from 7.2.7 to 7.2.8
2023-01-23 06:48:15 +01:00
Matthias 73414e0fbd
Bump types-requests in pre-commit 2023-01-23 06:47:27 +01:00
dependabot[bot] 673f5c325c
Bump types-requests from 2.28.11.7 to 2.28.11.8
Bumps [types-requests](https://github.com/python/typeshed) from 2.28.11.7 to 2.28.11.8.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 03:08:24 +00:00
dependabot[bot] b104b54e6a
Bump pandas from 1.5.2 to 1.5.3
Bumps [pandas](https://github.com/pandas-dev/pandas) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Changelog](https://github.com/pandas-dev/pandas/blob/main/RELEASE.md)
- [Commits](https://github.com/pandas-dev/pandas/compare/v1.5.2...v1.5.3)

---
updated-dependencies:
- dependency-name: pandas
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 03:08:20 +00:00
dependabot[bot] 13f6529cca
Bump nbconvert from 7.2.7 to 7.2.8
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.2.7 to 7.2.8.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Changelog](https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter/nbconvert/compare/v7.2.7...v7.2.8)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 03:07:48 +00:00
Matthias 95987663f4
Merge pull request #8040 from xmatthias/mypy_fixes
Enable mypy defaults for Optional typechecking
2023-01-22 11:18:53 +01:00
Matthias 0642a2768e Add missing bracket
closes #8041
2023-01-22 11:17:31 +01:00
Matthias 58ad5a683a Fix wrong import order in script 2023-01-21 22:48:30 +01:00
Matthias 79d0fd937c Update pyright config to align with mypy 2023-01-21 20:05:33 +01:00
Matthias 741d2db334 Enable implicit_optional for telegram 2023-01-21 20:02:16 +01:00
Matthias 795934116d Remove optional_untyped from config 2023-01-21 20:02:12 +01:00
Matthias 2bf4cf7d5a Update scripts to PEP484 2023-01-21 20:02:07 +01:00
Matthias 8108a48f39 Follow PEP 484 - no implicit optionals 2023-01-21 20:01:56 +01:00
Matthias bb355cfac5 improve naming of backtest function 2023-01-21 19:46:27 +01:00
Matthias 80bb120026 Simplify backtesting by removing now unnecessary private function 2023-01-21 18:01:01 +01:00
Matthias 89eb1b0084 funding-fees need to be recalculated for detailed timeframes, too.
closes #7978
2023-01-21 17:47:37 +01:00
Matthias 1211b72255 Add test to show behavior reported in #7978 2023-01-21 16:23:32 +01:00
Matthias 772800bf74 Fix bug in stake_amount adjustment
This was preventing a DCA order to take the remaining stake
2023-01-21 08:52:10 +01:00
Matthias 865d678304 Add backtest_detail test for futures 2023-01-20 09:45:02 +00:00
Matthias 28e51e2dfb Simplify some test setups 2023-01-20 08:28:50 +00:00
Matthias 58d48e79da Convert tests/datadir to path object - better mirroring an initialized configuration 2023-01-20 08:07:02 +00:00
Matthias a5d87859dc Refactor test to reuse variable 2023-01-20 07:27:35 +00:00
Matthias 6e22607387 Add 5m futures testdata to support detail-backtest tests 2023-01-20 07:08:38 +00:00
Matthias dbddc4c8aa Improve wording on adjust_trade_position callback warning 2023-01-20 07:08:15 +01:00
Matthias 20093ea090 Add warning about callback call frequency in backtesting 2023-01-20 07:06:54 +01:00
Matthias 81349c2a03 Remove edge section from config template 2023-01-19 19:57:34 +01:00
Matthias 07c391322e Remove edge from sample configs (except full).
Edge is barely used, but everyone drags it's config around.
2023-01-19 18:26:22 +01:00
Matthias a398f4730b Add documentation note about RSA exchange keys
part of #8034
2023-01-19 18:15:50 +01:00
Matthias a27e63a547 Bump ccxt to 2.6.39
closes #8034
2023-01-19 18:15:50 +01:00
Matthias cd2a41e76e
Merge pull request #8035 from freqtrade/enable_plotconfig_wsmode
Enable plotconfig wsmode
2023-01-19 06:55:49 +01:00
Matthias 892fb77ec3 Update mypy pre-commit hook 2023-01-18 19:31:20 +01:00
Matthias 634b80f0e7 Add tests for plotconfig in ws mode 2023-01-18 18:15:35 +01:00
Matthias 2298656e45 Bump api_version to 2.23 2023-01-18 18:15:14 +01:00
Matthias 3216a05a9e Enable plot_config to work in webserver mode
(requires strategy argument)
2023-01-18 18:15:07 +01:00
Matthias da0992f859 add Config typehint in rpc 2023-01-18 06:45:31 +01:00
Matthias 25f89ac194
Merge pull request #8033 from stash86/bt-metrics
update config-freqai-example to match latest binance futures pair syntax
2023-01-18 06:33:37 +01:00
Stefano Ariestasia 00fa904422 update config-freqai-example to match latest binance futures pair syntax 2023-01-18 09:56:15 +09:00
Matthias 4aaa439221
Merge pull request #7976 from adarkforce/max-open-trades
Hyperopt Max open trades
2023-01-17 20:41:48 +01:00
Matthias c8ecedf6d5 Clarify a variable via typehint 2023-01-17 20:05:18 +01:00
Matthias 6a4fc33c30 Remove <3.8 bandaid 2023-01-17 19:46:56 +01:00
Matthias 7092212ed5 re-add futures tickers quoteVolume assert 2023-01-17 06:57:48 +01:00
Matthias 7713f343a9 Bump ccxt to 2.6.26
closes #8032
2023-01-17 06:46:49 +01:00
Matthias 98dcab49ab Add fetch_tickers test for futures 2023-01-16 23:06:18 +01:00
Matthias b4fcda2c11 add aiohttp proxy 2023-01-16 22:37:21 +01:00
Matthias 92a5efad0e Fix set_test_proxy usage 2023-01-16 22:09:53 +01:00
Matthias b193d8418d Deepcopy config before adding proxies 2023-01-16 21:31:01 +01:00
Matthias f46b62f1a7 Attempt to use and setup a proxy for CI 2023-01-16 21:15:05 +01:00
Matthias 394a973bbb Revert "Attempt to use and setup a proxy for CI"
This reverts commit 48ae248d2d.
2023-01-16 21:14:46 +01:00
Matthias 48ae248d2d Attempt to use and setup a proxy for CI 2023-01-16 21:14:19 +01:00
Antonio Della Fortuna 5e10bb2cca Merge branch 'develop' of https://github.com/freqtrade/freqtrade into max-open-trades 2023-01-16 20:19:46 +01:00
Matthias 75804a7f85
Bump stable-baselines3 alongside with sb3-contrib. 2023-01-16 15:53:44 +01:00
Matthias 81eb9ebc6e
Merge pull request #8031 from froggleston/eea_grp5
Add a new analysis group to output stats grouped by exit_tag
2023-01-16 15:50:47 +01:00
Matthias 8cfa5934db Catch AttributeError when importing modules
closes #8023
2023-01-16 13:54:25 +00:00
froggleston 813724bd82 Add a new analysis group to output stats grouped by exit_tag 2023-01-16 13:28:40 +00:00
Matthias 05dc29e60b
Merge pull request #8021 from freqtrade/dependabot/pip/develop/mkdocs-material-9.0.5
Bump mkdocs-material from 9.0.3 to 9.0.5
2023-01-16 13:31:30 +01:00
Matthias 41d4e516f1
Merge pull request #8024 from freqtrade/dependabot/pip/develop/cryptography-39.0.0
Bump cryptography from 38.0.1 to 39.0.0
2023-01-16 13:31:06 +01:00
Matthias 3ab40358a2
Merge pull request #8026 from freqtrade/dependabot/pip/develop/tensorboard-2.11.2
Bump tensorboard from 2.11.0 to 2.11.2
2023-01-16 13:29:04 +01:00
dependabot[bot] 8de10e3746
Bump mkdocs-material from 9.0.3 to 9.0.5
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.3 to 9.0.5.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.0.3...9.0.5)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 11:34:02 +00:00
Matthias d7bd9de60e
Merge pull request #8025 from freqtrade/dependabot/pip/develop/fastapi-0.89.1
Bump fastapi from 0.89.0 to 0.89.1
2023-01-16 12:28:08 +01:00
Matthias d0ad822034
Merge pull request #8029 from freqtrade/dependabot/pip/develop/pymdown-extensions-9.9.1
Bump pymdown-extensions from 9.9 to 9.9.1
2023-01-16 12:27:44 +01:00
dependabot[bot] 7f4883008f
Bump pymdown-extensions from 9.9 to 9.9.1
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.9 to 9.9.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.9...9.9.1)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 08:53:34 +00:00
dependabot[bot] a77fdb1594
Bump sb3-contrib from 1.6.2 to 1.7.0
Bumps [sb3-contrib](https://github.com/Stable-Baselines-Team/stable-baselines3-contrib) from 1.6.2 to 1.7.0.
- [Release notes](https://github.com/Stable-Baselines-Team/stable-baselines3-contrib/releases)
- [Commits](https://github.com/Stable-Baselines-Team/stable-baselines3-contrib/compare/v1.6.2...v1.7.0)

---
updated-dependencies:
- dependency-name: sb3-contrib
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 08:53:21 +00:00
dependabot[bot] a4b2dc30b4
Bump tensorboard from 2.11.0 to 2.11.2
Bumps [tensorboard](https://github.com/tensorflow/tensorboard) from 2.11.0 to 2.11.2.
- [Release notes](https://github.com/tensorflow/tensorboard/releases)
- [Changelog](https://github.com/tensorflow/tensorboard/blob/2.11.2/RELEASE.md)
- [Commits](https://github.com/tensorflow/tensorboard/compare/2.11.0...2.11.2)

---
updated-dependencies:
- dependency-name: tensorboard
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 08:53:12 +00:00
dependabot[bot] 8dce617ada
Bump fastapi from 0.89.0 to 0.89.1
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.89.0 to 0.89.1.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.89.0...0.89.1)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 08:53:06 +00:00
dependabot[bot] 283c1968bf
Bump cryptography from 38.0.1 to 39.0.0
Bumps [cryptography](https://github.com/pyca/cryptography) from 38.0.1 to 39.0.0.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/38.0.1...39.0.0)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 08:52:52 +00:00
Matthias 76c4b2a975
Merge pull request #8019 from freqtrade/dependabot/pip/develop/requests-2.28.2
Bump requests from 2.28.1 to 2.28.2
2023-01-16 09:50:37 +01:00
Matthias 7c2bfae92e
Merge pull request #8018 from freqtrade/dependabot/pip/develop/ccxt-2.6.24
Bump ccxt from 2.6.6 to 2.6.24
2023-01-16 08:13:47 +01:00
Matthias 0296061e49 Fix version comparison to use packaging.version 2023-01-16 06:54:29 +01:00
Matthias d226f9706b
Merge pull request #8020 from freqtrade/dependabot/pip/develop/xgboost-1.7.3
Bump xgboost from 1.7.2 to 1.7.3
2023-01-16 06:49:47 +01:00
Matthias 7f61fdd9a3
Merge pull request #8022 from freqtrade/dependabot/pip/develop/pytest-7.2.1
Bump pytest from 7.2.0 to 7.2.1
2023-01-16 06:48:49 +01:00
Matthias 77bb6561d5
Merge pull request #8017 from freqtrade/dependabot/pip/develop/orjson-3.8.5
Bump orjson from 3.8.4 to 3.8.5
2023-01-16 06:46:22 +01:00
dependabot[bot] 178a4c8867
Bump requests from 2.28.1 to 2.28.2
Bumps [requests](https://github.com/psf/requests) from 2.28.1 to 2.28.2.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.28.1...v2.28.2)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 05:32:39 +00:00
Matthias 6fd9690477
Merge pull request #8015 from freqtrade/dependabot/pip/develop/urllib3-1.26.14
Bump urllib3 from 1.26.13 to 1.26.14
2023-01-16 06:31:39 +01:00
dependabot[bot] 7785809f4a
Bump pytest from 7.2.0 to 7.2.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.2.0 to 7.2.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.2.0...7.2.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 03:02:08 +00:00
dependabot[bot] 59e6f19dd8
Bump xgboost from 1.7.2 to 1.7.3
Bumps [xgboost](https://github.com/dmlc/xgboost) from 1.7.2 to 1.7.3.
- [Release notes](https://github.com/dmlc/xgboost/releases)
- [Changelog](https://github.com/dmlc/xgboost/blob/master/NEWS.md)
- [Commits](https://github.com/dmlc/xgboost/compare/v1.7.2...v1.7.3)

---
updated-dependencies:
- dependency-name: xgboost
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 03:01:28 +00:00
dependabot[bot] dc7b8ac7ba
Bump ccxt from 2.6.6 to 2.6.24
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.6.6 to 2.6.24.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/2.6.6...2.6.24)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 03:01:13 +00:00
dependabot[bot] d24fce83d2
Bump orjson from 3.8.4 to 3.8.5
Bumps [orjson](https://github.com/ijl/orjson) from 3.8.4 to 3.8.5.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.8.4...3.8.5)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 03:01:03 +00:00
dependabot[bot] 9b97ddd0f7
Bump urllib3 from 1.26.13 to 1.26.14
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.13 to 1.26.14.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.13...1.26.14)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 03:00:47 +00:00
Matthias fc9e0ede0b
Merge pull request #8014 from freqtrade/binance_mig
Binance futures naming migration
2023-01-15 21:57:21 +01:00
Matthias 270eed7e14 Fail if detecting invalid ccxt version for binance futures 2023-01-15 19:38:50 +01:00
Antonio Della Fortuna ab12aace5f changed `trades_space` to `max_open_trades_space` 2023-01-15 11:50:40 +01:00
Antonio Della Fortuna 5e64980319 Merge branch 'develop' of https://github.com/freqtrade/freqtrade into max-open-trades 2023-01-15 11:44:35 +01:00
Antonio Della Fortuna b0f1d914c8 Changed max_open_trades type to int or inf 2023-01-15 11:44:10 +01:00
Matthias ce323e66ac Remove note about binance futures naming 2023-01-14 21:40:48 +01:00
Matthias e14f2cc275 Add db migration test 2023-01-14 21:26:00 +01:00
Matthias 5d4a247fa0 Add test for binance data migration 2023-01-14 20:34:04 +01:00
Matthias cbcee02ded call data migration from backtesting 2023-01-14 20:07:33 +01:00
Matthias 1fc97a8008 use Unified futures naming for futures throughout tests 2023-01-13 21:16:19 +01:00
Matthias 9d1cf040f0 Update test leverage tiers 2023-01-13 20:44:45 +01:00
Matthias 4ea8962ca2 Rename futures test data 2023-01-13 20:44:32 +01:00
Matthias 47b50a8a29 Udpate binance leverage tiers to new pair format 2023-01-13 20:32:25 +01:00
Matthias c93b265ec8 Run migration commands on certain data commands 2023-01-13 07:27:18 +01:00
Matthias 0be0ef9e77 Remove duplicate binance test
The same test exists in test_exchange, but for most exchanges.
2023-01-13 07:11:44 +01:00
Matthias 0d1172ca43 Update binance future test 2023-01-13 07:04:29 +01:00
Matthias e43b9b65fa increase minimium ccxt version to 2.6.6 2023-01-13 07:00:13 +01:00
Matthias b024fafaf8 Use futures_pair in ccxt test correctly 2023-01-12 23:39:02 +01:00
Matthias 5b3304189c trading_mode is not necessarily mandatory 2023-01-12 23:38:53 +01:00
Matthias 183bf6819f Update binance pair naming in ccxt test 2023-01-12 23:35:32 +01:00
Matthias 5ad664aaca Update binance futures name to swap 2023-01-12 23:35:16 +01:00
Matthias 9cb7d6c26e Run binance futures migrations on startup 2023-01-12 23:35:06 +01:00
Matthias 5d45adb37d
Merge pull request #8009 from freqtrade/robcaulk-patch-1
Update freqai-reinforcement-learning.md
2023-01-12 23:33:54 +01:00
Robert Caulk bfd7803fd8
Update freqai-reinforcement-learning.md 2023-01-12 22:18:22 +01:00
Matthias ee7b505dcb Add data migration method 2023-01-12 20:59:43 +01:00
Matthias b1bfd76741 Add binance futures db migration 2023-01-12 20:36:06 +01:00
Matthias 518e8d24dc
Merge pull request #8007 from TheJoeSchr/fix/version-cwd
fix "--version": needs to change working directory
2023-01-12 20:24:28 +01:00
Joe Schr 1cf69f139c refactor "--version" to use "pathlib" instead of "os" 2023-01-12 19:27:41 +01:00
Matthias 1a533668b5
Merge pull request #8008 from freqtrade/fix/NaT_ser_deser
Fix websockets for dataframes with NaT entries
2023-01-12 08:10:14 +01:00
Antonio Della Fortuna 192f75254f Merge branch 'develop' of https://github.com/freqtrade/freqtrade into max-open-trades 2023-01-11 22:21:46 +01:00
Matthias 9d647fd193 Fix websockets for dataframes with NaT entreis 2023-01-11 22:07:20 +01:00
Matthias ec5d464ff2
Merge pull request #8005 from TheJoeSchr/develop
docs: fix broken link to quickstart
2023-01-11 21:37:34 +01:00
Matthias 684de1937a Fix link syntax to actually work 2023-01-11 21:35:18 +01:00
Joe Schr 08748dd021 fix "--version": needs to change working directory
before calling `git`. otherwise it would display git commit id from the
directory where you are calling `freqtrade` from instead of freqtrade's
current commit id
2023-01-11 21:12:06 +01:00
Joe Schr 4abf06119b docs: fix broken link to quickstart 2023-01-11 20:29:40 +01:00
Antonio Della Fortuna 534aa8f7ff Merge branch 'develop' of https://github.com/freqtrade/freqtrade into max-open-trades
# Conflicts:
#	freqtrade/optimize/backtesting.py
2023-01-11 18:55:57 +01:00
Matthias 00dbc195ac Update huobi ci to use BTC markets 2023-01-11 08:43:07 +00:00
Matthias f677dea6a4
Merge pull request #7950 from freqtrade/freqai_feature_engineering_functions
FreqAI Strategy - Improve user experience
2023-01-10 20:04:53 +01:00
Wagner Costa 2241f24290 moved deprecated warning to start function 2023-01-10 09:10:30 -03:00
Matthias a261ee327d
Merge pull request #7994 from freqtrade/dependabot/pip/develop/scipy-1.10.0
Bump scipy from 1.9.3 to 1.10.0
2023-01-10 08:07:24 +01:00
Matthias 67495530b7 Add FreqAI migration documentation 2023-01-10 07:22:28 +01:00
Matthias 6fc3d0e5e1
Merge pull request #7995 from freqtrade/dependabot/pip/develop/httpx-0.23.3
Bump httpx from 0.23.1 to 0.23.3
2023-01-09 20:47:32 +01:00
robcaulk 93aff9325e improve deprecation note 2023-01-09 20:15:03 +01:00
robcaulk a61274ae18 ensure cached corr-pairs works with new framework 2023-01-09 20:04:36 +01:00
Matthias 811f13e09a
Merge pull request #7981 from freqtrade/backtest_detail_speed
Improve backtest detail speed
2023-01-09 18:21:54 +01:00
Matthias 30bc45a1ba
Merge pull request #7991 from freqtrade/order_amount_price
Separately store Order amount price
2023-01-09 18:15:55 +01:00
Matthias fbdda8cd15 Always pass Dictionaries to testclient post requests 2023-01-09 18:12:20 +01:00
Matthias 3e5ca0438f
Merge pull request #8000 from freqtrade/dependabot/pip/develop/mkdocs-material-9.0.3
Bump mkdocs-material from 8.5.11 to 9.0.3
2023-01-09 13:37:04 +01:00
dependabot[bot] 3ca2dfc079
Bump httpx from 0.23.1 to 0.23.3
Bumps [httpx](https://github.com/encode/httpx) from 0.23.1 to 0.23.3.
- [Release notes](https://github.com/encode/httpx/releases)
- [Changelog](https://github.com/encode/httpx/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/httpx/compare/0.23.1...0.23.3)

---
updated-dependencies:
- dependency-name: httpx
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-09 09:10:30 +00:00
Matthias d59c48c638
Merge pull request #7996 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.46
Bump sqlalchemy from 1.4.45 to 1.4.46
2023-01-09 09:33:26 +01:00
Matthias 0aca0d20d9 Add some feature flags for mkdocs migration 2023-01-09 07:24:18 +01:00
Matthias 8abe1e1c2e
Merge pull request #8001 from freqtrade/dependabot/pip/develop/orjson-3.8.4
Bump orjson from 3.8.3 to 3.8.4
2023-01-09 06:52:02 +01:00
Matthias bd7eeb8701
Merge pull request #7998 from freqtrade/dependabot/pip/develop/fastapi-0.89.0
Bump fastapi from 0.88.0 to 0.89.0
2023-01-09 06:51:12 +01:00
Matthias 8a5aef20aa
Merge pull request #7999 from freqtrade/dependabot/pip/develop/ccxt-2.5.56
Bump ccxt from 2.5.46 to 2.5.56
2023-01-09 06:49:29 +01:00
Matthias 7de72a2425
Merge pull request #7993 from freqtrade/dependabot/pip/develop/lightgbm-3.3.4
Bump lightgbm from 3.3.3 to 3.3.4
2023-01-09 06:47:37 +01:00
dependabot[bot] 43b49fef4f
Bump orjson from 3.8.3 to 3.8.4
Bumps [orjson](https://github.com/ijl/orjson) from 3.8.3 to 3.8.4.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.8.3...3.8.4)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-09 03:01:33 +00:00
dependabot[bot] 25fd1ea639
Bump mkdocs-material from 8.5.11 to 9.0.3
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.5.11 to 9.0.3.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Upgrade guide](https://github.com/squidfunk/mkdocs-material/blob/master/docs/upgrade.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.5.11...9.0.3)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-09 03:01:26 +00:00
dependabot[bot] 3b69745c3b
Bump ccxt from 2.5.46 to 2.5.56
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.5.46 to 2.5.56.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/2.5.46...2.5.56)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-09 03:01:18 +00:00
dependabot[bot] 79fe8fd85b
Bump fastapi from 0.88.0 to 0.89.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.88.0 to 0.89.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.88.0...0.89.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-09 03:01:07 +00:00
dependabot[bot] d32d70d2ea
Bump sqlalchemy from 1.4.45 to 1.4.46
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.45 to 1.4.46.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-09 03:00:58 +00:00
dependabot[bot] c198ca2967
Bump scipy from 1.9.3 to 1.10.0
Bumps [scipy](https://github.com/scipy/scipy) from 1.9.3 to 1.10.0.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.9.3...v1.10.0)

---
updated-dependencies:
- dependency-name: scipy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-09 03:00:45 +00:00
dependabot[bot] 2f0eb95d03
Bump lightgbm from 3.3.3 to 3.3.4
Bumps [lightgbm](https://github.com/microsoft/LightGBM) from 3.3.3 to 3.3.4.
- [Release notes](https://github.com/microsoft/LightGBM/releases)
- [Commits](https://github.com/microsoft/LightGBM/compare/v3.3.3...v3.3.4)

---
updated-dependencies:
- dependency-name: lightgbm
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-09 03:00:38 +00:00
Antonio Della Fortuna 7d27afd4b8 Fixed test broken due to change in trades_space range 2023-01-08 16:11:41 +01:00
Matthias ad49541947 Adapt Tests for new mandatory columns 2023-01-08 13:55:52 +01:00
Matthias 305b067e48 Support having no Amount/Price available from the exchange initially 2023-01-08 13:55:09 +01:00
Matthias fd694f14c2 Add new order columns, ft_amount and ft_price 2023-01-08 13:53:08 +01:00
Antonio Della Fortuna 10d8b016e4 Changed max_open_trades default range for optimization 2023-01-08 12:48:36 +01:00
Antonio Della Fortuna f77dffc951 align to develop 2023-01-08 12:46:27 +01:00
Antonio Della Fortuna 24ace646c3 Merge branch 'develop' of https://github.com/freqtrade/freqtrade into max-open-trades 2023-01-08 12:40:01 +01:00
Antonio Della Fortuna 464cb4761c Fixed max_open_trades update from hyperopt
Fixed max_open_trades update from hyperopt + removed max_open_trades as a param to backtesting + refactoring
2023-01-08 12:39:39 +01:00
Matthias 550ab2b8e8 Improve select_order to only consider filled where needed. 2023-01-08 11:24:04 +01:00
Matthias 8d4f7341c9
Merge pull request #7987 from stash86/bt-metrics
update calmar, sharpe, and sortino hyperopt losses to use latest formula
2023-01-08 10:37:24 +01:00
Matthias 34dbe9deaa Improve fixture fake results 2023-01-08 10:08:54 +01:00
Matthias f958459a84
Merge pull request #7989 from freqtrade/dependabot/pip/develop/ccxt-2.5.46
Bump ccxt from 2.4.60 to 2.5.46
2023-01-07 16:32:11 +01:00
dependabot[bot] 1d5440ff71
Bump ccxt from 2.4.60 to 2.5.46
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.4.60 to 2.5.46.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/2.4.60...2.5.46)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-07 14:19:48 +00:00
Matthias c7f485687f Fix ccxt test failure
as identified and analyzed https://github.com/ccxt/ccxt/issues/16335
2023-01-07 15:13:22 +01:00
Antonio Della Fortuna 8c3ac56bc5 Merge branch 'develop' of https://github.com/freqtrade/freqtrade into max-open-trades 2023-01-07 11:11:59 +01:00
root 7bf531c8b8 isort fix 2023-01-07 09:50:05 +09:00
Stefano Ariestasia c1042996db flake8 fix 2023-01-07 09:46:46 +09:00
Stefano Ariestasia 6198b21001 update calmar loss 2023-01-07 09:30:16 +09:00
Stefano Ariestasia d3b1aa7f01 update sortino calc 2023-01-07 09:19:06 +09:00
Stefano Ariestasia 157bf962f7 add missing imports 2023-01-07 09:14:56 +09:00
Stefano Ariestasia 86ba7dae92 change sharpe hyperopt loss 2023-01-07 08:56:40 +09:00
Matthias 8b456441a9
Merge pull request #7971 from paranoidandy/patch-1
Update FreqaiExampleStrategy.py
2023-01-06 15:16:31 +01:00
Matthias 349d67f582
Merge pull request #7983 from stash86/bt-metrics
Fix typo in calculate_expectancy's description
2023-01-06 07:30:09 +01:00
Stefano Ariestasia 329d95366a
Merge branch 'freqtrade:develop' into bt-metrics 2023-01-06 08:04:00 +08:00
hippocritical feb6accc6c Merge remote-tracking branch 'origin/strategy_utils' into strategy_utils 2023-01-05 22:56:29 +01:00
hippocritical 4435c4fd0d removed prints for strategy could not be loaded
Changed logic to contain much less if conditions

currently still missing:
Webhook terminology, Telegram notification settings, Strategy/Config settings
2023-01-05 22:56:06 +01:00
Matthias 787d292ba0 Move "drop_candle" decision to coroutine 2023-01-05 22:31:32 +01:00
Wagner Costa d82264ced9 Merge branch 'develop' into freqai_feature_engineering_functions 2023-01-05 17:55:35 -03:00
Wagner Costa abdeb72eb0 fix tests 2023-01-05 17:54:56 -03:00
robcaulk d91ac8b669 improve wording in freqai doc 2023-01-05 20:13:48 +01:00
Matthias bdf6537c60 Remove unused (and pointless) exchange method 2023-01-05 11:45:15 +01:00
Matthias 4bac66ff0e Type ohlcv coroutine 2023-01-05 11:33:47 +01:00
Matthias 75b0a3e63d Use dedicated type for OHLCV response 2023-01-05 11:30:15 +01:00
Matthias 92800930e9 Improve backtest detail speed 2023-01-05 10:14:58 +01:00
Matthias 5257e8b3ed Fix random test failures on 3.8 2023-01-05 09:12:09 +01:00
hippocritical e55638ed03
Merge branch 'freqtrade:develop' into strategy_utils 2023-01-04 23:52:35 +01:00
hippocritical ed55296d20 removed prints for strategy could not be loaded
Changed logic to contain much less if conditions

currently still missing:
Webhook terminology, Telegram notification settings, Strategy/Config settings
2023-01-04 23:49:33 +01:00
Wagner Costa ed99e7f857 fix corr_pairs startup candle count bug 2023-01-04 14:21:37 -03:00
Matthias 8e5b4750d6 Continue in "regular backtest" case (no detail-data available).
link to #7967
2023-01-04 18:08:45 +01:00
Matthias 6470635753 In cases of no losing trade, sortino ratio can't be calculated.
closes #7977
2023-01-04 17:55:24 +01:00
Matthias 7a43f37eb7
Merge pull request #7972 from Undertoned/develop
Fix Backtesting  Analysis Column Wrong
2023-01-04 16:38:29 +01:00
Antonio Della Fortuna f2fa476dc6 max_open_trades should be an integer
Max open trades will be always an integer in the strategy (-1 for infinity), but in the config -1 will be parsed as infinity
2023-01-04 16:09:27 +01:00
Wagner Costa ed2b1b1ed1 Merge branch 'develop' into freqai_feature_engineering_functions 2023-01-04 10:40:20 -03:00
Wagner Costa 801ab39a24 fix get dataframe data to include startup_candle 2023-01-04 10:36:19 -03:00
robcaulk 3cbe51c3ca remove duplicated line 2023-01-04 13:58:25 +01:00
Antonio Della Fortuna 1c5e172683 docs update 2023-01-04 12:54:35 +01:00
Matthias 38a780ef63
Merge pull request #7973 from freqtrade/robcaulk-patch-1
Fix file name in FreqaiExampleStrategy.py
2023-01-04 12:51:14 +01:00
robcaulk dc25668468 handle data gaps between FreqAI and DP better 2023-01-04 11:41:06 +01:00
Antonio Della Fortuna ce661cb58b Merge branch 'develop' of https://github.com/freqtrade/freqtrade into max-open-trades 2023-01-04 10:35:09 +01:00
Antonio Della Fortuna 5fd85368a9 Added support for max_open_trades hyperopting 2023-01-04 10:34:44 +01:00
Robert Caulk c384d1357e
Update FreqaiExampleStrategy.py 2023-01-03 21:52:16 +01:00
Matthias 6f031f005d Fix flake error 2023-01-03 20:29:08 +01:00
zhanglei14 63db1fd894 Fix Backtesting Analysis Column Wrong 2023-01-04 01:38:07 +08:00
Wagner Costa 314c0925bf fix get dataframe data to include startup_candle 2023-01-03 14:02:42 -03:00
paranoidandy 73114b93c2
Update FreqaiExampleStrategy.py
Change can_short to True to enable shorting
2023-01-03 15:11:46 +00:00
hippocritical 71ec32ac9e removed prints for strategy could not be loaded
changed back to ast, astor is not really needed.
2023-01-02 23:35:51 +01:00
hippocritical 697fad0ac4 Merge remote-tracking branch 'origin/strategy_utils' into strategy_utils 2023-01-02 20:46:05 +01:00
hippocritical 0817e1698f requirements thinned out again
StrategyResolver.search_all_objects(enum_failed) set to False since we got no use in True
shortened update_code call
added modified_code8 test which currently still fails. (and thereby is commented out)
2023-01-02 20:45:56 +01:00
Matthias 91d8370909
Merge pull request #7966 from freqtrade/frog-hyper-docs
Fix ROI table comma and spacing
2023-01-02 20:35:05 +01:00
Robert Davey 2c430c806c
Fix ROI table comma and spacing
THanks to `@topdollar` in discord for noticing the typos.
2023-01-02 15:54:49 +00:00
hippocritical 61d7129d7c
Update freqtrade/commands/strategy_utils_commands.py
Co-authored-by: Matthias <xmatthias@outlook.com>
2023-01-02 16:51:05 +01:00
Robert Caulk 52dfb0452c
Update freqai-feature-engineering.md 2023-01-02 16:06:54 +01:00
Matthias 72f9c248f5
Merge pull request #7961 from freqtrade/dependabot/pip/develop/time-machine-2.9.0
Bump time-machine from 2.8.2 to 2.9.0
2023-01-02 09:21:55 +01:00
Matthias df25dbc048 Don't require a configuration for strategy-updater 2023-01-02 08:52:18 +01:00
Matthias a712c5d42c Improve if formatting 2023-01-02 08:52:01 +01:00
Matthias e89609dc3a
Fix crash due to invalid parameter 2023-01-02 08:51:54 +01:00
Matthias 5bb1f4a845
Merge pull request #7962 from freqtrade/dependabot/pip/develop/pydantic-1.10.4
Bump pydantic from 1.10.2 to 1.10.4
2023-01-02 08:26:14 +01:00
Matthias d1a0ae45e8
Merge pull request #7960 from freqtrade/dependabot/pip/develop/filelock-3.9.0
Bump filelock from 3.8.2 to 3.9.0
2023-01-02 08:25:11 +01:00
dependabot[bot] 724465c798
Bump pydantic from 1.10.2 to 1.10.4
Bumps [pydantic](https://github.com/pydantic/pydantic) from 1.10.2 to 1.10.4.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/v1.10.4/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v1.10.2...v1.10.4)

---
updated-dependencies:
- dependency-name: pydantic
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-02 03:01:07 +00:00
dependabot[bot] 488b4512e0
Bump time-machine from 2.8.2 to 2.9.0
Bumps [time-machine](https://github.com/adamchainz/time-machine) from 2.8.2 to 2.9.0.
- [Release notes](https://github.com/adamchainz/time-machine/releases)
- [Changelog](https://github.com/adamchainz/time-machine/blob/main/HISTORY.rst)
- [Commits](https://github.com/adamchainz/time-machine/compare/2.8.2...2.9.0)

---
updated-dependencies:
- dependency-name: time-machine
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-02 03:01:00 +00:00
dependabot[bot] d304f95c13
Bump filelock from 3.8.2 to 3.9.0
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.8.2 to 3.9.0.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/py-filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.8.2...3.9.0)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-02 03:00:55 +00:00
hippocritical 66f7c91357 Adding tests
added more code inside NameUpdater to grab more variables.
2023-01-01 22:03:45 +01:00
hippocritical 762dd4f024 Adding tests
added more code inside NameUpdater to grab more variables.
2023-01-01 18:57:38 +01:00
hippocritical a51e44eea3 Adding tests 2023-01-01 12:37:15 +01:00
Matthias 74b924471a type ccxt_compat tests 2022-12-31 10:59:42 +01:00
Matthias cd7bd9bf9a Update gate liquidation price link 2022-12-31 10:25:21 +01:00
Matthias 6498e352c1 Remove pointless default 2022-12-31 10:23:39 +01:00
Matthias 97e8bb09e8 Update exchange documentation with note about leverage 2022-12-31 10:17:30 +01:00
hippocritical 82218d01f4 sped up the function generic_visit that now skips unnecessary fields
added mentioning of skipped class names since they could not be found
2022-12-30 21:49:09 +01:00
Stefano Ariestasia 5188464fc0 fix typo 2022-12-31 02:03:02 +09:00
Wagner Costa c8aa7720a2 added again feature check in BT from pred files 2022-12-30 11:16:35 -03:00
Wagner Costa b39fc6b924 remove add pair to column from docs, fix keyerror bug and adjust hybrid strategy example 2022-12-30 10:42:31 -03:00
robcaulk b2bab68fba move price assignment to feature_engineering_standard() to reduce un-requested feature additions in RL. Ensure old method of price assignment still works, add deprecation warning to help users migrate their strategies 2022-12-30 13:02:39 +01:00
Matthias 798438df9d Extract funding-rate call to separate method
this will allow overwriting in subclasses.
2022-12-30 07:32:59 +01:00
Matthias 499cc5bae1 Better visualize downloaded candletype in debug mode 2022-12-30 07:15:24 +01:00
hippocritical a6356c2821 Merge remote-tracking branch 'origin/strategy_utils' into strategy_utils 2022-12-29 22:32:02 +01:00
hippocritical c6f045afa9 fixing issues of the maintainer
found a bug meaning elts could contain lists of elts (now recurively gone through)

Next in line: writing tests based on StrategyUpdater.update_code
2022-12-29 22:31:33 +01:00
Wagner Costa 2e30bdb9b2 freqai bt - fix tests 2022-12-29 16:35:11 -03:00
Matthias 9a46613975
Merge pull request #7954 from freqtrade/new_release
New release 2022.12
2022-12-29 17:45:08 +01:00
Wagner Costa 2b89f643b7 adjust backtest to new feature engineering functions 2022-12-28 19:03:41 -03:00
Matthias c78b2080cc Add exception test for interest function 2022-12-28 17:42:35 +01:00
Matthias 6ef15802eb make tables an optional dependency
requirements will still install this though.
2022-12-28 16:04:21 +01:00
Matthias 973cfd0182
Merge pull request #7810 from stash86/bt-metrics
Add more calculations for backtest metrics
2022-12-28 15:57:07 +01:00
Matthias f0bd6b9589
Merge pull request #7939 from freqtrade/dependabot/pip/develop/tables-3.8.0
Bump tables from 3.7.0 to 3.8.0
2022-12-28 15:55:43 +01:00
Matthias 2805e83c9f Bump Develop version to 2023.1 2022-12-28 15:53:43 +01:00
Matthias 8e8f71ade5 Version bump 2022.12 2022-12-28 15:42:38 +01:00
Matthias 149539d3f9 Merge branch 'stable' into new_release 2022-12-28 15:42:29 +01:00
Matthias 5cb8fe1a50 Add JOSS badge to freqtrade docs and readme.md 2022-12-28 15:40:12 +01:00
Matthias c52910f28b Improve resiliance against invalid data
closes #7947
2022-12-28 15:30:57 +01:00
Matthias 6434bf6745 Document new backtesting metrics 2022-12-28 15:29:55 +01:00
Matthias 32bbe603cb Fix sortino std calculation 2022-12-28 14:59:49 +01:00
robcaulk 6f7eb71bbb ensure RL works with new naming scheme 2022-12-28 14:52:33 +01:00
Matthias d5b516842c Fix 2 docstrings 2022-12-28 14:44:23 +01:00
Matthias f21185d1c4 Add tests for new metrics 2022-12-28 14:05:04 +01:00
Matthias 02eb00fa33 Merge branch 'develop' into pr/stash86/7810 2022-12-28 14:04:54 +01:00
robcaulk c2936d551b improve doc, update test strats, change function names 2022-12-28 13:25:40 +01:00
Matthias 4d112def17 Remove binance AD from docs page
fixes #7921
2022-12-28 07:10:11 +01:00
hippocritical 126b8dac07
Merge branch 'freqtrade:develop' into strategy_utils 2022-12-27 22:34:24 +01:00
hippocritical 70e9fa6136 implementing the strategy_updater in a first version 2022-12-27 20:43:43 +01:00
Matthias cd4faa9c59 keep max_stake_amount through backtests 2022-12-27 18:08:20 +01:00
Wagner Costa 8227b4aafe freqAI Strategy - improve user experience 2022-12-27 11:37:01 -03:00
Matthias 62c4675e29 Remove some deprecated fields from the API 2022-12-27 14:28:07 +01:00
Matthias cb66663fd2 show max_stake_amount in API 2022-12-27 14:28:07 +01:00
Matthias 55001bf321 Keep max_stake_amount (only relevant for DCA orders). 2022-12-27 14:28:07 +01:00
Matthias 6f2c3e2528 Split migration and persistence tests 2022-12-27 14:28:07 +01:00
Matthias 2d6ca5c8bf
Merge pull request #7949 from freqtrade/freqai-doc-update
Improve `purge_old_models` explanation
2022-12-27 13:25:58 +01:00
Robert Caulk 20901c833a
Improve `purge_old_models` explanation 2022-12-27 10:08:09 +01:00
Matthias 8a37eba0d9
Merge pull request #7946 from freqtrade/dependabot/pip/develop/numpy-1.24.1
Bump numpy from 1.23.5 to 1.24.1
2022-12-26 20:50:26 +01:00
Matthias 882e68c68b Rename backtest-result from new to "not new". 2022-12-26 15:33:14 +01:00
Matthias 6a15a9b412 Update backtest-result_new
fixing the calculation of profit_abs - which was incorrect previously.
2022-12-26 15:33:14 +01:00
dependabot[bot] 1cef40a134
Bump numpy from 1.23.5 to 1.24.1
Bumps [numpy](https://github.com/numpy/numpy) from 1.23.5 to 1.24.1.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v1.23.5...v1.24.1)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-26 14:31:47 +00:00
Matthias e881175cc4
Merge pull request #7945 from freqtrade/dependabot/pip/develop/ccxt-2.4.60
Bump ccxt from 2.4.27 to 2.4.60
2022-12-26 15:30:51 +01:00
Matthias 63f114395a is_short should be a boolean 2022-12-26 14:02:47 +01:00
dependabot[bot] aaeeb86622
Bump ccxt from 2.4.27 to 2.4.60
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.4.27 to 2.4.60.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/2.4.27...2.4.60)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-26 12:40:26 +00:00
Matthias 19913e8dc5
Merge pull request #7940 from freqtrade/dependabot/pip/develop/isort-5.11.4
Bump isort from 5.11.3 to 5.11.4
2022-12-26 13:39:39 +01:00
dependabot[bot] d60b38dad2
Bump tables from 3.7.0 to 3.8.0
Bumps [tables](https://github.com/PyTables/PyTables) from 3.7.0 to 3.8.0.
- [Release notes](https://github.com/PyTables/PyTables/releases)
- [Changelog](https://github.com/PyTables/PyTables/blob/master/RELEASE_NOTES.rst)
- [Commits](https://github.com/PyTables/PyTables/compare/v3.7.0...v3.8.0)

---
updated-dependencies:
- dependency-name: tables
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-26 09:04:53 +00:00
Matthias d01def3c61
Merge pull request #7941 from freqtrade/dependabot/pip/develop/pre-commit-2.21.0
Bump pre-commit from 2.20.0 to 2.21.0
2022-12-26 10:03:25 +01:00
Matthias faab4b2342
Merge pull request #7943 from freqtrade/dependabot/pip/develop/types-requests-2.28.11.7
Bump types-requests from 2.28.11.5 to 2.28.11.7
2022-12-26 10:02:49 +01:00
dependabot[bot] c5b246af80
Bump isort from 5.11.3 to 5.11.4
Bumps [isort](https://github.com/pycqa/isort) from 5.11.3 to 5.11.4.
- [Release notes](https://github.com/pycqa/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pycqa/isort/compare/5.11.3...5.11.4)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-26 08:24:40 +00:00
Matthias 9296ad23d9
Merge pull request #7938 from freqtrade/dependabot/pip/develop/nbconvert-7.2.7
Bump nbconvert from 7.2.6 to 7.2.7
2022-12-26 09:21:43 +01:00
Matthias 00112d81d2
Bump types-requests pre-commit 2022-12-26 09:21:18 +01:00
Matthias 9a556d2639 Remove all mac conflicts 2022-12-26 08:57:01 +01:00
Matthias 18709406c5 use link overwrite 2022-12-26 08:50:55 +01:00
Matthias 9ea8792d3c Attempt brew fix 2022-12-26 08:45:02 +01:00
dependabot[bot] 3993bd7c1c
Bump types-requests from 2.28.11.5 to 2.28.11.7
Bumps [types-requests](https://github.com/python/typeshed) from 2.28.11.5 to 2.28.11.7.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-26 03:01:11 +00:00
dependabot[bot] e0f60e175f
Bump pre-commit from 2.20.0 to 2.21.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 2.20.0 to 2.21.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v2.20.0...v2.21.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-26 03:01:00 +00:00
dependabot[bot] b1bf6d8dc9
Bump nbconvert from 7.2.6 to 7.2.7
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.2.6 to 7.2.7.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Changelog](https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter/nbconvert/compare/v7.2.6...v7.2.7)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-26 03:00:41 +00:00
Stefano Ariestasia 6353f3ac1a fix formulas and implement new metrics 2022-12-26 08:19:51 +09:00
Matthias 7a5439321c Show new metrics in backtesting 2022-12-25 21:29:37 +01:00
Matthias ce13ce4b10 Update binance stoploss order types
closes #7927
an update to the most recent ccxt version (>2.4.55) would have the same effect.
2022-12-25 09:05:53 +01:00
Matthias 4601705814
Merge pull request #7923 from freqtrade/freqai_backtest
Freqai backtest
2022-12-23 19:17:12 +01:00
Matthias 524da3c7ab Don't actually load models to avoid random failures 2022-12-23 16:19:12 +01:00
Matthias ad0d7c9a9e Don't allow DCA trades to go beyond max order size
closes  #7924
2022-12-23 16:09:35 +01:00
Matthias 2a7369b56a fix macos CI 2022-12-23 07:38:33 +01:00
Matthias 73792fd6ce Don't attempt to convert None to dict 2022-12-21 06:28:55 +01:00
Matthias 70531224e6 Allow setting identifier via UI 2022-12-20 19:44:01 +01:00
Matthias 07606a9e23 Simplify APi backtest config merging 2022-12-20 19:32:29 +01:00
Matthias 6d9f1fafb7 allow backtest_cache to be provided via backtest API 2022-12-20 19:20:39 +01:00
Matthias 256fac2a2b Add test for freqaimodels endpoint 2022-12-20 07:24:54 +01:00
Matthias 5dbd5c235a Add endpoint for freqAI models 2022-12-20 07:24:54 +01:00
Matthias 3012c55ec5
Merge pull request #7867 from Bloodhunter4rc/remotepairlist
Add Remotepairlist
2022-12-19 19:28:49 +01:00
Matthias a119fbd895 Small error-message finetuning 2022-12-19 18:19:55 +01:00
Bloodhunter4rc ebf60d85da self._init_done placed wrong. fixed 2022-12-19 16:25:22 +01:00
Bloodhunter4rc 43f5a16006 parse exception handling, remove info, cache change 2022-12-19 15:36:28 +01:00
Robert Caulk cc30210b3f
Merge pull request #7908 from freqtrade/add-3action-rl-env
Add 3 Action RL Env
2022-12-19 14:47:57 +01:00
Matthias 095bedf54e
Merge pull request #7915 from freqtrade/dependabot/pip/develop/blosc-1.11.1
Bump blosc from 1.10.6 to 1.11.1
2022-12-19 14:12:00 +01:00
Matthias 4bad2b5c04
Apply suggestions from code review
Co-authored-by: Emre <aemr3@users.noreply.github.com>
2022-12-19 13:27:07 +01:00
robcaulk 5b9e3af276 improve wording 2022-12-19 12:22:15 +01:00
robcaulk 5405d8fa6f add discussion and tips for Base3ActionRLEnvironment 2022-12-19 12:14:53 +01:00
robcaulk a276ef4b06 ensure long only RL is tested 2022-12-19 11:49:31 +01:00
Matthias ec3d49ce4c
Merge pull request #7916 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.19.5
Bump types-python-dateutil from 2.8.19.4 to 2.8.19.5
2022-12-19 11:20:21 +01:00
Matthias 86b30d2d66 Improve emc test resiliancy 2022-12-19 07:01:32 +01:00
Matthias 2711605df6
Merge pull request #7914 from freqtrade/dependabot/pip/develop/isort-5.11.3
Bump isort from 5.10.1 to 5.11.3
2022-12-19 06:59:28 +01:00
Matthias daf7653988
Merge pull request #7918 from freqtrade/dependabot/pip/develop/torch-1.13.1
Bump torch from 1.13.0 to 1.13.1
2022-12-19 06:40:27 +01:00
Matthias cc0d8fa590
Merge pull request #7920 from freqtrade/dependabot/pip/develop/ccxt-2.4.27
Bump ccxt from 2.2.92 to 2.4.27
2022-12-19 06:36:46 +01:00
Matthias 0c8d657d92
update types-dateutil precommit 2022-12-19 06:27:38 +01:00
dependabot[bot] fa87e08071
Bump ccxt from 2.2.92 to 2.4.27
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.2.92 to 2.4.27.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/2.2.92...2.4.27)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 03:01:26 +00:00
dependabot[bot] 7216d140de
Bump torch from 1.13.0 to 1.13.1
Bumps [torch](https://github.com/pytorch/pytorch) from 1.13.0 to 1.13.1.
- [Release notes](https://github.com/pytorch/pytorch/releases)
- [Changelog](https://github.com/pytorch/pytorch/blob/master/RELEASE.md)
- [Commits](https://github.com/pytorch/pytorch/compare/v1.13.0...v1.13.1)

---
updated-dependencies:
- dependency-name: torch
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 03:01:09 +00:00
dependabot[bot] 06225b9501
Bump types-python-dateutil from 2.8.19.4 to 2.8.19.5
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.4 to 2.8.19.5.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 03:00:54 +00:00
dependabot[bot] d86885c7f9
Bump blosc from 1.10.6 to 1.11.1
Bumps [blosc](https://github.com/blosc/python-blosc) from 1.10.6 to 1.11.1.
- [Release notes](https://github.com/blosc/python-blosc/releases)
- [Changelog](https://github.com/Blosc/python-blosc/blob/main/RELEASE_NOTES.rst)
- [Commits](https://github.com/blosc/python-blosc/compare/v1.10.6...v1.11.1)

---
updated-dependencies:
- dependency-name: blosc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 03:00:46 +00:00
dependabot[bot] b61fc161bf
Bump isort from 5.10.1 to 5.11.3
Bumps [isort](https://github.com/pycqa/isort) from 5.10.1 to 5.11.3.
- [Release notes](https://github.com/pycqa/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pycqa/isort/compare/5.10.1...5.11.3)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 03:00:43 +00:00
Bloodhunter4rc 6380c3d462 reduce duplicate code, fix cache check 2022-12-18 23:37:18 +01:00
Bloodhunter4rc bb33b96ba7 init cache on first iteration, init checks, limit length and charmap to info replace if invalid, move filter logic 2022-12-18 22:28:12 +01:00
Matthias 1f4cc145c4 Move trade docs to advanced section 2022-12-18 20:02:38 +01:00
Matthias eda72ef26c Add documentation for Order object 2022-12-18 19:40:49 +01:00
Matthias a439488b74 Add initial trade_object documentation 2022-12-18 17:42:05 +01:00
Matthias bad6fe77d3 Remove deprecated trade property 2022-12-18 17:21:50 +01:00
Matthias cb81613aa5
Merge pull request #7907 from freqtrade/add-joss-citation
Add JOSS citation to freqai doc
2022-12-17 19:22:35 +01:00
Robert Caulk 329a0a3f45
Update docs/freqai.md
Co-authored-by: Matthias <xmatthias@outlook.com>
2022-12-17 18:43:20 +01:00
Emre c293401b22
Add can_short to freqai base model 2022-12-16 23:19:08 +03:00
Emre e604047158
Enable RL tests on arm mac 2022-12-16 22:57:55 +03:00
Emre a8c9aa01fb
Add 3ac test 2022-12-16 22:31:44 +03:00
Emre 7727f31507
Add 3 Action RL env 2022-12-16 22:18:49 +03:00
Emre dde363343c
Add can_short param to base env 2022-12-16 22:16:19 +03:00
Robert Caulk 439914caef
Merge pull request #7906 from initrv/fix-base-env-done-condition
fix base4 env done condition
2022-12-16 15:25:58 +01:00
robcaulk e4284f4e7b add citation to freqai doc. Update credits 2022-12-16 15:20:46 +01:00
initrv 36948e2a74 fix base4 env done condition 2022-12-16 14:14:05 +03:00
robcaulk c9bc91c75b add shuffle_after_split option 2022-12-16 11:20:37 +01:00
Matthias 935275010f Remove some unused fixtures 2022-12-16 06:46:54 +01:00
Matthias bc10bcaf61
Merge pull request #7901 from samgermain/delist-bibox
delisted bibox following ccxt PR https://github.com/ccxt/ccxt/pull/16067
2022-12-15 23:16:33 +01:00
Sam Germain 32d57f624e delisted bibox following ccxt PR https://github.com/ccxt/ccxt/pull/16067 2022-12-15 15:00:27 -05:00
Matthias 2828255435
Merge pull request #7842 from wizrds/feat/refactor-emc
Change to broadcasting single candles in Producer/Consumer
2022-12-15 19:47:29 +01:00
Matthias 6fa3db3a1d Fix failing tests 2022-12-15 19:36:21 +01:00
Matthias b915872f66
Merge pull request #7899 from freqtrade/fix/multiproc-dp
Ensure data provider is passed to multiproc envs
2022-12-15 19:31:23 +01:00
Bloodhunter4rc cd1b8b9cee single space removed for the unit test to pass.. 2022-12-15 18:14:37 +01:00
Bloodhunter4rc 9e20d13e50
Merge branch 'freqtrade:develop' into remotepairlist 2022-12-15 17:38:56 +01:00
Bloodhunter4rc 1d5c66da3b + Unit Tests 2022-12-15 17:38:21 +01:00
robcaulk 581a5296cc fix docstrings to reflect new env_info changes 2022-12-15 16:50:08 +01:00
robcaulk 7b4abd5ef5 use a dictionary to make code more readable 2022-12-15 12:25:33 +01:00
Matthias 7a0eadbdf5 Don't recalc profit on closed trades 2022-12-15 07:05:07 +01:00
Matthias 33dce5cf10 Clarify partial exit calculation messaging 2022-12-15 07:05:07 +01:00
Matthias ca2a878b86 Update test naming 2022-12-14 20:06:55 +01:00
Emre d3ad5cb722
Merge branch 'fix/multiproc-dp' of https://github.com/freqtrade/freqtrade into fix/multiproc-dp 2022-12-14 22:04:43 +03:00
Emre 3af2251ce8
Fix add_state_info backtesting bug 2022-12-14 22:03:23 +03:00
Emre 2018da0767
Add env_info dict to base environment 2022-12-14 22:03:05 +03:00
Matthias fa260e6560 Move "replace or append" decision to dataprovider 2022-12-14 19:56:54 +01:00
robcaulk dac1c8ab89 fix isort 2022-12-14 18:28:52 +01:00
robcaulk 2285ca7d2a add dp to multiproc 2022-12-14 18:22:20 +01:00
Matthias 350cebb0a8
Merge pull request #7898 from initrv/patch-1
fix doc minimal_roi
2022-12-14 12:56:51 +01:00
initrv de19d1cfbb
fix doc minimal_roi 2022-12-14 13:36:07 +03:00
Matthias 97fee37072 Improve emc test 2022-12-14 07:22:51 +01:00
Bloodhunter4rc 7f3524949c - print 2022-12-13 21:00:23 +01:00
Bloodhunter4rc d52c1c7554 Add unit tests 2022-12-13 20:21:06 +01:00
Matthias 1d92db7805 Change CI to actually run one 2 randomized point. 2022-12-13 19:23:40 +01:00
Matthias 3c2a802ec0
Merge pull request #7897 from freqtrade/revert-7884-dependabot/pip/develop/scikit-learn-1.2.0
Revert "Bump scikit-learn from 1.1.3 to 1.2.0"
2022-12-13 19:23:19 +01:00
Matthias fed46d330f
Revert "Bump scikit-learn from 1.1.3 to 1.2.0" 2022-12-13 18:14:56 +01:00
Matthias c042d0146e Don't run gc_setup during tests 2022-12-13 17:14:28 +00:00
Robert Caulk e6da646e2f
Merge pull request #7866 from initrv/cleanup-tensorboard-callback
Cleanup tensorboard callback
2022-12-13 09:05:46 +01:00
Timothy Pogue 0dd3836cc7 fix rpc method docstring 2022-12-12 22:47:35 -07:00
Matthias 1c0c4fd420 Improve test 2022-12-12 22:47:35 -07:00
Matthias a693495a6d Improve external_candle aggregation 2022-12-12 22:47:35 -07:00
Matthias 96edd31458 Test add_external_candle 2022-12-12 22:47:35 -07:00
Timothy Pogue 414c0ce050 change unused var 2022-12-12 22:47:35 -07:00
Timothy Pogue 6717dff19b update overlapping candle handling, move append to misc 2022-12-12 22:47:35 -07:00
Timothy Pogue 0602479f7d minor changes, update candle appending to support overlaps 2022-12-12 22:47:35 -07:00
Timothy Pogue f1ebaf4730 fix tests 2022-12-12 22:47:35 -07:00
Timothy Pogue 49f6f40662 remove comment 2022-12-12 22:47:35 -07:00
Timothy Pogue 0d5b2eed94 fix same candle handling 2022-12-12 22:47:35 -07:00
Timothy Pogue d376bf4052 fix indefinite reconnecting 2022-12-12 22:47:35 -07:00
Timothy Pogue ccd1aa70a2 change log calls to debug, handle already received candle 2022-12-12 22:47:35 -07:00
Timothy Pogue c050eb8b8b add candle difference calculation to dataprovider 2022-12-12 22:47:35 -07:00
Timothy Pogue 89338fa677 allow specifying channel send throttle 2022-12-12 22:47:35 -07:00
Timothy Pogue d2c8487ecf update add_external_candle, fix breaking on ping error, handle empty dataframes 2022-12-12 22:47:35 -07:00
Timothy Pogue fce1e9d6d0 update analyzed df request to allow specifying a single pair 2022-12-12 22:47:35 -07:00
Timothy Pogue 36a00e8de0 update add_external_candle returns 2022-12-12 22:47:35 -07:00
Timothy Pogue 4cbb3341d7 change how missing candles will be handled 2022-12-12 22:47:35 -07:00
Timothy Pogue 9660e445b8 use new channel apis in emc, extend analyzed df to include list of dates for candles 2022-12-12 22:47:35 -07:00
Matthias 3e4e6bb114
Merge pull request #7895 from freqtrade/fix-blosc-error-arm64
Temporarily downgrade blosc for arm64
2022-12-12 20:03:43 +01:00
Matthias abc3badfb5 Improve shutdown behavior
closes #7882
2022-12-12 20:01:54 +01:00
Emre 5c984bf5c2
Temporarily downgrade blosc for arm64 2022-12-12 21:33:12 +03:00
Matthias b328a18a97
Merge pull request #7890 from freqtrade/dependabot/pip/develop/xgboost-1.7.2
Bump xgboost from 1.7.1 to 1.7.2
2022-12-12 18:18:45 +01:00
Matthias ff0577445e
Merge pull request #7886 from freqtrade/dependabot/pip/develop/prompt-toolkit-3.0.36
Bump prompt-toolkit from 3.0.33 to 3.0.36
2022-12-12 14:52:39 +01:00
Bloodhunter4rc 6f92c58e33 add docs, add bearer token. 2022-12-12 13:24:33 +01:00
initrv f940280d5e Fix tensorboard_log incrementing note 2022-12-12 14:35:44 +03:00
initrv f9b7d35900 add increment param for tensorboard_log 2022-12-12 14:14:23 +03:00
Bloodhunter4rc f6b90595fa remove html. change var names. 2022-12-12 11:05:03 +01:00
Matthias b53b3f435c
Merge pull request #7888 from freqtrade/dependabot/pip/develop/ccxt-2.2.92
Bump ccxt from 2.2.67 to 2.2.92
2022-12-12 09:03:26 +01:00
Matthias a55d0c0d81
Merge pull request #7891 from freqtrade/dependabot/pip/develop/python-telegram-bot-13.15
Bump python-telegram-bot from 13.14 to 13.15
2022-12-12 08:27:50 +01:00
Matthias dee5b72835
Merge pull request #7892 from freqtrade/dependabot/pip/develop/filelock-3.8.2
Bump filelock from 3.8.0 to 3.8.2
2022-12-12 08:27:29 +01:00
Matthias 39bd6fb2d3
Merge pull request #7894 from freqtrade/dependabot/github_actions/develop/pypa/gh-action-pypi-publish-1.6.4
Bump pypa/gh-action-pypi-publish from 1.6.1 to 1.6.4
2022-12-12 07:11:34 +01:00
dependabot[bot] de9784267a
Bump filelock from 3.8.0 to 3.8.2
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.8.0 to 3.8.2.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/py-filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.8.0...3.8.2)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-12 05:39:16 +00:00
Matthias 61592e76b0
Merge pull request #7884 from freqtrade/dependabot/pip/develop/scikit-learn-1.2.0
Bump scikit-learn from 1.1.3 to 1.2.0
2022-12-12 06:38:29 +01:00
Matthias dc8f68d410
Merge pull request #7885 from freqtrade/dependabot/pip/develop/blosc-1.11.0
Bump blosc from 1.10.6 to 1.11.0
2022-12-12 06:31:39 +01:00
dependabot[bot] 915e0ac62f
Bump ccxt from 2.2.67 to 2.2.92
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.2.67 to 2.2.92.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/2.2.67...2.2.92)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-12 05:31:01 +00:00
dependabot[bot] bc2b9981d3
Bump python-telegram-bot from 13.14 to 13.15
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 13.14 to 13.15.
- [Release notes](https://github.com/python-telegram-bot/python-telegram-bot/releases)
- [Changelog](https://github.com/python-telegram-bot/python-telegram-bot/blob/v13.15/CHANGES.rst)
- [Commits](https://github.com/python-telegram-bot/python-telegram-bot/compare/v13.14...v13.15)

---
updated-dependencies:
- dependency-name: python-telegram-bot
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-12 05:30:55 +00:00
Matthias 686253e7cd
Merge pull request #7887 from freqtrade/dependabot/pip/develop/nbconvert-7.2.6
Bump nbconvert from 7.2.5 to 7.2.6
2022-12-12 06:30:37 +01:00
Matthias 2d68b0f6f6
Merge pull request #7889 from freqtrade/dependabot/pip/develop/pytest-asyncio-0.20.3
Bump pytest-asyncio from 0.20.2 to 0.20.3
2022-12-12 06:30:14 +01:00
Matthias f7a099f878
Merge pull request #7893 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.45
Bump sqlalchemy from 1.4.44 to 1.4.45
2022-12-12 06:29:49 +01:00
dependabot[bot] 2647c35f48
Bump pypa/gh-action-pypi-publish from 1.6.1 to 1.6.4
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.6.1 to 1.6.4.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.6.1...v1.6.4)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-12 03:02:53 +00:00
dependabot[bot] 0344203372
Bump sqlalchemy from 1.4.44 to 1.4.45
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.44 to 1.4.45.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-12 03:01:32 +00:00
dependabot[bot] 5a7b493d3e
Bump xgboost from 1.7.1 to 1.7.2
Bumps [xgboost](https://github.com/dmlc/xgboost) from 1.7.1 to 1.7.2.
- [Release notes](https://github.com/dmlc/xgboost/releases)
- [Changelog](https://github.com/dmlc/xgboost/blob/master/NEWS.md)
- [Commits](https://github.com/dmlc/xgboost/compare/v1.7.1...v1.7.2)

---
updated-dependencies:
- dependency-name: xgboost
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-12 03:01:11 +00:00
dependabot[bot] 5625648011
Bump pytest-asyncio from 0.20.2 to 0.20.3
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.20.2 to 0.20.3.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Changelog](https://github.com/pytest-dev/pytest-asyncio/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.20.2...v0.20.3)

---
updated-dependencies:
- dependency-name: pytest-asyncio
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-12 03:01:07 +00:00
dependabot[bot] a35111e55e
Bump nbconvert from 7.2.5 to 7.2.6
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.2.5 to 7.2.6.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Changelog](https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter/nbconvert/compare/v7.2.5...v7.2.6)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-12 03:00:54 +00:00
dependabot[bot] 63d3a9ced6
Bump prompt-toolkit from 3.0.33 to 3.0.36
Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.33 to 3.0.36.
- [Release notes](https://github.com/prompt-toolkit/python-prompt-toolkit/releases)
- [Changelog](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/CHANGELOG)
- [Commits](https://github.com/prompt-toolkit/python-prompt-toolkit/compare/3.0.33...3.0.36)

---
updated-dependencies:
- dependency-name: prompt-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-12 03:00:49 +00:00
dependabot[bot] 434eec7334
Bump blosc from 1.10.6 to 1.11.0
Bumps [blosc](https://github.com/blosc/python-blosc) from 1.10.6 to 1.11.0.
- [Release notes](https://github.com/blosc/python-blosc/releases)
- [Changelog](https://github.com/Blosc/python-blosc/blob/main/RELEASE_NOTES.rst)
- [Commits](https://github.com/blosc/python-blosc/compare/v1.10.6...v1.11.0)

---
updated-dependencies:
- dependency-name: blosc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-12 03:00:46 +00:00
dependabot[bot] 78c40f0535
Bump scikit-learn from 1.1.3 to 1.2.0
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.1.3 to 1.2.0.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.1.3...1.2.0)

---
updated-dependencies:
- dependency-name: scikit-learn
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-12 03:00:40 +00:00
Matthias 42afdbb0e5
Merge pull request #7883 from freqtrade/fix/multioutput-bug
fix bug in MultiOutput* with conv_width = 1
2022-12-11 15:52:10 +01:00
robcaulk 0f6b98b69a merge develop into tensorboard cleanup 2022-12-11 15:38:32 +01:00
robcaulk 0fd8e214e4 add documentation for tensorboard_log, change how users interact with tensorboard_log 2022-12-11 15:31:29 +01:00
Matthias 888ba65367
Merge branch 'develop' into fix/multioutput-bug 2022-12-11 15:23:53 +01:00
initrv cb8fc3c8c7 custom info to tensorboard_metrics 2022-12-11 15:37:45 +03:00
Robert Caulk 0f75ec9c97
Merge pull request #7860 from freqtrade/update-freqai-tf-handling
Ensure base tf to be include_timeframes
2022-12-11 12:50:07 +01:00
robcaulk 8c7ec07951 ensure predict_proba follows suit. Remove all lib specific params from example config 2022-12-11 12:39:31 +01:00
robcaulk 85f22b5c30 fix bug in MultiOutput* with conv_width = 1 2022-12-11 12:15:19 +01:00
Emre 6b9f3f2795
Fix test validation 2022-12-11 13:24:24 +03:00
Emre 272c3302e3
Merge remote-tracking branch 'origin/develop' into update-freqai-tf-handling 2022-12-11 13:12:45 +03:00
Matthias 980a5a9b52 Fix docs typo 2022-12-10 19:54:04 +01:00
Matthias 1da8ad69d9 improve more tests by freezing time 2022-12-08 14:33:16 +01:00
Matthias da4914513a
Merge pull request #7835 from rzhb/patch-1
update strategy_analysis_example.ipynb
2022-12-08 14:17:50 +01:00
Matthias bbedc4b63e Stop clock to avoid random failures on slow CI runs 2022-12-08 14:15:29 +01:00
Matthias 39e19bd0c9
Merge pull request #7607 from matteoettam09/develop
Docker compose now in docker
2022-12-08 13:34:06 +01:00
Matthias 3d3a7033ed Improve Docker documentation wording 2022-12-08 08:46:16 +01:00
Matthias fcbc1a8a07
Merge pull request #7868 from freqtrade/fix-add-state-info-bt
Fix add state info bt
2022-12-08 08:34:11 +01:00
Matthias 74e623fe5b Improve kraken test resiliance 2022-12-08 08:33:07 +01:00
Bloodhunter4rc 66412bfa58 Remove unnecessary loop 2022-12-08 01:51:12 +01:00
Bloodhunter4rc 7efcbbb457 Local File Loading 2022-12-08 01:09:17 +01:00
Bloodhunter4rc da2747d487 Add Local .json file Loading 2022-12-08 00:52:54 +01:00
robcaulk 7b3406914c flip add_state_info 2022-12-07 19:49:39 +01:00
robcaulk 9b4364ddc3 ensure that add_state_info is deactivated during backtesting 2022-12-07 19:49:14 +01:00
Bloodhunter4rc b144a6357d Remove Duplicate 2022-12-07 18:24:55 +01:00
Bloodhunter4rc 547a75d9c1 Fix Info 2022-12-07 17:49:21 +01:00
Bloodhunter4rc 607d5b2f8f Split to fetch_pairlist function, Info Message 2022-12-07 17:47:38 +01:00
Bloodhunter4rc 48160f3fe9 Flake 8 fix, Json Fetching 2022-12-07 17:01:45 +01:00
Bloodhunter4rc 199fd2d074 +Remote Pairlist 2022-12-07 15:08:33 +01:00
initrv 58604c747e cleanup tensorboard callback 2022-12-07 14:37:55 +03:00
Stefano Ariestasia 89c7c2fec6 isort fix 2022-12-07 18:09:57 +09:00
Stefano Ariestasia 611e35ed81 flake8 fix 2022-12-07 15:47:58 +09:00
Robert Caulk b9f6911a6a
Merge pull request #7843 from smarmau/develop
freqai RL agent info during training
2022-12-06 20:06:41 +01:00
Matthias e7195b7bfb
Merge pull request #7862 from freqtrade/ws_newcandle
New websocket message "new_candle"
2022-12-06 07:07:32 +01:00
Robert Caulk 27b8f462dc
Merge pull request #7837 from freqtrade/freqai_bt_from_predictions_improvement
freqAI backtesting - Perfomance improvement
2022-12-05 23:20:55 +01:00
Wagner Costa c81b00fb37 Merge branch 'develop' into freqai_bt_from_predictions_improvement 2022-12-05 18:00:55 -03:00
Emre 227cdb0938
Change dict update order 2022-12-05 23:58:04 +03:00
Emre 26a61afa15
Move base tf logic to config validation 2022-12-05 23:54:15 +03:00
Emre bc48099e48
Revert changes 2022-12-05 23:52:48 +03:00
robcaulk 62c69bf2b5 fix custom_info 2022-12-05 20:22:54 +01:00
Matthias 72472587dd Increase test range for api version test 2022-12-05 20:19:01 +01:00
Matthias 7c27eedda5 Bump API version 2022-12-05 19:56:33 +01:00
Matthias 24edc276ea Simplify new_candle message 2022-12-05 19:46:39 +01:00
Matthias d30a872ed4 Move message-silencing list next to enum 2022-12-05 19:23:03 +01:00
Matthias 687eefa06e Improve emit_df testcase 2022-12-05 18:19:19 +01:00
Matthias 5e533b550f Emit a simple "new candle" message to allow UI's to refresh charts 2022-12-05 18:19:19 +01:00
Matthias 189fa64052 Add more dynamic to directory change 2022-12-05 18:14:16 +01:00
Emre 730fba956b
Ensure base tf included in include_timeframes 2022-12-05 16:16:17 +03:00
Emre e734b39929
Make model_training_parameters optional 2022-12-05 14:54:42 +03:00
Matthias b0f430b5ac
Merge pull request #7850 from freqtrade/dependabot/pip/develop/pytest-random-order-1.1.0
Bump pytest-random-order from 1.0.4 to 1.1.0
2022-12-05 08:50:52 +01:00
Matthias 261f9ac7dc
Merge pull request #7851 from freqtrade/dependabot/pip/develop/ccxt-2.2.67
Bump ccxt from 2.2.36 to 2.2.67
2022-12-05 08:06:16 +01:00
Matthias 80f3908626
Merge pull request #7857 from freqtrade/dependabot/pip/develop/mkdocs-material-8.5.11
Bump mkdocs-material from 8.5.10 to 8.5.11
2022-12-05 08:00:23 +01:00
Matthias 4dfb35c165
Merge pull request #7858 from freqtrade/dependabot/pip/develop/orjson-3.8.3
Bump orjson from 3.8.2 to 3.8.3
2022-12-05 08:00:08 +01:00
Matthias 6e657f9911
Merge pull request #7859 from freqtrade/dependabot/github_actions/develop/pypa/gh-action-pypi-publish-1.6.1
Bump pypa/gh-action-pypi-publish from 1.5.1 to 1.6.1
2022-12-05 06:27:37 +01:00
dependabot[bot] 102ab91fa4
Bump orjson from 3.8.2 to 3.8.3
Bumps [orjson](https://github.com/ijl/orjson) from 3.8.2 to 3.8.3.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.8.2...3.8.3)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 05:23:02 +00:00
dependabot[bot] 179adea0e2
Bump ccxt from 2.2.36 to 2.2.67
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.2.36 to 2.2.67.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/2.2.36...2.2.67)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 05:22:42 +00:00
Matthias d456ec7d5e
Merge pull request #7856 from freqtrade/dependabot/pip/develop/fastapi-0.88.0
Bump fastapi from 0.87.0 to 0.88.0
2022-12-05 06:22:18 +01:00
Matthias 0bb4f108dd
Merge pull request #7853 from freqtrade/dependabot/pip/develop/pandas-1.5.2
Bump pandas from 1.5.1 to 1.5.2
2022-12-05 06:21:46 +01:00
dependabot[bot] 82d4dca183
Bump mkdocs-material from 8.5.10 to 8.5.11
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.5.10 to 8.5.11.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.5.10...8.5.11)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 05:21:15 +00:00
Matthias cf0e5903c5
Merge pull request #7852 from freqtrade/dependabot/pip/develop/pymdown-extensions-9.9
Bump pymdown-extensions from 9.8 to 9.9
2022-12-05 06:20:23 +01:00
Matthias 4d19f98bef
Merge pull request #7855 from freqtrade/dependabot/pip/develop/jsonschema-4.17.3
Bump jsonschema from 4.17.1 to 4.17.3
2022-12-05 06:19:43 +01:00
dependabot[bot] 2eb8f9f028
Bump pypa/gh-action-pypi-publish from 1.5.1 to 1.6.1
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.5.1 to 1.6.1.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.5.1...v1.6.1)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 03:03:47 +00:00
dependabot[bot] 66bb2c5253
Bump fastapi from 0.87.0 to 0.88.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.87.0 to 0.88.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.87.0...0.88.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 03:01:16 +00:00
dependabot[bot] caae4441e5
Bump jsonschema from 4.17.1 to 4.17.3
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.17.1 to 4.17.3.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.17.1...v4.17.3)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 03:01:12 +00:00
dependabot[bot] 441069f363
Bump pandas from 1.5.1 to 1.5.2
Bumps [pandas](https://github.com/pandas-dev/pandas) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Changelog](https://github.com/pandas-dev/pandas/blob/main/RELEASE.md)
- [Commits](https://github.com/pandas-dev/pandas/compare/v1.5.1...v1.5.2)

---
updated-dependencies:
- dependency-name: pandas
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 03:01:03 +00:00
dependabot[bot] 16bad8dca6
Bump pymdown-extensions from 9.8 to 9.9
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.8 to 9.9.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.8...9.9)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 03:00:56 +00:00
dependabot[bot] 133a081a39
Bump pytest-random-order from 1.0.4 to 1.1.0
Bumps [pytest-random-order](https://github.com/jbasko/pytest-random-order) from 1.0.4 to 1.1.0.
- [Release notes](https://github.com/jbasko/pytest-random-order/releases)
- [Commits](https://github.com/jbasko/pytest-random-order/compare/v1.0.4...v1.1.0)

---
updated-dependencies:
- dependency-name: pytest-random-order
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 03:00:39 +00:00
Robert Caulk f28b314266
Merge pull request #7849 from smarmau/patch-1
Update freqai-reinforcement-learning.md
2022-12-04 15:17:01 +01:00
robcaulk d8565261e1 ignore initializer type 2022-12-04 14:10:33 +01:00
robcaulk 24766928ba reorganize/generalize tensorboard callback 2022-12-04 13:54:30 +01:00
Matthias 24d8585c33
Merge pull request #7840 from freqtrade/feature-plot-dir
Add plot_feature_importances output dir to docs
2022-12-04 12:53:44 +01:00
smarmau f7b4fc5bbc
Update freqai-reinforcement-learning.md
Change typo of default Tensorboard port to reflect correct port (6006)
2022-12-04 22:22:23 +11:00
robcaulk 38d3b4cab2 add details to doc plot_feature_importance doc 2022-12-04 11:29:21 +01:00
Matthias 310eba5932
Merge pull request #7735 from freqtrade/gc_improvements
Improve python GC behavior
2022-12-03 15:54:59 +01:00
smarmau b2edc58089
fix flake8 2022-12-03 22:31:02 +11:00
smarmau d6f45a12ae
add multiproc fix flake8 2022-12-03 22:30:04 +11:00
smarmau 469aa0d43f
add state/action info to callbacks 2022-12-03 21:16:46 +11:00
smarmau 075c8c23c8
add state/action info to callbacks 2022-12-03 21:16:04 +11:00
Matthias 0be82b4ed1
Merge pull request #7818 from freqtrade/dependabot/pip/develop/torch-1.13.0
Bump torch from 1.12.1 to 1.13.0
2022-12-02 15:52:34 +01:00
Robert Caulk 7ddf7ec0ae
Update freqai-parameter-table.md 2022-12-02 11:28:00 +01:00
Matthias 4dc591a170
Merge pull request #7834 from freqtrade/fix-data-drawer-model-load
Fix sb3_contrib loading issue
2022-12-02 06:29:23 +01:00
Matthias f2624112b0
Merge pull request #7833 from gaugau3000/develop
binance restricted locations and server location
2022-12-02 06:20:35 +01:00
Matthias 8a078a328e
Merge pull request #7836 from freqtrade/fix-fees-rl
fix fees RL
2022-12-02 06:15:20 +01:00
Matthias 05424045b0 Temporarily disable since binance blocks US 2022-12-02 06:12:21 +01:00
Wagner Costa 77dc2c92a7 performance improvevemnts - backtest freqai from saved predictions 2022-12-01 12:53:19 -03:00
robcaulk aceee67e2b Merge remote-tracking branch 'origin/develop' into gc_improvements 2022-12-01 14:32:19 +01:00
robcaulk 2b3e166dc2 fix fees RL 2022-12-01 10:10:28 +01:00
k eb81cccede add download-data command
change directory
fix relative config path
2022-12-01 16:37:24 +08:00
Emre 396e666e9b
Keep old behavior of model loading 2022-12-01 11:03:51 +03:00
Emre 4a9982f86b
Fix sb3_contrib loading issue 2022-12-01 10:08:42 +03:00
Matthias 95651fcd5a Improve/simplify telegram exception handling
Move exceptionhandling to the decorator.
2022-12-01 06:27:25 +01:00
gautier pialat 59c7ce02f5
binance restricted locations and server location
Inform end user before he creates server in a binance restricted location
https://github.com/ccxt/ccxt/issues/15872
2022-11-30 21:29:34 +01:00
Matthias dac4a35be2
Merge pull request #7828 from freqtrade/fix-state-info-rl
bring back market side setting in get_state_info
2022-11-30 19:57:28 +01:00
Robert Caulk 2bcd8e4e21
Merge pull request #7737 from freqtrade/backtest_fitlivepredictions
FreqAI - Backtesting enhancements and bug fix
2022-11-30 16:51:04 +01:00
Wagner Costa 79821ebb33 fix flake8 errors 2022-11-30 08:41:44 -03:00
robcaulk e7f72d52b8 bring back market side setting in get_state_info 2022-11-30 12:36:26 +01:00
Wagner Costa 26e8a5766f Merge branch 'develop' into backtest_fitlivepredictions 2022-11-30 08:29:28 -03:00
Wagner Costa 17cf3c7e83 bug fixes and removed fillna from fit_live_predictions 2022-11-30 08:28:45 -03:00
Matthias 915524a161
Merge pull request #7827 from rzhb/patch-2
Update data-analysis.md
2022-11-30 06:45:27 +01:00
rzhb 10a45474e8
Update data-analysis.md
fix typo in code
2022-11-30 12:28:21 +08:00
robcaulk 4571aedb33 consolidate and clean code 2022-11-30 00:53:35 +01:00
Matthias 3c322bf7df Improve forceenter validation messages 2022-11-29 18:27:08 +01:00
Matthias e6b8cb8ea9
Merge pull request #7795 from froggleston/entry_exit_date_print
Add date selection arguments to backtest-analysis printout
2022-11-29 16:56:58 +01:00
Wagner Costa 8ea58ab352 change BT prediction files to feather format 2022-11-29 10:38:35 -03:00
Wagner Costa df979ece33 Merge branch 'develop' into backtest_fitlivepredictions 2022-11-29 09:39:15 -03:00
dependabot[bot] b87545cd12
Bump torch from 1.12.1 to 1.13.0
Bumps [torch](https://github.com/pytorch/pytorch) from 1.12.1 to 1.13.0.
- [Release notes](https://github.com/pytorch/pytorch/releases)
- [Changelog](https://github.com/pytorch/pytorch/blob/master/RELEASE.md)
- [Commits](https://github.com/pytorch/pytorch/compare/v1.12.1...v1.13.0)

---
updated-dependencies:
- dependency-name: torch
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-29 07:46:38 +00:00
Robert Caulk 066d040fd3
Merge pull request #7814 from freqtrade/dependabot/pip/develop/sb3-contrib-1.6.2
Bump sb3-contrib from 1.6.1 to 1.6.2
2022-11-29 08:45:50 +01:00
Matthias c3daddc629
Merge pull request #7809 from richardjozsa/develop
Improve the RL learning process
2022-11-29 06:28:36 +01:00
Matthias 100d65b20b
Merge pull request #7822 from eltociear/patch-1
Fix typo in strategy_analysis_example.md
2022-11-29 06:24:36 +01:00
Matthias 5500c10f78 Improve CI file layout 2022-11-28 20:41:26 +01:00
Matthias 2c75b5e027 Extract "live" test from regular tests 2022-11-28 20:41:26 +01:00
Matthias 8efa8bc78a
Update stable-baselines3 to 1.6.2 2022-11-28 19:35:17 +01:00
Matthias e891c41760 Fix typo in ipynb, too. 2022-11-28 18:20:30 +01:00
Robert Caulk c9cc87b4ac
Merge pull request #7823 from freqtrade/fix/rl-model-type
Set model_type in base RL model
2022-11-28 18:07:36 +01:00
Emre 9cbfa12011
Directly set model_type in base RL model 2022-11-28 16:02:17 +03:00
Robert Davey 05a7fca242
Fix utils docs for backtesting-analysis 2022-11-28 12:12:45 +00:00
Matthias 1cdf5e0cfd
Merge pull request #7812 from freqtrade/dependabot/pip/develop/jsonschema-4.17.1
Bump jsonschema from 4.17.0 to 4.17.1
2022-11-28 10:06:12 +01:00
Ikko Ashimine 9880e9ab60
Fix typo in strategy_analysis_example.md
seperate -> separate
2022-11-28 17:10:17 +09:00
Matthias d67ca27f5e
Merge pull request #7817 from freqtrade/dependabot/pip/develop/prompt-toolkit-3.0.33
Bump prompt-toolkit from 3.0.32 to 3.0.33
2022-11-28 08:12:11 +01:00
dependabot[bot] dc03317cc8
Bump jsonschema from 4.17.0 to 4.17.1
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.17.0 to 4.17.1.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.17.0...v4.17.1)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-28 07:02:54 +00:00
Matthias f7ba1a4348
Merge pull request #7819 from freqtrade/dependabot/pip/develop/cryptography-38.0.4
Bump cryptography from 38.0.1 to 38.0.4
2022-11-28 08:02:22 +01:00
Matthias 98883fc909
Merge pull request #7815 from freqtrade/dependabot/pip/develop/urllib3-1.26.13
Bump urllib3 from 1.26.12 to 1.26.13
2022-11-28 08:01:10 +01:00
Matthias 40b274351c
Merge pull request #7813 from freqtrade/dependabot/pip/develop/flake8-6.0.0
Bump flake8 from 5.0.4 to 6.0.0
2022-11-28 08:00:45 +01:00
Matthias 868c2061b7
Merge pull request #7816 from freqtrade/dependabot/pip/develop/pyarrow-10.0.1
Bump pyarrow from 10.0.0 to 10.0.1
2022-11-28 06:40:38 +01:00
Matthias d73fd42769 Fix flake8 error introduced with 6.0 update 2022-11-28 06:38:35 +01:00
dependabot[bot] 9c28cc810d
Bump cryptography from 38.0.1 to 38.0.4
Bumps [cryptography](https://github.com/pyca/cryptography) from 38.0.1 to 38.0.4.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/38.0.1...38.0.4)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-28 05:33:45 +00:00
Matthias 8e60364f0d
Merge pull request #7808 from freqtrade/fix-freqai-rl-reward-link
Fix custom reward function link
2022-11-28 06:33:24 +01:00
Matthias 51e773fe37
Merge pull request #7820 from freqtrade/dependabot/pip/develop/ccxt-2.2.36
Bump ccxt from 2.1.96 to 2.2.36
2022-11-28 06:32:17 +01:00
dependabot[bot] 348731598e
Bump ccxt from 2.1.96 to 2.2.36
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.1.96 to 2.2.36.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/2.1.96...2.2.36)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-28 03:01:25 +00:00
dependabot[bot] a46b09d400
Bump prompt-toolkit from 3.0.32 to 3.0.33
Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.32 to 3.0.33.
- [Release notes](https://github.com/prompt-toolkit/python-prompt-toolkit/releases)
- [Changelog](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/CHANGELOG)
- [Commits](https://github.com/prompt-toolkit/python-prompt-toolkit/compare/3.0.32...3.0.33)

---
updated-dependencies:
- dependency-name: prompt-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-28 03:01:01 +00:00
dependabot[bot] 924bbad199
Bump pyarrow from 10.0.0 to 10.0.1
Bumps [pyarrow](https://github.com/apache/arrow) from 10.0.0 to 10.0.1.
- [Release notes](https://github.com/apache/arrow/releases)
- [Commits](https://github.com/apache/arrow/compare/go/v10.0.0...go/v10.0.1)

---
updated-dependencies:
- dependency-name: pyarrow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-28 03:00:58 +00:00
dependabot[bot] 5aec51a16c
Bump urllib3 from 1.26.12 to 1.26.13
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.12 to 1.26.13.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/1.26.13/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.12...1.26.13)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-28 03:00:55 +00:00
dependabot[bot] 7e75bc8fcf
Bump sb3-contrib from 1.6.1 to 1.6.2
Bumps [sb3-contrib](https://github.com/Stable-Baselines-Team/stable-baselines3-contrib) from 1.6.1 to 1.6.2.
- [Release notes](https://github.com/Stable-Baselines-Team/stable-baselines3-contrib/releases)
- [Commits](https://github.com/Stable-Baselines-Team/stable-baselines3-contrib/compare/v1.6.1...v1.6.2)

---
updated-dependencies:
- dependency-name: sb3-contrib
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-28 03:00:48 +00:00
dependabot[bot] 49e41925b0
Bump flake8 from 5.0.4 to 6.0.0
Bumps [flake8](https://github.com/pycqa/flake8) from 5.0.4 to 6.0.0.
- [Release notes](https://github.com/pycqa/flake8/releases)
- [Commits](https://github.com/pycqa/flake8/compare/5.0.4...6.0.0)

---
updated-dependencies:
- dependency-name: flake8
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-28 03:00:42 +00:00
Stefano Ariestasia f410b1b14d Update metrics.py 2022-11-28 08:56:49 +09:00
Emre f21dbbd8bb
Update imports of custom model 2022-11-28 00:06:02 +03:00
robcaulk 56518def42 isort 2022-11-27 21:06:01 +01:00
robcaulk 7fd6bc526e add randomize_starting_position to the rl_config 2022-11-27 21:03:13 +01:00
robcaulk 25e041b98e sneak in small change to FreqaiExampleHybridStrategy docstring and startup count 2022-11-27 20:50:03 +01:00
richardjozsa 64d4a52a56 Improve the RL learning process
Improve the RL learning process by selecting random start point for the agent, it can help to block the agent to only learn on the selected period of time, while improving the quality of the model.
2022-11-27 20:43:50 +01:00
robcaulk 67d9469277 small wording fix 2022-11-27 20:42:04 +01:00
Emre a02da08065
Fix typo 2022-11-27 22:23:00 +03:00
Matthias 320535a227 improve tests doc wording 2022-11-27 20:07:44 +01:00
Joe Schr a85602eb9c add "how to run tests" 2022-11-27 20:07:44 +01:00
Emre 5b5859238b
Fix typo 2022-11-27 22:06:14 +03:00
Emre fe00a65163
FIx custom reward link 2022-11-27 21:34:07 +03:00
Matthias f4025ee5de
Merge pull request #7289 from freqtrade/feat/freqai-rl-dev
Add reinforcement learning module to FreqAI
2022-11-27 17:15:21 +01:00
Matthias 77826ebf78
Merge pull request #7806 from freqtrade/new_release
New release 2022.11
2022-11-27 17:10:48 +01:00
Matthias 2219d2f491
Merge pull request #7707 from freqtrade/bt/full_detail
backtesting - use full detail timeframe
2022-11-27 16:09:23 +01:00
Matthias cf000a4c00 Bump develop version to 2022.12-dev 2022-11-27 16:08:54 +01:00
Matthias e4a3efc7d4 Don't use strategy.stoploss too often
discovered in #7760
2022-11-27 15:54:35 +01:00
Matthias 3fc367f536
Merge pull request #7771 from wizrds/feat/refactor-ws
Refactor WebSocket API for performance
2022-11-27 15:49:34 +01:00
Matthias 5c571f565f Version bump 2022.11 2022-11-27 15:34:00 +01:00
Matthias 178e5a195a Merge branch 'stable' into new_release 2022-11-27 15:33:45 +01:00
Matthias 21d7406291 Temporary fix for kraken download
closes #7790
will be removed once the patch is in ccxt.
2022-11-27 15:16:43 +01:00
froggleston 1a3f88c7b9 Replace separate start/end date option with usual timerange option 2022-11-27 11:30:13 +00:00
Robert Caulk 732757e087
Merge pull request #7801 from initrv/patch-1
Fix 4ac update_total_profit
2022-11-27 12:29:07 +01:00
Matthias 79a7dd5bd1
Merge pull request #7799 from freqtrade/fix-init-extra-rets
Use default `extra_returns_per_train`
2022-11-27 07:58:42 +01:00
stm 51d21b413d
Fix 4ac update_total_profit
_update_total_profit() must be executed before "self._position = Positions.Neutral" because _update_total_profit() calls get_unrealized_profit(), which returns 0 if position is neutral and total_profit is not updated
2022-11-26 23:35:20 +03:00
robcaulk dba30393fb ensure extra_returns_per_train are set properly on first hist_preds build 2022-11-26 18:04:47 +01:00
froggleston 706bc9ebea Merge branch 'entry_exit_date_print' of github.com:froggleston/freqtrade into entry_exit_date_print 2022-11-26 16:59:27 +00:00
froggleston 4790aaaae1 Implement cli options for backtesting-analysis date filtering 2022-11-26 16:58:56 +00:00
Robert Davey e1456e407b
Merge branch 'freqtrade:develop' into entry_exit_date_print 2022-11-26 16:53:48 +00:00
Timothy Pogue a26b3a9ca8 change sleep call back to 0.01 2022-11-26 09:40:22 -07:00
Matthias 9af62ad117 Add note to dev docs about freqUI release 2022-11-26 14:09:05 +01:00
Matthias ce213b55a2 Bybit fix candle limit 2022-11-26 13:58:22 +01:00
robcaulk b52f05923a fix list to array in constants.py 2022-11-26 13:47:47 +01:00
robcaulk be890b52fd remove np import 2022-11-26 13:44:58 +01:00
robcaulk aaaa5a5f64 add documentation for net_arch, other small changes 2022-11-26 13:44:58 +01:00
Matthias fcf13580f1 Revert "offload initial df computation to thread"
This reverts commit f268187e9b.
2022-11-26 13:33:54 +01:00
Matthias 7b0a76fb70 Improve typehint 2022-11-26 13:33:26 +01:00
Matthias 7ebc8ee169 Fix missing Optional typehint 2022-11-26 13:32:18 +01:00
Matthias 8660ac9aa0 Fix import in docs 2022-11-26 13:12:44 +01:00
Matthias cf2f12b472 Headers between Tables -> Tables can be jumped to directly 2022-11-26 13:06:21 +01:00
Matthias bdfedb5fcb Improve typehints / reduce warnings from mypy 2022-11-26 13:03:07 +01:00
robcaulk 81fd2e588f ensure typing, remove unsued code 2022-11-26 12:11:59 +01:00
robcaulk 8dbfd2cacf improve docstring clarity about how to inherit from ReinforcementLearner, demonstrate inherittance with ReinforcementLearner_multiproc 2022-11-26 11:51:08 +01:00
robcaulk 9f13d99b99 improve parameter table, add better documentation for custom calculate_reward, add various helpful notes in docstrings etc 2022-11-26 11:32:39 +01:00
Timothy Pogue bd95392eea fix formatted string in warning message :) 2022-11-25 13:10:22 -07:00
Timothy Pogue 4aa4c6f49d change sleep in channel send to 0 2022-11-25 13:08:41 -07:00
Timothy Pogue f268187e9b offload initial df computation to thread 2022-11-25 12:56:33 -07:00
Timothy Pogue afc00bc30a log warning if channel too far behind, add docstrings to message stream 2022-11-25 12:48:57 -07:00
froggleston 391817243c Tidy up complex functions 2022-11-25 16:12:15 +00:00
Matthias 756921b16a Update fthypt file 2022-11-25 17:05:49 +01:00
Matthias 79c041b62d Update tests for new export format 2022-11-25 16:57:58 +01:00
Matthias 8c014bd365 Export trade-counts to csv
closes #7789
2022-11-25 16:57:45 +01:00
Matthias 8ee8b6e943 Improve hyperopt list output
closes  #7789
2022-11-25 16:31:21 +01:00
Matthias 0f97ef0d7b Reset stoploss_order_id when order is canceled
closes #7766
2022-11-25 16:08:33 +01:00
Matthias 1b3e62bcbc Lock execute_entry to prevent timing hickups 2022-11-25 14:50:48 +01:00
Matthias c593cdc438 Improve type hints 2022-11-25 14:48:06 +01:00
Matthias 5e6cda11ef Update method name for trade fee updating 2022-11-25 14:43:56 +01:00
Matthias 048119ad3d Improve doc wording around informative pair candle types
closes #7792
2022-11-25 14:20:41 +01:00
Matthias b8d1862ca8 Update cached binance leverage tiers
closes #7794
2022-11-25 10:42:19 +01:00
Timothy Pogue bcc8063eeb Merge branch 'develop' into feat/refactor-ws 2022-11-24 13:42:57 -07:00
Timothy Pogue fc59b02255 prevent ws endpoint from running without valid token 2022-11-24 13:41:10 -07:00
Timothy Pogue 101dec461e close ws channel if can't accept 2022-11-24 11:35:50 -07:00
robcaulk 2e82e6784a move data_provider cleanup to shutdown() 2022-11-24 19:07:38 +01:00
robcaulk 73c458d47b use importlib instead of __import___ 2022-11-24 19:04:35 +01:00
robcaulk 00d2a01bf0 isort 2022-11-24 18:57:01 +01:00
robcaulk 4894d772ed merge develop into feat/freqai-rl-dev 2022-11-24 18:50:11 +01:00
robcaulk 3a07749fcc fix docstring 2022-11-24 18:46:54 +01:00
robcaulk 8855e36f57 reduce freqai testing time by reducing retrain frequency and number of features 2022-11-24 18:16:33 +01:00
robcaulk 44b042ba51 remove unused function 2022-11-24 17:53:26 +01:00
Matthias 8f1a8c752b Add freqairl docker build process 2022-11-24 07:00:12 +01:00
Matthias e5fc21f577 Fix broken table rendering 2022-11-23 20:59:45 +01:00
Matthias 3d26659d5e Fix some doc typos 2022-11-23 20:09:55 +01:00
Matthias c963fd720b Slightly change test setup for dry_run_order_fill 2022-11-23 18:17:14 +01:00
Robert Caulk 12e17b80fe
Merge pull request #7791 from freqtrade/fix-m1-wheel-lightgbm
Enable --use-pep517 flag for freqai
2022-11-23 17:52:20 +01:00
Emre 335de760ed
Enable --use-pep517 flag for freqai 2022-11-23 18:34:50 +03:00
Timothy Pogue 48242ca02b update catch block in cancel channel tasks 2022-11-22 12:43:45 -07:00
Matthias 7785c91c5d
Merge pull request #7756 from wizrds/feat/secure-ws-conn
Support SSL in WebSocket connection
2022-11-22 19:18:16 +01:00
Wagner Costa d09157efb8 update code to use one prediction file / pair 2022-11-22 15:15:42 -03:00
Matthias bd05f85c26 Simplify ssl documentation 2022-11-22 18:11:18 +01:00
Timothy Pogue a5442772fc ensure only broadcasting to subscribed topics 2022-11-22 09:42:09 -07:00
Wagner Costa 91779bb28b Merge branch 'develop' into backtest_fitlivepredictions 2022-11-22 13:09:48 -03:00
Wagner Costa c01f25ddc9 update code to freqai_backtest_live_models only from historic predictions 2022-11-22 13:09:09 -03:00
Timothy Pogue fff745fd83 add map to nginx config 2022-11-22 07:17:57 -07:00
Matthias 5a489ce71b
Fix docs typo 2022-11-22 10:46:38 +01:00
Timothy Pogue 86ff711525 update docs on reverse proxy 2022-11-21 12:52:18 -07:00
Matthias 8cb2b4666d Improve proxy docs
closes #7769
2022-11-21 20:42:07 +01:00
Timothy Pogue d9d7df70bf fix tests, log unknown errors 2022-11-21 12:21:40 -07:00
Matthias 0fa5217043 Improve protection setup
lock_pair should be called when the order closes, not when the exit order is placed.
it should also be called for stoploss orders, too.

closes #7783
2022-11-21 19:30:49 +01:00
Matthias be80d91ca6
Merge pull request #7779 from freqtrade/dependabot/pip/develop/uvicorn-0.20.0
Bump uvicorn from 0.19.0 to 0.20.0
2022-11-21 18:08:27 +01:00
Matthias 450ebaa2cc
Merge pull request #7778 from freqtrade/dependabot/pip/develop/types-requests-2.28.11.5
Bump types-requests from 2.28.11.4 to 2.28.11.5
2022-11-21 13:23:52 +01:00
Matthias 7c00ef8a76
Bump pre-commit requests version 2022-11-21 11:32:31 +01:00
Matthias 74be124a47
Merge pull request #7775 from freqtrade/dependabot/pip/develop/ccxt-2.1.96
Bump ccxt from 2.1.75 to 2.1.96
2022-11-21 11:31:48 +01:00
dependabot[bot] adc1174d2e
Bump types-requests from 2.28.11.4 to 2.28.11.5
Bumps [types-requests](https://github.com/python/typeshed) from 2.28.11.4 to 2.28.11.5.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-21 10:30:22 +00:00
Matthias 69b2e31bdb
Merge pull request #7773 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.19.4
Bump types-python-dateutil from 2.8.19.3 to 2.8.19.4
2022-11-21 11:29:03 +01:00
Matthias 747dd9cb16
Merge pull request #7774 from freqtrade/dependabot/pip/develop/mypy-0.991
Bump mypy from 0.990 to 0.991
2022-11-21 07:12:19 +01:00
Matthias 2df0d613da
Bump types-dateutil for precommit 2022-11-21 06:58:59 +01:00
dependabot[bot] beec9e2d1a
Bump mypy from 0.990 to 0.991
Bumps [mypy](https://github.com/python/mypy) from 0.990 to 0.991.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.990...v0.991)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-21 05:36:52 +00:00
Matthias 129f549793
Merge pull request #7781 from freqtrade/dependabot/pip/develop/orjson-3.8.2
Bump orjson from 3.8.1 to 3.8.2
2022-11-21 06:36:34 +01:00
Matthias 1456022dfe
Merge pull request #7780 from freqtrade/dependabot/pip/develop/httpx-0.23.1
Bump httpx from 0.23.0 to 0.23.1
2022-11-21 06:35:55 +01:00
Matthias 0d615cfdd8
Merge pull request #7777 from freqtrade/dependabot/pip/develop/nbconvert-7.2.5
Bump nbconvert from 7.2.4 to 7.2.5
2022-11-21 06:35:40 +01:00
Matthias 3dc6a30d65
Merge pull request #7772 from freqtrade/dependabot/pip/develop/numpy-1.23.5
Bump numpy from 1.23.4 to 1.23.5
2022-11-21 06:35:19 +01:00
dependabot[bot] f09fb2374b
Bump orjson from 3.8.1 to 3.8.2
Bumps [orjson](https://github.com/ijl/orjson) from 3.8.1 to 3.8.2.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.8.1...3.8.2)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-21 03:02:47 +00:00
dependabot[bot] 8d1ee67ed4
Bump httpx from 0.23.0 to 0.23.1
Bumps [httpx](https://github.com/encode/httpx) from 0.23.0 to 0.23.1.
- [Release notes](https://github.com/encode/httpx/releases)
- [Changelog](https://github.com/encode/httpx/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/httpx/compare/0.23.0...0.23.1)

---
updated-dependencies:
- dependency-name: httpx
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-21 03:02:38 +00:00
dependabot[bot] 844334a7ea
Bump uvicorn from 0.19.0 to 0.20.0
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.19.0 to 0.20.0.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.19.0...0.20.0)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-21 03:02:34 +00:00
dependabot[bot] ec15ef0398
Bump nbconvert from 7.2.4 to 7.2.5
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.2.4 to 7.2.5.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Changelog](https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter/nbconvert/compare/v7.2.4...v7.2.5)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-21 03:02:26 +00:00
dependabot[bot] 3f9dacc9be
Bump ccxt from 2.1.75 to 2.1.96
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.1.75 to 2.1.96.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/2.1.75...2.1.96)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-21 03:02:15 +00:00
dependabot[bot] 5cce8f4f2d
Bump types-python-dateutil from 2.8.19.3 to 2.8.19.4
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.3 to 2.8.19.4.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-21 03:02:00 +00:00
dependabot[bot] 0cb08024f1
Bump numpy from 1.23.4 to 1.23.5
Bumps [numpy](https://github.com/numpy/numpy) from 1.23.4 to 1.23.5.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v1.23.4...v1.23.5)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-21 03:01:59 +00:00
Timothy Pogue edb817e2e6 add tutorial for ssl in docs 2022-11-20 19:19:28 -07:00
Timothy Pogue 106ac2ab4d fix tests, change to get call 2022-11-20 16:36:22 -07:00
Timothy Pogue d2870d48ea change typing to async iterator 2022-11-20 16:24:44 -07:00
Timothy Pogue 48a1f2418f update typing, remove unneeded try block, readd sleep 2022-11-20 16:18:24 -07:00
Timothy Pogue 60a167bdef add dynamic send timeout 2022-11-20 14:09:45 -07:00
Timothy Pogue dc79284c54 Merge branch 'develop' into feat/refactor-ws 2022-11-20 10:05:22 -07:00
Matthias 12b471c64b Prevent 2 parallel open orders through forceentry
this leads to forgetting the prior order

closes #7765
2022-11-20 09:28:14 +01:00
Wagner Costa Santos fdc82af883 fix tests - update code to backtest with historic_predictions 2022-11-19 22:27:58 -03:00
Timothy Pogue 3714d7074b smaller throttle in channel send 2022-11-19 13:29:23 -07:00
Timothy Pogue c1a73a5512 move sleep call in send, minor cleanup 2022-11-19 13:21:26 -07:00
Wagner Costa Santos 80d070e9ee update code to use historic_predictions for freqai_backtest_live_models 2022-11-19 14:15:58 -03:00
robcaulk d02da279f8 document the simplifications of the training environment 2022-11-19 13:20:20 +01:00
Wagner Costa Santos 3d3195847c Merge branch 'develop' into backtest_fitlivepredictions 2022-11-18 17:53:34 -03:00
Timothy Pogue 98d87b3ba6 Merge branch 'develop' into feat/refactor-ws 2022-11-18 13:41:22 -07:00
Timothy Pogue 0cb6f71c02 better error handling, true async sending, more readable api 2022-11-18 13:32:27 -07:00
Matthias 4de9a46618
Merge pull request #7759 from wizrds/fix/pd-mem-leak
Fix Pandas to_json memory leak
2022-11-18 20:24:16 +01:00
Timothy Pogue b6a8e421f1 remove redundant timestamp conversion in ws serializer 2022-11-18 09:43:39 -07:00
robcaulk 61a859ba4c remove tensorboard req from rl reqs 2022-11-18 17:30:03 +01:00
Matthias 12cd83453c Add warning when queue websocket queue becomes too full 2022-11-18 14:03:56 +01:00
Matthias 4c7bb79c86 Restore prior data transfer format 2022-11-18 13:59:29 +01:00
Timothy Pogue ba493eb7a7 Merge fix/pd-mem-leak 2022-11-17 16:21:12 -07:00
robcaulk 387c905a86 merge develop into RL 2022-11-17 21:59:07 +01:00
robcaulk 60fcd8dce2 fix skipped mac test, fix RL bug in add_state_info, fix use of __import__, revise doc 2022-11-17 21:50:02 +01:00
robcaulk 91df79ff44 merge dev into backtest-live-predictions 2022-11-17 21:20:47 +01:00
Matthias 436b314c80 add safe_remaining
fixes #7757
2022-11-17 19:07:47 +00:00
Matthias 1975e942d6 Add test for no remaining
(kucoin case - https://github.com/freqtrade/freqtrade/issues/7757).
2022-11-17 19:07:47 +00:00
Matthias 48e5a45856 rpc_test: dont replicate whole response,
updating  what's changed improves readability
2022-11-17 19:07:47 +00:00
Timothy Pogue 49ecc83061 Merge branch 'develop' into fix/pd-mem-leak 2022-11-17 12:04:49 -07:00
Timothy Pogue ce43fa5f43 small fix to websocketchannel and relay 2022-11-17 12:03:11 -07:00
Timothy Pogue 875e9ab447 change df serialization to avoid mem leak 2022-11-17 11:59:03 -07:00
Robert Caulk cd6f87be17
Merge pull request #7728 from freqtrade/improve_timerange
Simplify timerange handling
2022-11-17 19:57:48 +01:00
Matthias b929e0bb2b Merge branch 'develop' into gc_improvements 2022-11-17 19:55:03 +01:00
Matthias 9432bcd065 Fix telegram error on force_enter exception
closes #7727
2022-11-17 19:52:03 +01:00
Wagner Costa Santos 3903b04d3f save_live_data_backtest - added docs and tests 2022-11-17 15:20:07 -03:00
Timothy Pogue a993cb512d change to get call in ws_client 2022-11-17 10:22:55 -07:00
Wagner Costa Santos 99bff9cbfa backtesting_from_live_saved_files - code refactoring 2022-11-17 10:30:51 -03:00
Wagner Costa Santos 913749c81b backtesting_from_live_saved_files - code refactoring 2022-11-17 10:30:16 -03:00
Wagner Costa Santos b01e4e3dbf change default value - save_live_data_backtest as false 2022-11-17 10:14:30 -03:00
Wagner Costa Santos 1a19d90e2e Merge branch 'develop' into backtest_fitlivepredictions 2022-11-17 10:13:11 -03:00
Matthias 0a7f4fd3cc fix httpx test warning 2022-11-17 10:36:24 +00:00
Matthias afcb86f422 Improve migration types 2022-11-17 10:25:51 +00:00
Matthias 93addbe5c3 Improve typechecking 2022-11-17 10:16:38 +00:00
Matthias 097af973d2 improve RPC testcase to cover open orders 2022-11-17 07:10:47 +01:00
Timothy Pogue 1380ddd066 update ws client 2022-11-15 22:44:02 -07:00
Matthias 019577f73d Temporarily Downgrade cryptography until piwheels has the new wheel available 2022-11-16 06:36:26 +01:00
Timothy Pogue 86e094e39b update docs 2022-11-15 22:33:42 -07:00
Timothy Pogue 6a1655c047 support ssl connections in emc 2022-11-15 22:26:54 -07:00
Timothy Pogue 442467e8ae remove old comments and code 2022-11-14 22:26:34 -07:00
Matthias 6deb2dfb61
Merge pull request #7744 from freqtrade/dependabot/pip/develop/mypy-0.990
Bump mypy from 0.982 to 0.990
2022-11-15 06:24:24 +01:00
Timothy Pogue d713af045f remove main queue completely 2022-11-14 22:21:40 -07:00
Timothy Pogue 659c8c237f initial revision 2022-11-14 20:27:45 -07:00
Matthias 0a702cdd26 Ensure more methods are typechecked 2022-11-14 20:56:35 +01:00
Matthias f27be7ada8 Configure mypy to old behavior
based on https://mypy-lang.blogspot.com/2022/11/mypy-0990-released.html release
2022-11-14 20:52:40 +01:00
Matthias a951b49541 Use Generator when sending initial dataframes 2022-11-14 19:43:59 +01:00
Matthias 30b467906c Delist FTX, following ccxt's delisting. 2022-11-14 19:40:57 +01:00
Matthias 663039835d
Merge pull request #7745 from freqtrade/dependabot/pip/develop/fastapi-0.87.0
Bump fastapi from 0.85.1 to 0.87.0
2022-11-14 15:19:52 +01:00
Matthias c72ffad698 Add starlette test dependency 2022-11-14 13:08:29 +00:00
Matthias 2a1bfb8e57
Merge pull request #7746 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.19.3
Bump types-python-dateutil from 2.8.19.2 to 2.8.19.3
2022-11-14 14:05:03 +01:00
Matthias a689538b9a
Merge pull request #7751 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.44
Bump sqlalchemy from 1.4.43 to 1.4.44
2022-11-14 09:39:47 +01:00
Matthias e24f644251
Merge pull request #7742 from freqtrade/dependabot/pip/develop/cryptography-38.0.3
Bump cryptography from 38.0.1 to 38.0.3
2022-11-14 09:39:25 +01:00
Matthias c12dcd9b9b
update pre-commit dateutil 2022-11-14 08:40:09 +01:00
dependabot[bot] 4cece8720a
Bump mypy from 0.982 to 0.990
Bumps [mypy](https://github.com/python/mypy) from 0.982 to 0.990.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.982...v0.990)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 07:33:06 +00:00
dependabot[bot] 721998521b
Bump types-python-dateutil from 2.8.19.2 to 2.8.19.3
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.2 to 2.8.19.3.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 07:33:03 +00:00
dependabot[bot] 60449d9bec
Bump cryptography from 38.0.1 to 38.0.3
Bumps [cryptography](https://github.com/pyca/cryptography) from 38.0.1 to 38.0.3.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/38.0.1...38.0.3)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 07:32:31 +00:00
Matthias 5ca705ae3a
Merge pull request #7747 from freqtrade/dependabot/pip/develop/types-requests-2.28.11.4
Bump types-requests from 2.28.11.2 to 2.28.11.4
2022-11-14 08:32:11 +01:00
Matthias cf6aa0506f
Merge pull request #7750 from freqtrade/dependabot/pip/develop/ccxt-2.1.75
Bump ccxt from 2.1.54 to 2.1.75
2022-11-14 08:31:41 +01:00
Matthias 849c028133
Merge pull request #7749 from freqtrade/dependabot/pip/develop/psutil-5.9.4
Bump psutil from 5.9.3 to 5.9.4
2022-11-14 08:28:38 +01:00
Matthias cf9944c48d
Merge pull request #7741 from freqtrade/dependabot/pip/develop/mkdocs-material-8.5.10
Bump mkdocs-material from 8.5.8 to 8.5.10
2022-11-14 08:03:39 +01:00
dependabot[bot] cf5cda4df5
Bump sqlalchemy from 1.4.43 to 1.4.44
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.43 to 1.4.44.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 06:04:54 +00:00
dependabot[bot] 7275d48516
Bump ccxt from 2.1.54 to 2.1.75
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.1.54 to 2.1.75.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/2.1.54...2.1.75)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 06:04:37 +00:00
dependabot[bot] 60de797dcc
Bump psutil from 5.9.3 to 5.9.4
Bumps [psutil](https://github.com/giampaolo/psutil) from 5.9.3 to 5.9.4.
- [Release notes](https://github.com/giampaolo/psutil/releases)
- [Changelog](https://github.com/giampaolo/psutil/blob/master/HISTORY.rst)
- [Commits](https://github.com/giampaolo/psutil/compare/release-5.9.3...release-5.9.4)

---
updated-dependencies:
- dependency-name: psutil
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 06:03:58 +00:00
Matthias 95fd4072fa
Merge pull request #7701 from freqtrade/add-single-precision-freqai
add option to force single precision
2022-11-14 07:02:35 +01:00
Matthias b2de070462
bump types-requests 2022-11-14 07:01:49 +01:00
Matthias 03d3492838
Merge pull request #7739 from freqtrade/dependabot/pip/develop/tensorboard-2.11.0
Bump tensorboard from 2.10.1 to 2.11.0
2022-11-14 06:55:24 +01:00
dependabot[bot] 9843fb2087
Bump mkdocs-material from 8.5.8 to 8.5.10
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.5.8 to 8.5.10.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.5.8...8.5.10)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 05:55:09 +00:00
Matthias 447635043e
Merge pull request #7740 from freqtrade/dependabot/pip/develop/nbconvert-7.2.4
Bump nbconvert from 7.2.3 to 7.2.4
2022-11-14 06:54:47 +01:00
Matthias 5d92008293
Merge pull request #7743 from freqtrade/dependabot/pip/develop/pytest-asyncio-0.20.2
Bump pytest-asyncio from 0.20.1 to 0.20.2
2022-11-14 06:54:27 +01:00
Matthias d22a22d161
Merge pull request #7748 from freqtrade/dependabot/pip/develop/pymdown-extensions-9.8
Bump pymdown-extensions from 9.7 to 9.8
2022-11-14 06:53:51 +01:00
dependabot[bot] bbfcaca9e0
Bump pymdown-extensions from 9.7 to 9.8
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.7 to 9.8.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.7...9.8)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 03:02:26 +00:00
dependabot[bot] 48c4d8d2df
Bump types-requests from 2.28.11.2 to 2.28.11.4
Bumps [types-requests](https://github.com/python/typeshed) from 2.28.11.2 to 2.28.11.4.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 03:02:21 +00:00
dependabot[bot] ce269b7984
Bump fastapi from 0.85.1 to 0.87.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.85.1 to 0.87.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.85.1...0.87.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 03:02:14 +00:00
dependabot[bot] 9d8d18d76b
Bump pytest-asyncio from 0.20.1 to 0.20.2
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.20.1 to 0.20.2.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Changelog](https://github.com/pytest-dev/pytest-asyncio/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.20.1...v0.20.2)

---
updated-dependencies:
- dependency-name: pytest-asyncio
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 03:01:42 +00:00
dependabot[bot] 001602e034
Bump nbconvert from 7.2.3 to 7.2.4
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.2.3 to 7.2.4.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Changelog](https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter/nbconvert/compare/v7.2.3...v7.2.4)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 03:01:11 +00:00
dependabot[bot] 3e6834e3f0
Bump tensorboard from 2.10.1 to 2.11.0
Bumps [tensorboard](https://github.com/tensorflow/tensorboard) from 2.10.1 to 2.11.0.
- [Release notes](https://github.com/tensorflow/tensorboard/releases)
- [Changelog](https://github.com/tensorflow/tensorboard/blob/master/RELEASE.md)
- [Commits](https://github.com/tensorflow/tensorboard/compare/2.10.1...2.11.0)

---
updated-dependencies:
- dependency-name: tensorboard
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 03:01:08 +00:00
Matthias 42b29cd307 Fix constants type 2022-11-13 19:31:49 +01:00
robcaulk bf4d5b432a ensure model_type is defined 2022-11-13 18:50:25 +01:00
robcaulk 6394ef4558 fix docstrings 2022-11-13 17:43:52 +01:00
robcaulk c8d3e57712 add note that these environments are designed for short-long bots only. 2022-11-13 17:30:56 +01:00
robcaulk c76afc255a explain how to choose environments, and how to customize them 2022-11-13 17:26:11 +01:00
robcaulk 96fafb7f56 remove limit_ram_use 2022-11-13 17:14:47 +01:00
robcaulk b421521be3 help default ReinforcementLearner users by assigning the model_type automatically 2022-11-13 17:12:17 +01:00
robcaulk 90f168d1ff remove more user references. cleanup dataprovider 2022-11-13 17:06:06 +01:00
robcaulk f8f553ec14 remove references to "the user" 2022-11-13 16:58:36 +01:00
robcaulk 388ca21200 update docs, fix bug in environment 2022-11-13 16:56:31 +01:00
robcaulk 3c249ba994 add doc for data_kitchen_thread_count` 2022-11-13 16:11:14 +01:00
robcaulk 1e9e7887aa fix constants.py, fix freqai test 2022-11-13 15:38:35 +01:00
robcaulk af9e400562 add test coverage, fix bug in base environment. Ensure proper fee is used. 2022-11-13 15:31:37 +01:00
Matthias a59d61472b Add test for dataframe footprint reduction 2022-11-13 15:29:37 +01:00
Matthias 942840da2d Improve setting wording to keep future possibilities open 2022-11-13 15:22:44 +01:00
robcaulk 81f800a79b switch to using FT calc_profi_pct, reverse entry/exit fees 2022-11-13 13:41:17 +01:00
robcaulk e45d791c19 Merge remote-tracking branch 'origin/develop' into feat/freqai-rl-dev 2022-11-13 13:00:16 +01:00
Matthias c6013e5819 Fix doc typo 2022-11-13 12:01:20 +01:00
Matthias 535c365b4a Disable ftx ccxt_compat tests
Their API is down due to being insolvent ...
2022-11-13 10:33:54 +01:00
Matthias fed3bc6730 Simplify Websocket Init 2022-11-13 10:33:54 +01:00
Matthias 914bdbdd83
Remove FTX from list of supported exchanges 2022-11-12 20:32:17 +01:00
Matthias d39b997489
Merge pull request #7736 from M451z/patch-1
Update README.md
2022-11-12 20:30:50 +01:00
Matthias 954da4fec9 Add "forcebuy error" exception log
part of #7727
2022-11-12 19:52:10 +01:00
robcaulk 259f87bd40 fix rl test; 2022-11-12 19:01:40 +01:00
robcaulk e71a8b8ac1 add ability to integrate state info or not, and prevent state info integration during backtesting 2022-11-12 18:46:48 +01:00
Wagner Costa Santos 27fa9f1f4e backtest saved dataframe from live 2022-11-12 14:37:23 -03:00
Matthias ee0e59157c Update join relationship of orders table to selectin
closes #6791 by slightly improving performance in this area.
2022-11-12 16:34:00 +01:00
Colt 1911 8c092d457c
Update README.md
Removed the FTX option under the "Supported Exchange marketplaces" title, because of FTX bankrupt.
2022-11-12 18:28:51 +03:00
Matthias 7adca97358 Improve python GC behavior 2022-11-12 15:43:02 +01:00
Wagner Costa Santos f9c6c538be Merge branch 'develop' into backtest_fitlivepredictions 2022-11-12 09:37:45 -03:00
robcaulk 9c6b97c678 ensure normalization acceleration methods are employed in RL 2022-11-12 12:01:59 +01:00
robcaulk 6746868ea7 store dataprovider to self instead of strategy 2022-11-12 11:33:03 +01:00
robcaulk 6ff0e66ddf ensure strat tests are updated 2022-11-12 11:13:31 +01:00
robcaulk 7a4bb040a5 merge develop into feat/freqai-rl-dev 2022-11-12 10:54:34 +01:00
robcaulk 214c622475 move dataframe converter to converter.py 2022-11-12 10:38:25 +01:00
robcaulk 9617d8143d Merge remote-tracking branch 'origin/develop' into add-single-precision-freqai 2022-11-12 10:21:38 +01:00
Matthias e6172a68d7
Merge pull request #7730 from freqtrade/fix-metric-tracker
fix loading of metric tracker from disk
2022-11-11 20:01:26 +01:00
Robert Caulk 833578716c
Merge pull request #7644 from markdregan/multi-target-classifier
Support for multi target multi-class classification (FreqaiMultiOutputRegressor for Classification)
2022-11-11 18:48:38 +01:00
robcaulk 790ff2a84b merge develop into add-single-prec 2022-11-11 18:08:51 +01:00
robcaulk e46a57bbd0 move mem logs to debug 2022-11-11 18:05:32 +01:00
robcaulk 66514e84e4 add LightGBMClassifierMultiTarget. add test 2022-11-11 17:45:53 +01:00
robcaulk 054133955b fix loading of metric tracker from disk 2022-11-11 17:24:09 +01:00
Matthias e34f0f60a5
Merge pull request #7724 from wassertim/bugfix/7723
Support git and local changes in dev containers
2022-11-10 21:05:36 +01:00
Matthias 4664d5e1d8 Split installation to onCreateCommand 2022-11-10 18:56:19 +00:00
Matthias 0f9c5f8d41 Simplify timerange handling 2022-11-10 18:28:18 +01:00
Matthias 57313dd961 Update some usages of timerange to new, simplified method 2022-11-10 18:11:39 +01:00
Matthias 3e676dbaa4 Add properties to simplify timerange handling 2022-11-10 16:33:57 +01:00
Matthias 7147f52e02 FreqAI also requires plotting dependencies
cloess #7726
2022-11-10 16:03:30 +01:00
Tim be83e73411 add pip install 2022-11-10 08:42:47 +00:00
Matthias 88ad3fe43e Remove typo from main page 2022-11-10 07:32:55 +01:00
Matthias 22c419d5c4 Add warning about FTX 2022-11-10 07:14:10 +01:00
Matthias 9e17eabd0a Improve Bybit configuration 2022-11-10 07:09:54 +01:00
Tim ec6ee7ead9 remove empty space 2022-11-09 21:06:14 +01:00
Tim 7953280513 remove github.copilot extension 2022-11-09 21:05:05 +01:00
Tim 037363f9ee support git and local changes in dev containers #7723 2022-11-09 19:53:09 +01:00
Matthias d3006f7f3e Bump ccxt to 2.1.54
closes okx: #7720
2022-11-09 17:59:51 +01:00
Wagner Costa Santos 4f0f3e5b64 removed unnecessary code 2022-11-09 10:07:24 -03:00
Wagner Costa Santos 8ee95db927 refactoring backtesting_fit_live_predictions function 2022-11-09 09:51:42 -03:00
Wagner Costa Santos 3e57c18ac6 add fix_live_predictions function to backtesting 2022-11-08 18:20:39 -03:00
Matthias f43f967040 Improve handling of unfilled stoploss orders in edge-cases 2022-11-08 20:34:18 +01:00
Matthias ce3959a0c6
Merge pull request #7708 from freqtrade/improve_iteration
Improve iteration logic
2022-11-08 19:25:01 +01:00
Wagner Costa Santos 8d9988a942 enforce date column in backtesting freqai predictions files 2022-11-08 11:06:23 -03:00
Wagner Costa Santos 9c5ba0732a save predictions with date and merge by date 2022-11-08 10:32:18 -03:00
Robert Caulk d59b3e2359
Merge pull request #7710 from freqtrade/dependabot/pip/develop/catboost-1.1.1
Bump catboost from 1.1 to 1.1.1
2022-11-08 11:22:29 +01:00
dependabot[bot] ea489133ac
Bump catboost from 1.1 to 1.1.1
Bumps [catboost](https://github.com/catboost/catboost) from 1.1 to 1.1.1.
- [Release notes](https://github.com/catboost/catboost/releases)
- [Changelog](https://github.com/catboost/catboost/blob/master/RELEASE.md)
- [Commits](https://github.com/catboost/catboost/compare/v1.1...v1.1.1)

---
updated-dependencies:
- dependency-name: catboost
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 23:54:59 +00:00
Robert Caulk c3d2df2f4e
Merge pull request #7711 from freqtrade/dependabot/pip/develop/xgboost-1.7.1
Bump xgboost from 1.6.2 to 1.7.1
2022-11-08 00:53:51 +01:00
Matthias 426a26f268
Merge pull request #7475 from freqtrade/backtest_live_models
FreqAI - Backtest live/ready models
2022-11-07 20:39:49 +01:00
Matthias 884014a4b9 Fix some minor typos 2022-11-07 18:35:28 +00:00
Wagner Costa Santos 6559384286 Merge branch 'develop' into backtest_live_models 2022-11-07 15:14:10 -03:00
Matthias 8bc71f2025
Merge pull request #7709 from freqtrade/dependabot/pip/develop/jsonschema-4.17.0
Bump jsonschema from 4.16.0 to 4.17.0
2022-11-07 08:19:12 +01:00
Matthias 24df2d576e
Merge pull request #7718 from freqtrade/dependabot/pip/develop/orjson-3.8.1
Bump orjson from 3.8.0 to 3.8.1
2022-11-07 08:18:30 +01:00
Matthias 5ba012c592 Disable "tick" in test_update_funding_fees_schedule
we only want to test run frequency, not time progression.
2022-11-07 07:18:09 +00:00
Matthias 05fc6a5e9f
Merge pull request #7717 from freqtrade/dependabot/pip/develop/mkdocs-material-8.5.8
Bump mkdocs-material from 8.5.7 to 8.5.8
2022-11-07 07:54:48 +01:00
dependabot[bot] 850b04357e
Bump mkdocs-material from 8.5.7 to 8.5.8
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.5.7 to 8.5.8.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.5.7...8.5.8)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 06:05:47 +00:00
Matthias a90d91b576
Merge pull request #7714 from freqtrade/dependabot/pip/develop/progressbar2-4.2.0
Bump progressbar2 from 4.1.1 to 4.2.0
2022-11-07 07:04:56 +01:00
Matthias 95a1827af7
Merge pull request #7712 from freqtrade/dependabot/pip/develop/mkdocs-1.4.2
Bump mkdocs from 1.4.1 to 1.4.2
2022-11-07 07:04:02 +01:00
Matthias 689f936390
Merge pull request #7716 from freqtrade/dependabot/pip/develop/pytest-7.2.0
Bump pytest from 7.1.3 to 7.2.0
2022-11-07 07:03:34 +01:00
Matthias 031c472a23
Merge pull request #7715 from freqtrade/dependabot/pip/develop/prompt-toolkit-3.0.32
Bump prompt-toolkit from 3.0.31 to 3.0.32
2022-11-07 07:03:10 +01:00
Matthias 71580a7159
Merge pull request #7713 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.43
Bump sqlalchemy from 1.4.42 to 1.4.43
2022-11-07 06:57:46 +01:00
dependabot[bot] d978ff6bfb
Bump orjson from 3.8.0 to 3.8.1
Bumps [orjson](https://github.com/ijl/orjson) from 3.8.0 to 3.8.1.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.8.0...3.8.1)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 03:02:15 +00:00
dependabot[bot] 0bb57f738d
Bump pytest from 7.1.3 to 7.2.0
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.1.3 to 7.2.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.1.3...7.2.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 03:01:54 +00:00
dependabot[bot] 37e066bd76
Bump prompt-toolkit from 3.0.31 to 3.0.32
Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.31 to 3.0.32.
- [Release notes](https://github.com/prompt-toolkit/python-prompt-toolkit/releases)
- [Changelog](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/CHANGELOG)
- [Commits](https://github.com/prompt-toolkit/python-prompt-toolkit/compare/3.0.31...3.0.32)

---
updated-dependencies:
- dependency-name: prompt-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 03:01:47 +00:00
dependabot[bot] 224507dfa0
Bump progressbar2 from 4.1.1 to 4.2.0
Bumps [progressbar2](https://github.com/WoLpH/python-progressbar) from 4.1.1 to 4.2.0.
- [Release notes](https://github.com/WoLpH/python-progressbar/releases)
- [Changelog](https://github.com/wolph/python-progressbar/blob/develop/CHANGES.rst)
- [Commits](https://github.com/WoLpH/python-progressbar/compare/v4.1.1...v4.2.0)

---
updated-dependencies:
- dependency-name: progressbar2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 03:01:36 +00:00
dependabot[bot] f174b41fd7
Bump sqlalchemy from 1.4.42 to 1.4.43
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.42 to 1.4.43.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 03:01:30 +00:00
dependabot[bot] 01a31a6e01
Bump mkdocs from 1.4.1 to 1.4.2
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.4.1...1.4.2)

---
updated-dependencies:
- dependency-name: mkdocs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 03:01:08 +00:00
dependabot[bot] 1814f25601
Bump xgboost from 1.6.2 to 1.7.1
Bumps [xgboost](https://github.com/dmlc/xgboost) from 1.6.2 to 1.7.1.
- [Release notes](https://github.com/dmlc/xgboost/releases)
- [Changelog](https://github.com/dmlc/xgboost/blob/master/NEWS.md)
- [Commits](https://github.com/dmlc/xgboost/compare/v1.6.2...v1.7.1)

---
updated-dependencies:
- dependency-name: xgboost
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 03:01:03 +00:00
dependabot[bot] 3cbbfde6bc
Bump jsonschema from 4.16.0 to 4.17.0
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.16.0 to 4.17.0.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.16.0...v4.17.0)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 03:00:40 +00:00
Matthias 29585b5ecd Improve worker iteration logic 2022-11-06 11:18:13 +01:00
Matthias 2068a44fd0 Add test for new behavior 2022-11-06 11:17:25 +01:00
Matthias d48a9ae96d Add leverage to backtest results
closes #7574
2022-11-06 09:40:44 +01:00
Matthias 1d2b89bc13 Improve handling of get_fee to not allow impossible combinations 2022-11-06 09:16:03 +01:00
Matthias 3af177d8af bump ccxt to 2.1.33
closes #7700
2022-11-06 09:16:03 +01:00
Matthias 2c1330a4e2 Update docs to new behavior 2022-11-06 08:32:27 +01:00
Matthias ded57fb301 Remove no longer valid test part 2022-11-05 20:32:31 +01:00
Matthias d089fdae34 Fix current-time_det calculation 2022-11-05 20:02:36 +01:00
Matthias 5bd3e54b17 Add test for detail backtesting 2022-11-05 20:01:05 +01:00
Robert Caulk 820aad670c
Merge pull request #7690 from freqtrade/track-current-candle
Track current candle in FreqAI
2022-11-05 17:35:05 +01:00
Emre 06a2957837
Merge branch 'develop' into add-single-precision-freqai 2022-11-05 19:15:12 +03:00
Emre 43bdd34964
Optimize reduce_dataframe_footprint function 2022-11-05 19:13:02 +03:00
Matthias 0888b53b5a Udpate current_time handling for detail loop 2022-11-05 17:02:27 +01:00
Matthias 29ba263c3c Update some test parameters 2022-11-05 17:02:27 +01:00
Matthias a11d579bc2 Verify order fills on "detail" timeframe 2022-11-05 17:02:27 +01:00
Matthias 25b8d34fe2 Update backtesting test
Had bad behavior before, and didn't properly test what it was supposed to
2022-11-05 17:02:18 +01:00
robcaulk 53df607067 avoid duplicating features with okx/gateio, ensure inference timer gets logged 2022-11-05 15:42:19 +01:00
Matthias 6e09d552ac Properly handle and test ohlcv min_max with empty files 2022-11-05 13:14:35 +01:00
Matthias a9ea84e2c4
Merge pull request #7702 from freqtrade/move-write-metric-param
move write_metrics_to_disk to proper place in param table
2022-11-04 18:25:34 +01:00
robcaulk 257c833831 add doc for single precision, dont allow half precision, add test 2022-11-04 18:10:04 +01:00
robcaulk d4cfcbda24 move write_metrics_to_disk to proper place in param table 2022-11-04 17:53:15 +01:00
robcaulk 3ccc120f92 add option to force single precision 2022-11-04 17:42:10 +01:00
robcaulk 8bdc99a3d6 fix self-imposed bug 2022-11-04 16:41:38 +01:00
robcaulk 19d90b813a improve readibility in start_backtesting() 2022-11-04 16:10:46 +01:00
Wagner Costa Santos 8008c63319 Merge branch 'develop' into backtest_live_models 2022-11-04 09:09:39 -03:00
Wagner Costa Santos a7acfb7ab7 fix dict key error 2022-11-04 09:02:28 -03:00
robcaulk 90c5bfb4b5 add default conv_width 2022-11-03 21:35:12 +01:00
robcaulk 05b309caf2 ensure colon replaced for cached attach 2022-11-03 21:17:48 +01:00
robcaulk 6938ed6584 change default conv_width to 1 2022-11-03 21:11:26 +01:00
robcaulk 444a068481 merge develop into track-current-candle 2022-11-03 21:09:08 +01:00
robcaulk db942321ad fix bug with lightgbm and colons 2022-11-03 21:03:48 +01:00
Matthias c2130ed3dd
Merge pull request #7695 from freqtrade/fix_issue_7666
Fix inconsistent backtesting results - FreqAI
2022-11-03 19:52:48 +01:00
robcaulk d721b50230 flake8 2022-11-03 19:13:24 +01:00
robcaulk 3ba1e221eb fix typo 2022-11-03 19:08:33 +01:00
robcaulk 6c4bdb8f67 remove special characters from feature names 2022-11-03 18:49:39 +01:00
Wagner Costa Santos 17798b3397 Merge branch 'develop' into backtest_live_models 2022-11-03 13:29:25 -03:00
Wagner Costa Santos 356d79b38a verify mean and std exists in model metadata 2022-11-03 13:27:56 -03:00
Wagner Costa Santos cdf12cc541 Merge branch 'develop' into fix_issue_7666 2022-11-03 08:30:46 -03:00
Matthias 0aff8c4823
Merge pull request #7692 from wizrds/fix/ws-memory
Fix Memory Leak in Websockets
2022-11-03 07:17:01 +01:00
Matthias ff619edebf Improve explanation comment as to why we're waiting ourselfs 2022-11-03 06:50:18 +01:00
Timothy Pogue b749f3edd6 add latency measure from ping in emc and ws_client 2022-11-02 19:30:35 -06:00
Timothy Pogue a0965606a5 update ws_client more verbosity, better readable time delta 2022-11-02 18:49:11 -06:00
Timothy Pogue 000b0c2198 prevent memory leaks from error in _broadcast_queue_data 2022-11-02 18:00:10 -06:00
Timothy Pogue cbede2e27d refactor channel.send to avoid queue.put 2022-11-02 17:57:11 -06:00
Timothy Pogue 2dc55e89e6 better error handling channel send 2022-11-02 15:25:39 -06:00
Timothy Pogue 55bf195bfb remove debugging log calls 2022-11-02 14:21:34 -06:00
Timothy Pogue c2bdaea84a change exception handling in channel send 2022-11-02 14:19:08 -06:00
Timothy Pogue d848c27283 add task done to broadcast queue method 2022-11-02 13:30:42 -06:00
robcaulk b3b756ec14 ensure test pass 2022-11-02 20:30:04 +01:00
Timothy Pogue e25dea7e0e update channel disconnecting 2022-11-02 13:26:27 -06:00
robcaulk ce92731132 ensure backwards compatitibility 2022-11-02 20:20:35 +01:00
Wagner Costa Santos 23b6915dde fix issue with different backtesting prediction size 2022-11-02 15:49:51 -03:00
Matthias 09e0a8d4df
Merge pull request #7689 from freqtrade/add-pca-dbscan-tests
add integrated tests for PCA and DBSCAN
2022-11-02 19:41:37 +01:00
Matthias 2c3c7e1e3a
Merge pull request #7663 from freqtrade/shuffle_list_enhance
Improve ShufflePairlist to shuffle only once per candle
2022-11-02 19:37:48 +01:00
robcaulk 1a38c10fc6 remove old code 2022-11-02 19:37:47 +01:00
robcaulk 255eb71270 start tracking the current candle in FreqAI, add robustness to corr_df caching and inference timer, add test for cache corr_df 2022-11-02 19:32:22 +01:00
robcaulk 63458a6130 isort 2022-11-02 18:40:13 +01:00
robcaulk 2afa185dc6 add integrated tests for PCA and DBSCAN 2022-11-02 18:34:56 +01:00
Matthias 2ed04916ae
Merge pull request #7676 from freqtrade/dependabot/pip/develop/pyarrow-10.0.0
Bump pyarrow from 9.0.0 to 10.0.0
2022-11-02 08:14:55 +01:00
Matthias d9f41e5570 Update pyarrow prebuilt wheel 2022-11-02 06:41:15 +01:00
Matthias b82fc3fabd
Merge pull request #7612 from freqtrade/reduce-indicator-population
avoid redundant indicator population for corr_pair list
2022-10-31 20:24:27 +01:00
Matthias f5c694213b
Merge pull request #7672 from freqtrade/dependabot/pip/develop/scikit-learn-1.1.3
Bump scikit-learn from 1.1.2 to 1.1.3
2022-10-31 19:27:33 +01:00
Matthias 4f1d1d4688
Merge pull request #7683 from freqtrade/add-statement-of-need
add statement of need to FreqAI docs
2022-10-31 18:59:45 +01:00
robcaulk 162056a362 fix flake8 2022-10-31 18:23:35 +01:00
robcaulk 97df232ac6 add a warning to __init__ for get_corr_dataframes 2022-10-31 18:18:00 +01:00
robcaulk e6a70d95df Merge branch 'develop' into reduce-indicator-population 2022-10-31 18:13:55 +01:00
robcaulk 7b880a969a change elect to decide 2022-10-31 18:13:48 +01:00
robcaulk fbc281e695 fix grammar, remove hyperlink 2022-10-31 18:10:31 +01:00
robcaulk c3c6733b2d add statement of need to FreqAI docs 2022-10-31 18:03:53 +01:00
Matthias 0f2e540a64 Update windows documentation about 32bit Windows 2022-10-31 17:39:41 +01:00
Matthias ef8007fc42
Merge pull request #7675 from freqtrade/dependabot/pip/develop/uvicorn-0.19.0
Bump uvicorn from 0.18.3 to 0.19.0
2022-10-31 17:33:58 +01:00
Matthias b3f612ecfb Bump ccxt to 2.0.96 2022-10-31 17:21:52 +01:00
Matthias 735546ab89
Merge pull request #7674 from freqtrade/dependabot/pip/develop/nbconvert-7.2.3
Bump nbconvert from 7.2.1 to 7.2.3
2022-10-31 15:26:38 +01:00
robcaulk 66d8ed6c0b Merge remote-tracking branch 'origin/develop' into reduce-indicator-population 2022-10-31 09:42:01 +01:00
dependabot[bot] aa3d6dc298
Bump uvicorn from 0.18.3 to 0.19.0
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.18.3 to 0.19.0.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.18.3...0.19.0)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 08:23:29 +00:00
Matthias ccba651d37
Merge pull request #7671 from freqtrade/dependabot/pip/develop/plotly-5.11.0
Bump plotly from 5.10.0 to 5.11.0
2022-10-31 09:22:45 +01:00
Matthias 53bc72f27f
Merge pull request #7680 from freqtrade/dependabot/pip/develop/psutil-5.9.3
Bump psutil from 5.9.2 to 5.9.3
2022-10-31 09:21:53 +01:00
Matthias 9c7e686db0
Merge pull request #7678 from freqtrade/dependabot/pip/develop/ccxt-2.0.90
Bump ccxt from 2.0.58 to 2.0.90
2022-10-31 08:50:10 +01:00
Matthias ecd5e22960
Merge pull request #7673 from freqtrade/dependabot/pip/develop/pycoingecko-3.1.0
Bump pycoingecko from 3.0.0 to 3.1.0
2022-10-31 08:40:03 +01:00
Matthias e010c01446
Merge pull request #7679 from freqtrade/dependabot/pip/develop/websockets-10.4
Bump websockets from 10.3 to 10.4
2022-10-31 08:36:28 +01:00
dependabot[bot] be67eb9586
Bump psutil from 5.9.2 to 5.9.3
Bumps [psutil](https://github.com/giampaolo/psutil) from 5.9.2 to 5.9.3.
- [Release notes](https://github.com/giampaolo/psutil/releases)
- [Changelog](https://github.com/giampaolo/psutil/blob/master/HISTORY.rst)
- [Commits](https://github.com/giampaolo/psutil/compare/release-5.9.2...release-5.9.3)

---
updated-dependencies:
- dependency-name: psutil
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 07:35:55 +00:00
Matthias 51c97d8099
Merge pull request #7677 from freqtrade/dependabot/pip/develop/colorama-0.4.6
Bump colorama from 0.4.5 to 0.4.6
2022-10-31 08:34:44 +01:00
dependabot[bot] 39f145e7ba
Bump websockets from 10.3 to 10.4
Bumps [websockets](https://github.com/aaugustin/websockets) from 10.3 to 10.4.
- [Release notes](https://github.com/aaugustin/websockets/releases)
- [Commits](https://github.com/aaugustin/websockets/compare/10.3...10.4)

---
updated-dependencies:
- dependency-name: websockets
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 03:01:55 +00:00
dependabot[bot] ac86d19459
Bump ccxt from 2.0.58 to 2.0.90
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.0.58 to 2.0.90.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/2.0.58...2.0.90)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 03:01:52 +00:00
dependabot[bot] 7e12d03225
Bump colorama from 0.4.5 to 0.4.6
Bumps [colorama](https://github.com/tartley/colorama) from 0.4.5 to 0.4.6.
- [Release notes](https://github.com/tartley/colorama/releases)
- [Changelog](https://github.com/tartley/colorama/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/tartley/colorama/compare/0.4.5...0.4.6)

---
updated-dependencies:
- dependency-name: colorama
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 03:01:42 +00:00
dependabot[bot] a5824f5cf2
Bump pyarrow from 9.0.0 to 10.0.0
Bumps [pyarrow](https://github.com/apache/arrow) from 9.0.0 to 10.0.0.
- [Release notes](https://github.com/apache/arrow/releases)
- [Commits](https://github.com/apache/arrow/compare/go/v9.0.0...go/v10.0.0)

---
updated-dependencies:
- dependency-name: pyarrow
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 03:01:38 +00:00
dependabot[bot] 7348a8074e
Bump nbconvert from 7.2.1 to 7.2.3
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.2.1 to 7.2.3.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Changelog](https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter/nbconvert/compare/v7.2.1...v7.2.3)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 03:01:31 +00:00
dependabot[bot] 30f0a4dba2
Bump pycoingecko from 3.0.0 to 3.1.0
Bumps [pycoingecko](https://github.com/man-c/pycoingecko) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/man-c/pycoingecko/releases)
- [Changelog](https://github.com/man-c/pycoingecko/blob/master/CHANGELOG.md)
- [Commits](https://github.com/man-c/pycoingecko/compare/3.0.0...3.1.0)

---
updated-dependencies:
- dependency-name: pycoingecko
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 03:01:22 +00:00
dependabot[bot] eb01bed33a
Bump scikit-learn from 1.1.2 to 1.1.3
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.1.2 to 1.1.3.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.1.2...1.1.3)

---
updated-dependencies:
- dependency-name: scikit-learn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 03:01:20 +00:00
dependabot[bot] 41c2dc2c68
Bump plotly from 5.10.0 to 5.11.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.10.0 to 5.11.0.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.10.0...v5.11.0)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 03:01:16 +00:00
robcaulk a49edfbaee add tests for CatboostClassifier 2022-10-30 18:08:10 +01:00
robcaulk d59a7fa2f9 remove analysis_lock and realign example hybrid strat 2022-10-30 17:07:33 +01:00
Matthias 32a03a89c6
Merge pull request #7665 from freqtrade/update_ci
Update generic CI's to ubuntu 22.04
2022-10-30 15:55:09 +01:00
Matthias 707b224af5 Update generic CI's to ubuntu 22.04 2022-10-30 15:09:53 +01:00
Matthias 391c3f56f7 Add typehint to corr_pairlist 2022-10-30 13:28:01 +01:00
Matthias bd051cb205 Remove pandas workaround for pi image 2022-10-30 12:44:39 +01:00
Mark Regan 7053f81fa8 simplified predict and predict_proba using super(). Added duplicate class label check. 2022-10-30 09:48:30 +00:00
Matthias cf4af2175c
Merge pull request #7662 from markdregan/backtest_extra_returns_fix
Fix missing f-string from PR #7611
2022-10-30 10:47:06 +01:00
robcaulk a2843165e1 fix leftovers from merge 2022-10-30 10:31:38 +01:00
robcaulk 52e15b2070 Merge remote-tracking branch 'origin/develop' into feat/freqai-rl-dev 2022-10-30 10:16:39 +01:00
robcaulk d1a0874683 merge develop into feat/freqai-rl-dev 2022-10-30 10:13:03 +01:00
robcaulk fc53054d43 leverage list length knowledge, f-string change 2022-10-30 10:12:14 +01:00
Emre f98c7a2423 Remove loop of normalization from metadata 2022-10-30 10:12:14 +01:00
Matthias 5c14aeddc6 Add "--log-file" alias for "--logfile" 2022-10-30 09:50:54 +01:00
Matthias 5013351143 Rename "shuffle" parameter to "shuffle_freq" 2022-10-30 09:48:55 +01:00
Matthias a323acf343 Improve ShufflePairlist to shuffle only once per candle 2022-10-30 09:46:12 +01:00
Mark Regan c26fda282f fix missing f-string from PR #7611 2022-10-30 08:19:59 +00:00
robcaulk 650bb8b7d7 ensure full pair string is used for caching dataframes. If not, revert to old behavior. Update docs. 2022-10-29 22:26:49 +02:00
Matthias 352adaf127 Improve readability of is_time_to_refresh function 2022-10-29 19:45:46 +02:00
Matthias b7d2c14f2c Improve trading limits docs to mention upper limits
#7654
2022-10-29 09:29:22 +02:00
Matthias c23a9475e6 Move exchange utilities into separate module 2022-10-29 09:29:17 +02:00
Matthias 9adce8d167
Merge pull request #7657 from freqtrade/new_release
New release 2022.10
2022-10-29 09:04:34 +02:00
Matthias 801e91c39e
Merge pull request #7618 from wizrds/fix/docker-config-record
Update function in FreqAI interface to record FreqAI config params
2022-10-29 08:56:20 +02:00
Matthias 54c7122cc3
Merge pull request #7647 from freqtrade/combine_stop
Combine stop logic
2022-10-28 19:38:40 +02:00
Matthias 777af5517d Version bump develop version to 2022.11-dev 2022-10-28 19:38:19 +02:00
Matthias ec7d663496 Version bump 2022.10 2022-10-28 19:34:30 +02:00
Matthias a56465e049 Merge branch 'stable' into new_release 2022-10-28 19:34:15 +02:00
Mark Regan 6ef82dd8b6 minor change to return 2022-10-27 12:41:12 +01:00
Matthias 9e0b39cddc Properly invert sign
fixes 98ba57ff
2022-10-27 06:56:33 +02:00
Mark Regan 1c98640129
Delete MultiTargetClassifierTestStrategy.py 2022-10-26 13:11:10 +01:00
Mark Regan a9a3ceadf7
Delete config_test.json 2022-10-26 13:10:18 +01:00
Matthias 255f38537e Simplify stoploss behavior by combining more commonalities 2022-10-26 07:14:33 +02:00
Matthias 6e0ca058f4 Update function-head for _get_stop_params 2022-10-26 07:12:49 +02:00
Matthias cf6b75a3f3 Use combined stoploss_adjust where possible 2022-10-26 07:12:42 +02:00
Matthias d831d7d317 Rename Freqai hybrid example
closes #7645
2022-10-26 06:47:34 +02:00
Matthias 110db8b241
Merge pull request #7621 from wizrds/fix/channel-api
Improved WebSocketChannel API
2022-10-26 06:31:42 +02:00
Timothy Pogue b9bf9edb02 update rapidjson opts 2022-10-25 14:12:13 -06:00
Timothy Pogue fd5f31368c fix indent in initial df send 2022-10-25 14:08:28 -06:00
Robert Caulk 1f5e92c0e7
Merge pull request #7642 from smarmau/patch-3
Update freqai-running.md
2022-10-25 21:39:35 +02:00
Mark Regan 217add70bd add strat and config for testing on PR 2022-10-25 20:07:39 +01:00
Matthias 604f966c82 Enhance documentation with full space override sample
closes #7643
2022-10-25 20:27:38 +02:00
Matthias d94c0039eb Add missing import to hyperopt docs 2022-10-25 20:20:51 +02:00
Matthias 3fa50077c9 Don't use pydantic to type-verify outgoing messages 2022-10-25 20:00:53 +02:00
Mark Regan 47056eded3 multi target classifier working but not for parallel 2022-10-25 18:24:27 +01:00
Matthias 1ef38f137d
Fix XGBoost regressor "used before assignment" 2022-10-25 13:37:04 +02:00
smarmau f12d40bd6b
Update freqai-running.md
Updated the follower section of the docs to include parameters to make the config schema validate on start up for follow_mode
2022-10-25 20:59:39 +11:00
Matthias 283dab667d Fix pydantic version pin 2022-10-25 09:04:31 +00:00
Matthias f70c00dd4c Improve variance around worker timing test 2022-10-25 06:14:42 +00:00
Timothy Pogue 51be45547f remove np object, make default str 2022-10-24 12:23:54 -06:00
Timothy Pogue 32600a113f fix broadcast 2022-10-24 12:21:17 -06:00
Matthias f93b6eec63 Improve timing for worker throttling 2022-10-24 20:09:13 +02:00
Matthias e969479525
Merge pull request #7619 from freqtrade/stop/usehighlow
Stop/usehighlow
2022-10-24 20:04:36 +02:00
Matthias 5bbd861512 Update binance sample config with better blacklist 2022-10-24 19:30:53 +02:00
Matthias 10bdaa8671
Merge pull request #7627 from freqtrade/dependabot/pip/develop/progressbar2-4.1.1
Bump progressbar2 from 4.0.0 to 4.1.1
2022-10-24 19:20:13 +02:00
Matthias a12ac2e8c4
Merge pull request #7629 from freqtrade/dependabot/pip/develop/python-rapidjson-1.9
Bump python-rapidjson from 1.8 to 1.9
2022-10-24 18:13:16 +02:00
Matthias 6669714a73 Update mal-formatted docstrings 2022-10-24 18:12:17 +02:00
Matthias dd45a3f500
Merge pull request #7631 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.19.2
Bump types-python-dateutil from 2.8.19.1 to 2.8.19.2
2022-10-24 13:16:14 +02:00
Matthias ba82cd9baa
bump types-python-dateutil for pre-commit 2022-10-24 12:29:04 +02:00
Matthias fd6ce6a9aa
Merge pull request #7633 from freqtrade/dependabot/pip/develop/pandas-1.5.1
Bump pandas from 1.5.0 to 1.5.1
2022-10-24 12:28:11 +02:00
Matthias 7b7bb06291
Merge pull request #7634 from freqtrade/dependabot/pip/develop/scipy-1.9.3
Bump scipy from 1.9.2 to 1.9.3
2022-10-24 09:05:03 +02:00
Robert Caulk 137aa1756b
Merge pull request #7593 from th0rntwig/prediction-shape
Fix constant PCA
2022-10-24 08:33:36 +02:00
Matthias 24fbbfc64b
Merge pull request #7635 from freqtrade/dependabot/pip/develop/pyjwt-2.6.0
Bump pyjwt from 2.5.0 to 2.6.0
2022-10-24 08:26:43 +02:00
Matthias d718b57cba
Merge pull request #7632 from freqtrade/dependabot/pip/develop/pymdown-extensions-9.7
Bump pymdown-extensions from 9.6 to 9.7
2022-10-24 08:26:06 +02:00
Matthias b9bc91a881
Bump correct pandas version 2022-10-24 08:25:39 +02:00
dependabot[bot] afe0a29fb0
Bump pandas from 1.5.0 to 1.5.1
Bumps [pandas](https://github.com/pandas-dev/pandas) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Changelog](https://github.com/pandas-dev/pandas/blob/main/RELEASE.md)
- [Commits](https://github.com/pandas-dev/pandas/compare/v1.5.0...v1.5.1)

---
updated-dependencies:
- dependency-name: pandas
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 06:22:46 +00:00
Matthias 71c8a51d90
Merge pull request #7628 from freqtrade/dependabot/pip/develop/ccxt-2.0.58
Bump ccxt from 2.0.25 to 2.0.58
2022-10-24 08:21:46 +02:00
dependabot[bot] af89c83fa5
Bump pymdown-extensions from 9.6 to 9.7
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.6 to 9.7.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.6...9.7)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 04:39:32 +00:00
Matthias 57364b776c
Merge pull request #7630 from freqtrade/dependabot/pip/develop/mkdocs-material-8.5.7
Bump mkdocs-material from 8.5.6 to 8.5.7
2022-10-24 06:38:51 +02:00
Matthias d8893a9d85
Merge pull request #7626 from freqtrade/dependabot/pip/develop/pytest-asyncio-0.20.1
Bump pytest-asyncio from 0.19.0 to 0.20.1
2022-10-24 06:38:34 +02:00
Matthias 3a40ad87c6
Merge pull request #7615 from freqtrade/price_jump_warn
Add price jump warning
2022-10-24 06:27:53 +02:00
dependabot[bot] 06311b6a17
Bump pyjwt from 2.5.0 to 2.6.0
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/jpadilla/pyjwt/commits)

---
updated-dependencies:
- dependency-name: pyjwt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 03:03:19 +00:00
dependabot[bot] 0328cd5026
Bump scipy from 1.9.2 to 1.9.3
Bumps [scipy](https://github.com/scipy/scipy) from 1.9.2 to 1.9.3.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.9.2...v1.9.3)

---
updated-dependencies:
- dependency-name: scipy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 03:03:14 +00:00
dependabot[bot] bde4fbbc59
Bump types-python-dateutil from 2.8.19.1 to 2.8.19.2
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19.1 to 2.8.19.2.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 03:02:57 +00:00
dependabot[bot] e516190b63
Bump mkdocs-material from 8.5.6 to 8.5.7
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.5.6 to 8.5.7.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.5.6...8.5.7)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 03:02:54 +00:00
dependabot[bot] 3480549f4e
Bump python-rapidjson from 1.8 to 1.9
Bumps [python-rapidjson](https://github.com/python-rapidjson/python-rapidjson) from 1.8 to 1.9.
- [Release notes](https://github.com/python-rapidjson/python-rapidjson/releases)
- [Changelog](https://github.com/python-rapidjson/python-rapidjson/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-rapidjson/python-rapidjson/compare/v1.8...v1.9)

---
updated-dependencies:
- dependency-name: python-rapidjson
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 03:02:50 +00:00
dependabot[bot] 54d029da7a
Bump ccxt from 2.0.25 to 2.0.58
Bumps [ccxt](https://github.com/ccxt/ccxt) from 2.0.25 to 2.0.58.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/2.0.25...2.0.58)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 03:02:47 +00:00
dependabot[bot] 96f4de442a
Bump progressbar2 from 4.0.0 to 4.1.1
Bumps [progressbar2](https://github.com/WoLpH/python-progressbar) from 4.0.0 to 4.1.1.
- [Release notes](https://github.com/WoLpH/python-progressbar/releases)
- [Changelog](https://github.com/wolph/python-progressbar/blob/develop/CHANGES.rst)
- [Commits](https://github.com/WoLpH/python-progressbar/compare/v4.0.0...v4.1.1)

---
updated-dependencies:
- dependency-name: progressbar2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 03:02:37 +00:00
dependabot[bot] c29f96a643
Bump pytest-asyncio from 0.19.0 to 0.20.1
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.19.0 to 0.20.1.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Changelog](https://github.com/pytest-dev/pytest-asyncio/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.19.0...v0.20.1)

---
updated-dependencies:
- dependency-name: pytest-asyncio
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 03:02:32 +00:00
robcaulk 4d2b7a74f1 move record params to utils, use rapidjson 2022-10-23 20:51:32 +02:00
Timothy Pogue bb06745227 fix tests 2022-10-23 12:25:39 -06:00
Timothy Pogue 07e813dfa0 change param record to only get certain params 2022-10-23 12:09:07 -06:00
Timothy Pogue 94b65a007a fix message typing in channel manager, minor improvements 2022-10-23 11:42:59 -06:00
th0rntwig 49ff51f11f Change storage loc and fix test fail 2022-10-23 16:24:02 +02:00
Matthias 10090a36d5 simplify throttle 2022-10-23 14:52:10 +02:00
Matthias d0571464db Improve test for worker throttle 2022-10-23 14:20:59 +02:00
Matthias c36141594e Simplify "refresh" condition 2022-10-23 13:56:11 +02:00
Timothy Pogue 9cffa3ca2b add comment in channel 2022-10-22 21:03:57 -06:00
Timothy Pogue 4cbea0fd00 Merge branch 'develop' of https://github.com/wizrds/freqtrade into fix/channel-api 2022-10-22 21:03:31 -06:00
Timothy Pogue 3d7a311caa removed sleep calls, better channel sending 2022-10-22 19:02:05 -06:00
Timothy Pogue c4a2ee05e7 fix freqai test 2022-10-22 09:31:55 -06:00
Timothy Pogue 2b6d00dde4 initial channel api change 2022-10-22 09:30:18 -06:00
Matthias abcc6dadf2 use pre-built pyarrow for pi image 2022-10-22 15:57:11 +02:00
Matthias 47e93dd2b2 Update documentation 2022-10-22 15:21:39 +02:00
Matthias 3a9853db10 use high/low for custom stoploss evaluation in backtesting 2022-10-22 12:52:13 +02:00
Matthias 84a194bcab Simplify stoploss logic by removing redundant condition 2022-10-22 11:57:59 +02:00
Matthias 547fd28811 Price-jump detection should only run once 2022-10-22 08:43:37 +02:00
Matthias 0ff7a0771d Move price_jump_warn to dataloading
it's not relevant for live data, and should only run when loading data
from disk.
2022-10-22 08:37:30 +02:00
Timothy Pogue 4464e91256 use self.identifier in full path 2022-10-21 19:53:33 -06:00
Timothy Pogue 5ee3b8cbbb update config recording to use all configs, fix tests 2022-10-21 19:48:26 -06:00
Robert Caulk a85826bf24
Merge pull request #7611 from markdregan/backtest_extra_returns
Make extra_returns_per_train data available during backtest
2022-10-21 17:13:22 +02:00
Matthias b715d9c521 Improve fee handling
closes #7586
2022-10-21 16:30:14 +02:00
Robert Caulk 410a744ee9
Merge pull request #7613 from freqtrade/fix_typo_fit_live_predictions_candles
fix typos - live predictions candles
2022-10-21 16:19:40 +02:00
Matthias d1591883a6 add missing datetime conversion in fromJson 2022-10-21 07:01:47 +02:00
Matthias 212b511bbe Remove explicit rateLimit setting for freqAI config 2022-10-21 06:44:25 +02:00
Matthias bd424a877b Add Trade from_json method 2022-10-20 20:33:08 +02:00
Matthias 0aa840792b Move persistence tests to package 2022-10-20 20:05:15 +02:00
Matthias f4814a7d59 Improve test resiliance to small roundings 2022-10-20 19:57:56 +02:00
Matthias 107845afa8 Keep version number in docker versioning 2022-10-20 19:55:42 +02:00
Wagner Costa Santos 6606a0113f refactoring - remove unnecessary config file 2022-10-20 14:53:25 -03:00
Matthias 60cb11a44d Add price jump warning 2022-10-20 19:36:28 +02:00
Wagner Costa Santos 589944055e fix typos - live predictions candles 2022-10-20 12:15:41 -03:00
Wagner Costa Santos 52b60c5cbb Merge branch 'develop' into backtest_live_models 2022-10-20 11:59:37 -03:00
rcaulk a9db668082 avoid redundant indicator population for corr_pair list 2022-10-20 16:30:32 +02:00
Mark Regan 073ce1659e remove un-used f-string 2022-10-20 14:26:10 +01:00
Mark Regan 295ba21389 Make extra_returns_per_train values available during backtest 2022-10-20 12:05:37 +01:00
Matthias 7192ed7be6 Fix bug with dataframe not being 0 indexed 2022-10-19 11:57:18 +02:00
Matthias 6e95b6667d Modify test ensuring we always have a 0 index 2022-10-19 11:57:05 +02:00
Matteo Manzi 51b410ac1a
Update utils.md 2022-10-18 19:28:29 +02:00
Matteo Manzi 8c39b37223
Update bug_report.md 2022-10-18 19:26:09 +02:00
Matteo Manzi 35cc6aa966
Update data-analysis.md 2022-10-18 19:25:37 +02:00
Matteo Manzi 67850d92af
Update question.md 2022-10-18 19:24:46 +02:00
Matteo Manzi fe3d99b568
Update feature_request.md 2022-10-18 19:22:49 +02:00
Matteo Manzi 11d6d0be9e
Update sql_cheatsheet.md 2022-10-18 19:22:07 +02:00
Matteo Manzi abcbe7a421
Update updating.md 2022-10-18 19:15:59 +02:00
Matteo Manzi d427226900
Update docker_quickstart.md 2022-10-18 19:15:20 +02:00
th0rntwig 033c5bd441 Make check constant pred labels agnostic 2022-10-18 12:55:47 +02:00
Matthias c3d4fb9f1b Simplify backtest calling interface 2022-10-18 06:39:55 +02:00
Matthias c7fff1213c Rate-limit EMC startup to avoid overwelming the queue 2022-10-17 20:46:15 +02:00
Matthias 880ddccaa8
Merge pull request #7590 from freqtrade/list-models
List models
2022-10-17 20:40:41 +02:00
Matthias 441032be25 Fix sys.stdout bug for CatboostRegressorMultiTarget 2022-10-17 19:48:27 +02:00
Matthias b166c04cba Bring back asyncio.sleep to avoid overwelming the a consumer queue 2022-10-17 19:29:30 +02:00
Matthias c8e103e4a4 Adjust typehints to match return value 2022-10-17 10:02:55 +00:00
Matthias c2914feb12 Don't fail contract size repopulation if pair is no longer available 2022-10-17 09:55:18 +00:00
Matthias 08e684a3e8
Merge pull request #7598 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.19.1
Bump types-python-dateutil from 2.8.19 to 2.8.19.1
2022-10-17 08:36:08 +02:00
Matthias caf907e202
Update date-util precommit types 2022-10-17 08:03:52 +02:00
Matthias 2a6b8dd88b
Merge pull request #7601 from freqtrade/dependabot/pip/develop/mkdocs-1.4.1
Bump mkdocs from 1.4.0 to 1.4.1
2022-10-17 08:03:10 +02:00
Matthias ef87976b7c
Merge pull request #7600 from freqtrade/dependabot/pip/develop/ccxt-2.0.25
Bump ccxt from 1.95.30 to 2.0.25
2022-10-17 08:02:27 +02:00
Matthias 943f5f21ff Improve get_pair_dataframe doc wording 2022-10-17 07:23:44 +02:00
Matthias abe4d32ead Update wording in get_analyzed_dataframe docs 2022-10-17 07:19:24 +02:00
Matthias 6cb14148aa Fix random test failure due to catboost bug
https://github.com/catboost/catboost/issues/2195
2022-10-17 07:00:44 +02:00
Matthias 6252ae466e Convert position_stacking to attribute of backtest 2022-10-17 06:57:26 +02:00
Matthias 8534dfb0d4 Extract backtest 1 candle from main function 2022-10-17 06:57:26 +02:00
Matthias 0e8cf366f5 Keep trade state in LocalTrade 2022-10-17 06:57:26 +02:00
dependabot[bot] 5aeea5b14c
Bump ccxt from 1.95.30 to 2.0.25
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.95.30 to 2.0.25.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.95.30...2.0.25)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 04:35:36 +00:00
Matthias 49426a924d
Merge pull request #7603 from freqtrade/dependabot/pip/develop/lightgbm-3.3.3
Bump lightgbm from 3.3.2 to 3.3.3
2022-10-17 06:34:41 +02:00
Matthias c4caaf559b
Merge pull request #7602 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.42
Bump sqlalchemy from 1.4.41 to 1.4.42
2022-10-17 06:33:01 +02:00
Matthias db3def962b
Merge pull request #7599 from freqtrade/dependabot/pip/develop/numpy-1.23.4
Bump numpy from 1.23.3 to 1.23.4
2022-10-17 06:32:40 +02:00
Matthias ef2a14425b
Merge pull request #7604 from freqtrade/dependabot/pip/develop/fastapi-0.85.1
Bump fastapi from 0.85.0 to 0.85.1
2022-10-17 06:31:39 +02:00
dependabot[bot] 7ec1e3b94f
Bump fastapi from 0.85.0 to 0.85.1
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.85.0 to 0.85.1.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.85.0...0.85.1)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 03:01:55 +00:00
dependabot[bot] 600b886241
Bump lightgbm from 3.3.2 to 3.3.3
Bumps [lightgbm](https://github.com/microsoft/LightGBM) from 3.3.2 to 3.3.3.
- [Release notes](https://github.com/microsoft/LightGBM/releases)
- [Commits](https://github.com/microsoft/LightGBM/compare/v3.3.2...v3.3.3)

---
updated-dependencies:
- dependency-name: lightgbm
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 03:01:51 +00:00
dependabot[bot] a9bb7db06c
Bump sqlalchemy from 1.4.41 to 1.4.42
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.41 to 1.4.42.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 03:01:46 +00:00
dependabot[bot] 2ddfc7bbba
Bump mkdocs from 1.4.0 to 1.4.1
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.4.0...1.4.1)

---
updated-dependencies:
- dependency-name: mkdocs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 03:01:37 +00:00
dependabot[bot] 8550eb513e
Bump numpy from 1.23.3 to 1.23.4
Bumps [numpy](https://github.com/numpy/numpy) from 1.23.3 to 1.23.4.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v1.23.3...v1.23.4)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 03:01:22 +00:00
dependabot[bot] dd3f62ac13
Bump types-python-dateutil from 2.8.19 to 2.8.19.1
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.19 to 2.8.19.1.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 03:01:10 +00:00
Matthias 23a5a516f9
Merge pull request #7557 from freqtrade/add-metric-tracker
Add metric tracker to FreqAI
2022-10-16 18:20:07 +02:00
Matthias e82baf5f60 Use helper-method to modify trades_open 2022-10-16 16:45:16 +02:00
Matthias 2b70106019
Merge pull request #7596 from iprogger/fix/backtest-counting-available-slots
Fix counting available trade slots in backtesting.
2022-10-16 16:45:09 +02:00
Evgeniy Vladimirov 82d75d8914 Fix tests that failed due to new strategy. 2022-10-16 14:59:55 +03:00
Matthias f4059ccabe
Merge pull request #7595 from matteoettam09/develop
Update stoploss.md
2022-10-16 13:29:45 +02:00
Matteo Manzi b7dce8d24a
Update stoploss.md 2022-10-16 12:02:27 +02:00
Evgeniy Vladimirov de9f5660f3 Fix counting available trade slots in backtesting. 2022-10-16 12:56:59 +03:00
Matthias dc50186d5b Merge branch 'develop' into list-models 2022-10-16 09:23:10 +02:00
Matthias b6c096d3bc Simplify backtest condition 2022-10-16 09:22:56 +02:00
th0rntwig 20fc521771 Fix constant PCA 2022-10-15 23:30:12 +02:00
Robert Caulk 62ca822597
Merge pull request #7569 from Silur/develop
Add XGBoost random forest predictors to freqai
2022-10-15 16:09:26 +02:00
Robert Caulk 46ba3bb357
Merge pull request #7585 from aemr3/add-eval-set-catboost
Add eval set to CatboostClassifier
2022-10-15 16:08:13 +02:00
robcaulk 9135e631c0 :Merge branch 'develop' into add-metric-tracker 2022-10-15 15:54:41 +02:00
robcaulk 3b4402aaab Merge branch 'move-disk-writing-to-ram' into add-metric-tracker 2022-10-15 13:52:14 +02:00
robcaulk 99dbba6cad avoid reading from disk to instantiate large objects 2022-10-15 13:50:55 +02:00
robcaulk d81eef0b70 add timestamps to each metric, use rapidjson 2022-10-15 13:23:01 +02:00
Matthias 05ca725e4d Remove no longer needed local state 2022-10-15 12:07:22 +02:00
Matthias c8e6dad9cd use exit_reason to determine left open trades 2022-10-15 12:00:20 +02:00
Matthias 498289728d Fix catboost tests polluting CWD 2022-10-15 08:48:41 +02:00
Matthias 93ad3810fd Add test for list-freqaimodels 2022-10-15 08:20:06 +02:00
Matthias 4bfe58706b Generalize "path" variables for resolvers 2022-10-14 19:49:06 +02:00
robcaulk b236e362ba Merge remote-tracking branch 'origin/develop' into add-metric-tracker 2022-10-14 19:00:49 +02:00
Matthias 2ef315e8c2 Add documentation for list-freqaimodels 2022-10-14 18:24:15 +02:00
Matthias fda3a2827b add list-freqAI models command 2022-10-14 16:20:49 +00:00
Matthias 4a8cb3359b Fix broken tests 2022-10-14 16:07:49 +00:00
Matthias 9d4ba767c4 Update usages of search_all_objects 2022-10-14 14:50:52 +00:00
Matthias 1d8d360a12 update _search_all_objects functioning 2022-10-14 14:32:30 +00:00
Emre 7f05b44376
Add eval set to CatboostClassifier 2022-10-13 23:01:09 +03:00
Wagner Costa Santos 02fc59d473 Merge branch 'develop' into backtest_live_models 2022-10-13 15:52:19 -03:00
Wagner Costa Santos 4e1bf79239 backtest live models - documentation 2022-10-13 15:47:31 -03:00
Wagner Costa Santos 6919f3aa75 Backtest live models - fix utc date convert issue 2022-10-13 15:03:27 -03:00
Matthias c6d2eed4fc
Merge pull request #7582 from th0rntwig/improve-freqai-docs
Add model info
2022-10-13 19:57:56 +02:00
Matthias f019471051 Don't round prices if no custom prices have been used
closes #7573
2022-10-13 19:51:42 +02:00
Matthias 7672586de9 Fix unreliable hyperopt test 2022-10-13 19:43:37 +02:00
Matthias c71c0e8da0 Fix some typos 2022-10-13 18:16:39 +02:00
Wagner Costa Santos 93fe2b6446 Merge branch 'develop' into backtest_live_models 2022-10-13 11:22:58 -03:00
Matthias c4d60184cd
Merge pull request #7581 from TheJoeSchr/develop
Docs: add `ignore_buying_expired_candle_after` and `order pricing` to summary
2022-10-13 14:23:18 +02:00
Matthias 28be784c2e Fix kucoin live test failure 2022-10-13 12:17:53 +00:00
Matthias 2045780810 Reinstate default of 1000% for roi
closes #7583
2022-10-13 11:58:32 +00:00
th0rntwig f8331e0326 Add model libs info 2022-10-13 10:53:25 +02:00
Matthias e3ca740704
Merge pull request #7558 from wizrds/feat/queue-per-client-ws
Refactor broadcasting in Message Websocket
2022-10-13 09:52:29 +02:00
Matthias 75f1a123eb Move "tickers_needed" check to pairlistmanager to cover all pairlists 2022-10-13 06:58:17 +00:00
Matthias 39c27cfc37 Don't fail if fetchTickers is not availlable 2022-10-13 06:58:02 +00:00
Joe Schr 96e6c1b190 Docs: add `ignore_buying_expired_candle_after` and `order pricing` to summary 2022-10-12 20:11:17 +02:00
Matthias a6f6a17393 Type fetch_ticker 2022-10-11 21:42:48 +02:00
Matthias 52e9528361 Improve ticker type 2022-10-11 19:33:07 +00:00
Matthias 35f3f988d4 Improve price handling in priceFilter 2022-10-11 19:33:05 +00:00
Matthias afaca2167c use Type Alias for Ticker result to improve keyerror resiliancy 2022-10-11 19:33:02 +00:00
Robert Caulk 8ab600f7b2
Merge pull request #7576 from freqtrade/bugfix-tensorboard
catboost tensorboard bugfix
2022-10-11 21:27:42 +02:00
robcaulk 1e31be562e remove whitespace 2022-10-11 21:05:42 +02:00
robcaulk dba1b573bc remove tensorboard dir from other pred models 2022-10-11 19:49:24 +02:00
robcaulk 88b8f18639 add test for metric tracker 2022-10-11 19:24:47 +02:00
robcaulk 5b5bb8aab5 catboost tensorboard bugfix 2022-10-11 19:05:46 +02:00
silur 30a45bb597 add XGBoostRF models to freqai test interface 2022-10-11 13:17:21 +02:00
Matthias 8f2a887a58
Merge pull request #7572 from wizrds/fix/ws-client-timestamp
Test WebSocket client fix
2022-10-11 08:49:47 +02:00
Timothy Pogue 16c0fef72e update timestamp calculation to correct int, remove internal ping interval 2022-10-11 00:10:57 -06:00
Timothy Pogue eb8c89fe31 move send delay to relay 2022-10-10 23:32:10 -06:00
Timothy Pogue 5ada5eb540 fix error message, update exception import 2022-10-10 23:30:43 -06:00
Matthias 28f0a35e73
Merge pull request #7549 from froggleston/discord_sendmsg
Add support for dp.send_msg() to webhooks
2022-10-11 06:35:29 +02:00
Robert Caulk 2e34aa9f04
Merge pull request #7544 from th0rntwig/prediction-shape
Remove constant labels from prediction
2022-10-10 21:24:25 +02:00
Robert Caulk 7bcb7d9a1a
Merge pull request #7554 from initrv/add-catboost-tensorboard
Add tensorboard for catboost
2022-10-10 21:03:45 +02:00
robcaulk c9eee2eba4 revert syntax 2022-10-10 20:50:54 +02:00
robcaulk 724be0afef add tensorboard asset to fai doc 2022-10-10 20:39:31 +02:00
Wagner Costa Santos 01e3507e4c fix freqai backtest live models 2022-10-10 15:15:43 -03:00
Wagner Costa Santos 88418d524a Merge branch 'develop' into backtest_live_models 2022-10-10 15:14:59 -03:00
Matthias 341cfc0cb6
Merge pull request #7571 from freqtrade/feat/freqaimodels
document user_data/freqaimodels
2022-10-10 19:57:23 +02:00
Wagner Costa Santos 3081e73f8a Merge branch 'develop' into backtest_live_models 2022-10-10 14:53:45 -03:00
Matthias 5ffa3cb9ba Update docs to mention `freqaimodels` directory
closes #7570
2022-10-10 18:11:32 +02:00
Matthias ee0d90d1aa Automatically create freqai models directory 2022-10-10 18:04:54 +02:00
Matthias 002a46c5a0 Fix typo in docstring 2022-10-10 14:16:37 +00:00
silur 2ad086dd7a add XGBoost random forest predictors to freqai 2022-10-10 14:38:43 +02:00
Matthias eaae9c9e03 Update docstring format 2022-10-10 12:19:29 +00:00
Matthias 60de192d47 Update Classifier docstrings 2022-10-10 12:13:41 +00:00
Matthias d3b2b2972e Update pairlist docstring to be less missleading 2022-10-10 12:01:39 +00:00
Matthias 6be9b81f4c
Fix workflow syntax error 2022-10-10 12:12:30 +02:00
Matthias 53e685f97b
Merge pull request #7568 from freqtrade/dependabot/pip/develop/types-requests-2.28.11.2
Bump types-requests from 2.28.11 to 2.28.11.2
2022-10-10 10:12:20 +02:00
Matthias d0b163764e Run coveralls only when needed 2022-10-10 07:42:27 +00:00
Matthias 81ed80c594
Merge pull request #7566 from freqtrade/dependabot/pip/develop/pytest-mock-3.10.0
Bump pytest-mock from 3.9.0 to 3.10.0
2022-10-10 09:26:58 +02:00
Matthias f120c66987
types-requests - update pre-commit 2022-10-10 08:52:38 +02:00
dependabot[bot] 5218fb1df5
Bump types-requests from 2.28.11 to 2.28.11.2
Bumps [types-requests](https://github.com/python/typeshed) from 2.28.11 to 2.28.11.2.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 06:49:11 +00:00
Matthias 2b1c1afc46
Merge pull request #7567 from freqtrade/dependabot/pip/develop/types-tabulate-0.9.0.0
Bump types-tabulate from 0.8.11 to 0.9.0.0
2022-10-10 08:48:02 +02:00
Matthias 9412d76934
Merge pull request #7564 from freqtrade/dependabot/pip/develop/scipy-1.9.2
Bump scipy from 1.9.1 to 1.9.2
2022-10-10 08:31:51 +02:00
Matthias d9ff072dd6
Merge pull request #7563 from freqtrade/dependabot/pip/develop/mypy-0.982
Bump mypy from 0.981 to 0.982
2022-10-10 08:31:01 +02:00
Matthias 13529fabb1
types-tabulate in pre-commit 2022-10-10 08:16:26 +02:00
Matthias 884410a761
Merge pull request #7565 from freqtrade/dependabot/pip/develop/ccxt-1.95.30
Bump ccxt from 1.95.2 to 1.95.30
2022-10-10 08:12:24 +02:00
Matthias 3fcba2fb8d
Remove hard-pin on python version in ci 2022-10-10 08:03:40 +02:00
Matthias c55bea2a5e
Merge pull request #7562 from freqtrade/dependabot/pip/develop/tabulate-0.9.0
Bump tabulate from 0.8.10 to 0.9.0
2022-10-10 07:09:52 +02:00
dependabot[bot] c1dfa837bd
Bump mypy from 0.981 to 0.982
Bumps [mypy](https://github.com/python/mypy) from 0.981 to 0.982.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.981...v0.982)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 04:56:43 +00:00
Matthias 9776067028
Merge pull request #7561 from freqtrade/dependabot/pip/develop/nbconvert-7.2.1
Bump nbconvert from 7.0.0 to 7.2.1
2022-10-10 06:55:50 +02:00
dependabot[bot] 935adc99ae
Bump types-tabulate from 0.8.11 to 0.9.0.0
Bumps [types-tabulate](https://github.com/python/typeshed) from 0.8.11 to 0.9.0.0.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-tabulate
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 03:03:06 +00:00
dependabot[bot] 9d2f281ca6
Bump pytest-mock from 3.9.0 to 3.10.0
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock) from 3.9.0 to 3.10.0.
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases)
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-mock/compare/v3.9.0...v3.10.0)

---
updated-dependencies:
- dependency-name: pytest-mock
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 03:02:57 +00:00
dependabot[bot] 8bb7b94f8d
Bump ccxt from 1.95.2 to 1.95.30
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.95.2 to 1.95.30.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.95.2...1.95.30)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 03:02:53 +00:00
dependabot[bot] dab2759c21
Bump scipy from 1.9.1 to 1.9.2
Bumps [scipy](https://github.com/scipy/scipy) from 1.9.1 to 1.9.2.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.9.1...v1.9.2)

---
updated-dependencies:
- dependency-name: scipy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 03:02:43 +00:00
dependabot[bot] 40afa079b1
Bump tabulate from 0.8.10 to 0.9.0
Bumps [tabulate](https://github.com/astanin/python-tabulate) from 0.8.10 to 0.9.0.
- [Release notes](https://github.com/astanin/python-tabulate/releases)
- [Changelog](https://github.com/astanin/python-tabulate/blob/master/CHANGELOG)
- [Commits](https://github.com/astanin/python-tabulate/compare/v0.8.10...v0.9.0)

---
updated-dependencies:
- dependency-name: tabulate
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 03:02:31 +00:00
dependabot[bot] 337ea04ba0
Bump nbconvert from 7.0.0 to 7.2.1
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.0.0 to 7.2.1.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Changelog](https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter/nbconvert/compare/7.0.0...v7.2.1)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 03:02:27 +00:00
Timothy Pogue db8cf6c957 disable ping interval in client 2022-10-09 18:51:52 -06:00
Timothy Pogue 71bbffd10a update ws channel send to add data to queue 2022-10-09 18:49:04 -06:00
Timothy Pogue 2c76dd9e39 change wait timeout to 30 seconds to better support reverse proxies 2022-10-09 15:23:56 -06:00
Timothy Pogue 2f64a08623 set channel queue maxsize to 32 2022-10-09 15:11:58 -06:00
Timothy Pogue 3e8d8fd1b0 refactor broadcasting to a queue per client 2022-10-09 15:04:52 -06:00
robcaulk a4aa1b972c isolate and standardize location of tensorboard files, add doc, ensure backtesting functionality 2022-10-09 21:11:37 +02:00
robcaulk 76b33359a9 add an optional metric tracker to collect train timings, inference timings, and cpu load data 2022-10-09 20:22:42 +02:00
Matthias a10b2d003f Add freqai timeframe validation (incl. test)
closes #7543
2022-10-09 14:40:25 +02:00
Matthias 4623c3ec1d Improve test resiliance 2022-10-09 10:55:38 +02:00
Matthias 4f967fed97 Improve ccxt tests 2022-10-09 10:52:01 +02:00
Matthias db1132bebd ensure required_candle_call_count is always set
closes #7552
2022-10-09 09:29:37 +02:00
Matthias 8e3a4eca41 Remove unused type:ignore 2022-10-09 09:15:11 +02:00
th0rntwig 4daf0000c7 Move check and add log warning 2022-10-08 16:15:48 +02:00
robcaulk 8d7adfabe9 clean RL tests to avoid dir pollution and increase speed 2022-10-08 12:10:38 +02:00
Matthias 9454fb8f7b Fix discord message sending 2022-10-07 20:59:49 +02:00
Matthias df5ae66252 Refactor webhook method 2022-10-07 20:52:52 +02:00
Matthias 1aedf08ba5 Update tests 2022-10-07 20:48:37 +02:00
Matthias ed12cddf3f Update docs with new wording for webhook settings 2022-10-07 20:45:15 +02:00
Matthias fb2f2d9a39 Allow webhook message setting directly 2022-10-07 20:44:47 +02:00
Emre e337d4b78a Reset dataframe index after slice 2022-10-07 20:00:05 +02:00
Matthias bc09c812a8
Merge pull request #7551 from wizrds/fix/test-ws-client
Test WS Client typo fix
2022-10-07 19:24:41 +02:00
Timothy Pogue 0460f362fb typo in handle func name 2022-10-07 10:41:06 -06:00
froggleston 8fcb80df69 Add support for dp.send_msg() to webhooks 2022-10-07 16:06:30 +01:00
initrv ec7af83c87 add tensorboard to freqai reqs 2022-10-07 17:13:19 +03:00
Matthias d42fb15608 Improve generic exception handler 2022-10-07 16:05:41 +02:00
Matthias a5bf34587a Improve fiat-convert behavior in case of coingecko outage 2022-10-07 15:46:31 +02:00
Matthias fab6b2f105 Align datetime import in fiat_convert 2022-10-07 15:23:32 +02:00
Matthias 1cabfe8d0a
Merge pull request #7545 from wizrds/feat/test-ws-client
Message WebSocket Testing client
2022-10-07 15:23:22 +02:00
Matthias 3e258e000e Don't set use_db without resetting it 2022-10-07 07:05:56 +02:00
Timothy Pogue 1595e5fd8a small fix in protocol 2022-10-06 21:00:28 -06:00
Timothy Pogue b92b98af29 fix formatting 2022-10-06 14:33:04 -06:00
Timothy Pogue 3e08c6e540 testing/debugging ws client script 2022-10-06 14:12:44 -06:00
Matthias 6e179c7699 Only store tick refresh time if we cache 2022-10-06 19:35:38 +02:00
th0rntwig a9d5e04a43 Remove constant labels from prediction 2022-10-06 19:26:33 +02:00
initrv 86c781798a Add сatboost train_dir for tensorboard 2022-10-06 19:59:35 +03:00
Matthias 7c702dd106 Add cache eviction 2022-10-06 14:51:52 +00:00
Matthias 92a1d58df8 Evict cache if we didn't get new candles for X hours 2022-10-06 14:51:52 +00:00
Matthias f475c6c305 Add Specific, time-sensitive test-case for new behavior 2022-10-06 14:51:52 +00:00
Matthias 638515bce5 Test advanced caching 2022-10-06 14:51:52 +00:00
Matthias 678272e2ef Improve test formatting 2022-10-06 14:51:52 +00:00
Matthias cea017e79f Age out old candles 2022-10-06 14:51:52 +00:00
Matthias b7f26e4f96 Update some formatting issues 2022-10-06 14:51:52 +00:00
Matthias 02e238a944 Combine ohlcv data in exchange class for live mode 2022-10-06 14:51:52 +00:00
Matthias b9f1872d51
Install RL dependencies as dev dependency 2022-10-06 08:28:15 +02:00
Matthias edb942f662 Add typing import to sampleStrategy 2022-10-06 06:30:38 +02:00
robcaulk e5204101d9 add tensorboard back to reqs to keep default integration working (and for docker) 2022-10-05 21:34:10 +02:00
robcaulk 488739424d fix reward inconsistency in template 2022-10-05 20:55:50 +02:00
Matthias 9b1fb02df8 Refactor generic data generation to conftest 2022-10-05 18:09:26 +02:00
robcaulk 017e476f49 add extras to setup.py for RL 2022-10-05 17:20:40 +02:00
robcaulk cf10a76a2a bring back Trades.use_db = True 2022-10-05 17:06:18 +02:00
robcaulk 17fb7f7a3b gym needs 0.21 to match stable_baselines3 2022-10-05 16:46:02 +02:00
robcaulk ab4705efd2 provide background and goals for RL in doc 2022-10-05 16:39:38 +02:00
robcaulk b5dd92f85a remove RL reqs from general FAI reqs 2022-10-05 16:25:24 +02:00
robcaulk 9cb4832c87 merge feat/freqai into dev-merge-rl 2022-10-05 16:16:07 +02:00
robcaulk 5cfadc689b Merge remote-tracking branch 'origin/develop' into fix-freqai-rl-remote 2022-10-05 16:05:37 +02:00
robcaulk 936ca24482 separate RL install from general FAI install, update docs 2022-10-05 15:58:54 +02:00
robcaulk 9c73411ac2 Merge remote-tracking branch 'origin/develop' into dev-merge-rl 2022-10-05 15:21:45 +02:00
Matthias b0eff4160f
Merge pull request #7538 from freqtrade/improve-freqai-tests
improve freqai tests
2022-10-05 15:15:20 +02:00
Matthias 7dbb78da95 Losely pin pydantic to avoid dependency problems
closes #7537
2022-10-05 13:14:36 +00:00
robcaulk 0d67afe15b allow less precision, ensure regex is catching the right chars 2022-10-05 14:38:50 +02:00
robcaulk 4edb30bfa8 isort 2022-10-05 14:11:19 +02:00
robcaulk 0e0bda8f13 improve freqai tests 2022-10-05 14:08:03 +02:00
Robert Caulk 8c7f478724
Update requirements-freqai.txt 2022-10-05 10:59:33 +02:00
Robert Caulk 52b774b5eb
Merge branch 'develop' into feat/freqai-rl-dev 2022-10-05 09:37:17 +02:00
Matthias 22043deffa
Merge pull request #7535 from mciepluc/develop
Fixes #7534 - add leverage in check_order_replace/replace_order
2022-10-05 08:54:19 +02:00
Matthias ca913fb29d Add leveraged test-case for order-adjustment 2022-10-05 07:28:34 +02:00
Marek Cieplucha 4df533feb0
Add missing comma 2022-10-04 21:16:30 +02:00
Robert Caulk a1a598dcab
Merge pull request #7519 from freqtrade/dependabot/pip/develop/catboost-1.1
Bump catboost from 1.0.6 to 1.1
2022-10-04 21:08:11 +02:00
Marek Cieplucha 5019300d5c
Fix for #7534 in bot 2022-10-04 20:28:47 +02:00
Marek Cieplucha 3264d7b890
Fix for #7534 in backtesting 2022-10-04 20:27:13 +02:00
Matthias c1d8ade2fa Improve supported exchange check by supporting exchange aliases 2022-10-04 19:28:57 +02:00
Matthias 68db0bc647 move check_exchange to exchange package 2022-10-04 18:25:23 +02:00
Matthias a6296be2f5 Update market_change datatype 2022-10-04 10:27:04 +00:00
Matthias eb8eebe492 Reset open_order_id after trade cancel
Part of #7526
2022-10-04 10:08:58 +00:00
Matthias 016e438468 Calculate market-change in hyperopt
closes #7532
2022-10-04 08:37:07 +00:00
Matthias bc6729f724 Improve readability of "now_is_time_to_refresh" 2022-10-04 06:56:10 +02:00
Matthias 7f308c5186 Remove last occurance of timerange index 2022-10-04 06:56:10 +02:00
Matthias 7f475e37d7 refactor refresh_latest_ohlcv 2022-10-04 06:56:06 +02:00
Matthias dc5c3a0ed2
Merge pull request #7523 from freqtrade/dependabot/pip/develop/ccxt-1.95.2
Bump ccxt from 1.93.98 to 1.95.2
2022-10-03 20:54:11 +02:00
Matthias 4c83552f3b
Merge pull request #7506 from freqtrade/cancel_partial_sell
Support cancellation partially filled exit orders
2022-10-03 19:36:51 +02:00
Matthias f0c04212f2
Merge pull request #7512 from freqtrade/add-data-hist-preds
add close price and date to `historic_predictions.pkl`
2022-10-03 19:27:45 +02:00
robcaulk 292d72d593 automatically handle model_save_type for user 2022-10-03 18:42:20 +02:00
Matthias ca22d857b7 Improve handling of trades that fail to cancel as they are closed 2022-10-03 18:09:53 +02:00
Robert Caulk 3585742b43
remove trailing whitespace 2022-10-03 17:28:45 +02:00
Robert Caulk 74277c7eff
Merge pull request #7511 from th0rntwig/improve-freqai-docs
Fix typos and correct/improve descriptions
2022-10-03 14:48:03 +02:00
Robert Caulk 265795824b
make default type for close_price and date_pred np.nan 2022-10-03 11:58:22 +02:00
th0rntwig c2d0eca9d8 Remove backticks around FreqAI 2022-10-03 11:01:58 +02:00
Robert Caulk 6ecd92de4a
Allow updating without changing identifier 2022-10-03 09:55:57 +02:00
Matthias 3921615023
Merge pull request #7524 from freqtrade/dependabot/pip/develop/mypy-0.981
Bump mypy from 0.971 to 0.981
2022-10-03 09:00:27 +02:00
Matthias ac7df58447
Merge pull request #7516 from freqtrade/dependabot/pip/develop/time-machine-2.8.2
Bump time-machine from 2.8.1 to 2.8.2
2022-10-03 08:59:13 +02:00
dependabot[bot] a78d6a05a6
Bump mypy from 0.971 to 0.981
Bumps [mypy](https://github.com/python/mypy) from 0.971 to 0.981.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.971...v0.981)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 06:10:30 +00:00
Matthias 616d69e0bd
Merge pull request #7517 from freqtrade/dependabot/pip/develop/pymdown-extensions-9.6
Bump pymdown-extensions from 9.5 to 9.6
2022-10-03 08:10:01 +02:00
Matthias ae0a39521b
Merge pull request #7518 from freqtrade/dependabot/pip/develop/pytest-cov-4.0.0
Bump pytest-cov from 3.0.0 to 4.0.0
2022-10-03 08:09:01 +02:00
dependabot[bot] 3c789bca63
Bump pymdown-extensions from 9.5 to 9.6
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.5 to 9.6.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.5...9.6)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 05:07:25 +00:00
Matthias 0af124701b
Merge pull request #7522 from freqtrade/dependabot/pip/develop/mkdocs-material-8.5.6
Bump mkdocs-material from 8.5.3 to 8.5.6
2022-10-03 07:06:19 +02:00
Matthias 4cf4642a6c Parametrize EMC test 2022-10-03 06:40:21 +02:00
dependabot[bot] f3d4c56b3b
Bump pytest-cov from 3.0.0 to 4.0.0
Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov) from 3.0.0 to 4.0.0.
- [Release notes](https://github.com/pytest-dev/pytest-cov/releases)
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v3.0.0...v4.0.0)

---
updated-dependencies:
- dependency-name: pytest-cov
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 04:35:34 +00:00
dependabot[bot] 6defa62297
Bump mkdocs-material from 8.5.3 to 8.5.6
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.5.3 to 8.5.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.5.3...8.5.6)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 04:35:31 +00:00
Matthias 9691524ade
Merge pull request #7520 from freqtrade/dependabot/pip/develop/mkdocs-1.4.0
Bump mkdocs from 1.3.1 to 1.4.0
2022-10-03 06:34:36 +02:00
Matthias a6bc00501f
Merge pull request #7521 from freqtrade/dependabot/pip/develop/pytest-mock-3.9.0
Bump pytest-mock from 3.8.2 to 3.9.0
2022-10-03 06:34:00 +02:00
dependabot[bot] 373132e135
Bump ccxt from 1.93.98 to 1.95.2
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.93.98 to 1.95.2.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.93.98...1.95.2)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 03:01:50 +00:00
dependabot[bot] 70d6c27e3e
Bump pytest-mock from 3.8.2 to 3.9.0
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock) from 3.8.2 to 3.9.0.
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases)
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-mock/compare/v3.8.2...v3.9.0)

---
updated-dependencies:
- dependency-name: pytest-mock
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 03:01:38 +00:00
dependabot[bot] 0a7e4d6da5
Bump mkdocs from 1.3.1 to 1.4.0
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.3.1 to 1.4.0.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.3.1...1.4.0)

---
updated-dependencies:
- dependency-name: mkdocs
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 03:01:36 +00:00
dependabot[bot] f722104f7e
Bump catboost from 1.0.6 to 1.1
Bumps [catboost](https://github.com/catboost/catboost) from 1.0.6 to 1.1.
- [Release notes](https://github.com/catboost/catboost/releases)
- [Changelog](https://github.com/catboost/catboost/blob/master/RELEASE.md)
- [Commits](https://github.com/catboost/catboost/compare/v1.0.6...v1.1)

---
updated-dependencies:
- dependency-name: catboost
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 03:01:30 +00:00
dependabot[bot] 6f7b75d4b0
Bump time-machine from 2.8.1 to 2.8.2
Bumps [time-machine](https://github.com/adamchainz/time-machine) from 2.8.1 to 2.8.2.
- [Release notes](https://github.com/adamchainz/time-machine/releases)
- [Changelog](https://github.com/adamchainz/time-machine/blob/main/HISTORY.rst)
- [Commits](https://github.com/adamchainz/time-machine/compare/2.8.1...2.8.2)

---
updated-dependencies:
- dependency-name: time-machine
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 03:01:13 +00:00
robcaulk b70f18f4c3 add close price and date to historic_predictions 2022-10-02 18:33:39 +02:00
Matthias 1727f99b58 Fix missing mock 2022-10-02 18:14:00 +02:00
th0rntwig 21440eaec2 Fix typos and correct/improve descriptions 2022-10-02 12:47:58 +02:00
Matthias d0b8c8b1a0 improve invalid canceled order response handling 2022-10-02 08:45:41 +02:00
Matthias a5bc75b48c Merge branch 'develop' into cancel_partial_sell 2022-10-02 08:38:18 +02:00
Matthias e686faf1bc Remove faulty test cleanup 2022-10-02 08:37:37 +02:00
Matthias 9bb061073d Improve tests 2022-10-02 08:36:34 +02:00
Matthias 308fa43007 Don't use magicmock as trade object 2022-10-02 08:30:19 +02:00
Matthias 564318415e Improve test resiliance 2022-10-02 08:12:03 +02:00
Matthias 851d1e9da1 Version bump 2022.9.1 2022-10-02 06:59:10 +02:00
Matthias 59cfde3767 Fix pandas deprecation warnings from freqAI 2022-10-02 06:59:10 +02:00
Matthias c53ff94b8e Force joblib update via setup.py 2022-10-02 06:54:08 +02:00
Robert Caulk 03256fc776 Merge pull request #7508 from aemr3/fix-pca-errors
Fix feature list match for PCA
2022-10-02 06:53:08 +02:00
Matthias 19b3669d97 Decrease message throughput
fixes memory leak by queue raising indefinitely
2022-10-02 06:50:34 +02:00
Matthias 6841bdaa81 Update test to verify webhook won't log-spam on new messagetypes 2022-10-02 06:50:19 +02:00
Matthias 8e101a9f1c Disable log spam from analyze_df in webhook/discord 2022-10-02 06:50:12 +02:00
Matthias 2c94ed2e59 Decrease message throughput
fixes memory leak by queue raising indefinitely
2022-10-01 21:23:33 +02:00
robcaulk cf882fa84e fix tests 2022-10-01 20:26:41 +02:00
robcaulk ab9d781b06 add reinforcement learning page to docs 2022-10-01 17:50:05 +02:00
robcaulk 048cb95bd6 Merge remote-tracking branch 'origin/develop' into dev-merge-rl 2022-10-01 17:48:47 +02:00
Robert Caulk 3e34f10e3d
Merge pull request #7508 from aemr3/fix-pca-errors
Fix feature list match for PCA
2022-10-01 16:50:29 +02:00
Robert Caulk 84b822dbf1
Merge pull request #7495 from th0rntwig/train-test-shuffle
Set train-test-split parameters shuffle=False as default and remove stratification
2022-10-01 14:52:14 +02:00
robcaulk f4c6b99d63 remove commented lines 2022-10-01 14:23:15 +02:00
robcaulk cd514cf15d fix inlier metric in backtesting 2022-10-01 14:18:46 +02:00
robcaulk f2b875483f ensure raw features match when PCA is employed 2022-10-01 13:14:59 +02:00
robcaulk 51556e08c3 Merge branch 'develop' into pr/th0rntwig/7495 2022-10-01 12:45:08 +02:00
Matthias 6702a1b219 Update test to verify webhook won't log-spam on new messagetypes 2022-10-01 09:45:58 +02:00
Matthias 8f8b5cc28e Disable log spam from analyze_df in webhook/discord 2022-10-01 09:35:21 +02:00
Matthias 201bbbcee6 Okx formatting 2022-10-01 09:32:16 +02:00
Matthias a96aa568bf Add binance futures mode checks
closes #7505
2022-10-01 09:23:41 +02:00
Matthias 545d652352 Update okx exception wording 2022-10-01 09:02:05 +02:00
Matthias fad9026939 Update updating docs
closes #7507
2022-10-01 08:35:51 +02:00
Emre cdc01a0781
Fix feature list match for pca 2022-09-30 15:22:05 -07:00
Matthias 47ef99f588 Simplify interface to notify_exit_cancel 2022-09-30 17:18:27 +02:00
Matthias 819488c906 Improve exit message wording 2022-09-30 17:04:34 +02:00
Matthias c946d30596 Add partial cancel message 2022-09-30 16:24:16 +02:00
Matthias 649879192b Implement partial sell 2022-09-30 16:24:16 +02:00
Matthias d462f40299 Simple test improvements 2022-09-30 16:24:07 +02:00
Matthias bd664580fb Don't unnecessarily reset order_id 2022-09-30 15:43:23 +02:00
Matthias cc06c60fd8 Fix pandas deprecation warnings from freqAI 2022-09-30 15:43:23 +02:00
Matthias 0d8dfc1a92 Force joblib update via setup.py 2022-09-30 13:47:26 +02:00
Matthias f6a0d677d2 Remove pointless notification assignment 2022-09-30 09:34:00 +02:00
Matthias 7dd984e25e Simplify cancel_entry 2022-09-30 09:34:00 +02:00
Matthias 561600e98b Remove false test statements
a trade is ONLY closed on `.close()` - which will only happen once the last order has been filled.
2022-09-30 09:34:00 +02:00
Matthias 2d2ff2fff6 remove unnecessary assignments and comments 2022-09-30 09:34:00 +02:00
Matthias 2ce265bed3
Merge pull request #7473 from freqtrade/feat/producerpairlist
Producerpairlist
2022-09-30 06:54:15 +02:00
Matthias 34951f59d2 Update failing tests 2022-09-30 06:44:19 +02:00
robcaulk be48131185 make shuffle false in constants 2022-09-30 00:33:08 +02:00
robcaulk 38aca8e908 fix failing svm test 2022-09-30 00:22:31 +02:00
Robert Caulk 09e834fa21
Merge pull request #7492 from wizrds/freqai-rl-dev
Shutdown Subproc Env on signal
2022-09-30 00:19:44 +02:00
Matthias 578da343dc
Merge pull request #7491 from freqtrade/partial_close_leverage
Partial close leverage
2022-09-29 19:42:16 +02:00
Matthias b4fb28e4ef Update tests for new dataload strategy 2022-09-29 19:18:52 +02:00
Matthias 00965d8c06 Default to assume stored data only contains complete candles
closes #7468
2022-09-29 19:18:52 +02:00
Matthias 0680ca2fe8
Merge pull request #7497 from freqtrade/new_release
New release 2022.9
2022-09-29 18:06:57 +02:00
Robert Caulk 6e74d46660
Ensure 1 thread available 2022-09-29 14:02:00 +02:00
Robert Caulk 7ef56e3029
Ensure at least 1 thread is available 2022-09-29 14:01:22 +02:00
Robert Caulk 555cc42630
Ensure 1 thread is available (for testing purposes) 2022-09-29 14:00:09 +02:00
Matthias d0456b698c Version bump 2022.9 2022-09-29 07:22:41 +02:00
Matthias f3085443d5 Merge branch 'stable' into new_release 2022-09-29 07:22:29 +02:00
Matthias 80d0e66b48 Update log level in test 2022-09-29 07:19:16 +02:00
Matthias 388a572cb3 Version bump develop version 2022-09-29 07:17:38 +02:00
Matthias ac229b7a42 Reduce message consumer verbosity 2022-09-29 07:10:00 +02:00
Wagner Costa Santos 6845a5c6ea backtest_live_models - refactoring after PR review 2022-09-29 01:48:38 -03:00
Matthias 4e920e9c53 Reduce verbosity of sending-message 2022-09-29 06:41:16 +02:00
Robert Caulk dcf6ebe273
Update BaseReinforcementLearningModel.py 2022-09-29 00:37:03 +02:00
robcaulk 83343dc2f1 control number of threads, update doc 2022-09-29 00:10:18 +02:00
th0rntwig 772abfc6f0 Add default value for shuffle in docs 2022-09-28 19:29:02 +02:00
th0rntwig 683b084323 Set train-test-split shuffle=False as default and remove stratification 2022-09-28 18:23:56 +02:00
Wagner Costa Santos df0927cdee Merge branch 'develop' into backtest_live_models 2022-09-28 08:49:15 -03:00
Wagner Costa Santos 55ebbeec18 backtest_live models tests refactoring 2022-09-28 08:48:32 -03:00
Matthias fb3d408338 Respect max_open_trades when forceentering
closes #7489
2022-09-28 09:32:07 +00:00
Matthias e9abe3cb68 Ease end of line rules 2022-09-28 07:24:43 +00:00
Matthias 7e124618d4 Move "success" notification to last pipeline step 2022-09-28 06:27:15 +00:00
Matthias 7c84edbc23 Avoid online call when asking for `/status`. 2022-09-28 07:21:52 +02:00
Matthias a06372c7b2 Improve jupyter container install
closes #7484
2022-09-28 07:21:20 +02:00
Timothy Pogue 099137adac remove hasattr calls 2022-09-27 22:35:15 -06:00
Timothy Pogue 9e36b0d2ea fix formatting 2022-09-27 22:02:33 -06:00
Timothy Pogue caa47a2f47 close subproc env on shutdown 2022-09-28 03:06:05 +00:00
Matthias 42cecb83f2 Disable base64 loading via API
closes severe RCE vulnerability reported privately.
2022-09-27 20:37:16 +02:00
Matthias e668bf7138 Test case to disable base64 strategies via API 2022-09-27 20:36:27 +02:00
Matthias 255c748ca2 Update docs for new trade_position behavior 2022-09-27 19:55:17 +02:00
Matthias 30a5bb08dd partial exits should account for leverage 2022-09-27 19:53:55 +02:00
Matthias 8eda3a45a3 Test backest detail with leverage 2022-09-27 19:52:34 +02:00
Matthias 6c491ee02e Update missed changes to plot_feature_importance 2022-09-27 18:17:49 +02:00
Wagner Costa Santos 3c002ff752 Merge branch 'develop' into backtest_live_models 2022-09-27 10:27:47 -03:00
Wagner Costa Santos 0be115de9c backtest_live_models - added new tests and refactoring 2022-09-27 10:26:57 -03:00
Matthias 895b15abbc Fix rpi CI 2022-09-27 11:06:13 +00:00
Matthias 24c1d84982 Fix lineending 2022-09-27 09:26:52 +00:00
Matthias 9d462af047 Temporary workaround for PI image 2022-09-27 08:54:18 +00:00
Matthias 8c2e473ee5 Fix test warning 2022-09-27 08:53:29 +00:00
Matthias 43e847ff2f Update to pandas 1.5.0 syntax, avoiding warnings 2022-09-27 08:02:51 +00:00
Matthias bc007ce038 Update binance leverage tiers
closes #7485
2022-09-27 07:14:55 +02:00
Wagner Costa Santos 72aa47fc51 backtest_live_models - fix issue with timerange BT and 2 trainings within same candle (no data) 2022-09-27 00:14:12 -03:00
Wagner Costa Santos 14b96aaa38 backtesting live models - fix ci issues 2022-09-26 19:52:59 -03:00
Wagner Costa Santos 290afd9699 backtest_live_models - fix typo 2022-09-26 19:21:53 -03:00
Wagner Costa Santos 0318ca9f12 backtest_live_models - fix typo 2022-09-26 19:08:25 -03:00
Wagner Costa Santos 22bef71d5d backtest_live_models - add function comments and tests 2022-09-26 19:01:24 -03:00
Wagner Costa Santos 182d9e5426 Merge branch 'develop' into backtest_live_models 2022-09-26 17:23:44 -03:00
Matthias ba8c714698 Require kwargs on ohlcv_load 2022-09-26 20:33:49 +02:00
Matthias 853a4d1014
Merge pull request #7395 from freqtrade/improve-freqai-docs
Reorganize and improve FreqAI docs
2022-09-26 20:12:25 +02:00
Matthias eb36105de4 Fix some random typos 2022-09-26 19:47:56 +02:00
Matthias cf5267a4d3
Merge pull request #7481 from chusri/develop
✏️ fixed typo from StaticPairlist to StaticPairList
2022-09-26 18:11:56 +02:00
Matthias 9f32e02bba
Update missing testcase 2022-09-26 17:10:23 +02:00
Thaweesak Chusri 4faa6a0bd7 🐛 updated test case from StaticPairlist to StaticPairList 2022-09-26 21:51:59 +08:00
Matthias 3d72168c01
Merge pull request #7479 from freqtrade/dependabot/pip/develop/types-requests-2.28.11
Bump types-requests from 2.28.10 to 2.28.11
2022-09-26 14:15:48 +02:00
Matthias d493b2b7e7
Merge pull request #7406 from freqtrade/dependabot/pip/develop/ta-lib-0.4.25
Bump ta-lib from 0.4.24 to 0.4.25
2022-09-26 14:13:15 +02:00
Matthias 5477966cb6
Merge pull request #7478 from freqtrade/dependabot/pip/develop/pandas-1.5.0
Bump pandas from 1.4.4 to 1.5.0
2022-09-26 13:23:15 +02:00
dependabot[bot] 32930a269e
Bump pandas from 1.4.4 to 1.5.0
Bumps [pandas](https://github.com/pandas-dev/pandas) from 1.4.4 to 1.5.0.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Changelog](https://github.com/pandas-dev/pandas/blob/main/RELEASE.md)
- [Commits](https://github.com/pandas-dev/pandas/compare/v1.4.4...v1.5.0)

---
updated-dependencies:
- dependency-name: pandas
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 09:36:05 +00:00
Matthias 8e0811d9de Call cleanup explicitly 2022-09-26 09:35:21 +00:00
Matthias cde1d1c2b3
Merge pull request #7474 from wizrds/bugfix-emc
Fix bug in API Server WebSocket
2022-09-26 10:45:44 +02:00
Matthias ed2c960a93
Update types-requests for pre-commit 2022-09-26 10:25:49 +02:00
Matthias a1a62681bf add fixes for random test failures 2022-09-26 08:11:00 +00:00
Matthias 041258a549 Fix arm test failure 2022-09-26 07:02:40 +00:00
Matthias ecb41ff9aa
Merge pull request #7476 from freqtrade/dependabot/pip/develop/ccxt-1.93.98
Bump ccxt from 1.93.66 to 1.93.98
2022-09-26 09:01:19 +02:00
Matthias 965f8ff39b
Merge pull request #7477 from freqtrade/dependabot/pip/develop/mkdocs-material-8.5.3
Bump mkdocs-material from 8.5.2 to 8.5.3
2022-09-26 08:07:32 +02:00
dependabot[bot] 8ef3a41a0e
Bump ccxt from 1.93.66 to 1.93.98
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.93.66 to 1.93.98.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.93.66...1.93.98)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 05:18:23 +00:00
Matthias b90513d676
Merge pull request #7480 from freqtrade/dependabot/pip/develop/aiohttp-3.8.3
Bump aiohttp from 3.8.1 to 3.8.3
2022-09-26 07:17:13 +02:00
Thaweesak Chusri c4784c6695 ✏️ fixed typo from StaticPairlist to StaticPairList 2022-09-26 11:05:27 +08:00
dependabot[bot] 5faaa25faf
Bump aiohttp from 3.8.1 to 3.8.3
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.8.1 to 3.8.3.
- [Release notes](https://github.com/aio-libs/aiohttp/releases)
- [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst)
- [Commits](https://github.com/aio-libs/aiohttp/compare/v3.8.1...v3.8.3)

---
updated-dependencies:
- dependency-name: aiohttp
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 03:02:00 +00:00
dependabot[bot] 95a2d43e1a
Bump types-requests from 2.28.10 to 2.28.11
Bumps [types-requests](https://github.com/python/typeshed) from 2.28.10 to 2.28.11.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 03:01:52 +00:00
dependabot[bot] a38f47e1a5
Bump mkdocs-material from 8.5.2 to 8.5.3
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.5.2 to 8.5.3.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.5.2...8.5.3)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 03:01:37 +00:00
Wagner Costa Santos ec947ad65c remove commented code - backtest_live_models 2022-09-25 23:47:27 -03:00
Wagner Costa Santos 5880f7a638 backtest_live_models - params validation and get timerange from live models in BT 2022-09-25 23:14:00 -03:00
Wagner Costa Santos f3f3917da3 Merge branch 'develop' into backtest_live_models 2022-09-25 20:05:26 -03:00
Timothy Pogue e54ed5b10e fix runtime error: dict changed size during iteration 2022-09-25 15:05:56 -06:00
robcaulk f5535e780c change wording, switch FreqAI word format 2022-09-25 21:18:51 +02:00
robcaulk 117e510e61 Merge branch 'develop' into improve-freqai-docs 2022-09-25 20:53:36 +02:00
Robert Caulk 8051235171
Merge pull request #7465 from freqtrade/aggregate-fixes-fai
Aggregate recent feature requests
2022-09-25 20:43:23 +02:00
robcaulk 48e89e68b9 fix typos 2022-09-25 20:22:19 +02:00
Matthias e53f0ce897 Update wheels to build with crypto fix 2022-09-25 19:33:12 +02:00
Matthias af59572cb9 prior pairlists should go first 2022-09-25 19:32:39 +02:00
Matthias adb5b98a3d Fix pre-commit lineending 2022-09-25 19:29:20 +02:00
Robert Caulk 0e7ec182a3
Merge pull request #7466 from th0rntwig/improve-freqai-docs
Revise FreqAI multipage docs structure
2022-09-25 17:51:58 +02:00
Wagner Costa Santos 0ed7b2bfc3 change start_backtesting to handle backtest_live_models 2022-09-25 10:35:55 -03:00
robcaulk 677c5719bf improve inlier-metric figure 2022-09-25 15:22:08 +02:00
th0rntwig 02dba5304b Revise FreqAI multipage docs structure 2022-09-25 12:12:35 +02:00
robcaulk 873d2a5069 no model save backtest, plot features backtest, ensure inlier plays nice, doc 2022-09-25 11:18:10 +02:00
Matthias bd106b4b8e Add tests for Producerpairlist 2022-09-25 10:13:00 +02:00
Matthias 1bb45a2650 Fix crash due to insufficient check 2022-09-25 09:47:57 +02:00
Matthias 30d51b6939 Move "pairlist" logging to manager 2022-09-25 09:43:39 +02:00
Matthias 1c089dcd51 Add docs for Producer/consumer pairlist 2022-09-25 09:40:44 +02:00
Matthias 527fd36134 num_assets should be optional 2022-09-25 09:38:20 +02:00
Matthias 4940fa7be3 Add Producer Pairlist 2022-09-25 09:29:22 +02:00
Matthias 0c810868de Add Dataprovider to pairlist 2022-09-25 09:22:21 +02:00
Matthias f4fac53a13
Merge pull request #7458 from xmatthias/dataformat/feather
new Dataformats feather and Parquet
2022-09-25 09:00:22 +02:00
Matthias 96336cb552
Merge pull request #7462 from freqtrade/pre-commit-ci
Use pre-commit in Ci to check for all things
2022-09-25 08:50:40 +02:00
Wagner Costa Santos 7f116db95e added generic function to get timerange from existent models 2022-09-24 13:01:53 -03:00
Wagner Costa Santos d9c16d4888 Merge branch 'develop' into backtest_live_models 2022-09-24 12:30:55 -03:00
Wagner Costa Santos 3ee7eb63f7 starting backtest live models 2022-09-24 12:28:52 -03:00
Matthias 873eb5f2ca Improve EMC config validations 2022-09-24 16:43:58 +02:00
Matthias 1bd742f7e9 Properly setup pre-commit job 2022-09-24 16:31:29 +02:00
Matthias 585342f193
Merge pull request #7454 from freqtrade/fix_backtesting_dfsize_freqai
Ensure the DF has the same size in backtesting FreqAI
2022-09-24 16:17:39 +02:00
Matthias e63f9e1c14 Use pre-commit in Ci to check for all things 2022-09-24 16:16:47 +02:00
Matthias 8d77ba118c Fix line endings 2022-09-24 16:15:15 +02:00
Matthias 50dfde7048 Remove unnecessary typing import 2022-09-24 16:11:15 +02:00
Matthias 53c8e0923f Improve typing in message_consumer 2022-09-24 16:10:42 +02:00
Matthias 166ae8e3a1 Remove missleading comment 2022-09-24 15:51:20 +02:00
Matthias 98ba57ffaa Better test for contract calculation change
closes #7449
2022-09-24 15:25:04 +02:00
Matthias 4efe2e9bc4 use FtPrecise to convert to contracts and back 2022-09-24 14:55:58 +02:00
Matthias 00b192b4df Add test to verify #7449 2022-09-24 14:51:58 +02:00
paranoidandy 2cc00a1a2c
Allow use of --strategy-list with freqai, with warning (#7455)
* Allow use of --strategy-list with freqai, with warning

* ensure populate_any_indicators is identical for resused identifiers

* use pair instead of metadata["pair"]

Co-authored-by: robcaulk <rob.caulk@gmail.com>
2022-09-24 13:21:01 +02:00
Matthias e429aa16f3 Add note about enter_tag handling
closes #7336
2022-09-24 11:21:50 +02:00
Matthias 6643d90e64 simplify freqAI start_backtesting 2022-09-24 10:34:14 +02:00
Matthias 5d27d5689f
Merge pull request #7457 from aemr3/add-training-time
Add elapsed time to Freqai training logs
2022-09-24 10:27:08 +02:00
Matthias d9c8e7157b
Merge pull request #7460 from wizrds/bugfix-emc
Bug fix in External Message Consumer
2022-09-24 06:49:18 +02:00
Timothy Pogue af974443cd add test 2022-09-23 13:37:46 -06:00
Timothy Pogue 6b5d71049e add sleep 2022-09-23 13:10:45 -06:00
Timothy Pogue 4c7cef570f typo in exception 2022-09-23 12:58:26 -06:00
Timothy Pogue b8e1d29a1b catch connectionclosederror 2022-09-23 12:36:05 -06:00
Matthias cf05f374cf
Merge pull request #7459 from wizrds/fix-producer-docs
Fix typo in Configuration docs for Producer
2022-09-23 20:28:55 +02:00
Timothy Pogue 255ff000af typo in configuration.md 2022-09-23 12:12:47 -06:00
Matthias 2fffe7c5dd Fix missing comma 2022-09-23 20:03:33 +02:00
Matthias 7c093388e7 Add pyarrow dependency 2022-09-23 19:36:23 +02:00
robcaulk 647200e8a7 isort 2022-09-23 19:30:56 +02:00
robcaulk 77c360b264 improve typing, improve docstrings, ensure global tests pass 2022-09-23 19:17:27 +02:00
Matthias 4576d291a9 Update data command outputs 2022-09-23 18:25:26 +02:00
Matthias 7e1e388b9c Add feather/parquet docs 2022-09-23 18:24:30 +02:00
robcaulk 9c361f4422 increase test coverage for RL and FreqAI 2022-09-23 18:04:43 +02:00
Matthias 48352b8a37 Update hdf5 handler to reset index on load 2022-09-23 14:49:17 +00:00
Matthias 0bbb6faeba Add generic datahandler test 2022-09-23 13:23:17 +00:00
Robert Caulk 95121550ef
Remove unnecessary models, add model arg 2022-09-23 10:37:34 +02:00
Robert Caulk f7dd3045f7
Parameterize backtesting test 2022-09-23 10:30:52 +02:00
Robert Caulk f5cd8f62c6
Remove unused code from BaseEnv 2022-09-23 10:24:39 +02:00
Emre a4eaff4da6
Add training elapsed time 2022-09-23 01:18:34 -07:00
robcaulk 1c56fa034f add test_models folder 2022-09-23 09:19:16 +02:00
Matthias 5fb56b09f2 Test Feather/parquet datahandler init 2022-09-23 07:20:09 +02:00
Matthias 983a16d937 Rudimentary "not implemented" test 2022-09-23 07:18:18 +02:00
Matthias 044891f543 Add conditional formats depending on mode 2022-09-23 07:18:18 +02:00
Matthias dc2b93228b Add ParquetDataHandler 2022-09-23 07:18:18 +02:00
Matthias 3c0d2c446d Add Feather datahandler (no trade mode yet) 2022-09-23 07:18:18 +02:00
Matthias 7b4af85425 Remove double-init in test 2022-09-23 07:18:08 +02:00
Matthias f62f2bb1ca Improve datahandler tests 2022-09-23 07:17:33 +02:00
Matthias 2a5bc58df8 Split datahandler and history tests 2022-09-23 07:09:34 +02:00
Matthias 1db8421b9d
Merge pull request #7303 from wizrds/feat/externalsignals
Producer/consumer mode
2022-09-23 06:29:58 +02:00
robcaulk 7295ba0fb2 add test for Base4ActionEnv 2022-09-22 23:42:33 +02:00
robcaulk b7c60e810a improve class diagram 2022-09-22 21:32:12 +02:00
robcaulk f6e9753c99 show advanced users how they can customize agent indepth` 2022-09-22 21:18:09 +02:00
robcaulk eeebb78a5c skip darwin in RL tests, remove example scripts, improve doc 2022-09-22 21:16:21 +02:00
Matthias 06a5cfa401 Update "branding" to producer/follower mode 2022-09-22 21:08:06 +02:00
Matthias 1626eb7f97 Update dataprovider function name to `get_producer_df` 2022-09-22 20:46:40 +02:00
Matthias e6c5c22ea0 Update websocket/follower docs 2022-09-22 20:31:42 +02:00
robcaulk ea8e34e192 Merge branch 'develop' into dev-merge-rl 2022-09-22 19:46:50 +02:00
th0rntwig 71e6c54ea4
Normalise distances before Weibull fit (#7432)
* Normalise distances before Weibull

* Track inlier-metric params
2022-09-22 18:11:50 +02:00
Wagner Costa Santos b1dbc3a65f remove function remove_training_from_backtesting and ensure BT period is correct with startup_candle_count 2022-09-22 12:13:51 -03:00
Robert Caulk 3e1e530aca
Merge branch 'develop' into improve-freqai-docs 2022-09-22 15:58:27 +02:00
Timothy Pogue 6a6ae809f4 fix jwt auth 2022-09-21 18:23:00 -06:00
Timothy Pogue 77ed713232 add catch for invalid message error 2022-09-21 16:04:25 -06:00
Timothy Pogue 128b117af6 support list of tokens in ws_token 2022-09-21 16:02:21 -06:00
Timothy Pogue 0811bca8b4 revise docs, update dp method docstring 2022-09-21 15:50:11 -06:00
Matthias 91dc5e7aa6 Be sure to provide an amount in entry notifications 2022-09-21 21:12:08 +02:00
Matthias 08e183fb55 Add note about okx trading mode 2022-09-21 20:59:12 +02:00
paranoidandy 366c6c24d8 Add docs for External Signals API 2022-09-21 12:52:23 -06:00
Matthias 923182680e Explicitly define notification defaults 2022-09-21 12:46:58 +00:00
Matthias f7b8c5a767 Reorder telegram noise sample 2022-09-21 12:46:58 +00:00
Matthias 02f2096fc3 Reverse and fix rangestability conditions
closes #7447
2022-09-21 06:53:07 +02:00
Matthias 8f41f943b4 Fix 0.0 amount message wording 2022-09-21 06:42:55 +02:00
Matthias ff36431680 Adjust tests for new messageType handling 2022-09-20 20:34:56 +02:00
Matthias 3b0874eb37 Update exit message handling to gracefully handle kucoins "empty" responses
closes #7444
2022-09-20 20:00:08 +02:00
Matthias 0c01b23cba Capture exceptions in send_msg calls 2022-09-20 18:09:14 +02:00
Matthias 0bd6ad55a1 Always show freqtrade version 2022-09-20 14:14:54 +00:00
Matthias 8a91c8e220 Sort and dedup pairs before data conversion 2022-09-20 13:36:28 +00:00
Matthias 6c18fa0847 Update proxy docs 2022-09-20 09:30:48 +00:00
Matthias 914eccecec Merge branch 'develop' into pr/wizrds/7303 2022-09-20 06:56:15 +02:00
Matthias 3274bb0751 Remove msgpack for now 2022-09-20 06:55:22 +02:00
robcaulk b5fd11f91b protect against unforeseen issues in scanning thread 2022-09-19 21:18:31 +02:00
Matthias 32d46e8a6b Improve fixture naming 2022-09-19 20:59:53 +02:00
Matthias 703bcc099a Fix list-pair regex to also support 1INCH/USDT 2022-09-19 20:32:54 +02:00
Matthias eb9ac9cbda add --exchange to convert-trade-data 2022-09-19 20:29:28 +02:00
Matthias a023ac26f3
Merge pull request #7441 from freqtrade/train-queue
Ensure train ordering after restart
2022-09-19 19:33:16 +02:00
robcaulk 42c75b4a7b combine log messages 2022-09-19 19:16:32 +02:00
Robert Caulk 9b66297cc0
Fix append 2022-09-19 12:47:20 +02:00
Robert Caulk 995396c775
Add useful log info 2022-09-19 11:42:56 +02:00
Robert Caulk ad652817ef
Ensure train ordering after restart
Ensure lowest timestamps get trained first after restart
2022-09-19 11:11:23 +02:00
Robert Caulk f9460c80c2
Merge pull request #7434 from freqtrade/improve-train-queue
improve train queue system in FreqAI
2022-09-19 10:55:53 +02:00
Matthias ea58c29ded Add plot_feature_importance to schema definition 2022-09-19 08:13:54 +00:00
Matthias 225f7cd5f8
Merge pull request #7431 from initrv/add-plot-feature-importance
Add plot feature importance
2022-09-19 08:41:10 +02:00
Matthias 2c4137e5ca
Merge pull request #7440 from freqtrade/dependabot/pip/develop/fastapi-0.85.0
Bump fastapi from 0.83.0 to 0.85.0
2022-09-19 08:01:12 +02:00
Matthias ec7642febf
Merge pull request #7437 from freqtrade/dependabot/pip/develop/ccxt-1.93.66
Bump ccxt from 1.93.35 to 1.93.66
2022-09-19 08:00:57 +02:00
Matthias 4a0a0c307c Use json_load to load leverage tiers 2022-09-19 07:23:26 +02:00
Matthias d930931000 Bring back sleep - it'll ensure we give up control over the thread. 2022-09-19 07:14:33 +02:00
Matthias 1d0e686cd4
Merge pull request #7436 from freqtrade/dependabot/pip/develop/joblib-1.2.0
Bump joblib from 1.1.0 to 1.2.0
2022-09-19 06:59:10 +02:00
Matthias cc89b4127a
Merge pull request #7439 from freqtrade/dependabot/pip/develop/mkdocs-material-8.5.2
Bump mkdocs-material from 8.4.3 to 8.5.2
2022-09-19 06:57:47 +02:00
dependabot[bot] b5f51b5ec2
Bump fastapi from 0.83.0 to 0.85.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.83.0 to 0.85.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.83.0...0.85.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 04:34:24 +00:00
Matthias 613ad8cb31
Merge pull request #7438 from freqtrade/dependabot/pip/develop/pyjwt-2.5.0
Bump pyjwt from 2.4.0 to 2.5.0
2022-09-19 06:33:29 +02:00
dependabot[bot] 15c9b6bf41
Bump mkdocs-material from 8.4.3 to 8.5.2
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.4.3 to 8.5.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.4.3...8.5.2)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 03:02:33 +00:00
dependabot[bot] cbdb0ce3e7
Bump pyjwt from 2.4.0 to 2.5.0
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.4.0...2.5.0)

---
updated-dependencies:
- dependency-name: pyjwt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 03:02:23 +00:00
dependabot[bot] f512717943
Bump ccxt from 1.93.35 to 1.93.66
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.93.35 to 1.93.66.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.93.35...1.93.66)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 03:02:16 +00:00
dependabot[bot] 4cdc89706e
Bump joblib from 1.1.0 to 1.2.0
Bumps [joblib](https://github.com/joblib/joblib) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/joblib/joblib/releases)
- [Changelog](https://github.com/joblib/joblib/blob/master/CHANGES.rst)
- [Commits](https://github.com/joblib/joblib/compare/1.1.0...1.2.0)

---
updated-dependencies:
- dependency-name: joblib
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 03:02:04 +00:00
Matthias 8116ca847b move trades_get_pairs to parent class 2022-09-18 19:40:03 +02:00
Matthias a06eee300a move ohlcv_get_pairs to parent class 2022-09-18 19:36:23 +02:00
Matthias 584b2381d1 Fix Imports 2022-09-18 19:36:11 +02:00
Matthias 9e01ff5a72
Merge pull request #7435 from th0rntwig/improve-freqai-docs
Add Common pitfalls
2022-09-18 19:24:10 +02:00
robcaulk 470d5d8405 ensure full new pairlist is in the queue 2022-09-18 17:08:07 +02:00
robcaulk eaa43337d2 improve train queue system, ensure crash resilience in train queue. 2022-09-18 17:00:55 +02:00
th0rntwig edbe9137da Add Common pitfalls 2022-09-18 14:51:11 +02:00
robcaulk 95457d23ca escape freqai-specific characters from file naming 2022-09-18 13:59:30 +02:00
Matthias 994c1c5ea0 use Config typing in more places 2022-09-18 13:31:52 +02:00
Matthias 667853c504 Use Alias to type config objects 2022-09-18 13:20:55 +02:00
robcaulk 188f75d8ec set model in models dict 2022-09-18 12:50:44 +02:00
Matthias 27c46300a7
Merge pull request #7430 from th0rntwig/improve-freqai-docs
Reorganise multipage doc
2022-09-18 10:22:45 +02:00
Matthias 9f23588154 strategy template - remove pointless noqa's 2022-09-18 08:58:33 +02:00
Matthias 7a73adb955 Improve default strategy template 2022-09-18 08:57:26 +02:00
Matthias faf84295a5 Separate strategy subtemplates for better overview 2022-09-18 08:52:53 +02:00
Matthias ab78fb373a Improve freqAI strategy formatting and readability 2022-09-18 08:45:24 +02:00
Matthias 4634936265 additional support for --data-dir 2022-09-18 08:39:03 +02:00
Matthias fa3d4b58ab Revert unnecessary formatting 2022-09-18 08:30:59 +02:00
Robert Caulk bdeb2f9c6a
Merge branch 'develop' into add-plot-feature-importance 2022-09-18 00:02:46 +02:00
robcaulk 1ef875901a maintian user privacy by keeping plotly offline 2022-09-18 00:01:42 +02:00
robcaulk 68f7a31504 ensure continued operation despite not being able to plot 2022-09-18 00:00:14 +02:00
robcaulk 2c23effbf2 allow plot to plot multitargets, add test 2022-09-17 19:17:44 +02:00
initrv 1c92734f39 simplify plot_feature_importance call 2022-09-17 18:53:43 +03:00
robcaulk 7b1d409c98 fix mypy/flake8 2022-09-17 17:51:06 +02:00
robcaulk d056d766ed make tests pass 2022-09-17 17:46:47 +02:00
th0rntwig c210d6614c Reorganise multipage doc 2022-09-17 17:43:39 +02:00
Matthias 92a32ab31b Add documentation for stop-market on binance futures
part of #7426
2022-09-17 17:14:45 +02:00
Matthias 063511826c Update stoploss on exchange logic
closes #7424
2022-09-17 17:11:00 +02:00
Matthias 9f266cbcb2 Allow safe_price for market stop orders 2022-09-17 17:11:00 +02:00
Matthias ca6dec3d4c Binance spot also allows market orders
closes #7426
2022-09-17 17:11:00 +02:00
Matthias 8639c1f23d Reduce complexity in binance stoploss handling 2022-09-17 17:11:00 +02:00
Matthias 93237efc15
Merge pull request #7428 from freqtrade/informative_freqai
Informative freqai
2022-09-17 16:44:28 +02:00
Matthias 38b28fc4da Update duplicated test 2022-09-17 14:19:20 +02:00
Matthias 4182a7891a Allow leverage tier cache to be 4 weeks old.
we've seen from binance that it's not changing this often.
2022-09-17 10:41:48 +02:00
Matthias 6682ae35b3 Update cached binance_leverage_tiers 2022-09-17 10:37:47 +02:00
Matthias 10ec681b30 Clean up no longer needed informative sample code 2022-09-17 10:19:46 +02:00
Matthias d62cef01be Add test for __informative_pairs_freqai 2022-09-17 10:18:08 +02:00
Matthias 0aada271ca Move informative_pairs for freqAI to backend 2022-09-17 10:17:22 +02:00
Timothy Pogue 4422ac7f45 constrain port in config, catch value error 2022-09-16 19:22:24 -06:00
initrv 86aa875bc9 plot features as html instead of png 2022-09-16 21:47:12 +03:00
initrv b707a6da35 Add ability to plot feature importance 2022-09-16 19:17:41 +03:00
Matthias e5368f5a14 backtesting confirm_trade_entry should pass correct amount, not stake-amount
closes #7423
2022-09-16 13:24:20 +00:00
Timothy Pogue b0b575ead9 change json serialize to split orient 2022-09-16 00:02:27 -06:00
Timothy Pogue 1ad25095c1 change test server from localhost to 127.0.0.1 2022-09-15 19:40:45 -06:00
Timothy Pogue efaef68ad7 Merge branch 'develop' into feat/externalsignals 2022-09-15 18:09:25 -06:00
Timothy Pogue 7d1645ac20 fix tests and warning message 2022-09-15 17:54:31 -06:00
Timothy Pogue 8e75852ff3 fix constants, update config example, add emc config validation 2022-09-15 11:12:05 -06:00
robcaulk 025b98decd bring back doc sentence 2022-09-15 01:01:33 +02:00
robcaulk 3b97b3d5c8 fix mypy error for strategy 2022-09-15 00:56:51 +02:00
robcaulk 8aac644009 add tests. add guardrails. 2022-09-15 00:46:35 +02:00
Timothy Pogue 6126925dbe message size limit in mb, default to 8mb 2022-09-14 16:42:14 -06:00
robcaulk 48140bff91 fix bug in 4ActRLEnv 2022-09-14 22:53:53 +02:00
robcaulk 81417cb795 Merge branch 'develop' into dev-merge-rl 2022-09-14 22:49:11 +02:00
Matthias 711849abd6 Use Wheels for win builds 2022-09-14 07:16:57 +02:00
Matthias 8a236c3c4f
Merge pull request #7412 from initrv/fix-purge-old-models
Fixed a bug that prevents clearing old models
2022-09-14 07:10:57 +02:00
Matthias 91bc3d1161 Update docs aroudn use_exit_signal
close #7413
2022-09-14 07:04:14 +02:00
Matthias 49800e4cc3 pin ci python to 3.10.6 for now 2022-09-14 06:55:05 +02:00
Timothy Pogue aed19ff6ce fix The future belongs to a different loop error 2022-09-13 19:17:12 -06:00
initrv 37dd22c89e Fixed a bug that prevents clearing old models
Corrects the error of clearing old models when the model directory contains directories with names that do not match a regular expression
2022-09-14 03:40:13 +03:00
Timothy Pogue 06350a13cb support specifying message size in emc config 2022-09-13 16:39:53 -06:00
Timothy Pogue d75d5a7dad debug ping error message 2022-09-13 16:06:25 -06:00
Matthias 7a98775f01 Version bump apiVersion 2022-09-13 22:07:59 +02:00
Timothy Pogue 46a425d1b6 fix OOM on emc test 2022-09-13 13:36:21 -06:00
Matthias 7b6e465d57 Remove gate live test skip 2022-09-13 21:28:11 +02:00
Matthias 877d24bcdd Fix external dependency of test 2022-09-13 20:52:07 +02:00
Matthias d2abc9417f Simplify ws imports 2022-09-13 20:51:13 +02:00
Matthias 79c70bd52d use WebSocketState from fastapi
available since 0.82.0
2022-09-13 20:50:12 +02:00
Timothy Pogue aeaca78940 change port in send_msg test 2022-09-13 12:39:12 -06:00
Timothy Pogue 07aa206f71 real fix for reconnecting 2022-09-13 12:36:40 -06:00
Timothy Pogue 6d0dfd4dc8 continue trying connect on ping error 2022-09-13 12:27:41 -06:00
Timothy Pogue 75ce9067dc fix dp test 2022-09-12 16:39:16 -06:00
Robert Caulk 26441820a9
Merge pull request #7390 from aemr3/add-xgboostclassifier
Add XGBoostClassifier
2022-09-12 23:38:04 +02:00
Timothy Pogue bf2e5dee75 add running false on shutdown, fix dp typing 2022-09-12 14:21:39 -06:00
Timothy Pogue 12a3e90f78 fix tests 2022-09-12 14:12:39 -06:00
Timothy Pogue 0697041f14 remove copy statement where not needed 2022-09-12 14:09:12 -06:00
Timothy Pogue c19a5fbe06 copy data being transferred, remove debug messages in emc 2022-09-12 13:57:29 -06:00
Matthias b6434040de Remove plain json serializer implementation 2022-09-12 20:24:28 +02:00
Matthias 867d59b930 Improve type specifitivity 2022-09-12 20:00:01 +02:00
Matthias 0052e58917 emc: Fix potential startup timing issue 2022-09-12 19:50:22 +02:00
Timothy Pogue a477b3c244 remove log line, fix tests to not connect to actual ip 2022-09-12 10:45:59 -06:00
Timothy Pogue 10852555e5 change verbosity of testing log 2022-09-12 09:53:47 -06:00
Matthias fac8f19554
Merge pull request #7396 from freqtrade/hyperopt_per_epoch
Hyperopt per epoch
2022-09-12 15:56:03 +02:00
Timothy Pogue 457075b823 one more line 2022-09-12 07:47:30 -06:00
Timothy Pogue d6205e6cfb test logging lines 2022-09-12 07:36:11 -06:00
Timothy Pogue 85b43a7c34 Merge branch 'develop' into feat/externalsignals 2022-09-12 07:28:08 -06:00
Matthias a93e355175
Merge pull request #7403 from freqtrade/dependabot/pip/develop/types-requests-2.28.10
Bump types-requests from 2.28.9 to 2.28.10
2022-09-12 10:37:42 +02:00
Matthias f45824acf5
Bump precommit types/requests 2022-09-12 09:23:02 +02:00
Matthias 2599e57fe6
Merge pull request #7401 from freqtrade/dependabot/pip/develop/aiofiles-22.1.0
Bump aiofiles from 0.8.0 to 22.1.0
2022-09-12 09:21:58 +02:00
Matthias e20ebc99c4
Merge pull request #7398 from freqtrade/dependabot/pip/develop/cryptography-38.0.1
Bump cryptography from 37.0.4 to 38.0.1
2022-09-12 08:41:01 +02:00
Matthias 21ed992b78
Merge pull request #7400 from freqtrade/dependabot/pip/develop/numpy-1.23.3
Bump numpy from 1.23.2 to 1.23.3
2022-09-12 08:40:16 +02:00
dependabot[bot] 7ee92db7a2
Bump aiofiles from 0.8.0 to 22.1.0
Bumps [aiofiles](https://github.com/Tinche/aiofiles) from 0.8.0 to 22.1.0.
- [Release notes](https://github.com/Tinche/aiofiles/releases)
- [Commits](https://github.com/Tinche/aiofiles/compare/v0.8.0...v22.1.0)

---
updated-dependencies:
- dependency-name: aiofiles
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 06:07:40 +00:00
Matthias 91b7e152c2
Merge pull request #7404 from freqtrade/dependabot/pip/develop/fastapi-0.83.0
Bump fastapi from 0.82.0 to 0.83.0
2022-09-12 08:06:43 +02:00
dependabot[bot] 00db473f10
Bump cryptography from 37.0.4 to 38.0.1
Bumps [cryptography](https://github.com/pyca/cryptography) from 37.0.4 to 38.0.1.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/37.0.4...38.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 06:05:22 +00:00
dependabot[bot] 4ac804f795
Bump numpy from 1.23.2 to 1.23.3
Bumps [numpy](https://github.com/numpy/numpy) from 1.23.2 to 1.23.3.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v1.23.2...v1.23.3)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 06:05:04 +00:00
Matthias d3f4d742bb
Merge pull request #7399 from freqtrade/dependabot/pip/develop/ccxt-1.93.35
Bump ccxt from 1.93.3 to 1.93.35
2022-09-12 08:04:16 +02:00
dependabot[bot] 09cdce864e
Bump ta-lib from 0.4.24 to 0.4.25
Bumps [ta-lib](https://github.com/mrjbq7/ta-lib) from 0.4.24 to 0.4.25.
- [Release notes](https://github.com/mrjbq7/ta-lib/releases)
- [Changelog](https://github.com/mrjbq7/ta-lib/blob/master/CHANGELOG)
- [Commits](https://github.com/mrjbq7/ta-lib/compare/TA_Lib-0.4.24...TA_Lib-0.4.25)

---
updated-dependencies:
- dependency-name: ta-lib
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 06:02:21 +00:00
Matthias 1f11d6091c
Merge pull request #7405 from freqtrade/dependabot/pip/develop/jsonschema-4.16.0
Bump jsonschema from 4.15.0 to 4.16.0
2022-09-12 08:01:36 +02:00
Matthias dae2ee446c
Merge pull request #7402 from freqtrade/dependabot/pip/develop/mkdocs-material-8.4.3
Bump mkdocs-material from 8.4.2 to 8.4.3
2022-09-12 08:01:04 +02:00
Matthias 715a71465d Fix auth bug when no token is set 2022-09-12 07:28:31 +02:00
dependabot[bot] c149c47afb
Bump ccxt from 1.93.3 to 1.93.35
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.93.3 to 1.93.35.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.93.3...1.93.35)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 05:05:30 +00:00
Matthias 3c2e0b5ad6
Merge pull request #7397 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.41
Bump sqlalchemy from 1.4.40 to 1.4.41
2022-09-12 07:04:36 +02:00
dependabot[bot] 6968fc333b
Bump jsonschema from 4.15.0 to 4.16.0
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.15.0 to 4.16.0.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.15.0...v4.16.0)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 03:02:10 +00:00
dependabot[bot] a4b7e0a714
Bump fastapi from 0.82.0 to 0.83.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.82.0 to 0.83.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.82.0...0.83.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 03:02:06 +00:00
dependabot[bot] 1ef334411e
Bump types-requests from 2.28.9 to 2.28.10
Bumps [types-requests](https://github.com/python/typeshed) from 2.28.9 to 2.28.10.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 03:02:01 +00:00
dependabot[bot] 6bfe996061
Bump mkdocs-material from 8.4.2 to 8.4.3
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.4.2 to 8.4.3.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.4.2...8.4.3)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 03:01:56 +00:00
dependabot[bot] 6777d43aea
Bump sqlalchemy from 1.4.40 to 1.4.41
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.40 to 1.4.41.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 03:01:27 +00:00
Timothy Pogue 5483cf21f6 remove default secret_ws_token, set timeout min to 0 2022-09-11 11:42:13 -06:00
Matthias 982c0315fa Rename variable 2022-09-11 19:31:11 +02:00
Matthias 816c1f7603 add test for per epoch hyperopt 2022-09-11 17:51:30 +02:00
Matthias 72d197a99d Run first epoch in non-parallel mode
this allows dataprovider to load it's cache.

closes #7384
2022-09-11 17:51:07 +02:00
robcaulk ede282392f add a developers guide 2022-09-11 17:50:50 +02:00
Timothy Pogue 818f7bfc40 Merge branch 'develop' into feat/externalsignals 2022-09-11 09:48:16 -06:00
robcaulk 68a900a9b7 reorganize freqai docs for easier reading, add detailed file structure description 2022-09-11 17:29:14 +02:00
Matthias 78cd46ecd5 hyperopt Remove unnecessary arguments 2022-09-11 14:59:39 +02:00
Matthias 32e13d65c3 Refactor hyperopt to extract evaluate_result 2022-09-11 14:59:39 +02:00
Matthias a48923c0e4 Extract widget colorization to separate function 2022-09-11 14:59:39 +02:00
Matthias 9c8c7a03a1 Improve typehint 2022-09-11 14:59:39 +02:00
Matthias ccc70a21f2 Update pairs_file cli argument description 2022-09-11 14:59:39 +02:00
Matthias 4476b5a7f4 add user_data arg to test-pairlist 2022-09-11 14:59:39 +02:00
Matthias 24b35bfb44
Merge pull request #7394 from freqtrade/add-search-share
add search share button to website
2022-09-11 14:57:11 +02:00
robcaulk d598f4334e add search share button to website 2022-09-11 13:28:14 +02:00
Timothy Pogue 0a8b7686d6 reworked emc tests 2022-09-11 00:50:18 -06:00
Timothy Pogue ed4ba8801f more emc tests 2022-09-10 23:57:17 -06:00
Timothy Pogue 9a1a4dfb5b more ws endpoint tests 2022-09-10 16:08:05 -06:00
Timothy Pogue 0f8eaf98e7 Merge branch 'develop' into feat/externalsignals 2022-09-10 15:14:10 -06:00
Timothy Pogue 0bc18ea33c call websocket close in channel close 2022-09-10 15:12:18 -06:00
Emre 330d7068ab
Merge branch 'develop' into add-xgboostclassifier 2022-09-10 23:59:11 +03:00
Robert Caulk 075748b21a
Merge pull request #7392 from freqtrade/improve_ai_tests
Improve freqai tests by utilizing parametrization
2022-09-10 22:37:21 +02:00
Timothy Pogue 2afd5c202c update message parsing, tests 2022-09-10 14:29:15 -06:00
robcaulk 5a0cfee27e allow user to multithread jobs (advanced users only) 2022-09-10 22:16:49 +02:00
Robert Caulk 73e122ad10
Merge pull request #7391 from wagnercosta/fixBTfreqaiV2
Fix FreaqAI backtesting - startup_candle_count bug
2022-09-10 21:53:00 +02:00
Timothy Pogue c5d031733b remove old param in test fixture 2022-09-10 13:50:36 -06:00
Timothy Pogue a7baccdb7d update log messages in emc, more tests 2022-09-10 13:44:27 -06:00
Timothy Pogue 866a564958 update emc start/shutdown, initial emc tests 2022-09-10 12:51:29 -06:00
Matthias b3fc1cfde9 Parametrize classifier tests 2022-09-10 20:18:00 +02:00
Matthias 88892ba663 Parametrize regressor tests 2022-09-10 20:18:00 +02:00
Matthias f97f1dc5c3 Test CatboostRegressorMultiTarget, simplify test setup via parametrization 2022-09-10 20:18:00 +02:00
Matthias e4caccc353
Merge pull request #7367 from freqtrade/add-continual-learning
add continual learning to catboost and friends
2022-09-10 20:17:28 +02:00
Timothy Pogue d8cdd92140 wrap background cleanup in finally, add tests 2022-09-10 11:47:21 -06:00
Wagner Costa Santos 311ae8bf1f freqai backtesting - add startup_candle_count at function description 2022-09-10 14:45:42 -03:00
Emre 60eb02bb62
Add XGBoostClassifier 2022-09-10 20:13:16 +03:00
Robert Caulk 2077f84f9b
Merge pull request #7363 from wagnercosta/fixHyperoptFreqai
Fix hyperopt - freqai
2022-09-10 17:02:01 +02:00
Robert Caulk 4a47c63f71
Merge pull request #7374 from th0rntwig/filter-constant-features 2022-09-10 16:58:58 +02:00
robcaulk 10b6aebc5f enable continual learning and evaluation sets on multioutput models. 2022-09-10 16:54:13 +02:00
Matthias daf352e6a5 Test online candle fetching in futures, too
disable gateio checking on spot markets
2022-09-10 16:01:06 +02:00
Wagner Costa Santos a1f88cca80 merge develop 2022-09-10 10:35:16 -03:00
Wagner Costa Santos 79985fda01 fix backtesting freqai startup candles bug 2022-09-10 10:27:17 -03:00
Matthias 4250174de9 Fix ws exception when no token is provided 2022-09-10 14:29:58 +02:00
Matthias b344f78d00 Improve logic for token validation 2022-09-10 14:20:49 +02:00
Matthias 170bec0438 Fix failing XGBoost tests 2022-09-10 08:24:23 +02:00
Matthias 5705b8759b Merge branch 'develop' into add-continual-learning 2022-09-10 08:24:04 +02:00
Timothy Pogue 2f6a61521f add more tests 2022-09-09 17:14:40 -06:00
robcaulk 05581db4e3 ensure columns are only dropped in training 2022-09-09 20:37:21 +02:00
Matthias 939fb7acb3 Fix enum imports 2022-09-09 20:31:30 +02:00
Matthias 97be3318f4 Use Datetime_format from constants 2022-09-09 20:31:02 +02:00
Matthias 37fcbeba58 Update backtesting output wording to Entries 2022-09-09 19:58:55 +02:00
Timothy Pogue 826eb85254 update confige example 2022-09-09 11:58:30 -06:00
robcaulk c13bec26d1 add freqaimodel to hyperopt command 2022-09-09 19:41:28 +02:00
Timothy Pogue 6cbc03a96a support jwt token in place of ws token 2022-09-09 11:38:42 -06:00
robcaulk a826c0eb83 ensure signatures match, reduce verbosity 2022-09-09 19:30:53 +02:00
Emre acb410a0de Remove verbosity params 2022-09-09 19:30:53 +02:00
Emre df6e43d2c5 Add XGBoostRegressorMultiTarget class 2022-09-09 19:30:53 +02:00
Emre 1b6410d7d1 Add XGBoostRegressor for freqAI, fix mypy errors 2022-09-09 19:30:53 +02:00
Timothy Pogue 09679cc798 fix dependency 2022-09-09 11:27:20 -06:00
Wagner Costa Santos d38cc06139 Fix freqai backtesting time range issue 2022-09-09 19:27:05 +02:00
Timothy Pogue ad96597693 wording 2022-09-09 10:59:38 -06:00
Timothy Pogue 445ab1beee update docs 2022-09-09 10:56:54 -06:00
Timothy Pogue 426f8f37e9 change var names 2022-09-09 10:45:49 -06:00
Matthias e256ebd727 Add ws_token to auto-generated config 2022-09-09 07:13:05 +02:00
Matthias afc17c5ec9
Merge pull request #7383 from freqtrade/dependabot/docker/python-3.10.7-slim-bullseye
Bump python from 3.10.6-slim-bullseye to 3.10.7-slim-bullseye
2022-09-09 06:30:19 +02:00
dependabot[bot] 92d71ebdb7
Bump python from 3.10.6-slim-bullseye to 3.10.7-slim-bullseye
Bumps python from 3.10.6-slim-bullseye to 3.10.7-slim-bullseye.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-09 03:03:30 +00:00
Timothy Pogue 46cd0ce994 fix sentence in docs 2022-09-08 16:30:31 -06:00
Timothy Pogue 1466d2d26f initial message ws docs 2022-09-08 16:27:09 -06:00
Timothy Pogue 75cf8dbfe4 missed await 2022-09-08 15:11:36 -06:00
robcaulk c5d9180758 isort 2022-09-08 22:35:52 +02:00
robcaulk bc7295579f improve docs, make example strat hyperoptable 2022-09-08 22:22:50 +02:00
Timothy Pogue c9d4f666c5 minor apiserver test change 2022-09-08 14:00:22 -06:00
Timothy Pogue 2b9c8550b0 moved ws_schemas, first ws tests 2022-09-08 13:58:28 -06:00
Timothy Pogue b9e7af1ce2 fix ws token auth 2022-09-08 11:25:30 -06:00
Timothy Pogue fac6626459 update default timeouts 2022-09-08 10:54:31 -06:00
Timothy Pogue b3b0c918d9 cleanup old code 2022-09-08 10:44:03 -06:00
Timothy Pogue 379b1cbc90 remove unnecessary returns 2022-09-08 10:37:41 -06:00
Timothy Pogue df3c126146 fix mypy error 2022-09-08 10:34:37 -06:00
Timothy Pogue 9b752475db re-add fix to freqtradebot test 2022-09-08 10:20:03 -06:00
Timothy Pogue 4104d0f68a Merge branch 'develop' into feat/externalsignals 2022-09-08 10:19:23 -06:00
Timothy Pogue 4fac125443 fix apiserver cleanup issues in tests 2022-09-08 10:14:30 -06:00
Timothy Pogue 83770d20fa fix existing freqtradebot tests 2022-09-08 10:10:32 -06:00
Matthias 883abe5b4f
Merge pull request #7379 from freqtrade/fix/keyerror_fundingfee
Fix keyerror fundingfee update
2022-09-08 12:06:52 +02:00
Matthias 08726a264b Update FAQ to point out multiple parallel positions per trade 2022-09-08 07:48:36 +00:00
Matthias 5e42defafc Update telegram docs to disable partial exit notifications 2022-09-08 07:36:37 +00:00
Matthias 9ef0ffe277 Update tests for funding-Fee exceptions 2022-09-08 07:19:17 +00:00
Matthias 791f61c089 Add test case for funding fee update failure 2022-09-08 07:13:15 +00:00
Matthias b91ad609f2
Merge pull request #7370 from wizrds/feat/suffix-merge-informative
Add optional `suffix` parameter to `merge_informative_pair`
2022-09-08 08:08:55 +02:00
Matthias 39b6cadd14 Test keyerror case for funding_Fee calculation 2022-09-08 07:24:57 +02:00
Matthias 4e15611b05 Don't crash in case of funding fee fetch error 2022-09-08 07:18:38 +02:00
Matthias 045c3f0f3a Reduce diff by avoiding unnecessary changes 2022-09-08 07:01:37 +02:00
Matthias f3417a8690 Revert condition sequence to simplify conditions 2022-09-08 06:59:14 +02:00
Matthias 20bf44a856
Merge pull request #7375 from freqtrade/combine-metrics
ensure inlier metric can be combined with other cleaning methods
2022-09-08 06:43:02 +02:00
Timothy Pogue a50923f796 add producers attribute to dataprovider 2022-09-07 17:14:26 -06:00
Wagner Costa Santos f4f2884a66 Fix freqai backtesting time range issue 2022-09-07 18:52:58 -03:00
Timothy Pogue 1ef1fc269e docstring and tests 2022-09-07 15:26:38 -06:00
Timothy Pogue 5934495dda add websocket request/message schemas 2022-09-07 15:08:01 -06:00
Wagner Costa Santos bf3ee51167 validate freqai hyperopt with freqai enabled param 2022-09-07 14:42:05 -03:00
Matthias f8e7ed5d7d Reduce shutdown verbosity of exchange 2022-09-07 19:28:42 +02:00
Matthias a9fd12b816 Allow more dynamic timeframes by disabling "choice"
part of #7366
2022-09-07 19:28:42 +02:00
robcaulk e51d352777 ensure pca is handling same DF as inlier 2022-09-07 19:11:54 +02:00
robcaulk 4c9ac6b7c0 add kwargs, reduce duplicated code 2022-09-07 18:58:55 +02:00
Timothy Pogue 5d338e697c change window to timeperiod in hybrid 2022-09-07 18:49:47 +02:00
Timothy Pogue 48cadbf933 remove duplicate line, change window to timeperiod 2022-09-07 18:49:47 +02:00
robcaulk ea7bdac9ed ensure inlier metric can be combined with other cleaning methods 2022-09-07 18:45:16 +02:00
Matthias 322f00e3e8 Fix empty entry message if order doesn't fill immediately
closes #7368
2022-09-07 18:19:43 +02:00
th0rntwig cdc72bf8ca Correct indexing 2022-09-07 18:14:13 +02:00
th0rntwig 047ded1baa Check for constant columns 2022-09-07 17:47:27 +02:00
Timothy Pogue 2c9b765953 add suffix parameter 2022-09-07 09:35:37 -06:00
Wagner Costa Santos 972b699105 hyperopt - freqai - change validation to config_validation 2022-09-07 11:11:31 -03:00
wagnercosta 6b7644029c
Merge branch 'freqtrade:develop' into fixHyperoptFreqai 2022-09-07 11:07:51 -03:00
Matthias c08c82bc40
Merge pull request #7322 from freqtrade/add-inlier-metric
Add inlier metric
2022-09-07 07:05:57 +02:00
Matthias 3454a52b95 Explicitly test amount_to_contract_precision 2022-09-07 06:55:22 +02:00
Matthias 4d69df08dd trunc to amount precision before checking valid partial exits
closes #7368
2022-09-07 06:43:08 +02:00
Matthias 83d9f3aeba Add test showing #7365 2022-09-07 06:37:53 +02:00
Matthias 95a33ab2e6 Add amount_to_contract helper in the exchange 2022-09-07 06:34:03 +02:00
Wagner Costa Santos 5aba5de20f fix link - hyperopt spaces 2022-09-06 16:17:10 -03:00
Timothy Pogue 8bfaf0a998 Merge branch 'develop' into feat/externalsignals 2022-09-06 13:02:36 -06:00
Wagner Costa Santos e0490b3efc Merge branch 'fixHyperoptFreqai' of https://github.com/wagnercosta/freqtrade into fixHyperoptFreqai 2022-09-06 15:43:08 -03:00
Wagner Costa Santos 8d16dd804d hyperopt - freqai - docs and refactoring 2022-09-06 15:42:47 -03:00
Timothy Pogue b1c0267449 mypy fixes 2022-09-06 12:40:58 -06:00
Robert Caulk d7585161b2
Merge branch 'develop' into add-inlier-metric 2022-09-06 20:40:21 +02:00
wagnercosta 55195260e4
Merge branch 'freqtrade:develop' into fixHyperoptFreqai 2022-09-06 15:32:28 -03:00
robcaulk 97077ba18a add continual learning to catboost and friends 2022-09-06 20:30:46 +02:00
Matthias dc4a4bdf09 Wrap cleanup in try/finally handler
If a database has errors, the database cleanups would fail, causing
cleanup to be incomplete.

closes #7364
2022-09-06 20:26:42 +02:00
Timothy Pogue 3535aa7724 add last_analyzed to emitted dataframe 2022-09-06 12:12:05 -06:00
robcaulk d44296783e isort datakitchen 2022-09-06 20:10:12 +02:00
th0rntwig 90ec336c70
Update+correct descriptions and figure (#7323) 2022-09-06 19:58:25 +02:00
robcaulk e83c9b276d fix whitespace 2022-09-06 19:56:52 +02:00
Matthias f2f811a2fe Fix telegram bug with open partial exit orders 2022-09-06 19:55:18 +02:00
robcaulk 4b28d0495f fix timestamping, move imports, add words to doc 2022-09-06 19:46:58 +02:00
Matthias 98ec84fca6
Merge pull request #7339 from freqtrade/fix/fundingfee_handling
Fix/fundingfee handling
2022-09-06 19:21:40 +02:00
Matthias 8597b52e34
Slightly update docs to link to full sample 2022-09-06 16:29:24 +02:00
wagnercosta 1820bc6832
Merge branch 'freqtrade:develop' into fixHyperoptFreqai 2022-09-06 10:02:17 -03:00
Matthias 3f3099cbfc
Merge pull request #7361 from italodamato/develop
fix hyperopt df preprocessing
2022-09-06 07:26:14 +02:00
Timothy Pogue 38f14349e9 move bytes decoding to serializer 2022-09-05 23:25:25 -06:00
Matthias d526dfb171 Revert some more changes in rpc_manager 2022-09-06 07:03:31 +02:00
Matthias 4dec19de9f Add comment to explain why we use the non-trimmed DF 2022-09-06 06:52:50 +02:00
Matthias 4e5153609e
Merge pull request #7362 from freqtrade/improve-docs
improve clarity on data download requirements
2022-09-06 06:38:04 +02:00
Matthias 3b5c3a366e
Merge pull request #7353 from freqtrade/dependabot/pip/develop/jsonschema-4.15.0
Bump jsonschema from 4.14.0 to 4.15.0
2022-09-06 06:21:10 +02:00
Timothy Pogue a0d774fdc4 change default initial candle limit to 1500 2022-09-05 20:23:00 -06:00
Timothy Pogue b949ea301c fix failed apiserver tests 2022-09-05 19:29:07 -06:00
Timothy Pogue cd8455ccb7 Merge branch 'develop' into feat/externalsignals 2022-09-05 15:10:25 -06:00
Wagner Costa Santos 2c8e5b191b fix hyperopt - freqai 2022-09-05 17:43:55 -03:00
Wagner Costa Santos 5b826150df fix hyperopt - freqai 2022-09-05 17:43:28 -03:00
robcaulk 1ea703d527 remove download-data command 2022-09-05 22:20:38 +02:00
Timothy Pogue 8f261d8edf change from bytes to text in websocket, remove old logs 2022-09-05 13:47:17 -06:00
Matthias 9fb3517adc Fix non-resolvable freqai test
this test could never succeed in UI's as the name was constantly changing.
2022-09-05 21:08:01 +02:00
robcaulk 689b193240 improve clarity on data download requirements 2022-09-05 20:57:42 +02:00
Matthias 36e5c18fa6 Don't raise exception when a message is not implemented in telegram 2022-09-05 20:54:03 +02:00
dependabot[bot] 4628bfa580
Bump jsonschema from 4.14.0 to 4.15.0
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.14.0 to 4.15.0.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.14.0...v4.15.0)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 17:30:55 +00:00
Matthias 545cfdf913
Merge pull request #7358 from freqtrade/dependabot/pip/develop/pycoingecko-3.0.0
Bump pycoingecko from 2.2.0 to 3.0.0
2022-09-05 19:30:06 +02:00
Matthias fda0e547f2
Merge pull request #7356 from freqtrade/dependabot/pip/develop/python-telegram-bot-13.14
Bump python-telegram-bot from 13.13 to 13.14
2022-09-05 19:18:50 +02:00
dependabot[bot] 949f618d42
Bump python-telegram-bot from 13.13 to 13.14
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 13.13 to 13.14.
- [Release notes](https://github.com/python-telegram-bot/python-telegram-bot/releases)
- [Changelog](https://github.com/python-telegram-bot/python-telegram-bot/blob/v13.14/CHANGES.rst)
- [Commits](https://github.com/python-telegram-bot/python-telegram-bot/compare/v13.13...v13.14)

---
updated-dependencies:
- dependency-name: python-telegram-bot
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 16:30:43 +00:00
Italo 9f5642fd97 fix hyperopt df preprocessing 2022-09-05 18:12:19 +02:00
Matthias da183364f2
Merge pull request #7357 from freqtrade/dependabot/pip/develop/pandas-1.4.4
Bump pandas from 1.4.3 to 1.4.4
2022-09-05 16:53:36 +02:00
Matthias 205ebfc801
Merge pull request #7352 from freqtrade/dependabot/pip/develop/ccxt-1.93.3
Bump ccxt from 1.92.84 to 1.93.3
2022-09-05 16:41:41 +02:00
Matthias 8d61ee7dd7
Merge pull request #7355 from freqtrade/dependabot/pip/develop/fastapi-0.82.0
Bump fastapi from 0.81.0 to 0.82.0
2022-09-05 16:35:09 +02:00
Matthias 7d48d5cfc6
Merge pull request #7354 from freqtrade/dependabot/pip/develop/prompt-toolkit-3.0.31
Bump prompt-toolkit from 3.0.30 to 3.0.31
2022-09-05 16:16:49 +02:00
Matthias 523f9ebe84
Merge pull request #7351 from freqtrade/dependabot/pip/develop/pytest-7.1.3
Bump pytest from 7.1.2 to 7.1.3
2022-09-05 16:15:16 +02:00
Matthias d829dbb177
Merge pull request #7350 from freqtrade/dependabot/pip/develop/psutil-5.9.2
Bump psutil from 5.9.1 to 5.9.2
2022-09-05 16:13:16 +02:00
Matthias 15383a03e6
Merge pull request #7349 from freqtrade/dependabot/pip/develop/arrow-1.2.3
Bump arrow from 1.2.2 to 1.2.3
2022-09-05 16:12:53 +02:00
dependabot[bot] 48dc1f2d88
Bump pycoingecko from 2.2.0 to 3.0.0
Bumps [pycoingecko](https://github.com/man-c/pycoingecko) from 2.2.0 to 3.0.0.
- [Release notes](https://github.com/man-c/pycoingecko/releases)
- [Changelog](https://github.com/man-c/pycoingecko/blob/master/CHANGELOG.md)
- [Commits](https://github.com/man-c/pycoingecko/compare/2.2.0...3.0.0)

---
updated-dependencies:
- dependency-name: pycoingecko
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 13:11:29 +00:00
dependabot[bot] f5500350f9
Bump pandas from 1.4.3 to 1.4.4
Bumps [pandas](https://github.com/pandas-dev/pandas) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Changelog](https://github.com/pandas-dev/pandas/blob/main/RELEASE.md)
- [Commits](https://github.com/pandas-dev/pandas/compare/v1.4.3...v1.4.4)

---
updated-dependencies:
- dependency-name: pandas
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 13:11:24 +00:00
dependabot[bot] 6f6afca027
Bump fastapi from 0.81.0 to 0.82.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.81.0 to 0.82.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.81.0...0.82.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 13:10:53 +00:00
dependabot[bot] 90fbb79471
Bump prompt-toolkit from 3.0.30 to 3.0.31
Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.30 to 3.0.31.
- [Release notes](https://github.com/prompt-toolkit/python-prompt-toolkit/releases)
- [Changelog](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/CHANGELOG)
- [Commits](https://github.com/prompt-toolkit/python-prompt-toolkit/compare/3.0.30...3.0.31)

---
updated-dependencies:
- dependency-name: prompt-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 13:10:44 +00:00
dependabot[bot] 3d03856845
Bump ccxt from 1.92.84 to 1.93.3
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.92.84 to 1.93.3.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.92.84...1.93.3)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 13:10:31 +00:00
dependabot[bot] af7e4d7bf0
Bump pytest from 7.1.2 to 7.1.3
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.1.2 to 7.1.3.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.1.2...7.1.3)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 13:10:11 +00:00
dependabot[bot] 7cc8ac0a34
Bump psutil from 5.9.1 to 5.9.2
Bumps [psutil](https://github.com/giampaolo/psutil) from 5.9.1 to 5.9.2.
- [Release notes](https://github.com/giampaolo/psutil/releases)
- [Changelog](https://github.com/giampaolo/psutil/blob/master/HISTORY.rst)
- [Commits](https://github.com/giampaolo/psutil/compare/release-5.9.1...release-5.9.2)

---
updated-dependencies:
- dependency-name: psutil
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 13:10:02 +00:00
dependabot[bot] a035a69a61
Bump arrow from 1.2.2 to 1.2.3
Bumps [arrow](https://github.com/arrow-py/arrow) from 1.2.2 to 1.2.3.
- [Release notes](https://github.com/arrow-py/arrow/releases)
- [Changelog](https://github.com/arrow-py/arrow/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/arrow-py/arrow/compare/1.2.2...1.2.3)

---
updated-dependencies:
- dependency-name: arrow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 13:09:53 +00:00
Matthias 52b20fd4b7
Merge pull request #7346 from freqtrade/update-freqai-tests
fix broken CI
2022-09-05 06:18:21 +02:00
robcaulk c8a9ac900c fix broken CI 2022-09-05 00:52:26 +02:00
robcaulk 78d01810ed reduce code redundancy, ensure live always gets the latest data 2022-09-05 00:12:00 +02:00
Wagner Costa Santos d43ed186fc fix issue with freqai backtesting at slice dataframe 2022-09-05 00:12:00 +02:00
Timothy Pogue 8a08f8ff8d revert rpc manager 2022-09-04 10:27:34 -06:00
Timothy Pogue 07f806a314 minor improvements, fixes, old config+constant removal 2022-09-04 10:22:10 -06:00
Timothy Pogue 1601868854 dataprovider fix, updated config example 2022-09-04 09:42:43 -06:00
Robert Caulk 956ea43e55
Merge pull request #7340 from wizrds/sigint-freqai
Support SIGINT in FreqAI
2022-09-04 16:43:36 +02:00
robcaulk ec76214d02 backup historical predictions pickle and load the backup in case of corruption 2022-09-04 15:56:07 +02:00
robcaulk 69b3fcfd32 Merge branch 'develop' into dev-merge-rl 2022-09-04 11:23:25 +02:00
robcaulk 27dce20b29 fix bug in Base4ActionRLEnv, improve example strats 2022-09-04 11:21:54 +02:00
Timothy Pogue 3b5e5fc57b fix method name in dummy class 2022-09-03 14:10:23 -06:00
Robert Caulk 8545d74378
Merge pull request #7331 from th0rntwig/pca
Normalise PCA space
2022-09-03 21:49:54 +02:00
Timothy Pogue dae3b3d86a support shutting down freqai 2022-09-03 13:24:14 -06:00
Matthias 16573b19e3 Fix migration syntax error 2022-09-03 19:51:44 +02:00
robcaulk 5cfb4154eb revert all changes in normalize_data() 2022-09-03 19:48:30 +02:00
Robert Caulk 63514b0443
Merge pull request #7325 from wagnercosta/develop
Improve Freqai backtesting performance
2022-09-03 19:28:04 +02:00
robcaulk c21808ff98 remove metadata redundancy, fix pca bug 2022-09-03 16:54:30 +02:00
robcaulk fa8d5b9834 add documentation for noise_standard_deviation` 2022-09-03 16:05:18 +02:00
robcaulk c9be66b5b6 increase test coverage for dk, improve function naming, extra cleaning 2022-09-03 15:52:29 +02:00
Matthias ed4cc18cdd Migration to check order funding fee 2022-09-03 15:19:40 +02:00
Matthias b95b3d8391 Update test to actually test funding fee appliance 2022-09-03 15:09:50 +02:00
Matthias 0f483ee31f Use "since last order" approach for live as well. 2022-09-03 15:01:42 +02:00
Matthias 0c6a02687a Don't calculate funding fees if we're not going to use them. 2022-09-03 15:01:42 +02:00
Matthias df50b1928d Fix funding fee calculation for backtesting 2022-09-03 15:01:42 +02:00
Matthias 80b5f035ab Remove typo in log message 2022-09-03 15:01:28 +02:00
robcaulk 599c1c79fb reorganized backtest utilities, test new functionality, improve/update doc 2022-09-03 14:00:01 +02:00
Matthias be192fae91 Test should use proper Order objects 2022-09-03 10:54:58 +02:00
Matthias 966de19611 Improve test resiliance by properly setting Order object 2022-09-03 08:16:33 +02:00
Wagner Costa Santos af5460cebf Add option to keep models only in memory for backtest 2022-09-02 22:01:53 -03:00
Timothy Pogue 05cbcf834c minor logging changes 2022-09-02 16:01:33 -06:00
Timothy Pogue cf917ad2f5 initial candle request limit, better error reporting, split up _handle_producer_connection 2022-09-02 15:05:16 -06:00
Matthias b26126cb57 Don't use ticker['symbol'] but use "pair" instead
closes #7262
2022-09-02 20:09:30 +02:00
Matthias 6a5774b476
Merge pull request #7329 from epigramx/epigramx-fee-docs-patch
Make the recommendation for Binance/Kucoin blacklisting more accurate.
2022-09-02 19:58:38 +02:00
Matthias a948e51389 Update futures docs to define pair namings
#7334, #7136, ...
2022-09-02 19:56:12 +02:00
Timothy Pogue 5b0b802f31 hybrid json ws serializer 2022-09-02 00:05:36 -06:00
Timothy Pogue eb4cd6ba82 split initial data into separate requests 2022-09-01 23:52:13 -06:00
Timothy Pogue dccde88c83 fix dataframe serializing 2022-09-01 23:15:03 -06:00
Matthias b53791fef2 Futures volumepairlist to account for contract size 2022-09-02 07:11:32 +02:00
Timothy Pogue 00f35f4870 remove old constant, add initial_data requesting, minor changes 2022-09-01 20:06:36 -06:00
th0rntwig 11b2bc269e Added missing s 2022-09-01 22:37:32 +02:00
th0rntwig 3f8400df10 Normalise PCA space 2022-09-01 21:51:33 +02:00
Matthias 11fbfd3402 Remove unnecessary assignment 2022-09-01 19:39:20 +02:00
epigramx 61d5fc0e08
Make the recommendation for Binance/Kucoin blacklisting more accurate.
Now that a recent bug regarding selling BNB is fixed, it should be safe to trade it, but with a warning that the user may have to manually maintain extra BNB. 
Also the old text implied those features are always unabled so this texts makes it clear those fee-related features can be also disabled.
I'm not sure if it's still true that an "eaten by fees" position becomes unsellable but I left that as it is.
2022-09-01 17:22:34 +03:00
Wagner Costa Santos d6e115178a refactoring freqai backtesting - remove duplicate code 2022-09-01 07:09:23 -03:00
Matthias f3c73189d5 Remove pointless default on wallet_balance argument 2022-09-01 06:49:51 +02:00
Matthias ba2eb7cf0f Fix BNB fee bug when selling
thanks @epigramx, for reporting and for the detailed data.
2022-09-01 06:42:51 +02:00
Timothy Pogue 57e9078727 update example config 2022-08-31 14:44:52 -06:00
Wagner Costa Santos 44d3a9140d Merge branch 'develop' of https://github.com/wagnercosta/freqtrade into develop 2022-08-31 15:37:06 -03:00
Wagner Costa Santos 7bed0450d2 pr review - refactoring backtesting freqai 2022-08-31 15:36:29 -03:00
Timothy Pogue c72a2c26c7 remove external pairlist 2022-08-31 12:06:24 -06:00
Timothy Pogue 6e8abf8674 add producer name to required fields in config 2022-08-31 11:58:58 -06:00
wagnercosta 3d4497467c
Merge branch 'freqtrade:develop' into develop 2022-08-31 14:47:06 -03:00
Matthias 3d4ad1de4c
Merge pull request #7244 from freqtrade/move_datadownload
extract download-data from freqai to prepare for future async changes
2022-08-31 19:46:14 +02:00
Timothy Pogue 865b34cd6f add producer names 2022-08-31 11:43:02 -06:00
Timothy Pogue 510cf4f305 remove data waiting, remove explicit analyzing of external df 2022-08-31 10:40:26 -06:00
robcaulk 240b529533 fix tensorboard path so that users can track all historical models 2022-08-31 16:50:39 +02:00
Richard Jozsa 2493e0c8a5
Unnecessary lines in Base4, and changes for box space, to fit better for our needs (#7324) 2022-08-31 16:37:02 +02:00
Wagner Costa Santos df51da22ee refactoring freqai backtesting 2022-08-31 11:23:48 -03:00
Matthias 57ff6f8ac5 Init timerange object properly 2022-08-31 10:28:31 +00:00
Matthias 13ccd940d5 Remove startup_candle_count from freqai sample config to avoid confusion 2022-08-31 10:27:08 +00:00
Matthias 7ba4fda5d7 Implement PR feedback 2022-08-31 10:26:47 +00:00
Matthias a88ffd2c9d Merge branch 'develop' into move_datadownload 2022-08-31 10:23:45 +00:00
Matthias 4aec2db14d Remove isClose from tests in favor of pytest.approx 2022-08-31 08:25:56 +00:00
Timothy Pogue 115a901773 minor fix for conditional in handle func 2022-08-30 19:34:43 -06:00
Timothy Pogue ddc45ce2eb message handling fix, data waiting fix 2022-08-30 19:30:14 -06:00
Timothy Pogue 346e73dd75 client implementation, minor fixes 2022-08-30 19:21:34 -06:00
Matthias 958a4565db
Merge pull request #7313 from freqtrade/new_release
New release 2022.8
2022-08-30 23:01:19 +02:00
Matthias 10e0d53860 Simplify 2 more tests 2022-08-30 20:49:53 +02:00
Matthias c9aa09ec89 Simplify base fee handling 2022-08-30 20:46:06 +02:00
robcaulk 7e8e29e42d use continuous value for inlier_metric 2022-08-30 20:41:37 +02:00
robcaulk 0b8482360f add documentation for inlier metric 2022-08-30 20:32:49 +02:00
Timothy Pogue 418bd26a80 minor fixes, rework consumer request, update requirements.txt 2022-08-30 11:04:16 -06:00
robcaulk 7f52908e87 ensure the lost points are prepended for FreqUI 2022-08-30 18:55:58 +02:00
robcaulk a58dd0bbf9 add noise feature, improve docstrings 2022-08-30 18:26:24 +02:00
robcaulk b11742a4c5 integrate inlier metric function 2022-08-30 18:26:24 +02:00
th0rntwig d3cb211283 Add inlier metric computation 2022-08-30 18:26:24 +02:00
th0rntwig 50e2808667
Fix bug in DI (#7321) 2022-08-30 12:54:39 +02:00
Timothy Pogue 47f7c384fb consumer subscriptions, fix serializer bug 2022-08-29 15:48:29 -06:00
Matthias 71846ecbf2 Partially revert prior commit, use correct exchange class 2022-08-29 21:51:10 +02:00
Timothy Pogue 7952e0df25 initial rework separating server and client impl 2022-08-29 13:41:15 -06:00
Matthias eee2071e32 Fix non-testing liquidation test 2022-08-29 21:04:09 +02:00
Matthias efc3b39fb8 Improve config overwriting wording
#7181
2022-08-29 20:01:03 +02:00
Matthias 93cbfc5f29
Merge pull request #7315 from freqtrade/reverse-train-test-order
allow users to properly reverse train-test data ordering
2022-08-29 15:27:28 +02:00
Richard Jozsa 1a8e1362a1
There was an error in the docs around continual learning and thread count (#7314)
* Error in the docs
2022-08-29 11:15:06 +02:00
robcaulk 62c0a174c8 allow users to properly reverse train-test data ordering 2022-08-29 11:04:58 +02:00
Matthias c54484dad5
Merge pull request #7305 from freqtrade/dependabot/pip/develop/mkdocs-material-8.4.2
Bump mkdocs-material from 8.4.1 to 8.4.2
2022-08-29 08:08:33 +02:00
Matthias db3d972d47
Merge pull request #7306 from freqtrade/dependabot/pip/develop/fastapi-0.81.0
Bump fastapi from 0.79.1 to 0.81.0
2022-08-29 08:08:14 +02:00
Matthias 25a7f44856
Merge pull request #7312 from freqtrade/dependabot/pip/develop/ccxt-1.92.84
Bump ccxt from 1.92.52 to 1.92.84
2022-08-29 08:07:53 +02:00
Matthias b7b87c398b
Merge pull request #7308 from freqtrade/dependabot/pip/develop/nbconvert-7.0.0
Bump nbconvert from 6.5.3 to 7.0.0
2022-08-29 07:58:46 +02:00
Matthias 27a9f98d5f Simplify liquidation price structure, improve test cov 2022-08-29 07:04:48 +02:00
Matthias 226fa5d93c Simplify liquidation price calling structure 2022-08-29 07:04:48 +02:00
dependabot[bot] 56cd80926a
Bump fastapi from 0.79.1 to 0.81.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.79.1 to 0.81.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.79.1...0.81.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 04:52:12 +00:00
Matthias f664ebd262
Merge pull request #7309 from freqtrade/dependabot/pip/develop/scipy-1.9.1
Bump scipy from 1.9.0 to 1.9.1
2022-08-29 06:51:37 +02:00
Matthias 9b5f85b970
Merge pull request #7310 from freqtrade/dependabot/pip/develop/uvicorn-0.18.3
Bump uvicorn from 0.18.2 to 0.18.3
2022-08-29 06:51:19 +02:00
Matthias ebbb2cc552
Merge pull request #7311 from freqtrade/dependabot/pip/develop/orjson-3.8.0
Bump orjson from 3.7.12 to 3.8.0
2022-08-29 06:50:44 +02:00
Matthias a0db6652a7
Merge pull request #7307 from freqtrade/dependabot/pip/develop/urllib3-1.26.12
Bump urllib3 from 1.26.11 to 1.26.12
2022-08-29 06:50:30 +02:00
Matthias 4def3678b7
Merge pull request #7298 from freqtrade/tif_align
align TimeInForce to ccxt usage
2022-08-29 06:36:51 +02:00
Matthias 8be8a12cc4
Merge pull request #7260 from JohanVlugt/develop
Example FreqAI hybrid strategy
2022-08-29 06:34:45 +02:00
Matthias 40c00d2d8f Version bump dev version to 2022.9 2022-08-29 06:34:20 +02:00
Matthias 2403a03fcb Version bump 2022.8 2022-08-29 06:28:53 +02:00
Matthias a01402fa46 Merge branch 'stable' into develop 2022-08-29 06:28:21 +02:00
dependabot[bot] d7189847a7
Bump ccxt from 1.92.52 to 1.92.84
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.92.52 to 1.92.84.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.92.52...1.92.84)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 03:01:59 +00:00
dependabot[bot] d734f7612f
Bump orjson from 3.7.12 to 3.8.0
Bumps [orjson](https://github.com/ijl/orjson) from 3.7.12 to 3.8.0.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.7.12...3.8.0)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 03:01:50 +00:00
dependabot[bot] 3a7441a27d
Bump uvicorn from 0.18.2 to 0.18.3
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.18.2 to 0.18.3.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.18.2...0.18.3)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 03:01:41 +00:00
dependabot[bot] 49dd1c1d49
Bump scipy from 1.9.0 to 1.9.1
Bumps [scipy](https://github.com/scipy/scipy) from 1.9.0 to 1.9.1.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.9.0...v1.9.1)

---
updated-dependencies:
- dependency-name: scipy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 03:01:36 +00:00
dependabot[bot] e9f46f4768
Bump nbconvert from 6.5.3 to 7.0.0
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 6.5.3 to 7.0.0.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Commits](https://github.com/jupyter/nbconvert/compare/6.5.3...7.0.0)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 03:01:30 +00:00
dependabot[bot] 0af4bd2944
Bump urllib3 from 1.26.11 to 1.26.12
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.11 to 1.26.12.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.11...1.26.12)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 03:01:25 +00:00
dependabot[bot] e9e872ca20
Bump mkdocs-material from 8.4.1 to 8.4.2
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.4.1 to 8.4.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.4.1...8.4.2)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 03:01:18 +00:00
th0rntwig 8b0cfe1236
Reduce image sizes in freqai doc (#7304) 2022-08-28 23:27:12 +02:00
Timothy Pogue 8c4e68b8eb updated example configs 2022-08-28 13:00:52 -06:00
robcaulk 67cddae756 fix tensorboard image 2022-08-28 21:00:26 +02:00
robcaulk af8f308584 start the reinforcement learning doc 2022-08-28 20:52:03 +02:00
robcaulk 7766350c15 refactor environment inheritence tree to accommodate flexible action types/counts. fix bug in train profit handling 2022-08-28 19:21:57 +02:00
Robert Caulk 39a739eadb
Merge pull request #7296 from th0rntwig/dbscan
Improve MinPts calculation in DBSCAN, add outlier protection, and add data_kitchen tests
2022-08-28 14:37:47 +02:00
robcaulk a44a235b56 isort imports in tests/freqai 2022-08-28 13:47:01 +02:00
robcaulk 6634229cc1 appease the flake8 gods 2022-08-28 13:21:29 +02:00
robcaulk fcb5d1cb5a remove debugging flag 2022-08-28 13:01:39 +02:00
robcaulk dd628eb525 add tests for outlier detection and removal functions 2022-08-28 12:56:39 +02:00
robcaulk 1e41c773a0 fix outlier protection 2022-08-28 12:11:29 +02:00
robcaulk 22b42e91f3 add new parameter to freqai doc 2022-08-28 11:53:24 +02:00
smarmau ff3a4995c1 remove unnecessary code 2022-08-28 11:45:20 +02:00
Matthias b9f35cadb3 add /stopentry alias for /stopbuy 2022-08-28 11:37:22 +02:00
smarmau 005594c29c simplify hybrid template 2022-08-28 11:29:48 +02:00
Matthias 59a723aec8 Add /health to rest client
discovered in #7299
2022-08-27 15:12:04 +02:00
th0rntwig 71f7d68783 Fixed mypy error 2022-08-27 12:44:55 +02:00
Matthias c61b986c3d FTX - support time_in_force (and PO ordertype)
closes #7175
2022-08-27 10:30:38 +02:00
Matthias 104a73025d Uppercase TimeInForce (align with ccxt) 2022-08-27 10:30:06 +02:00
Matthias 6686489c06
Merge pull request #7258 from freqtrade/feat/hyp_optinal_indicator
Add flag to move hyperopt populate_indicators to epoch
2022-08-27 09:21:16 +02:00
Matthias c3e74e6e8d Improve doc wording 2022-08-27 08:55:29 +02:00
Matthias 2b70c3d0c0 support price callback for partial exits in bt
This will align results to how live works.
closes #7292
2022-08-27 08:50:09 +02:00
Timothy Pogue 05ca673883 Catch status code errors 2022-08-27 00:06:03 -06:00
Timothy Pogue fcceb744c5 Add janus to requirements.txt 2022-08-26 23:43:05 -06:00
Timothy Pogue 2b5f067877 Refactoring, minor improvements, data provider improvements 2022-08-26 23:40:13 -06:00
Matthias 9204f01312 Don't lock pairs on partial exit 2022-08-27 07:23:02 +02:00
elintornquist 86c5ac44e4 Add outlier percentage check 2022-08-26 23:05:07 +02:00
Timothy Pogue a998d6d773 fix tests 2022-08-26 14:52:15 -06:00
Matthias 2ef4534fee Fix ccxt / longrun tests 2022-08-26 20:44:36 +02:00
Matthias efe4fd3e24 Add libgomp1 to dockerfile 2022-08-26 20:21:19 +02:00
Matthias 01126c43f7 Fix liquidation price tier calculation
closes #7294
2022-08-26 20:14:24 +02:00
Matthias 753d1b2aad Update leverage tier terminology to be clear and aligned with ccxt 2022-08-26 19:34:51 +02:00
elintornquist b2d664c63c Change MinPts calculation 2022-08-26 18:57:27 +02:00
robcaulk bb3523f383 download data homogeneously across timeframes 2022-08-26 18:51:42 +02:00
robcaulk e7261cf515 add freqai utils.py file 2022-08-26 15:30:28 +02:00
robcaulk 65b552e310 make docs reflect reality, move download_all_data to new utils.py file, automatic startup_candle detection 2022-08-26 15:30:01 +02:00
robcaulk 4b7e640f31 reduce code duplication, optimize auto data download per tf 2022-08-26 13:56:44 +02:00
robcaulk 8c313b431d remove whitespace from Dockerfile 2022-08-26 11:14:01 +02:00
robcaulk baa4f8e3d0 remove Base3ActionEnv in favor of Base4Action 2022-08-26 11:04:25 +02:00
richardjozsa cdc550da9a Revert the docker changes to be inline with the original freqtrade image
Reverted the changes, and added a new way of doing, Dockerfile.freqai with that file the users can make their own dockerimage.
2022-08-26 11:04:25 +02:00
richardjozsa d31926efdf Added Base4Action 2022-08-26 11:04:25 +02:00
Matthias 53d46a0385 align `max_entry_position_adjustment` behavior of backtesting to live
closes #7293
2022-08-25 20:36:17 +02:00
robcaulk 3199eb453b reduce code for base use-case, ensure multiproc inherits custom env, add ability to limit ram use. 2022-08-25 19:05:51 +02:00
Matthias 1fd223c815
Update --prepend help string
closes #7290
2022-08-25 17:03:41 +02:00
robcaulk 05ccebf9a1 automate eval freq in multiproc 2022-08-25 12:29:48 +02:00
robcaulk 94cfc8e63f fix multiproc callback, add continual learning to multiproc, fix totalprofit bug in env, set eval_freq automatically, improve default reward 2022-08-25 11:46:18 +02:00
Matthias f2a356a80c Fix some imports 2022-08-25 07:08:58 +02:00
Matthias 6636f17e0f Simplify usage of amount_to_contract precision 2022-08-25 07:08:22 +02:00
Matthias 9e48e6a40b Update docs about precision limits in backtesting 2022-08-25 06:50:10 +02:00
Matthias 205ab26e92 Remove TODO in test 2022-08-25 06:50:10 +02:00
Matthias 70df037690 Improve test precision 2022-08-25 06:50:10 +02:00
Timothy Pogue 3e786a9b8b added example configs 2022-08-24 22:44:22 -06:00
Timothy Pogue d474111a65 Renamed to external signals, controller class refactored 2022-08-24 22:42:29 -06:00
Timothy Pogue 592373f096 Remove pairlist waiting, add .db files to .gitignore 2022-08-24 18:30:30 -06:00
Matthias 32faad9333 Fix backtest calculation problem with DCA
closes #7287
2022-08-24 20:36:08 +02:00
robcaulk d1bee29b1e improve default reward, fix bugs in environment 2022-08-24 18:32:40 +02:00
robcaulk a61821e1c6 remove monitor log 2022-08-24 16:33:13 +02:00
robcaulk bd870e2331 fix monitor bug, set default values in case user doesnt set params 2022-08-24 16:32:14 +02:00
robcaulk c0cee5df07 add continual retraining feature, handly mypy typing reqs, improve docstrings 2022-08-24 13:00:55 +02:00
robcaulk b708134c1a switch multiproc thread count to rl_config definition 2022-08-24 13:00:55 +02:00
robcaulk b26ed7dea4 fix generic reward, add time duration to reward 2022-08-24 13:00:55 +02:00
robcaulk 280a1dc3f8 add live rate, add trade duration 2022-08-24 13:00:55 +02:00
robcaulk f9a49744e6 add strategy to the freqai object 2022-08-24 13:00:55 +02:00
richardjozsa a2a4bc05db Fix the state profit calculation logic 2022-08-24 13:00:55 +02:00
robcaulk 29f0e01c4a expose environment reward parameters to the user config 2022-08-24 13:00:55 +02:00
robcaulk d88a0dbf82 add sb3_contrib models to the available agents. include sb3_contrib in requirements. 2022-08-24 13:00:55 +02:00
robcaulk 8b3a8234ac fix env bug, allow example strat to short 2022-08-24 13:00:55 +02:00
mrzdev 8cd4daad0a Feat/freqai rl dev (#7)
* access trades through get_trades_proxy method to allow backtesting
2022-08-24 13:00:55 +02:00
robcaulk 3eb897c2f8 reuse callback, allow user to acces all stable_baselines3 agents via config 2022-08-24 13:00:55 +02:00
robcaulk 4b9499e321 improve nomenclature and fix short exit bug 2022-08-24 13:00:55 +02:00
sonnhfit 4baa36bdcf fix persist a single training environment for PPO 2022-08-24 13:00:55 +02:00
robcaulk f95602f6bd persist a single training environment. 2022-08-24 13:00:55 +02:00
robcaulk 5d4e5e69fe reinforce training with state info, reinforce prediction with state info, restructure config to accommodate all parameters from any user imported model type. Set 5Act to default env on TDQN. Clean example config. 2022-08-24 13:00:55 +02:00
sonnhfit 7962a1439b remove keep low profit 2022-08-24 13:00:55 +02:00
sonnhfit 81b5aa66e8 make env keep current position when low profit 2022-08-24 13:00:55 +02:00
sonnhfit 45218faeb0 fix coding convention 2022-08-24 13:00:55 +02:00
richardjozsa d55092ff17 Docker building update, and TDQN repair with the newer release of SB+ 2022-08-24 13:00:55 +02:00
robcaulk 74e4fd0633 ensure config example can work with backtesting RL 2022-08-24 13:00:55 +02:00
robcaulk b90da46b1b improve price df handling to enable backtesting 2022-08-24 13:00:55 +02:00
MukavaValkku 2080ff86ed 5ac base fixes in logic 2022-08-24 13:00:55 +02:00
robcaulk 16cec7dfbd fix save/reload functionality for stablebaselines 2022-08-24 13:00:55 +02:00
sonnhfit 0475b7cb18 remove unuse code and fix coding conventions 2022-08-24 13:00:55 +02:00
MukavaValkku d60a166fbf multiproc TDQN with xtra callbacks 2022-08-24 13:00:55 +02:00
robcaulk dd382dd370 add monitor to eval env so that multiproc can save best_model 2022-08-24 13:00:55 +02:00
robcaulk 69d542d3e2 match config and strats to upstream freqai 2022-08-24 13:00:55 +02:00
robcaulk e5df39e891 ensuring best_model is placed in ram and saved to disk and loaded from disk 2022-08-24 13:00:55 +02:00
robcaulk bf7ceba958 set cpu threads in config 2022-08-24 13:00:55 +02:00
MukavaValkku 57c488a6f1 learning_rate + multicpu changes 2022-08-24 13:00:55 +02:00
MukavaValkku 48bb51b458 example config added 2022-08-24 13:00:55 +02:00
MukavaValkku b1fc5a06ca example config added 2022-08-24 13:00:55 +02:00
sonnhfit 6d8e838a8f update tensorboard dependency 2022-08-24 13:00:55 +02:00
robcaulk acf3484e88 add multiprocessing variant of ReinforcementLearningPPO 2022-08-24 13:00:55 +02:00
MukavaValkku cf0731095f type fix 2022-08-24 13:00:55 +02:00
MukavaValkku 1c81ec6016 3ac and 5ac example strategies 2022-08-24 13:00:55 +02:00
MukavaValkku 13cd18dc9a PPO policy change + verbose=1 2022-08-24 13:00:55 +02:00
robcaulk 926023935f make base 3ac and base 5ac environments. TDQN defaults to 3AC. 2022-08-24 13:00:55 +02:00
MukavaValkku 096533bcb9 3ac to 5ac 2022-08-24 13:00:55 +02:00
MukavaValkku 718c9d0440 action fix 2022-08-24 13:00:55 +02:00
robcaulk 9c78e6c26f base PPO model only customizes reward for 3AC 2022-08-24 13:00:55 +02:00
robcaulk 6048f60f13 get TDQN working with 5 action environment 2022-08-24 13:00:55 +02:00
robcaulk d4db5c3281 ensure TDQN class is properly named 2022-08-24 13:00:55 +02:00
robcaulk 91683e1dca restructure RL so that user can customize environment 2022-08-24 13:00:55 +02:00
sonnhfit ecd1f55abc add rl module 2022-08-24 13:00:55 +02:00
sonnhfit 70b25461f0 add rl dependency 2022-08-24 13:00:55 +02:00
MukavaValkku 9b895500b3 initial commit - new dev branch 2022-08-24 13:00:55 +02:00
MukavaValkku cd3fe44424 callback function and TDQN model added 2022-08-24 13:00:55 +02:00
MukavaValkku 01232e9a1f callback function and TDQN model added 2022-08-24 13:00:55 +02:00
MukavaValkku 8eeaab2746 add reward function 2022-08-24 13:00:55 +02:00
MukavaValkku ec813434f5 ReinforcementLearningModel 2022-08-24 13:00:55 +02:00
MukavaValkku 2f4d73eb06 Revert "ReinforcementLearningModel"
This reverts commit 4d8dfe1ff1daa47276eda77118ddf39c13512a85.
2022-08-24 13:00:55 +02:00
MukavaValkku c1e7db3130 ReinforcementLearningModel 2022-08-24 13:00:55 +02:00
robcaulk 05ed1b544f Working base for reinforcement learning model 2022-08-24 13:00:40 +02:00
Matthias a6d78a8615 initialize Since parameter properly
closes #7285
2022-08-23 06:43:04 +02:00
Matthias fe7108ae75 Convert amount to contracts before comparing for close
closes #7279
2022-08-23 06:37:38 +02:00
Matthias 78b161e14c add contract_size to database 2022-08-23 06:37:38 +02:00
Matthias 6036018f35 Extract contracts_to_amount and amount_to_contracts to standalone functions 2022-08-23 06:37:38 +02:00
Matthias 1b0f37a93c Fix documentation typo 2022-08-23 06:37:38 +02:00
Matthias 5f38a574ce Add okx broker id 2022-08-23 06:37:38 +02:00
th0rntwig 5ce1c69803
Improve DBSCAN epsilon identification (#7269)
* Improve DBSCAN epsilon identification
2022-08-22 19:57:20 +02:00
Matthias 60ba921f56
Merge pull request #7282 from freqtrade/mem-leak-fix
Plug mem leak, add training timer
2022-08-22 19:36:52 +02:00
robcaulk ac42c0153d deprecate indicator_max_period_candles, automatically compute startup candles for FreqAI backtesting. 2022-08-22 18:19:07 +02:00
robcaulk 96d8882f1e Plug mem leak, add training timer 2022-08-22 13:30:30 +02:00
Matthias f55d5ffd8c Don't fail when `--strategy-path` is not a valid directory.
closes #7264
2022-08-22 09:20:14 +00:00
Matthias 914b6247e4
Merge pull request #7278 from freqtrade/dependabot/pip/develop/ccxt-1.92.52
Bump ccxt from 1.92.20 to 1.92.52
2022-08-22 08:41:52 +02:00
Matthias da87e9cbb3
Merge pull request #7275 from freqtrade/dependabot/pip/develop/types-requests-2.28.9
Bump types-requests from 2.28.8 to 2.28.9
2022-08-22 08:41:34 +02:00
Matthias 484b147a89
Merge pull request #7277 from freqtrade/dependabot/pip/develop/time-machine-2.8.1
Bump time-machine from 2.7.1 to 2.8.1
2022-08-22 07:13:05 +02:00
Timothy Pogue 4fa01548f6 Remove old var from strategy interface 2022-08-21 22:49:42 -06:00
Timothy Pogue 6f5478cc02 DataFrame transmission, strategy follower logic 2022-08-21 22:45:36 -06:00
Matthias 015be770c3 ccxt now defaults to base volume for all markets 2022-08-22 06:42:14 +02:00
Matthias 93d2f7fc85
types-requests bump pre-commit 2022-08-22 06:37:26 +02:00
Matthias 7844157a90
Merge pull request #7276 from freqtrade/dependabot/pip/develop/jsonschema-4.14.0
Bump jsonschema from 4.9.1 to 4.14.0
2022-08-22 06:31:29 +02:00
Matthias 6e046884af
Merge pull request #7273 from freqtrade/dependabot/pip/develop/fastapi-0.79.1
Bump fastapi from 0.79.0 to 0.79.1
2022-08-22 06:25:35 +02:00
Matthias a784f63e9a
Merge pull request #7274 from freqtrade/dependabot/pip/develop/mkdocs-material-8.4.1
Bump mkdocs-material from 8.4.0 to 8.4.1
2022-08-22 06:24:22 +02:00
dependabot[bot] ff9ed1abad
Bump ccxt from 1.92.20 to 1.92.52
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.92.20 to 1.92.52.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.92.20...1.92.52)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 03:02:25 +00:00
dependabot[bot] 354d3c0cda
Bump time-machine from 2.7.1 to 2.8.1
Bumps [time-machine](https://github.com/adamchainz/time-machine) from 2.7.1 to 2.8.1.
- [Release notes](https://github.com/adamchainz/time-machine/releases)
- [Changelog](https://github.com/adamchainz/time-machine/blob/main/HISTORY.rst)
- [Commits](https://github.com/adamchainz/time-machine/compare/2.7.1...2.8.1)

---
updated-dependencies:
- dependency-name: time-machine
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 03:02:10 +00:00
dependabot[bot] eeb177110e
Bump jsonschema from 4.9.1 to 4.14.0
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.9.1 to 4.14.0.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.9.1...v4.14.0)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 03:02:03 +00:00
dependabot[bot] 70848a258d
Bump types-requests from 2.28.8 to 2.28.9
Bumps [types-requests](https://github.com/python/typeshed) from 2.28.8 to 2.28.9.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 03:01:59 +00:00
dependabot[bot] 3958e53aaa
Bump mkdocs-material from 8.4.0 to 8.4.1
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.4.0 to 8.4.1.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.4.0...8.4.1)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 03:01:55 +00:00
dependabot[bot] dfa7d1fc27
Bump fastapi from 0.79.0 to 0.79.1
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.79.0 to 0.79.1.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.79.0...0.79.1)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 03:01:51 +00:00
Matthias 2dc34779d5 Fix line length 2022-08-21 18:07:41 +02:00
Matthias f6d832c6d9 Add get_option to expose ft_has via method 2022-08-21 17:51:46 +02:00
Matthias 87a3115073 Add get_open_trade_count() to simplify getting open trade count. 2022-08-21 17:08:27 +02:00
Matthias 085f81ec9e Fix header indent on stake-size-management 2022-08-21 08:24:14 +02:00
Matthias 0ec38e0cfd Fix typo in docs 2022-08-21 08:23:07 +02:00
Matthias 6189aa817c Fix HybridExample formatting 2022-08-20 19:50:18 +02:00
robcaulk 64b0834437 add credit in docstring 2022-08-20 17:04:38 +02:00
robcaulk 90c03178b1 provide user directions, clean up strategy, remove unnecessary code. 2022-08-20 17:02:18 +02:00
Matthias cdd4745693
Merge pull request #7263 from freqtrade/okx_cache_tiers
Okx cache tiers
2022-08-20 15:18:13 +02:00
Matthias 1fb2e9558f Disable caching of leverage tiers in ccxt compat methods 2022-08-20 14:39:11 +02:00
Matthias 5b3f031590 Use hyperopt safe amount precision method 2022-08-20 14:13:15 +02:00
Matthias 4511634f3a improve test coverage 2022-08-20 14:03:47 +02:00
Matthias 738e95b875 Add tests for leverage tiers caching 2022-08-20 13:54:54 +02:00
Matthias b6e8b9df35 Use cached leverage tiers 2022-08-20 13:01:58 +02:00
Matthias 52ec0d1046 Update binance Leverage tiers 2022-08-20 11:53:15 +02:00
Matthias 7563050f17 Realign tests to precision backtesting 2022-08-20 11:47:15 +02:00
Matthias 0da0600836 Have backtesting respect tradable size
closes #7161
2022-08-20 11:41:11 +02:00
Matthias 54ddc1a4c2 Add --tradingmode alias 2022-08-20 11:24:20 +02:00
Matthias aa3da092a0 Dont' use classProperty - that's not supported on 3.8 2022-08-20 10:55:52 +02:00
Matthias 63efb3ff3e
Merge pull request #7245 from th0rntwig/improve-doc
Restructure and improve doc, add fig
2022-08-20 09:48:50 +02:00
Matthias 665cf4431d Add explicit test cov. for .range behavior 2022-08-20 08:41:31 +02:00
Matthias 01d45ed12e
Merge pull request #7257 from freqtrade/feat/list-pair-time
Get min/max data in list-data command
2022-08-20 08:16:52 +02:00
Matthias 7b8b73e651
Merge pull request #7243 from lolongcovas/newbranch_test
Improve PCA and pairwise distance calcs
2022-08-20 08:13:40 +02:00
Timothy Pogue 739b68f8fd ExternalPairList plugin 2022-08-19 22:40:01 -06:00
elintornquist 692c6bf1fd Added and updated figs and fig descriptions 2022-08-19 22:23:26 +02:00
robcaulk 88d6a7fbff additional edits 2022-08-19 22:23:26 +02:00
elintornquist 9c6b745f06 Restructure and improve doc, add fiq 2022-08-19 22:23:26 +02:00
Johan van der Vlugt b44bd0171c
Example Classifier strat 2022-08-19 19:10:37 +02:00
Matthias b9d48c3278 use numbers in HyperoptState properly ... 2022-08-19 15:40:06 +02:00
Matthias 1389c8f5b6 Update documentation with show-timerange option 2022-08-19 15:34:10 +02:00
Matthias 733f716819 Update documentation 2022-08-19 15:22:43 +02:00
Matthias bc359675a2 Add --analyze-per-epoch - moving populate_analysis to the epoch process 2022-08-19 15:19:43 +02:00
Matthias 09f8904545 Extract analysis to separate method 2022-08-19 15:12:55 +02:00
Matthias 08ef5ad2d8 Add HyperoptState enum and container class 2022-08-19 15:11:43 +02:00
Matthias 1c6f966579 Hyperopt: simplify parameter "can_optimize" handling 2022-08-19 15:03:03 +02:00
Matthias 16af10a5bc Update notebook sample with simplified datadir configuration
closes #7252
2022-08-19 14:05:27 +02:00
Matthias b7553d20d4 Get min/max data in list-data command 2022-08-19 13:45:55 +02:00
Matthias 7d84ef2e2c Remove unused imports 2022-08-19 13:45:10 +02:00
longyu 521381ebf0 undo example strategy newline 2022-08-19 12:40:03 +02:00
longyu 790534e0f8 Merge branch 'newbranch_test' of github.com:lolongcovas/freqtrade into newbranch_test 2022-08-19 12:39:19 +02:00
longyu cfa5b3f12c add new line 2022-08-19 12:39:08 +02:00
longyu 277245c69d remove line 2022-08-19 12:39:00 +02:00
Matthias b420614d65 Reduce code duplication in datahandlers 2022-08-19 09:33:07 +02:00
Matthias 975bf8fe88 Update Docstring to match actual return values 2022-08-19 09:23:53 +02:00
Matthias 47b3143534 Simplify and fix some tests 2022-08-19 09:10:54 +02:00
Timothy Pogue 6834db11f3 minor improvements and pairlist data transmission 2022-08-19 00:06:19 -06:00
Matthias 42eb508515 Attempt fix of #7184 2022-08-19 07:09:46 +02:00
Matthias 76a3e97e05 Add migrations end message
closes #7251
2022-08-19 06:39:51 +02:00
Timothy Pogue 9f6bba40af initial concept for replicate, basic leader and follower logic 2022-08-18 20:10:58 +02:00
Matthias 70a77ba3d9 Check for "last" availability in PrecisionFilter
closes #7250
2022-08-18 20:07:50 +02:00
longyu 1fada53ddd remove newline 2022-08-18 19:40:00 +02:00
Matthias 85b43ec1a1 Remove double-check for "isolated margin" 2022-08-18 15:23:58 +02:00
Matthias fde469a253 Remove unnecessary check 2022-08-18 14:53:44 +02:00
Matthias 075e9b8526 Log Exchange responses for set_leverage 2022-08-18 09:52:03 +02:00
Matthias 46e8d9a5e4 Reduce verbosity when whitelist is empty 2022-08-18 09:09:37 +02:00
Matthias 18fab86431 Add dock segment about webserver mode for docker 2022-08-18 08:32:15 +02:00
Matthias 0461a89348 Fix test failures 2022-08-18 07:20:49 +02:00
longyu f70b0bab80 remove line 2022-08-17 23:49:20 +02:00
Matthias 66910bfe63 Don't fail if mark candles are missing
closes #7239
2022-08-17 20:01:57 +02:00
robcaulk 88dd9920ea sort imports for isort 2022-08-17 16:38:09 +02:00
robcaulk 5155afb4e7 clean up code remnants 2022-08-17 15:22:48 +02:00
robcaulk 0c34104e45 extract download-data from freqai to prepare for future async changes 2022-08-17 15:18:44 +02:00
longyu 9c38c27eed ignore sample itself distance for avg_mean_dist computation 2022-08-17 15:09:57 +02:00
longyu 72c34291e3 newline 2022-08-17 15:09:10 +02:00
Matthias 3983368228 gateio futures is showing base currency in volume! 2022-08-17 14:51:48 +02:00
Matthias 83ca168bb8
Merge pull request #7216 from freqtrade/precise_calcs
Precise calcs
2022-08-17 14:32:02 +02:00
Matthias c615e1bc62 Avoid loop error during ccxt tests 2022-08-17 14:31:40 +02:00
Matthias b9667f50cf Fix random test failure 2022-08-17 14:05:12 +02:00
Matthias e7902bffa0 Remove checks for dataprovider existance - it's available in all modes. 2022-08-17 10:57:25 +02:00
Matthias e0883a4ea0 Improve doc wording 2022-08-17 10:55:59 +02:00
Matthias 819bc71941 Update docs for freqai docker container 2022-08-17 10:35:56 +02:00
Matthias 463cf66881 Fix bad image name 2022-08-17 10:32:29 +02:00
Matthias c8d7c2caac Update CI to build and push freqAI images 2022-08-17 10:32:29 +02:00
Matthias 8d182768f9 stoploss should also use trimmed prices 2022-08-17 09:57:11 +02:00
Matthias 0b0e7eaf96 Mutex TTL Cache accesses which can be accessed by multiple threads
Apparently, cachetools is (intentionally) not threadsafe
when using the Caches directly.
It's therefore recommended to wrap these with an explicit lock to avoid
problems.

source: https://github.com/tkem/cachetools/issues/245

closes #7215
2022-08-16 19:48:21 +02:00
Matthias 24690c1918 Don't convert open_rate to precision
this may cause more problems than it solves.
2022-08-16 18:32:00 +02:00
Matthias 3b44dc52e1 Minor corrections 2022-08-16 18:10:48 +02:00
Matthias ea6bc47d7a gateio default configs should specify unknown_fee_rate 2022-08-16 17:26:53 +02:00
Matthias 5dde011b31 Add unknown_fee_rate to full sample config 2022-08-16 17:23:49 +02:00
Matthias a1e4fbf313 Run price_to_precision for dry-run orders 2022-08-16 17:23:49 +02:00
Matthias 1ac81aa316 Show message if fee update failed due to missing
closes #7234
2022-08-16 17:09:23 +02:00
Matthias c865814a8e
Merge pull request #7236 from freqtrade/fix-lgbm-warning
Fix input shape for LighGBMClassifier
2022-08-16 13:49:25 +02:00
robcaulk 4c0fda400f fix input shape warning for LGBMClassifier, add sample_weights/eval_weights 2022-08-16 11:41:53 +02:00
Matthias fa89368c02 Add test for precision backpopulation 2022-08-16 11:11:52 +02:00
Matthias 96d2f61812 Properly round timestamps to avoid constant log messages 2022-08-16 10:22:59 +02:00
Matthias b8c1cf0107 Fix test leakage if config is available 2022-08-16 10:19:19 +02:00
Matthias 15a1c59a91 Backtesting should cache precisionMode 2022-08-16 10:15:19 +02:00
Matthias a73e4f8e41 Truncate amount before comparing for closure 2022-08-16 09:49:53 +02:00
Matthias 2fb7a3091d Improve backfill of precisions 2022-08-16 09:32:31 +02:00
Matthias 711b6b1a1a Merge branch 'develop' into precise_calcs 2022-08-16 09:29:39 +02:00
Matthias a5b438e41e Run price_to_precision for dry-run orders 2022-08-16 09:28:23 +02:00
Matthias 1dd56e35d5 Ensure comparisions align when closing a trade 2022-08-16 08:21:02 +02:00
Matthias e4b7bcaeab Fix some tests 2022-08-16 08:01:07 +02:00
Matthias e818797427 Minor fix in amount_to_precision logic 2022-08-15 20:29:05 +02:00
Matthias c0bdb71810 Update docstring 2022-08-15 20:06:29 +02:00
Matthias f2b6ff910f Accept wrong pair in get_precision_amount 2022-08-15 20:05:22 +02:00
Matthias 09ee9089fb
Merge pull request #6832 from freqtrade/feat/freqai
Freqai: an interface for users to build/train/backtest predictive models and run them live
2022-08-15 20:03:08 +02:00
Matthias e6af9a6903 Allow empty precisionMode on conversions 2022-08-15 20:00:15 +02:00
Matthias c3f159bd57 Add precision fields to database 2022-08-15 19:58:40 +02:00
Matthias 22241c55d5 Add methods to get precision_amount from markets 2022-08-15 19:56:25 +02:00
Matthias 15e85797c2 Simplify to_precision tests and imports 2022-08-15 08:51:15 +02:00
Matthias 6c32331740 Move precision calculations to standalone functions 2022-08-15 08:43:58 +02:00
Matthias 053ab12ba6
Merge pull request #7227 from freqtrade/dependabot/pip/develop/plotly-5.10.0
Bump plotly from 5.9.0 to 5.10.0
2022-08-15 08:11:38 +02:00
Matthias c7e1719215 Fix interface import sorting 2022-08-15 06:53:02 +02:00
Matthias 686b72a82d
Merge pull request #7229 from freqtrade/dependabot/pip/develop/ccxt-1.92.20
Bump ccxt from 1.91.93 to 1.92.20
2022-08-15 06:49:54 +02:00
Matthias 398b2946b5 Update test formatting 2022-08-15 06:49:28 +02:00
Matthias 490c3a30ed
Merge pull request #7225 from freqtrade/dependabot/pip/develop/nbconvert-6.5.3
Bump nbconvert from 6.5.0 to 6.5.3
2022-08-15 06:32:54 +02:00
Matthias 3caf0f9df3
Merge pull request #7231 from freqtrade/dependabot/pip/develop/orjson-3.7.12
Bump orjson from 3.7.11 to 3.7.12
2022-08-15 06:32:31 +02:00
Matthias b7b74a430c
Merge pull request #7230 from freqtrade/dependabot/pip/develop/mkdocs-material-8.4.0
Bump mkdocs-material from 8.3.9 to 8.4.0
2022-08-15 06:31:40 +02:00
Matthias 4ae9b48d89
Merge pull request #7228 from freqtrade/dependabot/pip/develop/filelock-3.8.0
Bump filelock from 3.7.1 to 3.8.0
2022-08-15 06:31:19 +02:00
dependabot[bot] dba7d7fd65
Bump ccxt from 1.91.93 to 1.92.20
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.91.93 to 1.92.20.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.91.93...1.92.20)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 04:29:20 +00:00
Matthias a0c348cf97
Merge pull request #7226 from freqtrade/dependabot/pip/develop/numpy-1.23.2
Bump numpy from 1.23.1 to 1.23.2
2022-08-15 06:28:53 +02:00
Matthias ce892d4cde
Merge pull request #7224 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.40
Bump sqlalchemy from 1.4.39 to 1.4.40
2022-08-15 06:28:17 +02:00
dependabot[bot] 6fb5fbdd30
Bump orjson from 3.7.11 to 3.7.12
Bumps [orjson](https://github.com/ijl/orjson) from 3.7.11 to 3.7.12.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.7.11...3.7.12)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 03:01:56 +00:00
dependabot[bot] bc79027cf4
Bump mkdocs-material from 8.3.9 to 8.4.0
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.3.9 to 8.4.0.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.3.9...8.4.0)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 03:01:51 +00:00
dependabot[bot] 2581acd75e
Bump filelock from 3.7.1 to 3.8.0
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.7.1 to 3.8.0.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/py-filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.7.1...3.8.0)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 03:01:36 +00:00
dependabot[bot] baa0af68b2
Bump plotly from 5.9.0 to 5.10.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.9.0 to 5.10.0.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.9.0...v5.10.0)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 03:01:33 +00:00
dependabot[bot] 025ff27dd2
Bump numpy from 1.23.1 to 1.23.2
Bumps [numpy](https://github.com/numpy/numpy) from 1.23.1 to 1.23.2.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v1.23.1...v1.23.2)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 03:01:29 +00:00
dependabot[bot] 96c279f86c
Bump nbconvert from 6.5.0 to 6.5.3
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 6.5.0 to 6.5.3.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Commits](https://github.com/jupyter/nbconvert/compare/6.5...6.5.3)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 03:01:22 +00:00
dependabot[bot] 4b708caa6a
Bump sqlalchemy from 1.4.39 to 1.4.40
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.39 to 1.4.40.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 03:01:19 +00:00
robcaulk 3f6d427084 add a check for number of training features in tests 2022-08-14 21:46:37 +02:00
robcaulk 006b11e5d5 fix leftover bug in indicator population 2022-08-14 21:42:55 +02:00
robcaulk 8961b8d560 merge in inference timer and historic predictions handling improvements. 2022-08-14 20:31:15 +02:00
robcaulk ad846cdb76 fix lock bug, update docstring 2022-08-14 20:24:29 +02:00
Matthias 464d99808f Update doc table formatting 2022-08-14 18:22:01 +02:00
Matthias d442383a15 Fix ta-lib install script 2022-08-14 18:17:17 +02:00
Matthias a29402ddde Rename and move analysis_lock to data_kitchen 2022-08-14 17:23:14 +02:00
Matthias 3a9ec76c91 Move "freqai.lock" to backend to simplify user interface 2022-08-14 17:19:50 +02:00
Matthias a5e96881f4 slightly update doc wording 2022-08-14 17:08:29 +02:00
Matthias c08a89378d
Merge pull request #7192 from AchmadFathoni/patch_conda_ta-lib
Add script for patching conda libta-lib
2022-08-14 09:46:33 +02:00
Matthias e7513c96b3 install py-find-1st from conda forge
closes #7193
2022-08-14 09:36:38 +02:00
Matthias 24f1dc4ecc Update patched ta-lib install for conda 2022-08-14 09:06:04 +02:00
Matthias 044cf8bb2e Allow new whitelist combination in "button" commands 2022-08-14 08:41:25 +02:00
Matthias 22ac291c3a
Merge pull request #7211 from ecoppen/rpc/whitelist_options
Optional /whitelist args - sorted, nobase
2022-08-14 08:26:21 +02:00
Robert Caulk c9c128f781 finalize logo, improve doc, improve algo overview, fix base tensorflowmodel for mypy 2022-08-14 02:49:01 +02:00
Matthias 8d9284a524 Fix docs edit button 2022-08-13 20:20:09 +02:00
Matthias 7a2b4dbb99 Fix docs edit button 2022-08-13 20:16:36 +02:00
robcaulk 58de20af0f make BaseClassifierModel. Add predict_proba to lightgbm 2022-08-13 20:07:31 +02:00
robcaulk 31be707cc8 clean up code, add docstrings 2022-08-13 19:40:24 +02:00
robcaulk 3e38c1b0bd take dynamic sized tail off historic_predictions as return dataframe to strategy. 2022-08-13 19:40:24 +02:00
robcaulk 7d448fd4ac allow fit_live_predictions access to current pair 2022-08-13 19:40:24 +02:00
robcaulk 1f192be43b avoid denormalizing labels twice 2022-08-13 19:40:24 +02:00
robcaulk b1b76a2dbe debug classifier with predict proba 2022-08-13 19:40:24 +02:00
robcaulk 23cc21ce59 add predict_proba to base classifier, improve historic predictions handling 2022-08-13 19:40:24 +02:00
Matthias 61acbf21d0 Fix broken telegram tests 2022-08-13 15:46:06 +02:00
Matthias 7075b00e20 Remove odd dry run stoploss behavior
closes #7208
2022-08-13 11:37:23 +02:00
Matthias 7c18ec4053 Add missing key to "full" config sample 2022-08-13 11:24:55 +02:00
Matthias e09fbe9e53 Improve test resiliance 2022-08-13 11:17:22 +02:00
Matthias d36da95941 Fix bad import 2022-08-13 11:07:58 +02:00
Matthias 82ac8cb41f Add freqai backtesting_load test 2022-08-13 10:48:57 +02:00
Matthias 0b92c30abd Fix typo in test file 2022-08-13 10:19:46 +02:00
Matthias 5aaab75d1c Add test for dynamic_pairlist_expand 2022-08-13 10:18:57 +02:00
Matthias 1ac6ec1446 Fix failing test... 2022-08-13 09:56:21 +02:00
Matthias b682fc446e Graciously fail if strategy has freqAI code, but freqAI is not enabled. 2022-08-13 09:53:18 +02:00
Matthias c190d57f1a Test populate_any_indicator interface 2022-08-13 09:48:59 +02:00
Matthias 3918f4abbd Simplify strategy interface by removing explicit self.freqai_info assignment 2022-08-13 09:27:56 +02:00
Matthias 3b827ee60a Add "freqai.enabled" flag to disable freqAI via config flag
aligns with how other optional modules work in freqtrade.
2022-08-13 09:24:04 +02:00
Matthias 49989012ab Bump catboost requirement to latest 2022-08-13 09:20:58 +02:00
Matthias f6545ebdb8 Disallow backtesting with --strategy-list for now. 2022-08-13 09:10:03 +02:00
Matthias e3a5b97b45 Update recalc_from_trades to use FtPrecise 2022-08-13 08:43:56 +02:00
Matthias 9513c39a17 Fix migration rounding test 2022-08-13 08:43:56 +02:00
Matthias 3bcb47d75d Remove usage of Decimal 2022-08-13 08:43:56 +02:00
Matthias 902afc2f02 Use FtPrecise in interest calculation 2022-08-13 08:43:56 +02:00
Matthias da253f12fe Bump CCXT to required version 2022-08-13 08:43:56 +02:00
Matthias 0e61c2d057 Replace Decimal with FtPrecise in trade_model 2022-08-13 08:43:56 +02:00
Matthias df701b5862 Merge branch 'develop' into feat/freqai 2022-08-13 08:43:24 +02:00
ecoppen 2312b86a66 Update telegram-usage.md
Add the optional arguments to the documentation.
2022-08-12 19:59:08 +01:00
ecoppen ccc0ad6f64 fix - reload whitelist
Should fix the issue, if not I'll move development to a different computer and get local testing running properly.
2022-08-12 19:58:41 +01:00
ecoppen 923f73a516 nobase -> baseonly 2022-08-12 19:56:46 +01:00
robcaulk fb4b73ce89 ensure dates are saved 2022-08-12 12:03:44 +02:00
Matthias b427c7ff13 Use diff. close time to avoid buggy behavior 2022-08-12 07:28:19 +00:00
Matthias d93bb82193
Add more Commits to failing test 2022-08-12 08:19:40 +02:00
Matthias aa1bf2adbd Try fix windows testfailure 2022-08-12 06:43:34 +02:00
Matthias cc885e25ac Improve NAN Handling in RPC 2022-08-11 20:16:07 +02:00
Matthias de690b0a69 Use PEP440 compatible versioning 2022-08-11 20:08:40 +02:00
Matthias dd4e44931e Improve NAN handling in RPC module 2022-08-11 15:02:52 +00:00
Matthias f7502bcc92 slightly update dca_short test 2022-08-11 11:35:24 +00:00
robcaulk 2cae3c42e6 remove trade database analyzer, clean up a bit 2022-08-10 17:43:06 +02:00
ecoppen ace9626483 Update tests for sorted and nobase
Tests for PR #7211
2022-08-10 15:04:24 +01:00
ecoppen c0d60c63ab Optional /whitelist args - sorted, nobase
Added two optional arguments for whitelist - `sorted` for alphabetical order and `nobase` for displaying the whitelist without base currency e.g. /USDT.

Updated help with optional commands.

Added a space in an unrelated help message.
2022-08-10 14:56:38 +01:00
Matthias ed004236ce Add float initializer to FtPrecise 2022-08-10 11:54:07 +00:00
Matthias e7cb1b7375 Wrap Precise into FtPecise 2022-08-10 11:26:06 +00:00
robcaulk 91d0c91287 improve docs 2022-08-10 11:56:42 +02:00
Matthias adc8ee88e2 Move periodicCache to Utils package 2022-08-10 08:57:19 +00:00
Matthias 573964b19f Dry Market orders should update "remaining" 2022-08-10 07:12:56 +02:00
Matthias 53251e7140
Merge pull request #7194 from freqtrade/rpc/partial_forceexit
Partial forceExit
2022-08-10 07:12:40 +02:00
Matthias ce2c9bf26d Slight renaming of variable 2022-08-10 06:44:41 +02:00
Matthias 736884c5a9 Orders should be allowed to have empty fill/remaining values 2022-08-09 20:43:58 +02:00
Matthias b5c5a95b64 FTX: Use conditionalOrders endpoint to get proper stop-market order id
closes #7165
2022-08-09 20:09:35 +02:00
robcaulk 4289c5c684 update freqai logo 2022-08-09 16:51:57 +02:00
robcaulk 5a16d5a512 Deactivate database analyzer if user does not use sqlite 2022-08-09 16:36:22 +02:00
robcaulk e7de812948 Allow user to user pair_dict for persistent storage of custom data 2022-08-09 16:03:10 +02:00
robcaulk aef086b02e Improved dict typing, timeframe parser, collect dates associated with training data points 2022-08-09 15:30:25 +02:00
Matthias 02646a4a08 Update scikit-learn in freqai deps 2022-08-09 06:23:16 +02:00
Matthias 9a82898d6b Merge branch 'develop' into feat/freqai 2022-08-09 06:22:57 +02:00
Matthias 77b3b8a134 Use main exchange instead of creating a separate instance. 2022-08-08 18:34:11 +00:00
Matthias 20b4134787 Properly exclude catboost in ARM 2022-08-08 18:15:18 +00:00
Matthias 8a18609be4
Merge pull request #7201 from freqtrade/dependabot/pip/develop/types-requests-2.28.8
Bump types-requests from 2.28.6 to 2.28.8
2022-08-08 07:18:27 +02:00
Matthias 0c7d862aae
types-requests bump pre-commit 2022-08-08 06:54:00 +02:00
Matthias 05fb4de68b
Merge pull request #7198 from freqtrade/dependabot/pip/develop/flake8-5.0.4
Bump flake8 from 5.0.1 to 5.0.4
2022-08-08 06:53:09 +02:00
Matthias 21649712a9
Merge pull request #7202 from freqtrade/dependabot/pip/develop/ccxt-1.91.93
Bump ccxt from 1.91.55 to 1.91.93
2022-08-08 06:52:14 +02:00
Matthias 001b6c087a
Merge pull request #7199 from freqtrade/dependabot/pip/develop/scikit-learn-1.1.2
Bump scikit-learn from 1.1.1 to 1.1.2
2022-08-08 06:50:09 +02:00
Matthias 77b6025f12
Merge pull request #7200 from freqtrade/dependabot/pip/develop/jsonschema-4.9.1
Bump jsonschema from 4.9.0 to 4.9.1
2022-08-08 06:49:49 +02:00
dependabot[bot] 71c88244fe
Bump ccxt from 1.91.55 to 1.91.93
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.91.55 to 1.91.93.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.91.55...1.91.93)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 03:01:38 +00:00
dependabot[bot] 97c077171a
Bump types-requests from 2.28.6 to 2.28.8
Bumps [types-requests](https://github.com/python/typeshed) from 2.28.6 to 2.28.8.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 03:01:28 +00:00
dependabot[bot] a45a35f38c
Bump jsonschema from 4.9.0 to 4.9.1
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.9.0 to 4.9.1.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.9.0...v4.9.1)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 03:01:25 +00:00
dependabot[bot] 7fd3f98ae8
Bump scikit-learn from 1.1.1 to 1.1.2
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.1.1 to 1.1.2.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.1.1...1.1.2)

---
updated-dependencies:
- dependency-name: scikit-learn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 03:01:20 +00:00
dependabot[bot] 11a2eb6cc5
Bump flake8 from 5.0.1 to 5.0.4
Bumps [flake8](https://github.com/pycqa/flake8) from 5.0.1 to 5.0.4.
- [Release notes](https://github.com/pycqa/flake8/releases)
- [Commits](https://github.com/pycqa/flake8/compare/5.0.1...5.0.4)

---
updated-dependencies:
- dependency-name: flake8
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 03:01:16 +00:00
robcaulk ea64f43e52 bring back auto DF resizing for okx 2022-08-08 01:13:13 +02:00
robcaulk 67c722c9c8 fix asyncio bug 2022-08-07 14:48:39 +02:00
Matthias e48e82232d Force response API to js to fix faulty system configs
closes #7147
2022-08-07 10:42:56 +02:00
Matthias 0b2104fc7a Properly increment the api version 2022-08-07 10:13:36 +02:00
Matthias 5182f755f1 Add debug setup documentation
closes #7167
2022-08-07 10:08:48 +02:00
Matthias 6ded2d5b7c Improve forceexit API test 2022-08-07 09:47:11 +02:00
Matthias d3780b931c Add test passing leverage to execute_entry 2022-08-07 09:47:11 +02:00
Matthias d1998f7ed0 Fix forceexit calling 2022-08-07 09:47:11 +02:00
Matthias eff8cd7ecb Add leverage to force_entry 2022-08-07 09:47:11 +02:00
Matthias daf015d007 extract nested force_exit function to private instance function 2022-08-07 09:47:11 +02:00
Matthias 82aecc81f3 Accept parameters to forceexit 2022-08-07 09:47:11 +02:00
Achmad Fathoni aaa5349003 Add script for patching conda libta-lib 2022-08-07 13:44:09 +07:00
Matthias 78e129034e Update docs to specify trading limit behaviour
closes #7183
2022-08-06 17:59:08 +02:00
robcaulk eb8bde37c1 Add lightgbm classifier, add classifier check test, fix classifier bug. 2022-08-06 17:51:21 +02:00
Matthias bfa859e618 Remove unnecessary method (simplify) 2022-08-06 17:46:58 +02:00
Matthias 5250189f77 Add Rollback function to Trade
simplifies Session work
2022-08-06 17:03:49 +02:00
Matthias 47a30047eb Fix typo 2022-08-06 15:03:10 +02:00
Matthias b16f57cb0d Minor stylistic fixes 2022-08-06 14:55:46 +02:00
Robert Caulk c172ce1011 improve flexibility of user defined prediction dataframe 2022-08-06 13:51:19 +02:00
Matthias 45d68222a1 Reduce verbosity of Fiat Converter 2022-08-06 13:18:40 +02:00
Robert Caulk fdc82f8302 add doc section for classifier 2022-08-06 09:45:26 +02:00
Matthias f8f1ade163 Reduce function complexity by extracting message sending 2022-08-06 09:21:11 +02:00
Matthias 2687633941 Test iterative sending of /status 2022-08-06 09:16:04 +02:00
Matthias b12dd15f4f Send multiple messages in /status if required 2022-08-06 09:10:12 +02:00
Robert Caulk 07763d0d4f add classifier, improve model naming scheme 2022-08-06 08:33:55 +02:00
Robert Caulk ce8fbbf743 ensure loading historical df matches frequi indices 2022-08-06 07:25:59 +02:00
robcaulk 60d782e5c5 remove unnecessary function 2022-08-05 21:31:32 +02:00
robcaulk a42a060ab5 fix DB once and for all. Make DBSCAN more efficient and robust. 2022-08-05 21:29:03 +02:00
Robert Caulk a3799c4d5d start frequi with historical data if available 2022-08-05 18:27:47 +02:00
robcaulk 29b7b014e5 fix bug in DB path initialization 2022-08-05 18:19:26 +02:00
robcaulk db1d367941 fix bug associated to fit_live_predictions_candles 2022-08-05 13:46:20 +02:00
robcaulk 26de992d20 ensure user sets startup candles in backtesting mode 2022-08-05 12:23:14 +02:00
robcaulk 05ec5c5e54 generalize database url path for any db type 2022-08-05 12:19:29 +02:00
Matthias 9545402452 Improve defaults for config builder 2022-08-05 11:58:09 +02:00
Matthias 29e41cc817 Update docs to reflect correct result
closes #7181
2022-08-05 11:15:44 +02:00
Matthias 7675187c37 Use telegram message length to avoid constants 2022-08-05 07:31:19 +02:00
Matthias cffc769549 Fix /profit endpoint calculations for partial sells
* don't recalculate for closed trades
* include realized_profit in the calculation

part of #7178
2022-08-05 07:26:41 +02:00
Matthias c6e121ffb4 Update tests with correct usdt mock trades 2022-08-05 07:21:46 +02:00
OGSK a8541d86fb Edit index of `custom_stake_amount` 2022-08-05 06:25:21 +02:00
OGSK debc73b654 Edit Typo Custom-stake-amount
Edit Custom-stake-amount to `custom_stake_amount`
2022-08-05 06:25:08 +02:00
Matthias c2a3e2776e
Merge pull request #7180 from freqtrade/dependabot/docker/python-3.10.6-slim-bullseye
Bump python from 3.10.5-slim-bullseye to 3.10.6-slim-bullseye
2022-08-05 06:24:00 +02:00
Matthias 987bbb8e12
Merge pull request #7176 from Jetsukda/patch-1
Edit Typo Custom-stake-amount
2022-08-05 06:23:00 +02:00
dependabot[bot] df4a5a7573
Bump python from 3.10.5-slim-bullseye to 3.10.6-slim-bullseye
Bumps python from 3.10.5-slim-bullseye to 3.10.6-slim-bullseye.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-05 03:02:12 +00:00
OGSK c3d06257be
Edit index of `custom_stake_amount` 2022-08-05 09:36:26 +07:00
OGSK 8bf056ca39
Edit Typo Custom-stake-amount
Edit Custom-stake-amount to `custom_stake_amount`
2022-08-05 00:28:28 +07:00
Robert Caulk 51a6b4289f improve DBSCAN performance for subsequent trainings 2022-08-04 17:41:58 +02:00
Robert Caulk fe1b8515a8 fix bug in DBSCAN, update doc 2022-08-04 17:00:59 +02:00
Matthias 55360b4c08
Merge pull request #7174 from stash86/patch-3
Fix typo
2022-08-04 16:27:22 +02:00
Stefano Ariestasia febd809119
Fix typo
adjust_trade_position should return stake_amount, not amount
2022-08-04 20:55:52 +09:00
robcaulk 29225e4baf add DBSCAN outlier detection feature, add supporting documentation 2022-08-04 12:15:16 +02:00
Matthias 778833f90e Modify comment in new test-strategies to point out their purpose 2022-08-04 07:17:26 +02:00
Matthias 95327750dc Final abs. profit should not be doubled in rpc messages 2022-08-04 07:07:54 +02:00
robcaulk eae82d0222 fix bug with database url during backtesting. comment out example trade db analysis. 2022-08-03 16:17:57 +02:00
robcaulk 95d3009a95 give user ability to analyze live trade dataframe inside custom prediction model. Add documentation to explain new functionality 2022-08-02 20:14:02 +02:00
Matthias 9df10c6b5b
Merge pull request #7155 from freqtrade/dependabot/pip/develop/scipy-1.9.0
Bump scipy from 1.8.1 to 1.9.0
2022-08-01 19:54:20 +02:00
Matthias ae0d6f63fa Version bump ccxt to 1.91.55
closes #7151
2022-08-01 19:43:13 +02:00
Matthias 87e5460aed
Merge pull request #7157 from freqtrade/dependabot/pip/develop/types-requests-2.28.6
Bump types-requests from 2.28.3 to 2.28.6
2022-08-01 09:46:34 +02:00
Matthias 895ebbfd18 Exclude aarch64 from catboost requirements 2022-08-01 07:34:27 +00:00
Matthias 694bea133b
Merge pull request #7156 from freqtrade/dependabot/pip/develop/flake8-5.0.1
Bump flake8 from 4.0.1 to 5.0.1
2022-08-01 08:39:06 +02:00
Matthias 3b90bdf980
Merge pull request #7160 from freqtrade/dependabot/pip/develop/jsonschema-4.9.0
Bump jsonschema from 4.7.2 to 4.9.0
2022-08-01 07:02:30 +02:00
Matthias d75e0a9820 Fix Flake8 errors after flake update 2022-08-01 06:43:59 +02:00
Matthias 707a4e7c9e
types-requests bump pre-commit 2022-08-01 06:41:08 +02:00
dependabot[bot] f3154a4313
Bump jsonschema from 4.7.2 to 4.9.0
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.7.2 to 4.9.0.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.7.2...v4.9.0)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 04:35:30 +00:00
Matthias e9b7e1e600
Merge pull request #7161 from freqtrade/dependabot/pip/develop/urllib3-1.26.11
Bump urllib3 from 1.26.10 to 1.26.11
2022-08-01 06:34:37 +02:00
Matthias 70dcff3b23
Merge pull request #7154 from freqtrade/dependabot/pip/develop/ccxt-1.91.52
Bump ccxt from 1.91.29 to 1.91.52
2022-08-01 06:34:16 +02:00
Matthias dce16909b4
Merge pull request #7162 from freqtrade/dependabot/github_actions/develop/pypa/gh-action-pypi-publish-1.5.1
Bump pypa/gh-action-pypi-publish from 1.5.0 to 1.5.1
2022-08-01 06:33:52 +02:00
Matthias f82724bbc1
Merge pull request #7158 from freqtrade/dependabot/pip/develop/orjson-3.7.11
Bump orjson from 3.7.8 to 3.7.11
2022-08-01 06:33:34 +02:00
robcaulk 3013282dbf remove non-catboost stuff from schema 2022-08-01 05:39:38 +02:00
dependabot[bot] 97064a9ce3
Bump pypa/gh-action-pypi-publish from 1.5.0 to 1.5.1
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.5.0...v1.5.1)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 03:13:38 +00:00
dependabot[bot] 79b650258e
Bump urllib3 from 1.26.10 to 1.26.11
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.10 to 1.26.11.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/1.26.11/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.10...1.26.11)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 03:02:02 +00:00
dependabot[bot] ed230dd750
Bump orjson from 3.7.8 to 3.7.11
Bumps [orjson](https://github.com/ijl/orjson) from 3.7.8 to 3.7.11.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.7.8...3.7.11)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 03:01:52 +00:00
dependabot[bot] 372be54252
Bump types-requests from 2.28.3 to 2.28.6
Bumps [types-requests](https://github.com/python/typeshed) from 2.28.3 to 2.28.6.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 03:01:46 +00:00
dependabot[bot] b4ded59c63
Bump flake8 from 4.0.1 to 5.0.1
Bumps [flake8](https://github.com/pycqa/flake8) from 4.0.1 to 5.0.1.
- [Release notes](https://github.com/pycqa/flake8/releases)
- [Commits](https://github.com/pycqa/flake8/compare/4.0.1...5.0.1)

---
updated-dependencies:
- dependency-name: flake8
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 03:01:43 +00:00
dependabot[bot] a75fa26caf
Bump scipy from 1.8.1 to 1.9.0
Bumps [scipy](https://github.com/scipy/scipy) from 1.8.1 to 1.9.0.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.8.1...v1.9.0)

---
updated-dependencies:
- dependency-name: scipy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 03:01:38 +00:00
dependabot[bot] 7a696f58f9
Bump ccxt from 1.91.29 to 1.91.52
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.91.29 to 1.91.52.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.91.29...1.91.52)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 03:01:30 +00:00
robcaulk 946d4c7cfc fix trailing whitespace for flake8 2022-07-31 18:39:46 +02:00
robcaulk 4e68626bcb ensure convolutional window is prepended for frequi consistency 2022-07-31 17:51:19 +02:00
robcaulk d830105605 *BREAKING CHANGE* remove unnecessary arguments from populate_any_indicators(), accommodate tests 2022-07-31 17:05:29 +02:00
robcaulk 153336d424 move corr_pairlist expansion to after expand_pairlist() 2022-07-31 15:45:28 +02:00
Matthias 659870312d Use JSON Schema validation for freaAI schema validation 2022-07-31 15:23:27 +02:00
Matthias cbb05354a8 Add install variant for freqai 2022-07-31 15:10:01 +02:00
Kavinkumar a4bada3ebe
Partial exit using average price (#6545)
Introduce Partial exits
2022-07-31 14:19:04 +02:00
robcaulk 61693f6c8b fix tests after changing config_example file 2022-07-31 13:20:11 +02:00
robcaulk e6ebc0443e make single generalized config for freqai. update docs to reflect that. 2022-07-31 13:08:43 +02:00
Matthias 369c6da5d8
Merge pull request #7146 from freqtrade/fix/liquidation
Update liquidation price handling
2022-07-31 08:09:54 +02:00
Matthias 15424169ad
Merge pull request #7108 from rzrymiak/develop
Added description heading to README.md
2022-07-31 07:10:37 +02:00
rzrymiak 09e5fb2f55
Removed description header 2022-07-30 22:37:46 +00:00
Robert Caulk c2eaa3d2cd add image of algorithmic overview to doc 2022-07-30 18:51:00 +02:00
Matthias bad15f077c Simplify fetch_positions by using already existing method 2022-07-30 17:49:06 +02:00
Matthias dc82675f00 Add Test for liquidation in stop-loss-reached 2022-07-30 17:28:19 +02:00
Matthias fc31c890e3
Merge pull request #7135 from freqtrade/rpc/sendmsg
Strategy allow rpc messages
2022-07-30 16:15:00 +02:00
Matthias d046f0cc5e Improve method wording for liquidation price setter 2022-07-30 16:11:31 +02:00
Matthias dba7a7257d Use stop_or_liquidation instead of stop_loss 2022-07-30 16:10:16 +02:00
Matthias 845cecd38f Add stoploss or liquidation property 2022-07-30 16:10:16 +02:00
Matthias 4da96bc511 Update docs 2022-07-30 16:10:16 +02:00
Matthias 15752ce3c2 Rename set_stoploss method to be fully private 2022-07-30 16:10:16 +02:00
Matthias ff4cc5d316 Revamp liquidation test to actually make sense 2022-07-30 16:10:16 +02:00
Matthias 9852733ef7 Improve tests to align with modified logic 2022-07-30 16:10:16 +02:00
Matthias f57ecb1861 Simplify adjust_stop test 2022-07-30 16:10:16 +02:00
Matthias 8711b7d99f Liquidations cannot be rejected. 2022-07-30 16:10:16 +02:00
Matthias 995be90f91 Liquidation should be a separate exit type 2022-07-30 16:10:16 +02:00
Matthias 046ae18411
Merge pull request #7144 from freqtrade/new_release
New release 2022.7
2022-07-30 16:06:37 +02:00
robcaulk dd8288c090 expose full parameter set for SVM outlier detection. Set default shuffle to false to improve reproducibility 2022-07-30 13:40:05 +02:00
Matthias 28b4773083 Version bump 2022.7 2022-07-30 09:21:29 +02:00
Matthias d4e8ab1cac Merge branch 'stable' into new_release 2022-07-30 09:21:05 +02:00
Matthias d70650b074 Add note for plot-dataframe and current-whitelist
closes #7142
2022-07-30 08:20:22 +02:00
robcaulk f22b140782 fix backtesting bug, undo move of label stat calc, fix example strat exit logic 2022-07-29 17:27:35 +02:00
robcaulk 08d3ac7ef8 add keras and conv_width to schema and documentation 2022-07-29 08:49:35 +02:00
robcaulk 59624181bd isort BaseRegressionModel imports 2022-07-29 08:23:44 +02:00
robcaulk c84d54b35e Fix typing issue, avoid using .get() when unnecessary, convert to fstrings 2022-07-29 08:12:50 +02:00
Matthias efbd83c56d Small type and typo fixes in freqai_interface 2022-07-28 07:24:30 +02:00
Matthias a2a0d35a24 Update missing typehints 2022-07-28 07:07:40 +02:00
Matthias 3273881282 Merge branch 'develop' into feat/freqai 2022-07-28 06:36:38 +02:00
Matthias cc3ead9d7b Set required_profit for stoploss guard, allowing to ignore small stoplosses.
closes #7076
2022-07-27 19:52:39 +02:00
Matthias f31106dc61 Minor comment fixes 2022-07-27 07:27:24 +02:00
Matthias 31ddec8348 Add missing test to confirm backtesting won't send messages 2022-07-27 06:51:56 +02:00
Matthias 2595e40e47 Remove unused test-strategy 2022-07-27 06:47:16 +02:00
Matthias 0adfa4d9ef Add tests for dataprovider send-message methods 2022-07-27 06:34:15 +02:00
Matthias 7bac054668 Add documentation and clarity for send_msg 2022-07-26 20:24:52 +02:00
Matthias 229e8864bb Add send_msg capability to dataprovider 2022-07-26 20:15:49 +02:00
Matthias bc760b7eb2 Simplify small segment in datadrawer 2022-07-26 19:41:49 +02:00
Matthias a0b9388757 Bump ccxt to 1.91.29
closes #7132
2022-07-26 17:57:25 +02:00
robcaulk 324e54c015 fix possible memory leak associated with Catboost Pool object 2022-07-26 17:29:29 +02:00
robcaulk 3f149c4067 fix return type in BaseTensorFlowModel 2022-07-26 16:01:54 +02:00
robcaulk ad25a4cb56 reduce number of pair_dict lookups, remove coin_first 2022-07-26 15:58:40 +02:00
robcaulk fb4e8430cd isort auto import sorting 2022-07-26 10:51:39 +02:00
robcaulk e213d0ad55 isolate data_drawer functions from data_kitchen, accommodate tests, add new test 2022-07-26 10:24:14 +02:00
robcaulk 56b17e6f3c allow user to pass test_size = 0 and avoid using eval sets in prediction models 2022-07-25 19:40:13 +02:00
Matthias 4c68bec171 Fix problem in `is_cancel_order_result_suitable`
fixes #7119
2022-07-25 17:47:52 +02:00
Matthias ea112fb583 Add test for empty order (cancelled order) 2022-07-25 17:47:28 +02:00
robcaulk 55cf378ec2 remove leftover breakpoint from test file 2022-07-25 17:13:24 +02:00
Robert Caulk 897f18a8c8 ensure proper integer type casting for timestamps. Add check test for backtesting subdaily time periods 2022-07-25 15:07:09 +02:00
Robert Caulk 7b105532d1 fix mypy error and add test for principal component analysis 2022-07-25 11:46:59 +02:00
Robert Caulk 4abc26b582 add test for follow_mode 2022-07-25 10:48:04 +02:00
Robert Caulk c9d46a5237 finish bringing follow_mode up to date 2022-07-25 09:24:40 +02:00
Matthias 0806f253b1
Merge pull request #7125 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.19
Bump types-python-dateutil from 2.8.18 to 2.8.19
2022-07-25 08:43:58 +02:00
Matthias 4b8132f3c6
Merge pull request #7128 from freqtrade/dependabot/pip/develop/mypy-0.971
Bump mypy from 0.961 to 0.971
2022-07-25 08:42:16 +02:00
Matthias 47b52d4bab
Bump types-dateutil in pre-commit 2022-07-25 07:58:16 +02:00
dependabot[bot] 40969f20bf
Bump types-python-dateutil from 2.8.18 to 2.8.19
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.18 to 2.8.19.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 05:53:15 +00:00
dependabot[bot] 93340f546b
Bump mypy from 0.961 to 0.971
Bumps [mypy](https://github.com/python/mypy) from 0.961 to 0.971.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.961...v0.971)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 05:53:10 +00:00
Matthias b7f5beea40
Merge pull request #7124 from freqtrade/dependabot/pip/develop/mkdocs-1.3.1
Bump mkdocs from 1.3.0 to 1.3.1
2022-07-25 07:52:38 +02:00
Matthias c0080f2241
Merge pull request #7126 from freqtrade/dependabot/pip/develop/types-requests-2.28.3
Bump types-requests from 2.28.1 to 2.28.3
2022-07-25 07:52:16 +02:00
Matthias 43343d0e55
Revert markdown to 3.3.7 2022-07-25 07:21:12 +02:00
Matthias 3ce46ff09e
Bump types-requests in pre-commit 2022-07-25 07:19:21 +02:00
Matthias fba3c3c649
Merge pull request #7127 from freqtrade/dependabot/pip/develop/ccxt-1.91.22
Bump ccxt from 1.90.89 to 1.91.22
2022-07-25 07:17:14 +02:00
Matthias bc87171243
Merge pull request #7123 from freqtrade/dependabot/pip/develop/orjson-3.7.8
Bump orjson from 3.7.7 to 3.7.8
2022-07-25 07:17:00 +02:00
dependabot[bot] f93a3a5fca
Bump ccxt from 1.90.89 to 1.91.22
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.90.89 to 1.91.22.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.90.89...1.91.22)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 03:01:52 +00:00
dependabot[bot] 98d0ad76bf
Bump types-requests from 2.28.1 to 2.28.3
Bumps [types-requests](https://github.com/python/typeshed) from 2.28.1 to 2.28.3.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 03:01:44 +00:00
dependabot[bot] d5933fb2af
Bump mkdocs from 1.3.0 to 1.3.1
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.3.0...1.3.1)

---
updated-dependencies:
- dependency-name: mkdocs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 03:01:37 +00:00
dependabot[bot] 1b49e45222
Bump orjson from 3.7.7 to 3.7.8
Bumps [orjson](https://github.com/ijl/orjson) from 3.7.7 to 3.7.8.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.7.7...3.7.8)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 03:01:32 +00:00
Robert Caulk ab587747fb first fix for follower path bug 2022-07-24 23:32:24 +02:00
Matthias 520ee3f7a1 Convert freqAI into packages 2022-07-24 17:07:45 +02:00
Matthias 1885deb632 More docstring changes 2022-07-24 16:54:39 +02:00
Matthias 70b7a254af Update some areas to use default docstring formatting 2022-07-24 16:51:48 +02:00
Matthias 61c41fd919 Merge branch 'develop' into feat/freqai 2022-07-24 16:18:58 +02:00
Matthias 83cac7bee2 Improve some more tests by adding proper orders 2022-07-24 10:51:13 +02:00
Matthias 6e691a016d Use leverage-tiers loading in tests 2022-07-24 10:24:59 +02:00
Robert Caulk 88e10f7306 add exception for not passing timerange. Remove hard coded arguments for CatboostPredictionModels. Update docs 2022-07-24 09:01:23 +02:00
Robert Caulk fff39eff9e fix multitarget bug 2022-07-24 08:42:50 +02:00
Matthias 95f5218ceb
Reenable Catboost test (#7118)
* Reenable Catboost test

* Simplify freqAI tests, ensure they use a tempdir for modelstorage
2022-07-24 07:32:13 +02:00
Matthias 2eb1d18c2a Don't load leverage tiers when not necessary 2022-07-23 19:56:38 +02:00
robcaulk f3d46613ee move prediction denormalization into datakitchen. remove duplicate associated code. avoid normalization/denormalization for string dtypes. 2022-07-23 17:14:33 +02:00
Matthias 81c1aa3c13 Update imports in freqAI sample strategies 2022-07-23 17:08:05 +02:00
Matthias 8a3cffcd1b Remove remaining CustomModel references 2022-07-23 17:08:05 +02:00
Matthias 62f7606d2c Update tests to new variant 2022-07-23 17:08:05 +02:00
Matthias 8fa6e8b4ba Remove freqAI model bridge in favor of `self.freqai` 2022-07-23 17:08:05 +02:00
robcaulk c91e23dc50 let user avoid normalizing labels 2022-07-23 16:14:13 +02:00
Matthias 7682c9ace7 Update trade_close test to include orders 2022-07-23 15:27:52 +02:00
Matthias 24a786bedd Update rpc test to contain sell order 2022-07-23 15:23:24 +02:00
Matthias 80845807e1 Improve some test resiliance 2022-07-23 15:14:38 +02:00
Matthias a02d02ac12 Enhance protections tests to have orders in mock trade 2022-07-23 14:43:52 +02:00
robcaulk 50d630a155 remove unnecessary comments from data_drawer.py 2022-07-23 13:35:44 +02:00
robcaulk a1cff377ec add record of contribution to data_kitchen.py 2022-07-23 13:32:04 +02:00
robcaulk c2d6a0e891 add record of contribution to doc and source 2022-07-23 13:04:06 +02:00
robcaulk 3acc869570 improve the dataframe key description, update outdated parts of doc 2022-07-23 12:42:24 +02:00
Matthias 5c4f60f376 Improve configuration table formatting and ordering 2022-07-23 09:11:22 +02:00
Matthias e97468964a Add support for --timeframe-detail in hyperopt
fix #7070
2022-07-23 08:52:03 +02:00
Matthias 36dc9be7aa Update some docs wording 2022-07-22 20:27:25 +02:00
Matthias 32c3f62934 Fix documentation typo
closes #7115
2022-07-22 19:45:50 +02:00
robcaulk 5559e605b8 small PR conversation resolutions 2022-07-22 17:46:14 +02:00
robcaulk 40f00196eb use cloudpickle in place of pickle. define Paths once in data_drawer. 2022-07-22 17:37:51 +02:00
robcaulk accc629e32 set separate table sections in doc 2022-07-22 12:44:43 +02:00
robcaulk 98c8a447b2 add LightGBMPredictionMultiModel 2022-07-22 12:40:51 +02:00
robcaulk afcb0bec00 clean up obsolete comments, move remove_features_from_df to datakitchen 2022-07-22 12:29:20 +02:00
Matthias 0b21750e76 Reorder advanced topics 2022-07-22 07:22:06 +02:00
robcaulk ac0f484918 add freqai logo to top of doc 2022-07-22 00:02:07 +02:00
robcaulk 3205788bce extend doc to include descriptions of the return values from FreqAI to the strategy 2022-07-21 22:11:46 +02:00
robcaulk 8033e0bf23 add counter to backtesting log so users know how many more pairs and how many more models will need to be trained 2022-07-21 13:22:12 +02:00
robcaulk 183dec866a remove ability to backtest open ended timeranges (safer) 2022-07-21 13:02:52 +02:00
robcaulk e694ea1cfd make sure backtesting gets the populated indicators with slimmed down user strat 2022-07-21 12:48:09 +02:00
robcaulk ca4dd58642 remove superceded function from datakitchen 2022-07-21 12:40:54 +02:00
robcaulk 8f86b0deaa *breaking change* simplify user strat by consolidating feature loops into backend 2022-07-21 12:24:22 +02:00
robcaulk e7337728bf add separator in folder name just incase an asset ends in an integer 2022-07-21 11:25:28 +02:00
robcaulk c9a6dc88a1 add parameter list/discriptions to doc 2022-07-21 11:11:36 +02:00
Matthias 6c5e48dd4f dev-dependencies should include freqAI 2022-07-21 07:26:44 +02:00
robcaulk a99c126266 help windows builds pass freqai tests. Add freqai to README.md 2022-07-20 16:14:19 +02:00
robcaulk 4e5d60fdc9 match scikit-learn version to hyperopt required version 2022-07-20 15:54:22 +02:00
robcaulk 921a7ef216 add requirements-freqai.txt to builds 2022-07-20 15:51:25 +02:00
robcaulk 286bd0c40b follow string for adding a strat to tests/strategy/strats 2022-07-20 15:00:02 +02:00
robcaulk c43935e82a create dedicated minimal freqai test strat 2022-07-20 14:39:28 +02:00
robcaulk 88d769d801 comment out problematic catboost test 2022-07-20 14:18:06 +02:00
robcaulk d43c146676 add more tests for datakitchen functionalities, add regression tests for freqai_interface train/backtest 2022-07-20 12:56:46 +02:00
Matthias 78f77f6d35
Merge pull request #7101 from freqtrade/dependabot/pip/develop/markdown-3.4.1
Bump markdown from 3.3.7 to 3.4.1
2022-07-20 06:48:28 +02:00
rzrymiak ac2e8d760e
Added description heading to README.md 2022-07-19 14:24:44 -07:00
Matthias b609dbcd86 Update mdx_truly_sane_lists to be compatible with markdown again 2022-07-19 19:51:03 +02:00
lolong 9c051958a6
Feat/freqai (#7105)
Vectorize weight setting, log training dates

Co-authored-by: robcaulk <rob.caulk@gmail.com>
2022-07-19 17:49:18 +02:00
robcaulk 714d9534b6 start adding tests 2022-07-19 16:16:44 +02:00
Matthias 75e190ff1d Update sell-test without filled buy order 2022-07-19 07:20:36 +02:00
lolong ed0f8b1189
Improve FreqAI documentation (#7072)
Improve doc + some other small fixes

Co-authored-by: robcaulk <rob.caulk@gmail.com>
2022-07-18 11:57:52 +02:00
Matthias 99d5fbc9c0
Merge pull request #7102 from freqtrade/dependabot/pip/develop/types-requests-2.28.1
Bump types-requests from 2.28.0 to 2.28.1
2022-07-18 08:38:35 +02:00
Matthias 0daa9d3e57
Bump types-requests in pre-commit 2022-07-18 07:56:41 +02:00
Matthias 7365d23db8
Merge pull request #7099 from freqtrade/dependabot/pip/develop/fastapi-0.79.0
Bump fastapi from 0.78.0 to 0.79.0
2022-07-18 07:55:29 +02:00
Matthias df538f9cd6
Merge pull request #7097 from freqtrade/dependabot/pip/develop/jsonschema-4.7.2
Bump jsonschema from 4.6.2 to 4.7.2
2022-07-18 07:54:55 +02:00
Matthias 9d261c88e6
Merge pull request #7098 from freqtrade/dependabot/pip/develop/pytest-asyncio-0.19.0
Bump pytest-asyncio from 0.18.3 to 0.19.0
2022-07-18 07:54:31 +02:00
Matthias 8a1c95247d
Merge pull request #7100 from freqtrade/dependabot/pip/develop/ccxt-1.90.89
Bump ccxt from 1.90.88 to 1.90.89
2022-07-18 07:53:52 +02:00
dependabot[bot] ea523136fc
Bump types-requests from 2.28.0 to 2.28.1
Bumps [types-requests](https://github.com/python/typeshed) from 2.28.0 to 2.28.1.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-18 03:01:49 +00:00
dependabot[bot] d2ef248781
Bump markdown from 3.3.7 to 3.4.1
Bumps [markdown](https://github.com/Python-Markdown/markdown) from 3.3.7 to 3.4.1.
- [Release notes](https://github.com/Python-Markdown/markdown/releases)
- [Commits](https://github.com/Python-Markdown/markdown/compare/3.3.7...3.4.1)

---
updated-dependencies:
- dependency-name: markdown
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-18 03:01:43 +00:00
dependabot[bot] f07ad7aa87
Bump ccxt from 1.90.88 to 1.90.89
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.90.88 to 1.90.89.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.90.88...1.90.89)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-18 03:01:40 +00:00
dependabot[bot] cb63d5e3df
Bump fastapi from 0.78.0 to 0.79.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.78.0 to 0.79.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.78.0...0.79.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-18 03:01:31 +00:00
dependabot[bot] 5f820ab0a6
Bump pytest-asyncio from 0.18.3 to 0.19.0
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.18.3 to 0.19.0.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Changelog](https://github.com/pytest-dev/pytest-asyncio/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.18.3...v0.19.0)

---
updated-dependencies:
- dependency-name: pytest-asyncio
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-18 03:01:26 +00:00
dependabot[bot] 2c6fb617a6
Bump jsonschema from 4.6.2 to 4.7.2
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.6.2 to 4.7.2.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.6.2...v4.7.2)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-18 03:01:23 +00:00
Robert Caulk 921f3899f0 revert pickle reading for historic predictions 2022-07-17 16:06:36 +02:00
Robert Caulk 41eeb99177 load pickle file for writing 2022-07-17 10:05:21 +02:00
Matthias 46be1b8778 Version bump ccxt to 1.90.88 2022-07-17 07:21:42 +02:00
Matthias 05a5ae4fcf Update plotting to use entry/exit terminology 2022-07-16 22:28:46 +02:00
Robert Caulk 9d184586f1 fix bug in historic prediction saving 2022-07-16 21:16:59 +02:00
Matthias 9347677c60 Uppdate pricecontours test to not recreate backtesting every loop
in hopes to fix random failure
2022-07-16 19:33:26 +02:00
Matthias 3bb4f2c7c2
Merge pull request #6780 from samgermain/dry-taker-or-maker
Dry run taker or maker fees
2022-07-16 18:15:02 +02:00
Matthias f6bfd89cef Merge branch 'develop' into feat/freqai 2022-07-16 18:14:34 +02:00
Matthias 423af371c0 Simplify calculation by calling "get_fee" only once 2022-07-16 17:59:05 +02:00
Matthias 4172f92bfc simplify dry-run taker/maker selection 2022-07-16 17:25:13 +02:00
Matthias 8b2535a8da Update Typing for fees 2022-07-16 15:42:17 +02:00
Matthias 8d2e22f009 Merge branch 'develop' into pr/samgermain/6780 2022-07-16 15:35:00 +02:00
Matthias 004bf31142
Merge pull request #7093 from freqtrade/fix/gate_futures_stoposs
gateio futures - several fixes
2022-07-16 15:18:32 +02:00
Matthias 3eb2131d0b
Merge pull request #7092 from freqtrade/fix/hyperopt_inherit
hyperopt inherit fix
2022-07-16 15:17:14 +02:00
Matthias bf07d8fe87 Update test to properly patch/mock exchange 2022-07-16 13:57:12 +02:00
Matthias 357000c478 Extract exchange validation to separate method 2022-07-16 13:45:26 +02:00
Matthias d03dfb3934 Oder cost is real cost (including leverage) 2022-07-16 13:14:21 +02:00
Matthias ed64e4299b Stoploss orders should also be eligible to update closed fees 2022-07-16 13:14:21 +02:00
Matthias 415780a4fe gateio order cost is not in contracts
closes #7081
2022-07-16 13:14:21 +02:00
Matthias 7b8a5585dd Fetch 2ndary stoploss order once the order triggered. 2022-07-16 13:14:21 +02:00
Matthias 7c4dd4c48c Support fee cost as string
closes #7056
2022-07-16 13:14:21 +02:00
Matthias 40e2da10f3 Add hypeorpt cloudpickle magic
closes #7078
2022-07-16 11:49:33 +02:00
Matthias e53e530874 Add test showing broken inheritance hyperopt 2022-07-16 11:49:33 +02:00
Matthias 2e642593e5 Update formatting of hyperopt_conf fixture 2022-07-16 11:47:32 +02:00
Matthias 29efe75a6f Update hyperoptable strategy to use V3 interface 2022-07-16 11:47:32 +02:00
Matthias 1c7f60103d Don't use master for publish CI action 2022-07-15 20:26:24 +02:00
Robert Caulk 4ef2ed2f1b
Merge pull request #7085 from wagnercosta/feat/freqai
freqai: fix issue when bot restarts with same identifier, does not load predi…
2022-07-15 20:00:53 +02:00
Matthias fada432f49 Pin markdown docs dependency 2022-07-15 19:48:12 +02:00
Matthias b657a4df23 Improve hyperopt docs
part of #7088
2022-07-15 19:02:23 +02:00
Wagner Costa Santos ca2029a46b fix issue when bot restarts with same identifier, does not load prediction history 2022-07-14 18:55:24 -03:00
Matthias cdc58058d7 Add candletype to notebook example
closes #7084, closes #7073
2022-07-14 19:40:26 +02:00
robcaulk 4141d165ff add BaseTensorFlowModel class 2022-07-12 19:10:09 +02:00
robcaulk ef409dd345 Add ground work for TensorFlow models, add protections from common mistakes 2022-07-12 18:09:17 +02:00
Robert Caulk fea63fba12 Fix saving/loading historic predictions 2022-07-12 10:12:50 +02:00
Robert Caulk 8ce6b18318 start collecting indefinite history of predictions. Allow user to generate statistics on these predictions. Direct FreqAI to save these to disk and reload them if available. 2022-07-11 22:01:48 +02:00
Matthias 0669d93f56
Merge pull request #7068 from freqtrade/ccxt_ordertype_validations
Ccxt ordertype validations
2022-07-11 19:41:05 +02:00
Matthias 5c164efdb6 Also check for createLimitOrder as optionals 2022-07-11 16:09:12 +02:00
Matthias b9ba94d644 Bump ccxt to 1.90.47 2022-07-11 16:07:58 +02:00
Matthias bf992fd9df Add test for newly added functionality 2022-07-11 14:09:44 +02:00
Matthias f9d3775d4c Move "candle" logic for message to telegram
this avoids calling this method unless necessary
2022-07-11 14:09:39 +02:00
Matthias 9a3a2f9013 Simplify adding candle to message 2022-07-11 13:55:32 +02:00
Matthias 8e8f026ea7 Telegram candle message should be configurable 2022-07-11 12:14:19 +02:00
Matthias ed03ef47ef Merge branch 'develop' into pr/SurferAdmin/6916 2022-07-11 11:49:22 +02:00
Matthias ec3179156c Revert unwanted changes. 2022-07-11 11:48:24 +02:00
Matthias 3fc92b1b21 Create BaseRegression model - designed to reduce code duplication across currently available models. 2022-07-11 11:33:59 +02:00
Matthias 64f89af69e Add Explicit test for "has" checks 2022-07-11 10:43:21 +02:00
Matthias 6ac1aa15f5 Reenable ccxt order checks 2022-07-11 10:36:19 +02:00
Matthias f8e35d8760 Add TODO to disabled test 2022-07-11 10:30:05 +02:00
Matthias 523d8a84a8 skip "supports market order" for now until CCXT fixes their assignemnt bugs. 2022-07-11 10:22:51 +02:00
Matthias 7d6b3d0e02 Update hyperopt param docs to be clear that non-conclusive parameters will be ignored 2022-07-11 08:17:16 +02:00
Matthias 0600c4d70e
Merge pull request #7064 from freqtrade/dependabot/pip/develop/urllib3-1.26.10
Bump urllib3 from 1.26.9 to 1.26.10
2022-07-11 08:16:58 +02:00
Matthias 2bba071b6a
Merge pull request #7063 from freqtrade/dependabot/pip/develop/numpy-1.23.1
Bump numpy from 1.23.0 to 1.23.1
2022-07-11 08:16:39 +02:00
Matthias a4901ae9a7
Merge pull request #7059 from freqtrade/dependabot/pip/develop/pre-commit-2.20.0
Bump pre-commit from 2.19.0 to 2.20.0
2022-07-11 08:16:01 +02:00
Matthias 04ec44edc3
Merge pull request #7065 from freqtrade/dependabot/pip/develop/python-rapidjson-1.8
Bump python-rapidjson from 1.6 to 1.8
2022-07-11 08:15:44 +02:00
Matthias 50d368f3ec
Merge pull request #7060 from freqtrade/dependabot/pip/develop/cryptography-37.0.4
Bump cryptography from 37.0.2 to 37.0.4
2022-07-11 08:15:22 +02:00
dependabot[bot] 0bb8c8feba
Bump python-rapidjson from 1.6 to 1.8
Bumps [python-rapidjson](https://github.com/python-rapidjson/python-rapidjson) from 1.6 to 1.8.
- [Release notes](https://github.com/python-rapidjson/python-rapidjson/releases)
- [Changelog](https://github.com/python-rapidjson/python-rapidjson/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-rapidjson/python-rapidjson/compare/v1.6...v1.8)

---
updated-dependencies:
- dependency-name: python-rapidjson
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 05:23:01 +00:00
Matthias 9b3032390c
Merge pull request #7066 from freqtrade/dependabot/pip/develop/orjson-3.7.7
Bump orjson from 3.7.6 to 3.7.7
2022-07-11 07:22:01 +02:00
dependabot[bot] c06b524b4e
Bump urllib3 from 1.26.9 to 1.26.10
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.9 to 1.26.10.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/1.26.10/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.9...1.26.10)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 05:16:14 +00:00
dependabot[bot] 7c6c2c4d6e
Bump cryptography from 37.0.2 to 37.0.4
Bumps [cryptography](https://github.com/pyca/cryptography) from 37.0.2 to 37.0.4.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/37.0.2...37.0.4)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 05:15:38 +00:00
dependabot[bot] 7b998378ce
Bump numpy from 1.23.0 to 1.23.1
Bumps [numpy](https://github.com/numpy/numpy) from 1.23.0 to 1.23.1.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v1.23.0...v1.23.1)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 05:15:37 +00:00
Matthias 2bc78fd045
Merge pull request #7062 from freqtrade/dependabot/pip/develop/jsonschema-4.6.2
Bump jsonschema from 4.6.1 to 4.6.2
2022-07-11 07:15:07 +02:00
dependabot[bot] fa158ba8de
Bump pre-commit from 2.19.0 to 2.20.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 2.19.0 to 2.20.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v2.19.0...v2.20.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 05:14:41 +00:00
Matthias 9d453ffa08
Merge pull request #7061 from freqtrade/dependabot/pip/develop/ccxt-1.90.41
Bump ccxt from 1.90.40 to 1.90.41
2022-07-11 07:14:39 +02:00
Matthias 6aac4f9990
Merge pull request #7058 from freqtrade/dependabot/pip/develop/mkdocs-material-8.3.9
Bump mkdocs-material from 8.3.8 to 8.3.9
2022-07-11 07:13:52 +02:00
Matthias d5e45d9c43
Merge pull request #7057 from freqtrade/dependabot/pip/develop/pytest-mock-3.8.2
Bump pytest-mock from 3.8.1 to 3.8.2
2022-07-11 07:13:29 +02:00
dependabot[bot] 719fa6f8e1
Bump orjson from 3.7.6 to 3.7.7
Bumps [orjson](https://github.com/ijl/orjson) from 3.7.6 to 3.7.7.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.7.6...3.7.7)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 03:02:39 +00:00
dependabot[bot] c98786a4f6
Bump jsonschema from 4.6.1 to 4.6.2
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.6.1 to 4.6.2.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.6.1...v4.6.2)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 03:02:17 +00:00
dependabot[bot] b1d34dba94
Bump ccxt from 1.90.40 to 1.90.41
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.90.40 to 1.90.41.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.90.40...1.90.41)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 03:02:12 +00:00
dependabot[bot] 5070a04a82
Bump mkdocs-material from 8.3.8 to 8.3.9
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.3.8 to 8.3.9.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.3.8...8.3.9)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 03:01:50 +00:00
dependabot[bot] 9086176f73
Bump pytest-mock from 3.8.1 to 3.8.2
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock) from 3.8.1 to 3.8.2.
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases)
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-mock/compare/v3.8.1...v3.8.2)

---
updated-dependencies:
- dependency-name: pytest-mock
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 03:01:47 +00:00
Matthias 494e0529d2 Update conftest for leverage tiers 2022-07-10 19:31:14 +02:00
Robert Caulk 607455919e Change config parameter names to improve clarity and consistency throughout the code (!!breaking change, please check discord support channel for migration instructions or review templates/FreqaiExampleStrategy.py config_examples/config_freqai_futures.example.json file changes!!) 2022-07-10 12:35:44 +02:00
Matthias 819cc9c0e4 Fully align LightGBM with Catboost 2022-07-10 11:06:18 +02:00
Matthias 58b18770e3 Fix LightGBM missing argument in predict method 2022-07-10 11:05:35 +02:00
Matthias 9313a2d294 Update leverage tiers to latest version 2022-07-10 10:11:39 +02:00
Matthias 59b0fd1166
Merge pull request #7051 from freqtrade/gateio_fee_fix
Gateio fee fix
2022-07-10 09:45:24 +02:00
Matthias ea5f41aa6d Version bump ccxt 2022-07-10 09:06:19 +02:00
Matthias 2e1061af64 Fix faulty LightGBM model 2022-07-09 08:21:42 +00:00
Matthias aab59a8caf Bump ccxt to required version 2022-07-09 09:00:12 +02:00
Matthias c98e7ea055 Revert allowing empty currency for futures 2022-07-09 08:57:15 +02:00
Matthias b7167ec880 Fix wrong fee calclulation for gateio futures 2022-07-09 08:51:59 +02:00
Matthias 5b733a723d use "fees" for trades responses 2022-07-09 08:51:28 +02:00
Matthias 81f7d77d74 Allow fee currency to be empty for futures 2022-07-09 08:51:28 +02:00
Matthias 2499276fca Refactor calculate_fee_rate to take separate parameters instead of an "Order"
we passed in a trade object anyway
2022-07-09 08:51:28 +02:00
Matthias e52f82b565 Add leverage to custom_stake_amount callback
closes #7047
2022-07-08 19:44:20 +02:00
Matthias b39508f64d remove loadMarkets from "required" section,
it's now implied that all ccxt exchanges provide this method.
2022-07-07 19:44:54 +02:00
robcaulk d9acdc9767 remove excess, increase no model warning clarity 2022-07-06 18:20:21 +02:00
Matthias 2dc46ca0b8 Add cost to partial test buy order 2022-07-06 07:12:13 +02:00
Matthias dbc3376fe9 Add alias for gate to gateio 2022-07-06 07:12:13 +02:00
Matthias da9dac64f2
Merge pull request #7045 from freqtrade/remove_abortion
replace the word "abortion" with "denied" in log messages
2022-07-05 20:41:13 +02:00
robcaulk 514f7d491c change rejected to denied 2022-07-05 12:58:43 +02:00
robcaulk 647f9b5460 replace the word abortion with rejected in log messages 2022-07-05 12:49:09 +02:00
robcaulk 4cac67fd66 Catch infrequent issue associated with grabbing first candle 2022-07-05 12:43:33 +02:00
Matthias 6f0721ae2b Update dry-order-fix to use sqlalchemy internals 2022-07-04 17:17:39 +02:00
Matthias fe8083c7f8 Improve test for dry-run orderclosing 2022-07-04 17:17:01 +02:00
Matthias 6da3fa08e4 Update migrations to also support Postgres
closes #7038
2022-07-04 11:14:59 +02:00
Matthias edc9a42a4c
Merge pull request #7036 from freqtrade/dependabot/pip/develop/uvicorn-0.18.2
Bump uvicorn from 0.18.1 to 0.18.2
2022-07-04 09:11:37 +02:00
Matthias 14fb499a71
Merge pull request #7033 from freqtrade/dependabot/pip/develop/jsonschema-4.6.1
Bump jsonschema from 4.6.0 to 4.6.1
2022-07-04 09:11:19 +02:00
dependabot[bot] 5820fc3b44
Bump jsonschema from 4.6.0 to 4.6.1
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.6.0 to 4.6.1.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.6.0...v4.6.1)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-04 05:55:44 +00:00
Matthias fe0a64154d
Merge pull request #7037 from freqtrade/dependabot/pip/develop/ccxt-1.89.96
Bump ccxt from 1.89.14 to 1.89.96
2022-07-04 07:54:52 +02:00
Matthias d993216ec2
Merge pull request #7035 from freqtrade/dependabot/pip/develop/requests-2.28.1
Bump requests from 2.28.0 to 2.28.1
2022-07-04 07:54:36 +02:00
Matthias f589e13cf2
Merge pull request #7031 from freqtrade/dependabot/pip/develop/prompt-toolkit-3.0.30
Bump prompt-toolkit from 3.0.29 to 3.0.30
2022-07-04 07:10:06 +02:00
dependabot[bot] 0a8a0c66b4
Bump requests from 2.28.0 to 2.28.1
Bumps [requests](https://github.com/psf/requests) from 2.28.0 to 2.28.1.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.28.0...v2.28.1)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-04 05:10:00 +00:00
dependabot[bot] dd21d963fc
Bump ccxt from 1.89.14 to 1.89.96
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.89.14 to 1.89.96.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.89.14...1.89.96)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-04 05:09:28 +00:00
Matthias a7fa84f681
Merge pull request #7030 from freqtrade/dependabot/pip/develop/orjson-3.7.6
Bump orjson from 3.7.3 to 3.7.6
2022-07-04 07:09:09 +02:00
Matthias 05e8abb934
Merge pull request #7032 from freqtrade/dependabot/pip/develop/python-telegram-bot-13.13
Bump python-telegram-bot from 13.12 to 13.13
2022-07-04 07:08:22 +02:00
dependabot[bot] 9a8d03b1f5
Bump uvicorn from 0.18.1 to 0.18.2
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.18.1 to 0.18.2.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.18.1...0.18.2)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-04 03:03:02 +00:00
dependabot[bot] 0555d7783c
Bump python-telegram-bot from 13.12 to 13.13
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 13.12 to 13.13.
- [Release notes](https://github.com/python-telegram-bot/python-telegram-bot/releases)
- [Changelog](https://github.com/python-telegram-bot/python-telegram-bot/blob/v13.13/CHANGES.rst)
- [Commits](https://github.com/python-telegram-bot/python-telegram-bot/compare/v13.12...v13.13)

---
updated-dependencies:
- dependency-name: python-telegram-bot
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-04 03:02:40 +00:00
dependabot[bot] b16bb23cc8
Bump prompt-toolkit from 3.0.29 to 3.0.30
Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.29 to 3.0.30.
- [Release notes](https://github.com/prompt-toolkit/python-prompt-toolkit/releases)
- [Changelog](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/CHANGELOG)
- [Commits](https://github.com/prompt-toolkit/python-prompt-toolkit/compare/3.0.29...3.0.30)

---
updated-dependencies:
- dependency-name: prompt-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-04 03:02:34 +00:00
dependabot[bot] 92d189a84f
Bump orjson from 3.7.3 to 3.7.6
Bumps [orjson](https://github.com/ijl/orjson) from 3.7.3 to 3.7.6.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.7.3...3.7.6)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-04 03:02:30 +00:00
Matthias eda9464d30 Fix docs test 2022-07-03 19:54:29 +02:00
Matthias 2db5cc177d
Merge pull request #7029 from freqtrade/new_release
New release 2022.6
2022-07-03 19:42:24 +02:00
robcaulk bd3a6ba2fe update backtesting to handle new output framework 2022-07-03 17:34:44 +02:00
robcaulk 8ac8d53c32 All LGBMRegressor model parameters are now set in config 2022-07-03 16:30:01 +02:00
robcaulk a6077ac7f4 Merge feat/freqai into develop to get new features 2022-07-03 16:17:13 +02:00
Matthias c1d4078518 Version bump to 2022.6 2022-07-03 15:04:38 +02:00
Matthias d25ec6d0b8 Merge branch 'stable' into new_release 2022-07-03 15:04:16 +02:00
Matthias 07aa372e2a Ensure bot_loop_start is called in hyperopt, too
closes #7001
2022-07-03 14:10:59 +02:00
Matthias c5e6520fee Reorder methods in freqtradebot 2022-07-03 13:35:26 +02:00
robcaulk 4ff0ef7359 fix bug returning multiple targets for training 2022-07-03 12:15:59 +02:00
Matthias f2fdc21374 Only use exit_tag if exit_type i exit_signal
closes #7027
2022-07-03 11:07:05 +02:00
Matthias 906c7b92fe Add enhance testcase to show problematic exit_reason behavior 2022-07-03 11:05:15 +02:00
robcaulk ffb39a5029 black formatting on freqai files 2022-07-03 10:59:38 +02:00
Matthias df8c9fc4e1
Merge pull request #7005 from freqtrade/dependabot/pip/develop/uvicorn-0.18.1
Bump uvicorn from 0.17.6 to 0.18.1
2022-07-03 07:52:09 +02:00
robcaulk 106131ff0f Rehaul organization of return values 2022-07-02 18:09:38 +02:00
robcaulk 93e1410ed9 first step toward cleaning output and enabling multimodel training per pair 2022-07-01 14:00:30 +02:00
robcaulk 6c7d02cb18 expose nu in the SVM outlier detection via svm_nu in config 2022-06-28 15:12:25 +02:00
Matthias 3c1380fbc6
Merge pull request #7009 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.18
Bump types-python-dateutil from 2.8.17 to 2.8.18
2022-06-28 08:02:33 +02:00
Matthias 86f4077024
update dateutil precommit 2022-06-28 07:37:54 +02:00
dependabot[bot] f2bc35e058
Bump types-python-dateutil from 2.8.17 to 2.8.18
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.17 to 2.8.18.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 20:06:56 +00:00
Matthias 0a5225695a
Merge pull request #7016 from freqtrade/dependabot/pip/develop/types-tabulate-0.8.11
Bump types-tabulate from 0.8.9 to 0.8.11
2022-06-27 22:05:45 +02:00
Matthias 74471e41db
update tabulate precommit types 2022-06-27 18:23:00 +02:00
dependabot[bot] 8b1798522c
Bump types-tabulate from 0.8.9 to 0.8.11
Bumps [types-tabulate](https://github.com/python/typeshed) from 0.8.9 to 0.8.11.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-tabulate
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 13:18:58 +00:00
Matthias 7de7425e24
Merge pull request #7007 from freqtrade/dependabot/pip/develop/time-machine-2.7.1
Bump time-machine from 2.7.0 to 2.7.1
2022-06-27 15:18:23 +02:00
Matthias 37dff8dc82
Merge pull request #7018 from freqtrade/dependabot/pip/develop/types-requests-2.28.0
Bump types-requests from 2.27.30 to 2.28.0
2022-06-27 15:17:57 +02:00
Matthias 0c69a08863
update requests precommit 2022-06-27 12:09:27 +02:00
dependabot[bot] f6e058a327
Bump types-requests from 2.27.30 to 2.28.0
Bumps [types-requests](https://github.com/python/typeshed) from 2.27.30 to 2.28.0.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 09:59:19 +00:00
dependabot[bot] d60127a6d8
Bump time-machine from 2.7.0 to 2.7.1
Bumps [time-machine](https://github.com/adamchainz/time-machine) from 2.7.0 to 2.7.1.
- [Release notes](https://github.com/adamchainz/time-machine/releases)
- [Changelog](https://github.com/adamchainz/time-machine/blob/main/HISTORY.rst)
- [Commits](https://github.com/adamchainz/time-machine/compare/2.7.0...2.7.1)

---
updated-dependencies:
- dependency-name: time-machine
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 09:59:07 +00:00
Matthias 11a8151653
Merge pull request #7012 from freqtrade/dependabot/pip/develop/types-cachetools-5.2.1
Bump types-cachetools from 5.0.2 to 5.2.1
2022-06-27 11:54:43 +02:00
Matthias e3abaaa1b7
Merge pull request #7019 from freqtrade/dependabot/pip/develop/pandas-1.4.3
Bump pandas from 1.4.2 to 1.4.3
2022-06-27 11:54:06 +02:00
robcaulk 7dfbd432d1 fix config saving bug, assign priorities to pairs in scanning, sleep the scanning loop to reduce CPU usage 2022-06-27 11:35:33 +02:00
dependabot[bot] 82ef97af7e
Bump pandas from 1.4.2 to 1.4.3
Bumps [pandas](https://github.com/pandas-dev/pandas) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Changelog](https://github.com/pandas-dev/pandas/blob/main/RELEASE.md)
- [Commits](https://github.com/pandas-dev/pandas/compare/v1.4.2...v1.4.3)

---
updated-dependencies:
- dependency-name: pandas
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 07:44:33 +00:00
Matthias 74fdda6846
Merge pull request #7017 from freqtrade/dependabot/pip/develop/ccxt-1.89.14
Bump ccxt from 1.88.15 to 1.89.14
2022-06-27 09:43:29 +02:00
Matthias 9eaf0400fa
Merge pull request #7020 from freqtrade/dependabot/pip/develop/orjson-3.7.3
Bump orjson from 3.7.2 to 3.7.3
2022-06-27 09:10:46 +02:00
Matthias 01185ab483
update cachetools precommit 2022-06-27 07:59:26 +02:00
Matthias 8405bf767b
Merge pull request #7006 from freqtrade/dependabot/pip/develop/pytest-mock-3.8.1
Bump pytest-mock from 3.7.0 to 3.8.1
2022-06-27 07:43:55 +02:00
dependabot[bot] 9a9d1a8974
Bump orjson from 3.7.2 to 3.7.3
Bumps [orjson](https://github.com/ijl/orjson) from 3.7.2 to 3.7.3.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.7.2...3.7.3)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 05:39:04 +00:00
dependabot[bot] 0ef2c812db
Bump ccxt from 1.88.15 to 1.89.14
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.88.15 to 1.89.14.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.88.15...1.89.14)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 05:38:31 +00:00
Matthias 85d1b433bc
Merge pull request #7013 from freqtrade/dependabot/pip/develop/tabulate-0.8.10
Bump tabulate from 0.8.9 to 0.8.10
2022-06-27 07:38:20 +02:00
Matthias d8f616cf35
Merge pull request #7011 from freqtrade/dependabot/pip/develop/plotly-5.9.0
Bump plotly from 5.8.2 to 5.9.0
2022-06-27 07:37:33 +02:00
Matthias 870c25c81f
Merge pull request #7010 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.39
Bump sqlalchemy from 1.4.37 to 1.4.39
2022-06-27 07:37:00 +02:00
Matthias fb3bc189b5
Merge pull request #7008 from freqtrade/dependabot/pip/develop/mkdocs-material-8.3.8
Bump mkdocs-material from 8.3.6 to 8.3.8
2022-06-27 07:36:08 +02:00
dependabot[bot] 6510c8d330
Bump tabulate from 0.8.9 to 0.8.10
Bumps [tabulate](https://github.com/astanin/python-tabulate) from 0.8.9 to 0.8.10.
- [Release notes](https://github.com/astanin/python-tabulate/releases)
- [Changelog](https://github.com/astanin/python-tabulate/blob/master/CHANGELOG)
- [Commits](https://github.com/astanin/python-tabulate/compare/v0.8.9...v0.8.10)

---
updated-dependencies:
- dependency-name: tabulate
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 03:03:00 +00:00
dependabot[bot] efee148e43
Bump types-cachetools from 5.0.2 to 5.2.1
Bumps [types-cachetools](https://github.com/python/typeshed) from 5.0.2 to 5.2.1.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 03:02:53 +00:00
dependabot[bot] 8b7dc031f7
Bump plotly from 5.8.2 to 5.9.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.8.2 to 5.9.0.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.8.2...v5.9.0)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 03:02:51 +00:00
dependabot[bot] 963f38a690
Bump sqlalchemy from 1.4.37 to 1.4.39
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.37 to 1.4.39.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 03:02:46 +00:00
dependabot[bot] 45db2347dc
Bump mkdocs-material from 8.3.6 to 8.3.8
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.3.6 to 8.3.8.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.3.6...8.3.8)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 03:02:29 +00:00
dependabot[bot] 4840c7d2fd
Bump pytest-mock from 3.7.0 to 3.8.1
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock) from 3.7.0 to 3.8.1.
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases)
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-mock/compare/v3.7.0...v3.8.1)

---
updated-dependencies:
- dependency-name: pytest-mock
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 03:02:16 +00:00
dependabot[bot] 92dbb0d366
Bump uvicorn from 0.17.6 to 0.18.1
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.17.6 to 0.18.1.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.17.6...0.18.1)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 03:02:07 +00:00
robcaulk 68bafa9517 archive config to the model folder, filter out features before returning dataframe to strategy (to alleviate frequi issues)` 2022-06-26 23:03:48 +02:00
robcaulk 051b99791d reduce unnecessary verbosity, fix error on first training sweep, add LightGBMPredictionModel 2022-06-26 19:04:23 +02:00
Matthias b5d0bc997d Clarify stoploss behavior when not defining offset
closes #6828
2022-06-24 17:25:33 +02:00
Matthias ca88ea50c5
Merge pull request #6859 from mkavinkumar1/get
Removed None in dict.get()
2022-06-23 21:45:13 +02:00
Matthias 2b07d34611 Revert several undesired changes 2022-06-23 20:47:51 +02:00
Matthias 8bf0bf10c5 Merge branch 'develop' into pr/SmartManoj/6859 2022-06-23 20:43:35 +02:00
Matthias ddc355feb6 Bump numpy from 1.22.4 to 1.23.0 2022-06-23 08:07:22 +00:00
Matthias 90feccf33c slightly update custom dockerfile with add. comment
closes #6994
2022-06-23 07:17:24 +02:00
Surfer 06571e99aa
Merge branch 'freqtrade:develop' into develop 2022-06-22 09:38:23 -04:00
Matthias 53e5483daa Store StopPrice for dry-run orders
closes #6996
2022-06-22 06:31:51 +02:00
Surfer cc4e5b26f0
Merge branch 'freqtrade:develop' into develop 2022-06-21 14:16:03 -04:00
Surfer Admin e2a94d75b4 Merge branch 'develop' of https://github.com/Surfableio/freqtrade into develop 2022-06-21 14:06:56 -04:00
Surfer Admin 405ea74f16 stopPrice 2022-06-21 14:06:41 -04:00
Matthias 3a0f31fe89
Merge pull request #6914 from freqtrade/leverage_tiers_async
Leverage tiers async
2022-06-21 10:18:40 +02:00
Robert Caulk 852706cd6b
Fix default behavior for expiration_hours 2022-06-21 08:12:51 +02:00
Matthias eebd624baf
Merge pull request #6988 from freqtrade/dependabot/pip/develop/mkdocs-material-8.3.6
Bump mkdocs-material from 8.3.4 to 8.3.6
2022-06-20 09:44:14 +02:00
dependabot[bot] 15fac746a8
Bump mkdocs-material from 8.3.4 to 8.3.6
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.3.4 to 8.3.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.3.4...8.3.6)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-20 06:59:58 +00:00
Matthias 7756c11454
Merge pull request #6991 from freqtrade/dependabot/pip/develop/ccxt-1.88.15
Bump ccxt from 1.87.12 to 1.88.15
2022-06-20 08:59:16 +02:00
Matthias 5e8bfb576b
Merge pull request #6989 from freqtrade/dependabot/pip/develop/types-cachetools-5.0.2
Bump types-cachetools from 5.0.1 to 5.0.2
2022-06-20 08:07:06 +02:00
Matthias 3189b284c0
Fix tests condition 2022-06-20 08:04:34 +02:00
Matthias 165755fb33
Merge pull request #6990 from freqtrade/dependabot/pip/develop/colorama-0.4.5
Bump colorama from 0.4.4 to 0.4.5
2022-06-20 08:02:25 +02:00
Matthias 1cd2b0504a Run regular tests for 3.9 under other ubuntu systems 2022-06-20 07:15:15 +02:00
dependabot[bot] e1e3a903f9
Bump ccxt from 1.87.12 to 1.88.15
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.87.12 to 1.88.15.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.87.12...1.88.15)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-20 05:07:35 +00:00
dependabot[bot] 996372b8f6
Bump colorama from 0.4.4 to 0.4.5
Bumps [colorama](https://github.com/tartley/colorama) from 0.4.4 to 0.4.5.
- [Release notes](https://github.com/tartley/colorama/releases)
- [Changelog](https://github.com/tartley/colorama/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/tartley/colorama/compare/0.4.4...0.4.5)

---
updated-dependencies:
- dependency-name: colorama
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-20 05:06:39 +00:00
Matthias 50c19ece53 Fix ccxt test gateio flukyness 2022-06-20 07:05:51 +02:00
Matthias f9668ede4a Fix CI Syntax error 2022-06-20 07:02:12 +02:00
Matthias 0804fc7a3a CI should run ccxt tests only once 2022-06-20 07:01:35 +02:00
Matthias 55fb7656df
Update pre-commit cachetools 2022-06-20 06:58:41 +02:00
dependabot[bot] 8406010260
Bump types-cachetools from 5.0.1 to 5.0.2
Bumps [types-cachetools](https://github.com/python/typeshed) from 5.0.1 to 5.0.2.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-20 03:01:26 +00:00
robcaulk b35c64b6c0 fix bug in backtest, typo in example strat 2022-06-19 16:41:09 +02:00
Matthias 0d967f93ba Improve performance of some RPC calls
These don't need orders to be loaded. As a side-effect, this will
also reduce the strain on the database.
2022-06-19 16:13:04 +02:00
Matthias 0809f9aef6 Add offset to trade response 2022-06-18 19:27:05 +02:00
Matthias bb61250bfe
Merge pull request #6987 from freqtrade/profit_metrics
Profit metrics
2022-06-18 17:20:20 +02:00
Matthias 0168343b76 Add trading-volume to api schema 2022-06-18 16:53:25 +02:00
Matthias 474e6705e6 Add Profit factor to backtesting 2022-06-18 16:35:40 +02:00
Matthias 53bfa7931d Add rudimentary test for prior bug
Test fails without the fix in 8c46d19071
2022-06-18 16:32:22 +02:00
Matthias 8c46d19071 Fix backtesting bug
balance was never released on cancelled trades
2022-06-18 16:27:54 +02:00
robcaulk 3599d18ff6 fix bug in follow_mode, thanks @blood4rc 2022-06-18 12:05:28 +02:00
Matthias b7e4dea6c5 Document new Profit metrics 2022-06-18 11:43:50 +02:00
Matthias 40c9abc7e1 Add trading volume to /profit output 2022-06-18 11:40:32 +02:00
Matthias 6a15d36d14 Add Drawdown and profit_factor to /profit
#6816
2022-06-18 11:14:28 +02:00
Matthias d77ce468ea Add "dry" hint to buy/sell messages
part of #6962
2022-06-18 09:40:53 +02:00
Matthias 03815cb81b Use fstrings in telegram messaging 2022-06-18 09:23:16 +02:00
Matthias d62273294d Update /help for /fx to align with actual command name
closes #6985
2022-06-18 09:10:33 +02:00
Matthias 017fd03180 Fix but with late entries in backtesting 2022-06-18 09:05:22 +02:00
Matthias 616bf315cb gateio: futures market orders require IOC to be set. 2022-06-17 23:02:39 +02:00
Matthias fda8248d41 Gateio allow market orders on futures markets 2022-06-17 22:43:24 +02:00
robcaulk 6da7a98857 add docstrings to new functions, remove superceded code 2022-06-17 16:16:23 +02:00
robcaulk 5e914d5756 improve model youth by constantly scanning pairs in dry/live and always training new models. Fix bug in DI return values 2022-06-17 16:06:51 +02:00
robcaulk f631ae911b add model expiration feature, fix bug in DI return values 2022-06-17 14:55:40 +02:00
Matthias 6bdf9c2a94 Simplify trade profit calculations further 2022-06-17 11:17:05 +00:00
Matthias 91f9818ae3 Simplify trade calculations 2022-06-17 09:53:29 +00:00
Matthias d7770c507b Remove implicit use of certain rates in profit calculations 2022-06-17 07:00:42 +00:00
Matthias 76cae8e8e3 Update tests to always provide rate to profit calculations 2022-06-17 06:55:31 +00:00
Matthias 575b4ead1a Update Test with funding_fee 0 2022-06-17 06:29:17 +00:00
Matthias 14a859c190 Improve some documentation around futures / leverage 2022-06-16 19:50:13 +02:00
Matthias 61040c9f8e Fix freqAI dockerfile not running freqai code ... 2022-06-16 19:35:16 +02:00
robcaulk 0b0688a91e ensure scanning purges models 2022-06-16 16:12:38 +02:00
Matthias 121edc3e42 Add freqAI docker file 2022-06-16 12:36:15 +00:00
Surfer 36f7315481
Merge branch 'freqtrade:develop' into develop 2022-06-16 08:19:57 -04:00
robcaulk c5de0c49e4 first functional scanning commit 2022-06-16 00:24:18 +02:00
robcaulk 4d472a0ea1 merging datarehaul into scanning branch 2022-06-16 00:22:49 +02:00
Matthias 8f32fa5cb3 Avoid exception on exchange recycling if __init__ fails 2022-06-15 20:13:07 +02:00
Matthias f9e2e87346 Improve some formatting and typehints 2022-06-15 20:03:36 +02:00
Matthias ec40e79362
Merge pull request #6874 from froggleston/buy_reasons
Buy reasons
2022-06-15 19:06:00 +02:00
Matthias e2e6c790be Minor doc update 2022-06-15 16:50:25 +02:00
froggleston 4a5ed5a273 Fix tests 2022-06-15 11:48:57 +01:00
froggleston 14110bd5ca Merge branch 'buy_reasons' of github.com:froggleston/freqtrade into buy_reasons 2022-06-15 11:25:24 +01:00
froggleston c391ca08de Change backtesting-analysis options to space separated lists 2022-06-15 11:25:06 +01:00
Matthias 29d8aeb9b3 Don't fail on invalid parameter 2022-06-15 07:13:47 +02:00
Matthias 3c62df6b86 Ensure the same timestamp is used for backtest and signal export 2022-06-15 06:53:52 +02:00
froggleston 6bb342f23a Add export-filename support 2022-06-14 16:54:27 +01:00
Matthias 01a68e1060 Remove unnecessary check and condition 2022-06-13 20:48:49 +02:00
Matthias 1ffee96bad Fix protection parameters not loading from parameter file
closes #6978
2022-06-13 19:59:05 +02:00
Matthias d5fd1f9c38 Improve order filled handling 2022-06-13 13:24:48 +00:00
Matthias 848a5d85c6 Add small stability fix to test 2022-06-13 13:24:48 +00:00
Matthias d7901132b8
Merge pull request #6973 from freqtrade/dependabot/pip/develop/plotly-5.8.2
Bump plotly from 5.8.0 to 5.8.2
2022-06-13 10:52:15 +02:00
Matthias dca639cf26
Merge pull request #6970 from freqtrade/dependabot/pip/develop/pymdown-extensions-9.5
Bump pymdown-extensions from 9.4 to 9.5
2022-06-13 10:03:11 +02:00
Matthias 11603e70c9
Merge pull request #6972 from freqtrade/dependabot/pip/develop/orjson-3.7.2
Bump orjson from 3.7.1 to 3.7.2
2022-06-13 10:02:55 +02:00
dependabot[bot] 35adeb6412
Bump plotly from 5.8.0 to 5.8.2
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.8.0 to 5.8.2.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.8.0...v5.8.2)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 07:33:30 +00:00
dependabot[bot] 850f5d3842
Bump orjson from 3.7.1 to 3.7.2
Bumps [orjson](https://github.com/ijl/orjson) from 3.7.1 to 3.7.2.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.7.1...3.7.2)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 07:32:39 +00:00
Matthias 9923462907
Merge pull request #6971 from freqtrade/dependabot/pip/develop/requests-2.28.0
Bump requests from 2.27.1 to 2.28.0
2022-06-13 09:32:03 +02:00
Matthias 46a214e41a
Merge pull request #6969 from freqtrade/dependabot/pip/develop/mypy-0.961
Bump mypy from 0.960 to 0.961
2022-06-13 09:31:51 +02:00
dependabot[bot] fdca583c67
Bump pymdown-extensions from 9.4 to 9.5
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.4 to 9.5.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.4...9.5)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 07:07:39 +00:00
Matthias 29c38e0623
Merge pull request #6968 from freqtrade/dependabot/pip/develop/mkdocs-material-8.3.4
Bump mkdocs-material from 8.3.2 to 8.3.4
2022-06-13 09:07:02 +02:00
Matthias a56ee4ee94
Merge pull request #6976 from freqtrade/dependabot/pip/develop/ccxt-1.87.12
Bump ccxt from 1.85.57 to 1.87.12
2022-06-13 09:06:46 +02:00
dependabot[bot] cb2f89bca6
Bump requests from 2.27.1 to 2.28.0
Bumps [requests](https://github.com/psf/requests) from 2.27.1 to 2.28.0.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.27.1...v2.28.0)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 06:26:23 +00:00
dependabot[bot] 43b8b0a083
Bump mypy from 0.960 to 0.961
Bumps [mypy](https://github.com/python/mypy) from 0.960 to 0.961.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.960...v0.961)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 06:25:53 +00:00
dependabot[bot] 71f314d4c4
Bump ccxt from 1.85.57 to 1.87.12
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.85.57 to 1.87.12.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.85.57...1.87.12)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 06:25:35 +00:00
dependabot[bot] ee0b9e3a5c
Bump mkdocs-material from 8.3.2 to 8.3.4
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.3.2 to 8.3.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.3.2...8.3.4)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 06:25:18 +00:00
Matthias 5e4b3882e6
Merge pull request #6974 from freqtrade/dependabot/pip/develop/types-filelock-3.2.7
Bump types-filelock from 3.2.6 to 3.2.7
2022-06-13 08:25:10 +02:00
Matthias 4030a5df8e
Merge pull request #6975 from freqtrade/dependabot/github_actions/develop/actions/setup-python-4
Bump actions/setup-python from 3 to 4
2022-06-13 08:24:20 +02:00
Matthias e67d29cd2f Update more trades to use create_mock_trades 2022-06-13 07:17:13 +02:00
dependabot[bot] 70966c8a8f
Bump actions/setup-python from 3 to 4
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 4.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 05:08:12 +00:00
Matthias 8fd245c28b
Update pre-commit filelocktypes 2022-06-13 06:58:06 +02:00
Matthias 43c871f2f4 Use time-machine to stabilize time-sensitive tests 2022-06-13 06:49:31 +02:00
Matthias 390e600f55 Update statistics output 2022-06-13 06:46:34 +02:00
dependabot[bot] 40c7caac16
Bump types-filelock from 3.2.6 to 3.2.7
Bumps [types-filelock](https://github.com/python/typeshed) from 3.2.6 to 3.2.7.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-filelock
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 03:01:53 +00:00
Matthias 7619fd08d6 Update telegram tests to use mock_trades 2022-06-12 19:41:28 +02:00
Matthias dff83ef620 Update telegram profit test to USDT 2022-06-12 17:30:01 +02:00
Matthias 56652c2b39 Improve test resiliance 2022-06-12 17:09:47 +02:00
Matthias c981ad4608 Fix missing space 2022-06-12 08:31:02 +02:00
Matthias 75a248cf42 Fstring freqAI sample strategy, remove duplicate features 2022-06-11 19:56:37 +02:00
Matthias 2e1ed132f7
Merge pull request #6964 from freqtrade/rpc_rel_daily
Telegram / api daily relative profit
2022-06-11 19:31:32 +02:00
Matthias c9761f4736 FreqUI should be installed by default when running setup.sh 2022-06-11 18:02:03 +02:00
Matthias 9c65fad73f Merge Pull request #6919 into develop 2022-06-11 17:49:32 +02:00
Matthias 4b70e03daa Add some rudimentary tsts for discord webhook integration 2022-06-11 17:49:23 +02:00
Matthias fdfa94bcc3 make discord notifications fully configurable. 2022-06-11 17:43:46 +02:00
Matthias f816c15e1e Update discord message format 2022-06-11 16:48:28 +02:00
Matthias 3a06337601 Update API to provide new values. 2022-06-11 11:28:45 +02:00
Matthias 9ba11f7bcc Update docs and tests for new daily command 2022-06-11 11:26:49 +02:00
Matthias 76827b31a9 Add relative profit to daily/weekly commands 2022-06-11 11:18:21 +02:00
Matthias 0a801c0223 Simplify daily RPC test 2022-06-11 08:58:36 +02:00
Matthias 1a5c3c587d Simplify weekly/monthly tests, convert to usdt 2022-06-11 08:53:37 +02:00
Matthias ab6a306e07 Update daily test to USDT 2022-06-11 08:31:59 +02:00
Matthias 2c7c5f9a6e Update mock_usdt trade method 2022-06-10 20:47:52 +02:00
robcaulk eb47c74096 merge datarehaul into main freqai branch 2022-06-10 20:26:19 +02:00
Matthias 76f87377ba Reduce decimals on FIAT daily column 2022-06-10 20:18:53 +02:00
Matthias e8f8cd9d36
Merge pull request #6960 from italodamato/opt-ask-force-new-points
remove `random_state` condition when sampling random points
2022-06-10 19:45:36 +02:00
Italo 7142394121 remove random_state condition
otherwise the random sample always draws the same set of points
2022-06-10 09:46:45 +01:00
Matthias ad3c01736e time aggregate to only query for data necessary
improves the query by not creating a full trade object.
2022-06-10 07:26:53 +02:00
Matthias 2218313f5c
Merge pull request #6957 from freqtrade/rpc_consolidate_daily
Rpc consolidate daily
2022-06-10 06:39:59 +02:00
Matthias 2e67e2f911
Merge pull request #6958 from italodamato/opt-ask-force-new-points
don't overwrite is_random
2022-06-10 06:37:03 +02:00
Italo dce9fdd0e4 don't overwrite is_random
this should fix issue #6746
2022-06-09 20:06:23 +01:00
Matthias 8fb743b91d improve variable wording 2022-06-09 20:13:26 +02:00
Matthias dd32127014
Merge pull request #6944 from gaugau3000/develop
give extra info on rate origin for confirm_trade_*
2022-06-09 20:10:29 +02:00
Matthias 3c2ba99fc4 Improve sql cheatsheet docs 2022-06-09 19:57:56 +02:00
Matthias a9c7ad8a0f Add warning about sqlite disabled foreign keys 2022-06-09 19:51:21 +02:00
Matthias 1ddd5f1901 Update docstring throughout the bot. 2022-06-09 19:41:08 +02:00
Matthias 88f8cbe172 Update tests to reflect new naming 2022-06-09 19:38:18 +02:00
Matthias b211a5156f Add test for strategy_wrapper lazy loading 2022-06-09 19:36:15 +02:00
Matthias a547001601 Reduce Telegram "unit" stats 2022-06-09 07:06:32 +02:00
Matthias d4dd026310 Consolidate monthly stats to common method 2022-06-09 07:06:32 +02:00
Matthias 3cb15a2a54 Combine weekly and daily profit methods 2022-06-09 07:06:32 +02:00
Matthias c550cd8b0d Simplify query in freqtradebot 2022-06-09 07:04:46 +02:00
Matthias 6a7ffd5483
Merge pull request #6952 from freqtrade/dependabot/docker/python-3.10.5-slim-bullseye
Bump python from 3.10.4-slim-bullseye to 3.10.5-slim-bullseye
2022-06-09 06:27:59 +02:00
dependabot[bot] d265b8adb6
Bump python from 3.10.4-slim-bullseye to 3.10.5-slim-bullseye
Bumps python from 3.10.4-slim-bullseye to 3.10.5-slim-bullseye.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-09 03:01:48 +00:00
Matthias 7eacb847b0 Fix backtesting bug when order is not replaced 2022-06-08 20:21:45 +02:00
gautier pialat ac40ae89b9
give extra info on rate origin for confirm_trade_*
Documentation :
Take into consideration the market buy/sell rates use case for the confirm_trade_entry and confirm_trade_exit callback function
2022-06-08 00:20:33 +02:00
Matthias 381d64833d version-bump ccxt 2022-06-07 21:05:31 +02:00
robcaulk d9b79d94e4 increase candle update flexibility to allow long sequential trainings that may last more than one candle 2022-06-07 20:57:10 +02:00
robcaulk 66800c7a45 ensure newest candles are always appended 2022-06-07 20:24:23 +02:00
robcaulk f8f25e36ef update example config/strat 2022-06-07 19:54:45 +02:00
robcaulk 15d049cffe detect if upper tf candles are new or not, append if so. Correct the epoch for candle update check 2022-06-07 19:49:20 +02:00
Matthias ca281c5722
Merge pull request #6943 from freqtrade/cancel_outdated_orders
Cancel orders which can no longer be found after several days
2022-06-07 18:05:15 +02:00
Matthias 9534d6cca1 Cancel orders which can no longer be found after several days 2022-06-07 07:03:40 +02:00
robcaulk cab8f517b4 add lock to datadrawer 2022-06-07 01:07:30 +02:00
robcaulk 4b26b6aaec add lock to any historic data access 2022-06-07 00:54:18 +02:00
Robert Caulk 3c2e314ee5
Fix bugs 2022-06-06 16:26:07 -06:00
Robert Caulk e6c5e737a2
Fix other bugs 2022-06-06 16:24:32 -06:00
Robert Caulk bf19055e53
Update function spelling 2022-06-06 15:56:12 -06:00
Robert Caulk 2451ed8c88
Quick bug fix 2022-06-06 15:11:54 -06:00
Matthias 5007024f63
Merge pull request #6940 from freqtrade/bt_orders
Open orders should also be shown in the UI
2022-06-06 13:44:21 +02:00
Matthias de79192432
Merge pull request #6941 from freqtrade/ci/concurrency
Update CI to use github actions builtin concurrency
2022-06-06 13:36:55 +02:00
Matthias 057be50941 Remove old concurrency method 2022-06-06 11:11:47 +02:00
Matthias 4eb6e80b4f
Merge pull request #6936 from freqtrade/dependabot/pip/develop/jsonschema-4.6.0
Bump jsonschema from 4.5.1 to 4.6.0
2022-06-06 11:03:40 +02:00
Matthias c00a7b65af
Merge pull request #6937 from freqtrade/dependabot/pip/develop/types-requests-2.27.30
Bump types-requests from 2.27.29 to 2.27.30
2022-06-06 11:00:40 +02:00
Matthias 0b806af487 Add orders column to btresult 2022-06-06 10:59:10 +02:00
Matthias 82c5a6b29d Update CI to use concurrency 2022-06-06 10:57:33 +02:00
Matthias ea9b68badd Add updating freqtrade to updating desc 2022-06-06 10:54:26 +02:00
Matthias 99f6c75c40
Bump types-requests precommit 2022-06-06 10:22:19 +02:00
Matthias e2948857bf
Merge pull request #6938 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.37
Bump sqlalchemy from 1.4.36 to 1.4.37
2022-06-06 10:21:38 +02:00
Matthias 767de555a6
Merge pull request #6934 from freqtrade/dependabot/pip/develop/filelock-3.7.1
Bump filelock from 3.7.0 to 3.7.1
2022-06-06 10:20:50 +02:00
Matthias 73043f2ccc
Merge pull request #6933 from freqtrade/dependabot/pip/develop/orjson-3.7.1
Bump orjson from 3.6.8 to 3.7.1
2022-06-06 10:20:35 +02:00
Matthias 55cda53325
Merge pull request #6935 from freqtrade/dependabot/pip/develop/mkdocs-material-8.3.2
Bump mkdocs-material from 8.2.16 to 8.3.2
2022-06-06 10:20:08 +02:00
Matthias a96dce0f8f
Merge pull request #6939 from freqtrade/dependabot/pip/develop/ccxt-1.84.97
Bump ccxt from 1.84.39 to 1.84.97
2022-06-06 10:19:48 +02:00
dependabot[bot] 05922e9ebc
Bump ccxt from 1.84.39 to 1.84.97
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.84.39 to 1.84.97.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.84.39...1.84.97)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 03:02:15 +00:00
dependabot[bot] 4affa75ff5
Bump sqlalchemy from 1.4.36 to 1.4.37
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.36 to 1.4.37.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 03:02:07 +00:00
dependabot[bot] 963dc0221c
Bump types-requests from 2.27.29 to 2.27.30
Bumps [types-requests](https://github.com/python/typeshed) from 2.27.29 to 2.27.30.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 03:01:59 +00:00
dependabot[bot] 35316ec068
Bump jsonschema from 4.5.1 to 4.6.0
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.5.1 to 4.6.0.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.5.1...v4.6.0)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 03:01:55 +00:00
dependabot[bot] 6547f3aadb
Bump mkdocs-material from 8.2.16 to 8.3.2
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.16 to 8.3.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.16...8.3.2)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 03:01:52 +00:00
dependabot[bot] 04cb49b7e4
Bump filelock from 3.7.0 to 3.7.1
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.7.0 to 3.7.1.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/py-filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.7.0...3.7.1)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 03:01:48 +00:00
dependabot[bot] 786bc36163
Bump orjson from 3.6.8 to 3.7.1
Bumps [orjson](https://github.com/ijl/orjson) from 3.6.8 to 3.7.1.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.6.8...3.7.1)

---
updated-dependencies:
- dependency-name: orjson
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 03:01:44 +00:00
Matthias 79107fd062 Add minimal order object serialization 2022-06-05 22:12:27 +02:00
Matthias 8369d5bedd Include open orders in json responses 2022-06-05 22:12:27 +02:00
Matthias c0ff554d5b Cleanup old, left open dry-run orders 2022-06-05 22:12:27 +02:00
Matthias f709222943 Properly close out orders in backtesting 2022-06-05 22:12:27 +02:00
Matthias c499bb051f Allow empty unfilledtimeout for webserver mode 2022-06-05 19:41:17 +02:00
Matthias a790bad1e4 Add entry_tag to leverage callback
closes #6929
2022-06-05 10:24:54 +02:00
Matthias 27bea580d4 Fix rest-client script's force_enter
closes #6927
2022-06-05 09:40:04 +02:00
robcaulk d6b8801f41 fix follower bug 2022-06-05 04:40:58 +02:00
robcaulk e8c0dcf9f3 add debug message to timerange 2022-06-03 17:14:07 +02:00
robcaulk f2762e3b4b fix bug in return_values() 2022-06-03 16:58:51 +02:00
robcaulk 16b4a5b71f rehaul of backend data management - increasing performance by holding history in memory, reducing load on the ratelimit by only pinging exchange once per candle. Improve code readability. 2022-06-03 15:19:46 +02:00
robcaulk 15a971346d catch infinity values when filtering 2022-06-02 17:13:20 +02:00
Robert Caulk 7d41542f93
process_only_new_candles in examplestrat should be True, thanks @Bloodhunter4rc 2022-06-02 07:24:08 -06:00
robcaulk fea39254d9 fix custom_exit (thanks @paranoidandy) 2022-06-02 14:58:45 +02:00
robcaulk b37c31cc21 fix ta-lib issue with simultaneous method access 2022-06-02 14:37:40 +02:00
robcaulk 4ac6ef2972 make defining period intervals more user friendly and flexible 2022-06-02 13:45:29 +02:00
robcaulk ace951bf7e another queue bug fix for fresh starts 2022-06-02 13:28:06 +02:00
Anuj Shah eb4adeab4d fix flake8 issues 2022-06-02 11:19:29 +05:30
Anuj Shah 45c47bda60 refactor into discord rpc module 2022-06-01 21:14:48 +05:30
Anuj Shah afd8e85835 feat: add support for discord notification 2022-06-01 15:54:32 +05:30
robcaulk 833d25bda0 Save data after queue reorg 2022-06-01 08:05:38 +02:00
robcaulk 0b0dd8dd80 Force high priority pair to be trained before anything else. 2022-06-01 07:55:05 +02:00
Matthias c57db0a330 Version bump 2022.5.1 2022-06-01 06:34:28 +02:00
Matthias f5087a82dc Merge branch 'stable' into new_release 2022-06-01 06:33:42 +02:00
Surfer Admin 7fe8b7661d Display the signal candle analyzed in telegram. 2022-05-31 15:46:43 -04:00
Matthias 34a44b9dd2 Fix backtesting bug when canceling orders
closes #6911
2022-05-31 20:32:41 +02:00
Matthias 66edbcd3d5 Fix slight backtesting bug in edge-case scenarios 2022-05-31 20:08:34 +02:00
robcaulk 7523ed825e automatically detect maximum required data based on user fed indicators (to avoid NaNs in dataset for rolling indicators), add new config parameter for backtesting to let users increase their startup_candles to accommodate high timeframe indicators, add docs to explain all. Add new feature for automatic indicator duplication according to user defined intervals (exhibited in example strat and configs now). 2022-05-31 18:42:27 +02:00
Matthias 3549176370 Update missleading docstring
closes #6913
2022-05-31 17:52:45 +02:00
Matthias 88845f6d88 Fix cancel order deleting trade
if one order was successfully filled, the trade cannot be deleted.

closes #6907
2022-05-31 17:49:51 +02:00
Matthias eee337c764
Merge pull request #6906 from freqtrade/params_to_instance
Params to instance
2022-05-31 16:18:48 +02:00
robcaulk 9b3b08a2bb let follower purge old model files 2022-05-31 15:37:38 +02:00
robcaulk bac4ced382 Ensure follower predictions are persistent and uniquely stored 2022-05-31 14:35:04 +02:00
Matthias ea537b32c7 Update tests for leverage_tier_loading 2022-05-31 11:40:14 +00:00
robcaulk 70adf55643 Automatically detect and change follower data_path to accommodate remote systems 2022-05-31 12:35:09 +02:00
robcaulk 0306f5ca13 Add autopurge feature so that FreqAI cleans up after itself when it no longer needs old models on disk 2022-05-31 11:58:21 +02:00
Matthias cce8d1aa4d Update get_market_leverage_tiers to be async 2022-05-31 08:48:34 +00:00
Matthias be6e0813db Remove --strategy from analysis test 2022-05-31 06:53:03 +02:00
robcaulk 45f4f0f603 ensure follower sends back null arrays in case leader hasnt created a model file yet 2022-05-31 01:48:48 +02:00
robcaulk 29d2f59f12 fix PCA bug 2022-05-31 00:40:45 +02:00
robcaulk 606f18e5c1 Add follow_mode feature so that secondary bots can be launched with the same identifier and load models trained by the leader 2022-05-30 21:35:48 +02:00
Matthias c285ad0e2b Remove --strategy parameters, update docs 2022-05-30 20:26:24 +02:00
Matthias d950b0acbe Update documentation about dynamic parameters 2022-05-30 18:18:01 +02:00
robcaulk 5b4c649d43 detect variable sized dataframes coming from strat, adjust our stored/returned data accordingly 2022-05-30 13:55:46 +02:00
robcaulk e229902381 fix bug in previous commit 2022-05-30 12:48:22 +02:00
robcaulk a20651efd8 Increase performance by only predicting on most recent candle instead of full strat provided dataframe. Collect predictions and store them so that we can feed true predictions back to strategy (so that frequi isnt updating historic predictions based on newly trained models). 2022-05-30 11:37:05 +02:00
Matthias d8df9fdccf
Merge pull request #6900 from freqtrade/dependabot/pip/develop/types-requests-2.27.29
Bump types-requests from 2.27.27 to 2.27.29
2022-05-30 08:36:39 +02:00
Matthias 8e2c7e1298 extract detect_parameters to separate function 2022-05-30 07:26:26 +02:00
Matthias f323cbc769
Bump types-requests precommit 2022-05-30 07:23:05 +02:00
Matthias b73fd0ac69
Merge pull request #6899 from freqtrade/dependabot/pip/develop/mypy-0.960
Bump mypy from 0.950 to 0.960
2022-05-30 07:22:39 +02:00
Matthias 5bf021be2e Enhance hyperoptable strategy to test instance parameters 2022-05-30 07:08:37 +02:00
Matthias eaa656f859 Hyperoptable parameters can be instance attributes 2022-05-30 07:07:47 +02:00
dependabot[bot] 2b2967f34e
Bump types-requests from 2.27.27 to 2.27.29
Bumps [types-requests](https://github.com/python/typeshed) from 2.27.27 to 2.27.29.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 04:54:54 +00:00
Matthias 7962092092
Merge pull request #6897 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.17
Bump types-python-dateutil from 2.8.16 to 2.8.17
2022-05-30 06:54:21 +02:00
Matthias 386d3e0353 Rename stop/roi loading method 2022-05-30 06:52:44 +02:00
Matthias ad8ff10a05 Minor doc changes 2022-05-30 06:32:46 +02:00
Matthias 41052b4e1e
Bump types dateutil precommit 2022-05-30 06:28:03 +02:00
Matthias 8837e1937b
Merge pull request #6896 from freqtrade/dependabot/pip/develop/python-telegram-bot-13.12
Bump python-telegram-bot from 13.11 to 13.12
2022-05-30 06:27:25 +02:00
Matthias d83b204f4b
Merge pull request #6901 from freqtrade/dependabot/pip/develop/ccxt-1.84.39
Bump ccxt from 1.83.62 to 1.84.39
2022-05-30 06:25:39 +02:00
Matthias 5d801ff287
Merge pull request #6898 from freqtrade/dependabot/pip/develop/mkdocs-material-8.2.16
Bump mkdocs-material from 8.2.15 to 8.2.16
2022-05-30 06:22:16 +02:00
dependabot[bot] 23fa00e29a
Bump ccxt from 1.83.62 to 1.84.39
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.83.62 to 1.84.39.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.83.62...1.84.39)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 03:02:26 +00:00
dependabot[bot] a937f36997
Bump mypy from 0.950 to 0.960
Bumps [mypy](https://github.com/python/mypy) from 0.950 to 0.960.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.950...v0.960)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 03:02:13 +00:00
dependabot[bot] 9366c1d36f
Bump mkdocs-material from 8.2.15 to 8.2.16
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.15 to 8.2.16.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.15...8.2.16)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 03:02:03 +00:00
dependabot[bot] e7c78529e9
Bump types-python-dateutil from 2.8.16 to 2.8.17
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.16 to 2.8.17.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 03:01:58 +00:00
dependabot[bot] b52fd0b4df
Bump python-telegram-bot from 13.11 to 13.12
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 13.11 to 13.12.
- [Release notes](https://github.com/python-telegram-bot/python-telegram-bot/releases)
- [Changelog](https://github.com/python-telegram-bot/python-telegram-bot/blob/v13.12/CHANGES.rst)
- [Commits](https://github.com/python-telegram-bot/python-telegram-bot/compare/v13.11...v13.12)

---
updated-dependencies:
- dependency-name: python-telegram-bot
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 03:01:56 +00:00
robcaulk 2f1a2c1cd7 allow users to store data in custom formats, update spot config to reflect better target horizon to training period ratio 2022-05-30 02:12:31 +02:00
robcaulk d59eac3321 revert a79032b 2022-05-29 21:33:38 +02:00
Matthias f65df4901e Update doc clarity 2022-05-29 20:53:09 +02:00
robcaulk a79032bf75 fixing bug in training queue 2022-05-29 20:19:32 +02:00
Matthias 056047f635 Fix --help 2022-05-29 20:07:02 +02:00
robcaulk 3f72263278 allow pairs deeper in the queue to get trained if the higher priority pairs dont need training 2022-05-29 20:02:43 +02:00
robcaulk cc6cae47ec allow pairs deeper in the queue to get trained if the higher priority pairs dont need training 2022-05-29 19:49:43 +02:00
robcaulk 4eb4753e20 allow subdaily retraining for backtesting 2022-05-29 17:44:35 +02:00
froggleston 9a068c0b14 Add test for each analysis group, remove default table output if not indicator-list 2022-05-29 16:25:31 +01:00
froggleston 24b02127ec Update docs 2022-05-29 15:42:34 +01:00
Matthias e6affcc23e Move parameter file loading to hyper-mixin 2022-05-29 16:39:52 +02:00
Matthias 1ee08d22d2 Delay parameter init
closes #6894
2022-05-29 16:39:52 +02:00
robcaulk 0aa7162055 ensure the prediction is reset in the pair_dict after any trade exit, not just custom_exit 2022-05-29 16:36:46 +02:00
robcaulk fe36b08fce fix key error in example strat 2022-05-29 16:26:34 +02:00
robcaulk ce365eb9e3 improve example strat so that it has dynamic buy and sell logic according to original prediction 2022-05-29 14:45:46 +02:00
froggleston df1c36e5aa Change command name, use load_backtest_stats for strategy resolving 2022-05-29 11:54:27 +01:00
froggleston c59209a01a Merge branch 'buy_reasons' of github.com:froggleston/freqtrade into buy_reasons 2022-05-29 11:20:32 +01:00
froggleston e7c5818d16 First pass changes for cleaning up 2022-05-29 11:20:11 +01:00
Matthias a875a7dc40 Use unified stopPrice for binance 2022-05-29 11:01:01 +02:00
Matthias f64f2b1ad8 Fix /stats Formatting issue in multi-message settings 2022-05-29 10:34:22 +02:00
robcaulk 4eb29c8810 Dont reset pair priority if it doesnt successfully train 2022-05-28 18:34:26 +02:00
robcaulk 83dd453723 catch errors occuring on background thread, and make sure to keep the ball rolling. Improve pair retraining queue. 2022-05-28 18:26:19 +02:00
robcaulk e54614fa2f remove remnants of single threaded version, ensure pair queue priority is checked before retraining 2022-05-28 14:55:07 +02:00
Matthias eed0d67005
Merge pull request #6893 from freqtrade/new_release
New release 2022.5
2022-05-28 13:46:24 +02:00
robcaulk 2a4d1e2d64 fix bug in setting new timerange for retraining 2022-05-28 12:23:26 +02:00
robcaulk 7870a86e9a fix live retraining bug 2022-05-28 11:38:57 +02:00
robcaulk 0bf915054d handle key check correctly 2022-05-28 11:22:32 +02:00
robcaulk c5a16e91fb throw user error if user tries to load models but feeds the wrong features (while using PCA) 2022-05-28 11:11:41 +02:00
Matthias a1d54f5ae0 Version bump 2022.5 2022-05-28 09:49:58 +02:00
Matthias a4a7c6536d Merge branch 'stable' into new_release 2022-05-28 09:49:46 +02:00
Matthias 3e7bf6a9ef Remove imports in test_strategy2 2022-05-27 19:31:34 +02:00
Matthias b04fe5d4ee Simplify test v2 strategy 2022-05-27 19:30:14 +02:00
robcaulk b8f9c3557b dirty dirty, dont look here (hacking a flag to avoid reloading leverage_tiers in dry/live) 2022-05-27 13:56:34 +02:00
robcaulk 891fb87712 give load_cached_data_for_updating the right flags to avoid redownloading data in dry/live 2022-05-27 13:38:22 +02:00
robcaulk 65fdebab75 let load_pairs_histories load futures candles in live 2022-05-27 13:01:33 +02:00
robcaulk c080571b7a help futures go dry/live with auto download feature 2022-05-27 12:23:32 +02:00
Matthias 24cf044646 Fix bybit spot mode 2022-05-27 08:18:04 +00:00
robcaulk 8a501831d6 fix the error logic on previous commit 2022-05-27 01:15:55 +02:00
robcaulk 23c30dbc10 add error for user trying to backtest with backtest_period<1 2022-05-27 00:43:52 +02:00
robcaulk 6193205012 fix bug for target_mean/std array merging in backtesting 2022-05-26 21:07:50 +02:00
Matthias 43b7955fc2 Fully rely on pathlib 2022-05-26 19:37:55 +02:00
Matthias 682daa4e94 Reset logging mixin to avoid random test failure 2022-05-26 18:05:40 +02:00
froggleston 145faf9817 Use tmpdir for testing 2022-05-26 11:06:38 +01:00
Matthias da970cca82
Merge pull request #6888 from stash86/patch-1
fix typo
2022-05-26 06:32:44 +02:00
Stefano Ariestasia e1c6cf5f91 fix typo 2022-05-26 10:12:50 +09:00
Matthias 537d10c627 Improve some typing 2022-05-25 20:43:43 +02:00
Matthias 3e66275c98 Refactor bot_start to separate function
to be reused further ...
2022-05-25 20:01:21 +02:00
Matthias 023f817179 Improve wording for supported futures exchanges 2022-05-25 19:37:32 +02:00
robcaulk ff531c416f reduce `complexity` inside start_download_data() in an effort to appease flake8 2022-05-25 15:31:50 +02:00
robcaulk d79983c791 try to pass flake8 2022-05-25 14:55:19 +02:00
robcaulk 7593339c14 small cleanup 2022-05-25 14:42:46 +02:00
robcaulk b79d4e8876 Allow user to go live and start from pretrained models (after a completed backtest) by simply reusing the `identifier` config parameter while dry/live. 2022-05-25 14:40:32 +02:00
robcaulk 7486d9d9e2 proper validation of freqai config parameters 2022-05-25 12:37:25 +02:00
Matthias b2968df5dc Fix some type problems 2022-05-25 10:13:37 +00:00
robcaulk 7ff3258607 remove assertions, log error if user has not assigned freqai in config, fix stratify bug 2022-05-25 11:43:45 +02:00
robcaulk 35bed842cb cleanup, add clarity to comments and docstrings 2022-05-25 11:31:03 +02:00
froggleston 21e6c14e1e Final test changes 2022-05-25 10:08:03 +01:00
froggleston f5c2930889 Presume that pytest will call the cleanup call 2022-05-25 09:58:38 +01:00
froggleston 2873ca6d38 Add cleanup, adjust _print_table for indicators, add rsi to test output 2022-05-25 09:57:12 +01:00
Matthias 9e4c68a5b4
Merge pull request #6887 from freqtrade/ci_strategyTemplates
Run CI against strategy templates
2022-05-25 09:13:18 +02:00
Matthias 43f726ba8f Run CI against different templates 2022-05-25 06:34:05 +00:00
froggleston edd474e663 Another test fix attempt 2022-05-24 21:21:20 +01:00
froggleston 22b9805e47 Fix all tests 2022-05-24 21:04:23 +01:00
froggleston 3adda84b96 Update docs, add test 2022-05-24 20:27:15 +01:00
Matthias d6773bc32c
Merge pull request #6886 from freqtrade/fix/typing
Fix/typing
2022-05-24 19:41:59 +02:00
Matthias a8ee77cd5e Simplify backtesting typechecking 2022-05-24 19:13:35 +02:00
robcaulk 58b5abbaa6 improve multithreaded training queue system 2022-05-24 15:28:38 +02:00
robcaulk 31ae2b3060 alleviate FutureWarning in sklearn about ensuring svm model features are passed with identical order 2022-05-24 14:46:16 +02:00
froggleston 8c03ebb78f Fix group 0 table, add pathlib.Path use 2022-05-24 12:48:13 +01:00
robcaulk 255d35976e add priority metadata to pairs to avoid a sync of train time + train period 2022-05-24 12:58:53 +02:00
froggleston 80c6190c05 Fix analyze_commands setup 2022-05-24 11:47:26 +01:00
froggleston ae1ede58da Fix import order 2022-05-24 11:47:26 +01:00
froggleston a1a09a802b Add analyze_commands 2022-05-24 11:47:25 +01:00
froggleston 9488e8992d First commit for integrating buy_reasons into FT 2022-05-24 11:47:25 +01:00
robcaulk 059c285425 paying closer attention to managing live retraining on separate thread without affecting prediction of other coins on master thread 2022-05-24 12:01:01 +02:00
Matthias 7f3853bbcd
Merge pull request #6883 from freqtrade/makeProcessCandlesTrue
Change default value of process_only_new_candles to True since False …
2022-05-24 07:03:14 +02:00
Matthias 904f094b80 Don't reassign method, but implement it properly 2022-05-24 06:59:54 +02:00
Matthias 23e089061b
Merge pull request #6870 from freqtrade/should_exit_list
Should exit list
2022-05-24 06:57:50 +02:00
Matthias 0a713faca8 Fix some type errors 2022-05-24 06:54:16 +02:00
Matthias f1a72e448a Align interfaces and strategy templates 2022-05-24 06:54:16 +02:00
Matthias 3f68c3b68e Update some types 2022-05-24 06:54:16 +02:00
Matthias 502404c0cc Use pyproject.toml instead of setup.cfg 2022-05-24 06:54:16 +02:00
Matthias 7f4161ff78 Add typehints to strategy wrapper 2022-05-24 06:54:16 +02:00
Matthias 07ec3b27fe Add typing information to retrier decorator 2022-05-24 06:54:16 +02:00
robcaulk b0d2d13eb1 improve data persistence/mapping for live/dry. This accommodates quick reloads after crash and handles multi-pair cleanly 2022-05-23 21:05:05 +02:00
Matthias 42ae8ba6fb Refactor hyperopt parameters to separate file 2022-05-23 20:18:09 +02:00
robcaulk e1c068ca66 add config asserts, use .get method with default values for optional functionality, move data_cleaning_* to freqai_interface (away from user custom pred model) since it is controlled by config params. 2022-05-23 12:07:09 +02:00
robcaulk 5c4014ee62 Change default value of process_only_new_candles to True since False is an uncommon usecase for expert strategy devs 2022-05-23 10:24:58 +02:00
robcaulk dede128648 set process_only_new_candles to true in example strat 2022-05-23 10:15:59 +02:00
robcaulk ee3cdd0ffe more cleanup 2022-05-23 09:55:58 +02:00
Matthias 063fc5174d
Merge pull request #6877 from freqtrade/dependabot/pip/develop/types-filelock-3.2.6
Bump types-filelock from 3.2.5 to 3.2.6
2022-05-23 09:20:50 +02:00
Matthias 34b1231df3
Bump filelock-precommit 2022-05-23 08:32:46 +02:00
dependabot[bot] b88dfe4297
Bump types-filelock from 3.2.5 to 3.2.6
Bumps [types-filelock](https://github.com/python/typeshed) from 3.2.5 to 3.2.6.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-filelock
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 06:32:06 +00:00
Matthias bb1e1a9680
Merge pull request #6880 from freqtrade/dependabot/pip/develop/scikit-learn-1.1.1
Bump scikit-learn from 1.1.0 to 1.1.1
2022-05-23 08:31:55 +02:00
Matthias 2b79398dba
Merge pull request #6879 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.16
Bump types-python-dateutil from 2.8.15 to 2.8.16
2022-05-23 08:31:03 +02:00
Matthias f6e2c2c0da
Merge pull request #6875 from freqtrade/dependabot/pip/develop/ccxt-1.83.62
Bump ccxt from 1.83.12 to 1.83.62
2022-05-23 08:30:42 +02:00
Matthias cc3ec279c2
Bump dateutil types precommit 2022-05-23 06:57:49 +02:00
Matthias 734803aa44
Merge pull request #6882 from freqtrade/dependabot/pip/develop/types-requests-2.27.27
Bump types-requests from 2.27.25 to 2.27.27
2022-05-23 06:57:08 +02:00
dependabot[bot] 596aeec652
Bump scikit-learn from 1.1.0 to 1.1.1
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.1.0...1.1.1)

---
updated-dependencies:
- dependency-name: scikit-learn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 04:33:43 +00:00
Matthias eb5fe9e3ae
Merge pull request #6857 from froggleston/develop
Add support for fudging unavailable funding rates, allowing backtesti…
2022-05-23 06:31:51 +02:00
Matthias 66497c28e8
Bump pre-commit requests types 2022-05-23 06:28:11 +02:00
Matthias c28cdc3d86
Merge pull request #6878 from freqtrade/dependabot/pip/develop/scipy-1.8.1
Bump scipy from 1.8.0 to 1.8.1
2022-05-23 06:26:55 +02:00
Matthias 8973554595
Merge pull request #6876 from freqtrade/dependabot/pip/develop/psutil-5.9.1
Bump psutil from 5.9.0 to 5.9.1
2022-05-23 06:25:37 +02:00
Matthias 26d5b22974
Merge pull request #6881 from freqtrade/dependabot/pip/develop/numpy-1.22.4
Bump numpy from 1.22.3 to 1.22.4
2022-05-23 06:25:13 +02:00
dependabot[bot] 7f5650699e
Bump types-requests from 2.27.25 to 2.27.27
Bumps [types-requests](https://github.com/python/typeshed) from 2.27.25 to 2.27.27.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 03:01:48 +00:00
dependabot[bot] 34657639f8
Bump numpy from 1.22.3 to 1.22.4
Bumps [numpy](https://github.com/numpy/numpy) from 1.22.3 to 1.22.4.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/HOWTO_RELEASE.rst.txt)
- [Commits](https://github.com/numpy/numpy/compare/v1.22.3...v1.22.4)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 03:01:46 +00:00
dependabot[bot] ff9dcfe789
Bump types-python-dateutil from 2.8.15 to 2.8.16
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.15 to 2.8.16.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 03:01:32 +00:00
dependabot[bot] 40f63ae51c
Bump scipy from 1.8.0 to 1.8.1
Bumps [scipy](https://github.com/scipy/scipy) from 1.8.0 to 1.8.1.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.8.0...v1.8.1)

---
updated-dependencies:
- dependency-name: scipy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 03:01:30 +00:00
dependabot[bot] f819fafa1c
Bump psutil from 5.9.0 to 5.9.1
Bumps [psutil](https://github.com/giampaolo/psutil) from 5.9.0 to 5.9.1.
- [Release notes](https://github.com/giampaolo/psutil/releases)
- [Changelog](https://github.com/giampaolo/psutil/blob/master/HISTORY.rst)
- [Commits](https://github.com/giampaolo/psutil/compare/release-5.9.0...release-5.9.1)

---
updated-dependencies:
- dependency-name: psutil
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 03:01:20 +00:00
dependabot[bot] 27019339b5
Bump ccxt from 1.83.12 to 1.83.62
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.83.12 to 1.83.62.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.83.12...1.83.62)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 03:01:15 +00:00
robcaulk 3587bd82e1 cleanup superceded code 2022-05-23 00:10:36 +02:00
robcaulk af0cc21af9 Enable hourly/minute retraining in live/dry. Suppress catboost folder output. Update config + constants + docs to reflect updates. 2022-05-23 00:06:26 +02:00
Matthias e3beaae8be update hyperopt typing 2022-05-22 19:32:32 +02:00
Matthias 0b5544ef9e Stoploss fill should fill as "filled" notification
Closes #6873
2022-05-22 19:18:12 +02:00
robcaulk 42d95af829 Aggregated commit. Adding support vector machine for outlier detection, improve user interface to dry/live, better standardization, fix various other bugs 2022-05-22 17:51:49 +02:00
Matthias 938a66511a Update Documentation for new confirm_trade_exit behavior 2022-05-22 11:28:11 +02:00
Matthias 3692fcd3d5 Improve exit signal sequence 2022-05-22 11:01:18 +02:00
Matthias ce3bfd59f5 Add explicit should_sell test 2022-05-22 10:31:29 +02:00
Matthias b7388557a9 Update interface tests 2022-05-22 10:20:01 +02:00
Matthias bdb904e714 Should_exit should return all sell signals 2022-05-22 10:17:49 +02:00
Matthias 1315d02437 Fix startup sending "longed" messages for open stoplosses 2022-05-22 09:01:46 +02:00
Matthias 26d394ca74 Add liquidation Price to api response 2022-05-22 08:54:27 +02:00
Matthias ea8fda0dee Slightly improve test 2022-05-22 08:36:28 +02:00
Matthias 1ff1e3b43d
Merge pull request #6869 from freqtrade/update_levtiers
Update leveraged tiers
2022-05-22 08:35:02 +02:00
Matthias f006978caf Be more explicit in default value 2022-05-21 17:35:49 +02:00
Matthias 681ef13174 Relax dry-run leverage test-case to simplify future updates 2022-05-21 16:23:29 +02:00
Matthias 97abcf4b32 Add documentation for leverage_tiers update 2022-05-21 16:10:00 +02:00
Matthias 963cc17c18 Update leveraged tiers 2022-05-21 16:05:00 +02:00
Matthias 0d388b561b Add test for "combine_funding_and_mark", fix bug 2022-05-21 09:03:30 +02:00
Matthias 2df42a3035 Move "funding fillup" logic to exchange class 2022-05-21 08:50:39 +02:00
Matthias 6bd5535d6c Use exchange method to combine funding and mark candles 2022-05-21 08:31:34 +02:00
Matthias 0e158b66b0 Update docs link 2022-05-21 08:26:44 +02:00
froggleston c499a92f57 Remove surplus mark columns, and make fillna on funding rate only 2022-05-20 11:48:53 +01:00
Matthias 0138114fc2
Merge pull request #6866 from freqtrade/dry_order_db
Dry orders from db
2022-05-20 12:10:09 +02:00
Matthias c3e3188c6a Rename variable 2022-05-20 11:30:25 +02:00
Matthias 843bf0631e Remove Sponsored Promotions 2022-05-20 07:14:49 +02:00
Matthias b3acfb3c6f Bump ccxt to 1.83.12
closes #6849
2022-05-20 06:55:51 +02:00
Matthias 2cf17e04be Init persistence for tests that use dry-run orders 2022-05-20 06:26:16 +02:00
robcaulk c5ecf94177 move live retraining to separate thread. 2022-05-19 21:15:58 +02:00
Matthias 46ea135b6b Update dry-run considerations 2022-05-19 20:10:11 +02:00
Matthias 219363fffb Check for both ask and bid in SpreadFilter
closes #6865
2022-05-19 19:53:23 +02:00
Matthias 56a73575a1 Add explicit test for order_to_ccxt 2022-05-19 19:29:39 +02:00
robcaulk 1fae6c9ef7 keep model accessible in memory to avoid loading objects from disk during live/dry 2022-05-19 19:27:38 +02:00
robcaulk 67eb94c69d download-data will now check if freqai is active in config, and if so will also download data for corr_pairlist 2022-05-19 17:55:00 +02:00
robcaulk 89eacf2f47 Retrain model if FreqAI found a pretrained model but user strategy is not passing the expected features (user has changed the features in the strategy but has passed a the same config[freqai][identifier]). Logger warning output to user. 2022-05-19 17:15:50 +02:00
Matthias 5e18e51ce0 Fix some tests 2022-05-19 07:03:53 +02:00
Matthias a3d9384bc0 Remove clean-dry-run code 2022-05-19 06:56:34 +02:00
Matthias 0a95ef6ab2 Don't reset open orders in dry-run on restart 2022-05-19 06:42:38 +02:00
froggleston 363098d32d Fix reversed makr/funding_rate columns 2022-05-18 12:56:43 +01:00
froggleston 736f9f4972 Fix docs and add outer join support for merging funding rates across full timerange 2022-05-18 12:47:37 +01:00
Matthias d5486f17d8 Update Test to use StrategyV3 2022-05-18 10:57:19 +02:00
மனோஜ்குமார் பழனிச்சாமி 2b61aa282a Removed None in dict.get()
https://stackoverflow.com/a/12631641

Extra Changes: freqtrade\freqtradebot.py:70
freqtrade\plugins\pairlistmanager.py:31
2022-05-18 03:41:10 +05:30
froggleston c41d4c4f45 Fix leverage docs 2022-05-17 22:37:48 +01:00
froggleston 37e4ede65c Fix flake issues 2022-05-17 22:32:17 +01:00
froggleston bb758da940 Add support for fudging unavailable funding rates, allowing backtesting of timeranges where futures candles are available, but rates are not 2022-05-17 22:05:33 +01:00
robcaulk c708dd3186 doc update thanks matthias 2022-05-17 20:46:23 +02:00
Matthias c81b960791 Fix some typos 2022-05-17 19:58:36 +02:00
robcaulk db66b82f6f accept open-ended timeranges from user 2022-05-17 19:50:06 +02:00
Matthias 7b9439f2e4
Merge pull request #6854 from eSeR1805/feat_bt_cancel_entry_reporting
BT: Reporting canceled/replaced entry orders
2022-05-17 19:26:44 +02:00
robcaulk d1d451c27e auto populate features based on a prepended % in the strategy (remove feature assignment from config). Update doc/constants/example strategy to reflect change 2022-05-17 18:15:03 +02:00
robcaulk 8664e8f9a3 create a prediction_models folder where basic prediction models can live (similar to optimize/hyperopt-loss. Update resolver/docs/and gitignore to accommodate change 2022-05-17 17:13:38 +02:00
eSeR1805 34684ec86a
Merge branch 'freqtrade:develop' into feat_bt_cancel_entry_reporting 2022-05-17 14:09:57 +03:00
eSeR1805 c6bf6779f8
Update docs BT sample report and details. 2022-05-17 14:09:01 +03:00
eSeR1805 bb7ffd8fbe
Update testcases relying on BT results. 2022-05-17 14:08:35 +03:00
eSeR1805 0585b378b3
BT: Report canceled/replaced orders also. 2022-05-17 14:07:42 +03:00
eSeR1805 6e8f24f6a7
BT: track canceled/replaced orders also. 2022-05-17 14:07:02 +03:00
Matthias 8d46e16c46
Merge pull request #6848 from freqtrade/datahandler_case
Datahandler case insensitive
2022-05-17 09:34:11 +02:00
Matthias 1cd8ebc8c8
Merge pull request #6847 from freqtrade/use_Precise
Use precise
2022-05-17 09:33:39 +02:00
Matthias 6fd003c655
Merge pull request #6851 from eSeR1805/feat_bt_cancel_entry_reporting
BT: Reporting canceled trade entries
2022-05-17 07:05:26 +02:00
Matthias b022680962
Merge pull request #6822 from SmartManoj/patch-10
fixed variable naming style
2022-05-17 06:34:39 +02:00
மனோஜ்குமார் பழனிச்சாமி 7cd0f8a7b1
Merge branch 'develop' into patch-10 2022-05-17 08:07:13 +05:30
eSeR1805 905b24bd4d
Update BT report detailing. 2022-05-17 02:04:45 +03:00
eSeR1805 a2a8e4fdc7
Update doc BT sample report. 2022-05-17 02:01:27 +03:00
eSeR1805 99aea454b5
Update testcases to match reporting. 2022-05-17 01:42:48 +03:00
eSeR1805 f2e2e57237
Report trade entries canceled by user. 2022-05-17 01:41:31 +03:00
eSeR1805 fb7c0792c0
Track trade entries canceled by user. 2022-05-17 01:41:01 +03:00
Matthias 76637d3939 Simplify timeframe-transition 2022-05-16 20:10:52 +02:00
Matthias 2e65a1793d Add fallback to load 1M files as well as 1Mo files 2022-05-16 19:48:27 +02:00
Matthias a1048fb619 Store monthly candles as "Mo" 2022-05-16 19:39:43 +02:00
Matthias 9607d04279 Improve ccxt imports 2022-05-16 19:22:07 +02:00
Matthias d09b462930 Add rudimentary tests for Precise "builtin operator" workings 2022-05-16 19:21:38 +02:00
Matthias c8e0fc926d Update to do Builtin Precise math 2022-05-16 19:21:38 +02:00
Matthias a793cf8f05 Use ccxt's "precise" to do precise math 2022-05-16 19:21:38 +02:00
Matthias 528509f809 Extract get_price_side from get_rate 2022-05-16 19:20:13 +02:00
Matthias 860a15ff40
Merge pull request #6839 from freqtrade/dependabot/pip/develop/plotly-5.8.0
Bump plotly from 5.7.0 to 5.8.0
2022-05-16 19:18:43 +02:00
Matthias 1913565507
Merge pull request #6834 from stash86/patch-1
Missing \n on /help response
2022-05-16 10:39:46 +02:00
Matthias c54919e4ce
Merge pull request #6841 from freqtrade/dependabot/pip/develop/scikit-learn-1.1.0
Bump scikit-learn from 1.0.2 to 1.1.0
2022-05-16 10:02:58 +02:00
Matthias d6c452a93e
Merge pull request #6836 from freqtrade/dependabot/pip/develop/pyjwt-2.4.0
Bump pyjwt from 2.3.0 to 2.4.0
2022-05-16 10:01:59 +02:00
dependabot[bot] f5183df0f1
Bump scikit-learn from 1.0.2 to 1.1.0
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.0.2 to 1.1.0.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.0.2...1.1.0)

---
updated-dependencies:
- dependency-name: scikit-learn
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-16 04:37:41 +00:00
dependabot[bot] bd65236e17
Bump pyjwt from 2.3.0 to 2.4.0
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.3.0...2.4.0)

---
updated-dependencies:
- dependency-name: pyjwt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-16 04:37:25 +00:00
Matthias 36d95a3a30
Merge pull request #6843 from freqtrade/dependabot/pip/develop/mkdocs-material-8.2.15
Bump mkdocs-material from 8.2.14 to 8.2.15
2022-05-16 06:36:52 +02:00
Matthias f8e9dc0650
Merge pull request #6840 from freqtrade/dependabot/pip/develop/flake8-tidy-imports-4.8.0
Bump flake8-tidy-imports from 4.7.0 to 4.8.0
2022-05-16 06:36:28 +02:00
Matthias 66621d6723
Merge pull request #6838 from freqtrade/dependabot/pip/develop/fastapi-0.78.0
Bump fastapi from 0.76.0 to 0.78.0
2022-05-16 06:36:09 +02:00
Matthias f015985062
Merge pull request #6837 from freqtrade/dependabot/pip/develop/time-machine-2.7.0
Bump time-machine from 2.6.0 to 2.7.0
2022-05-16 06:34:41 +02:00
Matthias f1474cea7a
Merge pull request #6842 from freqtrade/dependabot/pip/develop/ccxt-1.82.61
Bump ccxt from 1.81.81 to 1.82.61
2022-05-16 06:33:30 +02:00
Matthias 5c5b9534c1
Merge pull request #6844 from freqtrade/dependabot/pip/develop/filelock-3.7.0
Bump filelock from 3.6.0 to 3.7.0
2022-05-16 06:33:15 +02:00
dependabot[bot] dd1b84f938
Bump filelock from 3.6.0 to 3.7.0
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/py-filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.6.0...3.7.0)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-16 03:02:00 +00:00
dependabot[bot] a8b4066f85
Bump mkdocs-material from 8.2.14 to 8.2.15
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.14 to 8.2.15.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.14...8.2.15)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-16 03:01:57 +00:00
dependabot[bot] 9e44d69774
Bump ccxt from 1.81.81 to 1.82.61
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.81.81 to 1.82.61.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.81.81...1.82.61)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-16 03:01:53 +00:00
dependabot[bot] 9fc21686ed
Bump flake8-tidy-imports from 4.7.0 to 4.8.0
Bumps [flake8-tidy-imports](https://github.com/adamchainz/flake8-tidy-imports) from 4.7.0 to 4.8.0.
- [Release notes](https://github.com/adamchainz/flake8-tidy-imports/releases)
- [Changelog](https://github.com/adamchainz/flake8-tidy-imports/blob/main/HISTORY.rst)
- [Commits](https://github.com/adamchainz/flake8-tidy-imports/compare/4.7.0...4.8.0)

---
updated-dependencies:
- dependency-name: flake8-tidy-imports
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-16 03:01:40 +00:00
dependabot[bot] 748055892c
Bump plotly from 5.7.0 to 5.8.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.7.0 to 5.8.0.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.7.0...v5.8.0)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-16 03:01:33 +00:00
dependabot[bot] 47c116a423
Bump fastapi from 0.76.0 to 0.78.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.76.0 to 0.78.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.76.0...0.78.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-16 03:01:28 +00:00
dependabot[bot] 4fc6857d87
Bump time-machine from 2.6.0 to 2.7.0
Bumps [time-machine](https://github.com/adamchainz/time-machine) from 2.6.0 to 2.7.0.
- [Release notes](https://github.com/adamchainz/time-machine/releases)
- [Changelog](https://github.com/adamchainz/time-machine/blob/main/HISTORY.rst)
- [Commits](https://github.com/adamchainz/time-machine/compare/2.6.0...2.7.0)

---
updated-dependencies:
- dependency-name: time-machine
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-16 03:01:25 +00:00
Stefano Ariestasia 2cb8eecf18 add space 2022-05-16 07:43:36 +09:00
Stefano Ariestasia e21f6a7787 missing newline 2022-05-16 07:28:40 +09:00
Stefano Ariestasia 36e514e825
Merge branch 'freqtrade:develop' into patch-1 2022-05-16 07:27:11 +09:00
Matthias 8198bfd997
Merge pull request #6833 from freqtrade/python_310_main_versoin
Python 310 main version
2022-05-15 20:01:19 +02:00
Matthias 008ee14889 Improve ci to run on ubuntu 22.04 2022-05-15 19:29:42 +02:00
Matthias 3d36d35e30
Merge pull request #6825 from freqtrade/okx_history
Okx history
2022-05-15 19:27:45 +02:00
Matthias 86af3fe0e7 Update image versions from 3.9 to 3.10 2022-05-15 19:22:12 +02:00
robcaulk 80dcd88abf allow user to run config from anywhere on their system 2022-05-15 17:42:15 +02:00
robcaulk 9e94d28860 add timerange to backtest commnad 2022-05-15 17:42:15 +02:00
robcaulk e5759d950b fix typo 2022-05-15 17:42:15 +02:00
robcaulk f4296173e9 use bash visual in doc 2022-05-15 17:42:15 +02:00
robcaulk 717df891b1 use bash visual in doc 2022-05-15 17:42:15 +02:00
robcaulk a8022c104a give beta testers more information in the doc 2022-05-15 17:42:15 +02:00
robcaulk a7029e35b5 ensure informative pairs includes any combination of whitelist - corr_pairlist 2022-05-15 17:42:15 +02:00
robcaulk 9b3e5faebe create more flexible whitelist, avoid duplicating whitelist features into corr_pairlist, update docs 2022-05-15 17:42:15 +02:00
robcaulk 22bd5556ed add self-retraining functionality for live/dry 2022-05-15 17:42:15 +02:00
robcaulk 178c2014b0 appease mypy 2022-05-15 17:42:15 +02:00
robcaulk a4f5811a5b fix flake8 issue in arguments.py 2022-05-15 17:42:15 +02:00
robcaulk aae233bd6c try passing the check tests 2022-05-15 17:42:15 +02:00
robcaulk f653ace24b another attempt at fixing datalength bug 2022-05-15 17:42:15 +02:00
robcaulk b08c0888bb add USERPATH_FREQAIMODELS, remove return values from @abstract methods 2022-05-15 17:42:15 +02:00
robcaulk b03c7b514d optional style for interfacing freqai with backtesting 2022-05-15 17:42:15 +02:00
robcaulk e9a7b68bc1 revert constants.py and add changes 2022-05-15 17:42:15 +02:00
Matthias a0b25938f4 Fix exit_reason assignment in backtesting 2022-05-15 17:41:59 +02:00
Matthias a8f064a8cb Fix exit_reason assignment in live mode 2022-05-15 17:41:59 +02:00
robcaulk 3020218096 fix bug on backtest timerange 2022-05-15 17:41:34 +02:00
robcaulk 00ff0c9b91 ensure user defined timerange truncates final backtest so that we arent mismatching data lengths upon return to strategy. Rename DataHandler class to FreqaiDataKitchen 2022-05-15 17:41:34 +02:00
robcaulk 66715c5ba4 update doc 2022-05-15 17:41:34 +02:00
robcaulk def71a0afe auto build full_timerange and self manage training_timerange 2022-05-15 17:41:34 +02:00
robcaulk 764f9449b4 fix logger, debug some flake8 appeasements 2022-05-15 17:41:34 +02:00
robcaulk 29c2d1d189 use logger in favor of print 2022-05-15 17:38:58 +02:00
robcaulk 99f7e44c30 flake8 passing, use pathlib in lieu of os.path to accommodate windows/mac OS 2022-05-15 17:38:58 +02:00
robcaulk 2600ba4e74 remove unused remnants 2022-05-15 17:38:58 +02:00
robcaulk 630d201546 remove trained_stake 2022-05-15 17:38:58 +02:00
robcaulk b40f8f88ac cleaning and bug fixing 2022-05-15 17:38:58 +02:00
robcaulk fc837c4daa add freqao backend machinery, user interface, documentation 2022-05-15 17:38:58 +02:00
Matthias 706994340f Fix bad docstring 2022-05-15 17:06:40 +02:00
Matthias ebab02fce3
Merge pull request #6827 from eSeR1805/fix_readjust_entry_bt_sl
Fix: Refresh SL on entry order replacement
2022-05-15 16:41:18 +02:00
eSeR1805 cf001db396
Merge pull request #1 from xmatthias/bt_stop_attempt
Update stoploss handling for entry-order adjustment
2022-05-15 16:56:40 +03:00
Matthias 18fd3bb333 Update stoploss handling for entry-order adjustment 2022-05-15 15:45:39 +02:00
Matthias 9143e9ecb1 Add some safety measures for new startup_candles verification 2022-05-15 15:12:29 +02:00
Matthias d60d0f64d2 Revert ohlcv_candle_limit logic for okx 2022-05-14 19:35:06 +02:00
Matthias 116b58e97c add "date_minus_candles" method 2022-05-14 19:30:42 +02:00
Matthias a947a1316b Add test to ensure stoploss is set properly in live 2022-05-14 17:42:01 +02:00
Matthias 3b14439240 Slightly improve performance of order adjusts
Avoind  2nd call to `get_rate()`.

closes #6821
2022-05-14 16:16:32 +02:00
eSeR1805 c27e0a0a1b
Allow SL refresh only if no filled entry orders. 2022-05-14 16:56:56 +03:00
eSeR1805 ec54b47b6e
Flake fix. 2022-05-14 16:39:27 +03:00
eSeR1805 1c20fb7638
Refresh open_rate and stoploss on order replacement. 2022-05-14 16:37:04 +03:00
Matthias 5767d652bf Add explicit test and document behavior 2022-05-14 14:18:51 +02:00
Matthias 2a1368d508 Offsetfilter: add number_assets parameter
closes #6824
2022-05-14 14:16:13 +02:00
Matthias bb1b283d95 Update some ohlcv_candle_limit calls 2022-05-14 13:44:10 +02:00
Matthias 111b04c9e6 Okx - conditional candle-length 2022-05-14 09:51:44 +02:00
Matthias 64668b11da add ohlcv_has_history - disabling kraken downloads 2022-05-14 09:10:38 +02:00
Matthias 8e9384e8e6
Merge pull request #6823 from mkavinkumar1/clean-bt
cleaned up backtesting
2022-05-13 21:00:06 +02:00
Matthias 80ebd8f875
Merge pull request #6820 from SmartManoj/patch-9
Corrected docstring
2022-05-13 19:29:47 +02:00
மனோஜ்குமார் பழனிச்சாமி 64670726a6
flake8 fix 2022-05-13 21:52:26 +05:30
மனோஜ்குமார் பழனிச்சாமி 9d13c87292 cleaned up backtesting
Solves the [bug](https://github.com/freqtrade/freqtrade/runs/6425715015?check_suite_focus=true)
2022-05-13 21:46:25 +05:30
மனோஜ்குமார் பழனிச்சாமி 71a80cab3a
fixed variable naming style 2022-05-13 21:19:40 +05:30
மனோஜ்குமார் பழனிச்சாமி 8a3c2c6cad
Corrected docstring
Discussed in Discord
2022-05-13 19:32:52 +05:30
Matthias c299601ece Add warning about OKX futures backtesting data 2022-05-13 07:03:18 +02:00
Matthias 5444f4ee6f
Merge pull request #6793 from mkavinkumar1/log
logged balance details
2022-05-12 19:11:28 +02:00
Matthias 891900c186
Merge pull request #6812 from freqtrade/db_migrate
Db migrate
2022-05-11 19:54:31 +02:00
Matthias 1fc041d0d6
Fix formatting issue 2022-05-11 19:39:56 +02:00
Matthias ae463fcdf2
Merge pull request #6792 from mkavinkumar1/rpc
consistent exchange name
2022-05-11 19:23:36 +02:00
Matthias 7c1838427f
Merge pull request #6814 from DJCrashdummy/patch-1
minor polish for explanation of `backtesting --breakdown`
2022-05-11 09:09:32 +02:00
DJCrashdummy b2b503f043
minor polish for explanation of --breakdown
- corrected the command to fit the explanation
- added a little explanation how to read the weekly & monthly breakdown
2022-05-11 06:26:49 +00:00
DJCrashdummy 8a6a6ec911 corrected minor "typo" in formatting 2022-05-11 06:30:58 +02:00
Matthias f374c9da70 PR cleanup 2022-05-11 06:30:40 +02:00
Matthias 044afdf7af Add better test scenario 2022-05-10 20:27:24 +02:00
Matthias 340a97d1df
Merge pull request #6811 from DJCrashdummy/patch-1
corrected minor "typo" in formatting
2022-05-10 19:16:40 +02:00
DJCrashdummy fab197edf2
corrected minor "typo" in formatting 2022-05-10 10:33:04 +00:00
Matthias 31cce741ac Add sequence migration 2022-05-10 07:13:51 +02:00
Matthias 269630e755 Add preliminary documentation for database conversion 2022-05-10 07:13:42 +02:00
Matthias c19be34e71 Add rudimentary test for db migration 2022-05-09 20:58:40 +02:00
Matthias 0958c06b84 Implement database migration to other system 2022-05-09 20:58:40 +02:00
Matthias c3b0f6b64b Add feature shell for database conversion 2022-05-09 20:58:40 +02:00
Matthias 0f499469fc
Merge pull request #6796 from freqtrade/model_reorg
Model reorg
2022-05-09 20:15:45 +02:00
Matthias e66e1317dc
Merge pull request #6803 from freqtrade/dependabot/pip/develop/types-tabulate-0.8.9
Bump types-tabulate from 0.8.8 to 0.8.9
2022-05-09 08:00:20 +02:00
Matthias 54450bcb8c
Merge pull request #6804 from freqtrade/dependabot/pip/develop/ccxt-1.81.81
Bump ccxt from 1.81.43 to 1.81.81
2022-05-09 07:13:18 +02:00
Matthias 35ec657ef1
Bump types-tabulate==0.8.9 precommit 2022-05-09 06:55:01 +02:00
dependabot[bot] a5beacbdd0
Bump types-tabulate from 0.8.8 to 0.8.9
Bumps [types-tabulate](https://github.com/python/typeshed) from 0.8.8 to 0.8.9.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-tabulate
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-09 04:53:29 +00:00
Matthias bfcb8c9b82
Merge pull request #6806 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.15
Bump types-python-dateutil from 2.8.14 to 2.8.15
2022-05-09 06:52:59 +02:00
Matthias a69b8d2fb6
Merge pull request #6800 from freqtrade/dependabot/pip/develop/pre-commit-2.19.0
Bump pre-commit from 2.18.1 to 2.19.0
2022-05-09 06:52:43 +02:00
dependabot[bot] 2dd655eda0
Bump pre-commit from 2.18.1 to 2.19.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 2.18.1 to 2.19.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v2.18.1...v2.19.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-09 04:52:32 +00:00
Matthias ad81cd280f
Merge pull request #6805 from freqtrade/dependabot/pip/develop/flake8-tidy-imports-4.7.0
Bump flake8-tidy-imports from 4.6.0 to 4.7.0
2022-05-09 06:51:40 +02:00
Matthias 162a517411
Merge pull request #6802 from freqtrade/dependabot/pip/develop/fastapi-0.76.0
Bump fastapi from 0.75.2 to 0.76.0
2022-05-09 06:51:21 +02:00
Matthias 5f0c79cc47
Merge pull request #6801 from freqtrade/dependabot/pip/develop/jsonschema-4.5.1
Bump jsonschema from 4.4.0 to 4.5.1
2022-05-09 06:37:29 +02:00
Matthias 4e5a8ce87e
Merge pull request #6799 from freqtrade/dependabot/pip/develop/mkdocs-material-8.2.14
Bump mkdocs-material from 8.2.12 to 8.2.14
2022-05-09 06:37:06 +02:00
dependabot[bot] 5080245a73
Bump ccxt from 1.81.43 to 1.81.81
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.81.43 to 1.81.81.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.81.43...1.81.81)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-09 04:32:48 +00:00
Matthias 0756027e33
BUmp types-python-dateutil precommit 2022-05-09 06:32:28 +02:00
Matthias 5f7b19cb56
Merge pull request #6798 from freqtrade/dependabot/pip/develop/cryptography-37.0.2
Bump cryptography from 37.0.1 to 37.0.2
2022-05-09 06:31:44 +02:00
dependabot[bot] 69b79cd799
Bump types-python-dateutil from 2.8.14 to 2.8.15
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.14 to 2.8.15.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-09 03:11:16 +00:00
dependabot[bot] 1ae74c1197
Bump flake8-tidy-imports from 4.6.0 to 4.7.0
Bumps [flake8-tidy-imports](https://github.com/adamchainz/flake8-tidy-imports) from 4.6.0 to 4.7.0.
- [Release notes](https://github.com/adamchainz/flake8-tidy-imports/releases)
- [Changelog](https://github.com/adamchainz/flake8-tidy-imports/blob/main/HISTORY.rst)
- [Commits](https://github.com/adamchainz/flake8-tidy-imports/compare/4.6.0...4.7.0)

---
updated-dependencies:
- dependency-name: flake8-tidy-imports
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-09 03:11:12 +00:00
dependabot[bot] 77a22a6b1c
Bump fastapi from 0.75.2 to 0.76.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.75.2 to 0.76.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.75.2...0.76.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-09 03:10:38 +00:00
dependabot[bot] 74b309cf50
Bump jsonschema from 4.4.0 to 4.5.1
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.4.0 to 4.5.1.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.4.0...v4.5.1)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-09 03:10:27 +00:00
dependabot[bot] 30cc8e92a1
Bump mkdocs-material from 8.2.12 to 8.2.14
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.12 to 8.2.14.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.12...8.2.14)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-09 03:10:15 +00:00
dependabot[bot] df48399a90
Bump cryptography from 37.0.1 to 37.0.2
Bumps [cryptography](https://github.com/pyca/cryptography) from 37.0.1 to 37.0.2.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/37.0.1...37.0.2)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-09 03:10:07 +00:00
Matthias 511afbcd9d
Merge pull request #6797 from lukeingalls/patch-1
then -> than
2022-05-08 21:50:41 +02:00
Luke Ingalls f71b2624ab
then -> than 2022-05-08 10:07:22 -07:00
Matthias 30d6eeffd0 Fix migration bug 2022-05-08 17:49:13 +02:00
Matthias b58e811b14 Move trade/order Models to their own class 2022-05-08 17:45:20 +02:00
Matthias af1a5e0449 Extract base and Pairlock from models file 2022-05-08 17:38:06 +02:00
Matthias 3221726d85 Update migration to use boolean value
closes #6794
2022-05-08 17:29:42 +02:00
Matthias ab91758c7e
Merge pull request #6790 from eSeR1805/profit_reporting
Report profit only on filled entries.
2022-05-08 17:25:42 +02:00
Matthias 4a7515e66a Add test for 0.0 case 2022-05-08 16:04:06 +02:00
Matthias 1436bc1a70 Update list-strategies command
closes #6795
2022-05-08 15:30:44 +02:00
மனோஜ்குமார் பழனிச்சாமி f43ae0ea43 logged balance details 2022-05-08 13:53:07 +05:30
மனோஜ்குமார் பழனிச்சாமி d79b90a98f consistent exchange name 2022-05-08 12:46:58 +05:30
Matthias 45b328af2e explicitly call cleanup when cleaning backtest 2022-05-08 08:11:39 +02:00
eSeR1805 bfc7898654
Report profit only on filled entries. 2022-05-07 21:56:22 +03:00
Matthias c9498d0117
Merge pull request #6692 from eSeR1805/feat_readjust_entry
Feature: Readjust Entry Order
2022-05-07 20:11:20 +02:00
Matthias 277e07589e update/fix some comments and docs 2022-05-07 17:47:37 +02:00
eSeR1805 eca8d16c61
Minor fix and enhancement for TC51. 2022-05-07 17:31:56 +03:00
Matthias f5f599c7f0 Add LowProfitPairs only_per_side option 2022-05-07 15:25:15 +02:00
Matthias 26648e54cc
Merge pull request #6789 from freqtrade/okx_positionmode
Okx positionmode
2022-05-07 14:30:44 +02:00
Matthias dc0c1bf87d Only fetch accounts when authenticated. 2022-05-07 13:17:27 +02:00
Matthias 149704e748 Fix wrong type 2022-05-07 11:39:47 +02:00
Matthias 6fdcf3a10a Support both position modes on OKX 2022-05-07 10:58:41 +02:00
Matthias 2da284b921 Properly type side for create_order 2022-05-07 10:02:54 +02:00
Matthias 68a97a898d Disable scheduled notification in CI 2022-05-07 08:04:43 +02:00
Matthias 108903f7f0 Add DCA order adjust test 2022-05-06 19:50:10 +02:00
Matthias 70bac41d89 Add more backtest test scenarios 2022-05-06 19:50:10 +02:00
eSeR1805 182a6f475d
Minor typos. 2022-05-06 10:13:29 +03:00
Matthias 5b3eaa3003 Ensure advanced strategy template is runnable 2022-05-06 06:42:08 +02:00
Matthias d11c44940e Slightly reword docs
remove some Note-boxes - people tend to skip these.
2022-05-06 06:42:01 +02:00
Matthias 2d9be6dace move open_rate updating to close_bt_order 2022-05-05 19:50:16 +02:00
eSeR1805 29f1edbde7
Cleanup. Remove stray new line. 2022-05-05 12:24:32 +03:00
eSeR1805 495708df76
Merge branch 'develop' into feat_readjust_entry 2022-05-05 12:20:09 +03:00
eSeR1805 2bed0eab0c
BT: Update trade open_rate on first filled order. 2022-05-05 12:19:05 +03:00
eSeR1805 25c74e26d1
Models:Trade: Revert trade open_rate update. 2022-05-05 12:18:19 +03:00
Matthias 1a37c6ff42 Bump ccxt to 1.81.43
fixes bug in okx live liquidation pricing
2022-05-05 07:05:00 +02:00
eSeR1805 ae01afdd0f
Models:Trade: Fix open_rate updates. 2022-05-04 22:05:53 +03:00
eSeR1805 496bf84e3a
Merge branch 'develop' into feat_readjust_entry 2022-05-04 21:43:41 +03:00
eSeR1805 dbecc097df
Models:Trade: Update trade open_rate based on lastest order. 2022-05-04 21:34:45 +03:00
Sam Germain 10cbb5e67c test_exchange::test_taker_or_maker fixes 2022-05-04 00:10:09 -06:00
Sam Germain 86ad5dd02a test_exchange::test_taker_or_maker fixes 2022-05-04 00:08:41 -06:00
Sam Germain dac9931b4a test_create_dry_run_order_fees 2022-05-03 23:56:49 -06:00
Sam Germain 5d9aee6b7e test_taker_or_maker 2022-05-03 23:56:49 -06:00
Sam Germain e8803477df exchange/exchange add param taker_or_maker to add_dry_order_fee 2022-05-03 23:56:40 -06:00
Matthias b73f770955
Merge pull request #6778 from markdregan/patch-1
Add bot_loop_start() call in plotting.py
2022-05-04 07:24:32 +02:00
Matthias b2f33944ec Add preliminary backtesting test 2022-05-04 07:13:02 +02:00
Matthias 5c82cce06c Fix new test failures 2022-05-04 06:40:12 +02:00
Mark Regan ce035a5947
Add bot_loop_start() call in plotting.py
plotting.py was missing a call to strategy.bot_loop_start() resulting in strategies using this callback to not work.

Made changes and confirmed plotting now works for strategies using bot_loop_start() callback.

LMK if anything else needed for PR.
2022-05-03 23:34:12 +01:00
Matthias 851c5dad30 Version bump 2022.4.2 2022-05-03 20:37:29 +02:00
Matthias 5b76ae452f Fix fee handling for futures trades 2022-05-03 20:35:30 +02:00
Matthias 2c750fdb09 Reduce no stake amount verbosity
closes #6768
2022-05-03 20:35:22 +02:00
Matthias 2705096ce6
Merge pull request #6777 from freqtrade/fix/contractsizefee
Fix fee handling for futures trades
2022-05-03 20:34:37 +02:00
Matthias 091cb4fb8d Reduce no stake amount verbosity
closes #6768
2022-05-03 19:42:17 +02:00
Matthias eb996a152a Fix fee handling for futures trades 2022-05-03 19:06:17 +02:00
Matthias 65ab6d2468
Merge pull request #6771 from talentoscope/patch-1
Update setup.sh
2022-05-03 08:12:29 +02:00
talentoscope 8e1cdb9103
Update setup.sh
Added curl to dependencies for Debian systems
2022-05-02 23:20:13 +01:00
Matthias 88c8fe5570
Merge pull request #6715 from nicolaspapp/feat/relative-drawdown
Add relative drawdown
2022-05-02 21:09:14 +02:00
Matthias 7a57629918 Keep Backtest-metrics aligned 2022-05-02 20:08:38 +02:00
Matthias 3f64c6307f Maintain compatibility with old backtest results 2022-05-02 20:01:44 +02:00
Matthias 1e2523af61 Fix some assumptions on the data
available_capital is not guaranteed to be available, while dry-run-wallet is.
2022-05-02 19:44:14 +02:00
eSeR1805 52d510c331
Merge branch 'develop' into feat_readjust_entry 2022-05-02 18:30:05 +03:00
eSeR1805 4c74601073
Freqtradebot: Cleanup stray debug messages. 2022-05-02 18:22:41 +03:00
eSeR1805 59397cdd19
Freqtradebot: Fix full cancel logging location. 2022-05-02 18:09:28 +03:00
eSeR1805 b83cd95a02
Tests: add basic testcases for entry adjustment. 2022-05-02 18:07:48 +03:00
Matthias c1b10bbb91
Merge pull request #6763 from freqtrade/dependabot/pip/develop/mypy-0.950
Bump mypy from 0.942 to 0.950
2022-05-02 09:13:08 +02:00
Matthias 46993ce3ae
Merge pull request #6761 from freqtrade/dependabot/pip/develop/types-tabulate-0.8.8
Bump types-tabulate from 0.8.7 to 0.8.8
2022-05-02 09:12:52 +02:00
Matthias 2a6efab8a2 Don't use deprecated abstractclassmethod decorator 2022-05-02 06:24:52 +00:00
Matthias 38dffe1ed6
types-tabulate - pre-commit update 2022-05-02 08:11:05 +02:00
dependabot[bot] 24ce90ba9b
Bump types-tabulate from 0.8.7 to 0.8.8
Bumps [types-tabulate](https://github.com/python/typeshed) from 0.8.7 to 0.8.8.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-tabulate
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 06:00:02 +00:00
Matthias 541ee436c5
Merge pull request #6759 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.36
Bump sqlalchemy from 1.4.35 to 1.4.36
2022-05-02 07:59:30 +02:00
Matthias 725706beab
Merge pull request #6765 from freqtrade/dependabot/pip/develop/types-requests-2.27.25
Bump types-requests from 2.27.20 to 2.27.25
2022-05-02 07:59:14 +02:00
Matthias 24cb40fe98
Merge pull request #6758 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.14
Bump types-python-dateutil from 2.8.12 to 2.8.14
2022-05-02 07:24:32 +02:00
Matthias e3c298e892
Merge pull request #6766 from freqtrade/dependabot/pip/develop/jinja2-3.1.2
Bump jinja2 from 3.1.1 to 3.1.2
2022-05-02 07:11:19 +02:00
dependabot[bot] 67dd9be95a
Bump sqlalchemy from 1.4.35 to 1.4.36
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.35 to 1.4.36.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 05:00:17 +00:00
Matthias bd07d356bd
Merge pull request #6762 from freqtrade/dependabot/pip/develop/cryptography-37.0.1
Bump cryptography from 36.0.2 to 37.0.1
2022-05-02 06:59:27 +02:00
Matthias 71ae92274d
Bump pre-commit dependency 2022-05-02 06:45:42 +02:00
Matthias 49c1b310c2
Bump pre-commit types 2022-05-02 06:44:30 +02:00
dependabot[bot] ba28fa6c3c
Bump cryptography from 36.0.2 to 37.0.1
Bumps [cryptography](https://github.com/pyca/cryptography) from 36.0.2 to 37.0.1.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/36.0.2...37.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 04:31:35 +00:00
dependabot[bot] 9de0652b2c
Bump jinja2 from 3.1.1 to 3.1.2
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.1...3.1.2)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 04:31:34 +00:00
Matthias 13dc0a0b4d
Merge pull request #6764 from freqtrade/dependabot/pip/develop/ccxt-1.81.16
Bump ccxt from 1.80.61 to 1.81.16
2022-05-02 06:30:11 +02:00
Matthias 3f25fb2139
Merge pull request #6760 from freqtrade/dependabot/pip/develop/mkdocs-material-8.2.12
Bump mkdocs-material from 8.2.10 to 8.2.12
2022-05-02 06:29:37 +02:00
dependabot[bot] 093bea4230
Bump types-requests from 2.27.20 to 2.27.25
Bumps [types-requests](https://github.com/python/typeshed) from 2.27.20 to 2.27.25.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 03:01:34 +00:00
dependabot[bot] 73aafb886b
Bump ccxt from 1.80.61 to 1.81.16
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.80.61 to 1.81.16.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.80.61...1.81.16)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 03:01:33 +00:00
dependabot[bot] 4990534bf4
Bump mypy from 0.942 to 0.950
Bumps [mypy](https://github.com/python/mypy) from 0.942 to 0.950.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.942...v0.950)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 03:01:22 +00:00
dependabot[bot] 3d730661ee
Bump mkdocs-material from 8.2.10 to 8.2.12
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.10 to 8.2.12.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.10...8.2.12)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 03:01:11 +00:00
dependabot[bot] a0e27d82aa
Bump types-python-dateutil from 2.8.12 to 2.8.14
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.12 to 2.8.14.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 03:01:00 +00:00
eSeR1805 04c51d2d1a
Merge branch 'develop' into feat_readjust_entry 2022-05-01 21:42:15 +03:00
Nicolas Papp 7160f9085a Update summary examples 2022-05-01 12:32:12 -03:00
Nicolas Papp f9244aad92 Fix on max drawdown formula to match tests 2022-05-01 12:25:53 -03:00
eSeR1805 4e43194dfe
BT: Refactor open order management. 2022-05-01 18:06:20 +03:00
Matthias 582e30bca6
Merge pull request #6716 from freqtrade/pairlocks_direction
Pairlocks direction
2022-05-01 17:04:20 +02:00
Matthias e7f5252074 Version bump 2022.4.1 2022-05-01 16:49:11 +02:00
Matthias 910addd02b
Merge pull request #6753 from freqtrade/download_prepend
Download prepend
2022-05-01 15:15:16 +02:00
Matthias 995c48b642 Merge branch 'develop' into pairlocks_direction 2022-05-01 14:59:04 +02:00
Matthias dfbd1c34c4
Merge pull request #6755 from freqtrade/new_release
New release 2022.4
2022-05-01 14:51:39 +02:00
Matthias 2cedbe5704 Fix documentation mishap 2022-05-01 14:50:36 +02:00
Matthias 7615c4e904 Version bump 2022.4 2022-05-01 11:19:32 +02:00
Matthias e9b78bf3ae Merge branch 'stable' into new_release 2022-05-01 11:19:17 +02:00
eSeR1805 9d205132d0
Revert unintended comment change. 2022-05-01 12:10:11 +03:00
eSeR1805 8c19953cdd
Quick exit when order should be maintained. 2022-05-01 12:08:19 +03:00
Matthias 53a2f55cf0 Merge branch 'develop' into pr/nicolaspapp/6715 2022-05-01 10:03:10 +02:00
Matthias d5fc923dcb Properly validate stoploss existence for optimize commands
closes #6740
2022-05-01 09:53:46 +02:00
Matthias 0c921e0116 Reorder api_backtesting test sequence 2022-04-30 20:08:40 +02:00
Matthias 5c1ac3cf95 Fix caching bug with freqUI backtesting 2022-04-30 19:55:13 +02:00
Matthias 93591f2a7b
Merge pull request #6748 from SmartManoj/patch-8
Update PULL_REQUEST_TEMPLATE.md
2022-04-30 17:46:05 +02:00
Matthias 8b5d454b50 Fix subtle bug in trades download 2022-04-30 17:44:57 +02:00
Matthias e49b3ef051 Improve message formatting 2022-04-30 17:35:11 +02:00
Matthias f6a7e6b785 Add prepend option to download-data 2022-04-30 17:32:50 +02:00
Matthias 11d447cd5a Add support for download-data "until" 2022-04-30 15:42:41 +02:00
Matthias e4df2b0b96
Revert unwanted changes 2022-04-30 14:55:52 +02:00
Matthias 4580127fa8 Small refactor 2022-04-30 14:51:57 +02:00
Matthias c6c569b772 chore: split BTAnalyais to metrics 2022-04-30 14:47:27 +02:00
Matthias 4262f84744 Merge branch 'develop' into pr/nicolaspapp/6715 2022-04-30 14:22:18 +02:00
Matthias 2acb68e6e2 Move hyperopt-loss functions to their own package 2022-04-30 13:59:23 +02:00
eSeR1805 3be2afdd88
Merge branch 'develop' into feat_readjust_entry 2022-04-30 13:39:23 +03:00
eSeR1805 ad0c5d9440
Refactor entry adjustment for backtesting. 2022-04-30 13:38:17 +03:00
eSeR1805 f9977c26e7
Full cancel only for non DCA trades. 2022-04-30 12:55:03 +03:00
Matthias bfae732ba4
Merge pull request #6627 from samgermain/bot-start
Added bot_start callback to strategy interface
2022-04-30 09:14:51 +02:00
Matthias 09b74cebce Move edge bot_loop_start to edge_cli
(otherwise it's called twice when running trade mode with edge on).
2022-04-30 08:55:07 +02:00
Sam Germain 8756e7d9a1 flake8 linting 2022-04-29 23:35:08 -06:00
Sam Germain 4a6f1e90c3 Merge branch 'develop' into bot-start 2022-04-29 22:23:42 -06:00
Sam Germain 23431a7106 removed invalid plotting and test_default_strategy tests for bot_start, edited edge test 2022-04-29 22:21:22 -06:00
Sam Germain 788d9f5b55 updated bot_start documentation with working example 2022-04-29 22:20:26 -06:00
Matthias 9029833c8c
Merge pull request #6750 from erdieee/develop
Fix config_examples typo
2022-04-29 20:42:24 +02:00
erdieee f23faac368 Fix config_examples typo 2022-04-29 20:10:50 +02:00
Matthias 43049e0465 Evict cache if parameter file changed
closes #6735
2022-04-29 19:44:17 +02:00
Matthias fbd142844f Refactor bt-caching stuff to it's own module 2022-04-29 19:37:13 +02:00
மனோஜ்குமார் பழனிச்சாமி f96c552c46
Update PULL_REQUEST_TEMPLATE.md
Added instructions as comments
2022-04-29 22:14:02 +05:30
Matthias b60411b918
Merge pull request #6744 from freqtrade/orjson
Use ORJSON for http responses
2022-04-29 17:58:42 +02:00
Matthias da7a6f58f9 Revert requiring stoploss for backtest/hyperopt 2022-04-29 17:46:33 +02:00
eSeR1805 09089b160e
Merge branch 'develop' into feat_readjust_entry 2022-04-29 13:02:38 +03:00
Matthias b6bee45e82 Exclude user_data from isort 2022-04-29 09:54:54 +00:00
Matthias 48ff788e82 Clarify that stoploss is required
closes #6740
2022-04-29 09:53:05 +00:00
Matthias 21df1b0db3 Use ORJSON for http responses 2022-04-29 07:17:31 +02:00
eSeR1805 17650d7e60
Maintain existing order. Update functionality and documentation 2022-04-29 00:10:17 +03:00
eSeR1805 eb23170c43
Merge branch 'develop' into feat_readjust_entry 2022-04-28 23:06:52 +03:00
Matthias d1a61f9c61 Don't start futures backtest if leverage-tiers don't contain pair 2022-04-28 20:05:19 +02:00
Matthias cb5c3316d1 Simplify log output 2022-04-28 19:43:52 +02:00
Matthias 4063ab27cf
Merge pull request #6728 from turrisxyz/setup-permissions
chore: Set permissions for GitHub actions
2022-04-28 16:23:06 +02:00
Matthias 8962bffbe0
Merge branch 'develop' into setup-permissions 2022-04-28 14:51:33 +02:00
Matthias 4c95996069
Add Permissions for notify-complete job 2022-04-28 14:50:50 +02:00
Matthias 64072f76b9
Don't fail scheduled ci tasks due to notification 2022-04-28 14:40:47 +02:00
Matthias e0d86307cb
Merge pull request #6732 from freqtrade/remove_duplicate_liqprice_call
Don't call interest_rate and isolated_liq twice
2022-04-28 07:38:32 +02:00
Matthias 2ef1181e16 Simplify trade __repr__ 2022-04-28 07:33:30 +02:00
Matthias 1e83589641 Fix hyperopt 2022-04-28 06:59:03 +02:00
Matthias ca49821df0 Fix race condition for loop 2022-04-28 06:29:14 +02:00
Matthias 46855221aa Fix rounding issue with contract-sized pairs for dry-run orders 2022-04-27 19:58:19 +02:00
Matthias 220927289d Update documentation to highlight futures supported exchanges 2022-04-27 19:10:04 +02:00
Matthias 2c0a7c5d74 Don't call interest_rate and isolated_liq twice 2022-04-27 17:13:58 +02:00
Matthias 30c9dc6975 Fix exit-signa being assigned when tag is set but no signal is present. 2022-04-27 13:53:11 +02:00
Matthias ad7fbfab1b Slightly improved styling 2022-04-27 13:27:33 +02:00
Matthias 415dcc6a87
Merge pull request #6729 from rokups/rk/exit_tag
Add 'exit_tag' parameter to 'custom_exit_price' callback.
2022-04-27 07:07:28 +02:00
Matthias 108f11b1d7 Fix docs typos 2022-04-27 06:42:56 +02:00
Rokas Kupstys 6d99222320 Add 'exit_tag' parameter to 'custom_exit_price' callback. 2022-04-26 10:01:51 +03:00
Sam Germain a35dc843ea removed asyncio from bot_start example 2022-04-25 22:39:58 -06:00
Nicolas Papp bc5048e4f3 Update to backtesting.md 2022-04-25 23:50:47 -03:00
naveen 4cccf31a3e chore: Set permissions for GitHub actions
Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much.

- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions

https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs

[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)

Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
2022-04-26 01:07:59 +00:00
Sam Germain 7f035a9d53 added docs for bot_start 2022-04-25 17:59:50 -06:00
Sam Germain 810e190e16 added tests for bot_start 2022-04-25 17:48:57 -06:00
Sam Germain e76c6e8ad3 added bot_start call to edge_positioning.__init__ 2022-04-25 17:48:57 -06:00
Sam Germain e09b4498fa added bot_start call to plot/plotting 2022-04-25 17:48:57 -06:00
Sam Germain 4fd904e0a9 added bot_start to backtesting 2022-04-25 17:48:57 -06:00
Sam Germain d92761b2b1 Revert "strategy callback on_whitelist_update"
This reverts commit 39798dc1192161c3060830dd4684571aa86b7821.
2022-04-25 17:48:43 -06:00
Sam Germain bf7da35e31 strategy callback on_whitelist_update 2022-04-25 17:48:07 -06:00
Sam Germain 0b90e1d309 Added bot_start callback to strategy interface 2022-04-25 17:47:12 -06:00
Matthias 44000ae0b3 Fix CAGR missing for old results 2022-04-25 17:37:25 +02:00
Matthias 246a336f56
Merge pull request #6726 from froggleston/bt_concat
Move df append to pd concat
2022-04-25 16:03:27 +02:00
Matthias e38c4883dc
Merge pull request #6725 from freqtrade/cagr
Add CAGR calculation to backtesting
2022-04-25 16:02:39 +02:00
Matthias 9a5a57d848
Merge pull request #6724 from freqtrade/pre-commit-additional_updates
Check pre-commit verison updates
2022-04-25 14:57:45 +02:00
froggleston 431c539cbd Fix isort import order 2022-04-25 10:42:24 +01:00
Matthias 4444259078 Fix hyperopt-loss interface to enforce kwargs 2022-04-25 11:33:18 +02:00
froggleston 580da21dda Move df append to pd concat 2022-04-25 10:31:19 +01:00
Matthias 2b3f683960 Update pre-commit to exclude build-helpers 2022-04-25 11:23:45 +02:00
Matthias 500fdc2759 run mypy also against tests 2022-04-25 11:12:35 +02:00
Matthias 4143ebbeae Add CAGR calculation to backtesting 2022-04-25 10:51:11 +02:00
Matthias fc118d0e95 Re-align dependencies 2022-04-25 10:19:31 +02:00
Matthias 6d576bc02d Check pre-commit verison updates 2022-04-25 10:18:04 +02:00
Matthias 7b02114ad2 Restrict trading pairs with too low precision
closes #6606
2022-04-25 09:49:51 +02:00
Matthias 86b3aac9ba Fix FTX not fetching the very latest data 2022-04-25 08:38:02 +02:00
Matthias f45bafdb16
Merge pull request #6723 from freqtrade/strategy_v1_remove
Strategy v1 remove
2022-04-25 08:26:35 +02:00
Matthias 14a0dadd01
Merge pull request #6718 from freqtrade/dependabot/pip/develop/pytest-7.1.2
Bump pytest from 7.1.1 to 7.1.2
2022-04-25 08:23:34 +02:00
Matthias f0c816f9e3
Merge pull request #6719 from freqtrade/dependabot/pip/develop/pymdown-extensions-9.4
Bump pymdown-extensions from 9.3 to 9.4
2022-04-25 07:43:30 +02:00
Matthias ad6e5c5312 Test informative fallback again 2022-04-25 07:41:51 +02:00
Matthias 5ff2261b74 Improve test to explicitly test for dates 2022-04-25 07:32:32 +02:00
Matthias 9bc6bbe472 Improve test for max_drawdown calculations 2022-04-25 07:23:16 +02:00
Matthias 9bb0f1f675 Move legacy strategy to "broken strats" folder 2022-04-25 07:11:32 +02:00
Matthias ec2582a4ae Update tests to no longer use Strategy V1 2022-04-25 07:02:09 +02:00
Matthias 562e36c3ec Remove Interface V1 support 2022-04-25 07:01:27 +02:00
dependabot[bot] b4afbb0b0a
Bump pymdown-extensions from 9.3 to 9.4
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.3 to 9.4.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.3...9.4)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-25 04:54:53 +00:00
Matthias 4ee862c7e3
Merge pull request #6717 from freqtrade/dependabot/pip/develop/ccxt-1.80.61
Bump ccxt from 1.79.81 to 1.80.61
2022-04-25 06:54:16 +02:00
Matthias 1aa07a0fe1
Merge pull request #6722 from freqtrade/dependabot/pip/develop/types-requests-2.27.20
Bump types-requests from 2.27.19 to 2.27.20
2022-04-25 06:54:03 +02:00
Matthias ad17dce746
Merge pull request #6721 from freqtrade/dependabot/pip/develop/mkdocs-material-8.2.10
Bump mkdocs-material from 8.2.9 to 8.2.10
2022-04-25 06:53:33 +02:00
Matthias 5cc5d77b5f
Merge pull request #6720 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.12
Bump types-python-dateutil from 2.8.11 to 2.8.12
2022-04-25 06:53:13 +02:00
dependabot[bot] 399be6f4e5
Bump types-requests from 2.27.19 to 2.27.20
Bumps [types-requests](https://github.com/python/typeshed) from 2.27.19 to 2.27.20.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-25 03:17:53 +00:00
dependabot[bot] 9b39c83586
Bump mkdocs-material from 8.2.9 to 8.2.10
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.9 to 8.2.10.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.9...8.2.10)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-25 03:17:44 +00:00
dependabot[bot] eee9fbb669
Bump types-python-dateutil from 2.8.11 to 2.8.12
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.11 to 2.8.12.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-25 03:17:38 +00:00
dependabot[bot] 5bfa2186a7
Bump pytest from 7.1.1 to 7.1.2
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.1.1 to 7.1.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.1.1...7.1.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-25 03:17:29 +00:00
dependabot[bot] 46ac46a5d3
Bump ccxt from 1.79.81 to 1.80.61
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.79.81 to 1.80.61.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.79.81...1.80.61)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-25 03:17:23 +00:00
Nicolas Papp e8aec967dd Update on note 2022-04-24 17:42:52 -03:00
Nicolas Papp 086cc6be93 Correction on tests 2022-04-24 17:37:09 -03:00
Matthias 4de0fdbfca Minor edits found during review 2022-04-24 14:43:30 +02:00
Matthias 6623192108 improve doc wording 2022-04-24 14:39:13 +02:00
Matthias 737bdfe844 Use "side" parameter when calling Pairlocks 2022-04-24 14:33:24 +02:00
Matthias 144e4da96e Update stoploss guard tests 2022-04-24 14:33:24 +02:00
Matthias b0a8bf3025 Show lock side 2022-04-24 14:33:24 +02:00
Matthias 4942d73693 update pairlock tests 2022-04-24 14:33:24 +02:00
Matthias 845f960a4e realign pairlock naming to side 2022-04-24 14:33:24 +02:00
Matthias fc201bb4ff implement pairlock side further 2022-04-24 14:33:24 +02:00
Matthias 420836b1b2 Update test naming 2022-04-24 14:33:24 +02:00
Matthias 7c79d937e0 Properly type "side" parameter 2022-04-24 14:33:24 +02:00
Matthias b7cada1edd Convert ProtectionReturn to dataclass 2022-04-24 14:33:24 +02:00
Matthias 9e199165b4 Update protection-interface to support per-side locks 2022-04-24 14:33:24 +02:00
Matthias 6ff3b178b0 Add direction column to pairlocks 2022-04-24 14:33:24 +02:00
Matthias 25c6c5e326 Update backtest sell terminology to exit 2022-04-24 14:30:50 +02:00
Matthias 3c17409bd7 Update buy to entry in backtesting 2022-04-24 14:28:15 +02:00
Matthias 3637549a5e
Merge pull request #6714 from froggleston/develop
Update advanced backtesting docs to match fixed buy_reasons script
2022-04-23 19:25:58 +02:00
froggleston acec564014 Update advanced backtesting docs to match fixed buy_reasons script 2022-04-23 17:18:38 +01:00
Nicolas Papp 0f943c482b PEP8 code compliance 2022-04-23 13:15:14 -03:00
Matthias 8cac0a47cc Fix joblib being in wrong requirements 2022-04-23 17:08:34 +02:00
Matthias 2d07cbce59 Fix bad pre-commit installation
closes #6713
2022-04-23 17:05:41 +02:00
Matthias 0807d3106f Remove unused import 2022-04-23 15:34:40 +02:00
Matthias 6408590a73
Merge pull request #6712 from freqtrade/ci/speed
Speed up ci by running coverage only where necessary
2022-04-23 15:01:19 +02:00
Matthias 12d03e6a91 Remove unused test methods 2022-04-23 14:53:47 +02:00
Matthias d4e12371c2
Merge pull request #6558 from samgermain/recursive-strategy-folder
Recursively search subdirectories in config['user_data_dir']/strategies for a strategy
2022-04-23 14:23:53 +02:00
Matthias b1ca47e3d6
Merge pull request #6707 from koradiyakaushal/develop
Ref: timeseries friendly merge_ordered in merge_informative_pair func…
2022-04-23 14:22:23 +02:00
Matthias 3586c2e984 Windows no random order 2022-04-23 14:22:06 +02:00
Matthias c1a7fc873d Speed up ci by running coverage only where necessary 2022-04-23 11:47:10 +02:00
Matthias f2912f8815 Improve mypy runs 2022-04-23 11:31:12 +02:00
Matthias a2af7b4fd8 Test non-ffill approach 2022-04-23 11:25:20 +02:00
Matthias 1120392f39 Fix pre-commit indentation 2022-04-23 11:22:00 +02:00
Matthias 84f5a4d5bc Fix indentation 2022-04-23 10:51:24 +02:00
Matthias 30f314d580 windows compatibility of test 2022-04-23 10:44:11 +02:00
Matthias 89f16ad3a5
Merge pull request #6543 from froggleston/v3_fixes
Add support for storing buy candle indicator rows in backtesting results
2022-04-23 09:45:11 +02:00
Matthias 5a90d5ece6 Fix docstring quotes 2022-04-23 09:44:04 +02:00
Matthias 7328553c0b
Merge pull request #6563 from italodamato/opt-ask-force-new-points
Optimize only new points
2022-04-23 09:43:33 +02:00
Matthias 580a2c6545 Don't repeat backtest-storing 2022-04-23 09:23:53 +02:00
Matthias aa5345190e Test recursive strategy-listing 2022-04-23 09:19:18 +02:00
Matthias f1f4846053 Merge branch 'develop' into pr/samgermain/6558 2022-04-23 09:16:28 +02:00
Matthias ba92e09b7b list-strategies should find recursively as well 2022-04-23 09:11:50 +02:00
Matthias c6927a1501 Fix argument spelling 2022-04-23 09:10:40 +02:00
Matthias dff9d52b30 Remove hints on no longer used option, add very primitive test 2022-04-23 08:51:52 +02:00
froggleston 2fc4e5e117 Fix weird removal of comma 2022-04-22 18:54:02 +01:00
froggleston b8ddf2d5cd Update docs 2022-04-22 18:49:28 +01:00
froggleston 767592a1d6 Add signals enum to 'export' cli option 2022-04-22 18:46:12 +01:00
Matthias 7f60364f63 Add doc-page to index 2022-04-22 06:38:51 +02:00
Patel Kaushal ba305e93ed
Ref: timeseries friendly merge_ordered in merge_informative_pair function 2022-04-21 18:35:41 +05:30
froggleston f92997d378 Move signal candle generation into separate function 2022-04-20 14:05:33 +01:00
froggleston 933054a51c Move enable option text to make better sense 2022-04-20 13:54:50 +01:00
froggleston ea7fb4e6e6 Revert docs to buy_reasons script version 2022-04-20 13:51:45 +01:00
froggleston b3cb722646 Use joblib instead of pickle, add signal candle read/write test, move docs to new Advanced Backtesting doc 2022-04-20 13:38:52 +01:00
froggleston 9421d19cba Add documentation 2022-04-19 14:05:03 +01:00
froggleston 3ad1411f5e Fix imports 2022-04-19 13:08:01 +01:00
froggleston aa5984930d Fix filename generation 2022-04-19 13:00:09 +01:00
froggleston 165f59325f Merge branch 'v3_fixes' of github.com:froggleston/freqtrade into v3_fixes 2022-04-19 12:48:29 +01:00
froggleston 84f486295d Add tests for new storing of backtest signal candles 2022-04-19 12:48:21 +01:00
Robert Davey 4b0f168e52
Merge branch 'freqtrade:develop' into v3_fixes 2022-04-19 12:10:30 +01:00
eSeR1805 76558f284f
Fix user cancellation functionality. 2022-04-19 13:33:37 +03:00
eSeR1805 cea4f663d5
Merge branch 'develop' into feat_readjust_entry 2022-04-18 21:22:19 +03:00
eSeR1805 d24ee9032a
Update usage in backtest. No functional update. 2022-04-18 21:21:38 +03:00
eSeR1805 d9f838a65f
Update template usage to reflect changes. 2022-04-18 21:20:50 +03:00
eSeR1805 3166739ec9
Update strategy callback params and description. 2022-04-18 21:17:39 +03:00
eSeR1805 95e009b9cb
Update adjustment functionality and add cancelation option 2022-04-18 21:16:45 +03:00
eSeR1805 2cac1b7dcc
Add new (user cancellation) reason. 2022-04-18 21:14:35 +03:00
eSeR1805 541147c801
Update documentation to match feature changes. 2022-04-18 21:13:50 +03:00
Matthias e4629a2730
Merge pull request #6694 from samgermain/notional-switch
switch notionalFloor -> minNotional and notionalCap -> maxNotional
2022-04-18 08:54:20 +02:00
Matthias 9b55b3875f
Merge pull request #6700 from freqtrade/dependabot/pip/develop/types-requests-2.27.19
Bump types-requests from 2.27.16 to 2.27.19
2022-04-18 08:27:42 +02:00
Matthias 1ce20ea739 Bump requirements to 1.79.81, min-required to 1.79.69 2022-04-18 08:16:38 +02:00
Matthias 14ddd19584
Merge pull request #6696 from freqtrade/dependabot/pip/develop/fastapi-0.75.2
Bump fastapi from 0.75.1 to 0.75.2
2022-04-18 08:12:13 +02:00
dependabot[bot] 153b31c934
Bump types-requests from 2.27.16 to 2.27.19
Bumps [types-requests](https://github.com/python/typeshed) from 2.27.16 to 2.27.19.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-18 06:11:57 +00:00
Matthias 3cae57cd91
Merge pull request #6702 from freqtrade/dependabot/pip/develop/nbconvert-6.5.0
Bump nbconvert from 6.4.5 to 6.5.0
2022-04-18 08:11:26 +02:00
Matthias 38254d2124
Merge pull request #6699 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.11
Bump types-python-dateutil from 2.8.10 to 2.8.11
2022-04-18 08:11:12 +02:00
Matthias ef9d9e250f
Merge pull request #6697 from freqtrade/dependabot/pip/develop/types-cachetools-5.0.1
Bump types-cachetools from 5.0.0 to 5.0.1
2022-04-18 08:10:51 +02:00
Matthias 63a774ac7f
Merge pull request #6698 from freqtrade/dependabot/pip/develop/types-tabulate-0.8.7
Bump types-tabulate from 0.8.6 to 0.8.7
2022-04-18 08:10:37 +02:00
dependabot[bot] b69483e3af
Bump nbconvert from 6.4.5 to 6.5.0
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 6.4.5 to 6.5.0.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Commits](https://github.com/jupyter/nbconvert/compare/6.4.5...6.5)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-18 03:01:42 +00:00
dependabot[bot] f020d129d7
Bump types-python-dateutil from 2.8.10 to 2.8.11
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.10 to 2.8.11.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-18 03:01:27 +00:00
dependabot[bot] 7d88dcb5f4
Bump types-tabulate from 0.8.6 to 0.8.7
Bumps [types-tabulate](https://github.com/python/typeshed) from 0.8.6 to 0.8.7.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-tabulate
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-18 03:01:24 +00:00
dependabot[bot] 2ff18e78c4
Bump types-cachetools from 5.0.0 to 5.0.1
Bumps [types-cachetools](https://github.com/python/typeshed) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-18 03:01:22 +00:00
dependabot[bot] a1e425a801
Bump fastapi from 0.75.1 to 0.75.2
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.75.1 to 0.75.2.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.75.1...0.75.2)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-18 03:01:19 +00:00
Sam Germain 80b34deb4d bump ccxt to 1.79.69 to account for https://github.com/ccxt/ccxt/pull/12873" 2022-04-17 14:38:34 -06:00
eSeR1805 17da4ca099
Use order_date_utc 2022-04-17 12:11:30 +03:00
Sam Germain 591a2fb7fc switch notionalFloor -> minNotional and notionalCap -> maxNotional 2022-04-16 21:47:44 -06:00
froggleston 34fb8dacd7 Fix isort complaints 2022-04-16 17:03:24 +01:00
froggleston b738c4e695 Fix flake8 complaints 2022-04-16 16:49:20 +01:00
froggleston 7210a11730 Fix flake8 complaints 2022-04-16 16:37:06 +01:00
froggleston a63affc5f1 Fix flake8 complaints 2022-04-16 16:32:04 +01:00
froggleston f55a9940a7 Fix line spacing 2022-04-16 16:15:04 +01:00
froggleston b1bcf9f33c Fix backtest_enable typo 2022-04-16 14:58:17 +01:00
froggleston 8990ba2709 Fix store signal candles 2022-04-16 14:49:53 +01:00
froggleston 21734c5de7 Add pickle import 2022-04-16 14:46:30 +01:00
froggleston 26ba899d7d Add constant, boolean check, rename option to fit with other x_enable, check that RunMode is BACKTEST 2022-04-16 14:37:36 +01:00
Robert Davey afd3a32883
Merge branch 'develop' into v3_fixes 2022-04-16 14:23:13 +01:00
eSeR1805 698c25f133
Fix issues reported by flake. 2022-04-16 15:44:07 +03:00
eSeR1805 d65b64a46f
Merge branch 'develop' into feat_readjust_entry 2022-04-16 15:20:50 +03:00
eSeR1805 237d116d8c
Update existing tests to use the new func name. 2022-04-16 15:08:54 +03:00
eSeR1805 452f44206a
Add new callback to advanced template. 2022-04-16 15:08:09 +03:00
eSeR1805 bf5799ef9e
Add new functionality to backtesting. 2022-04-16 15:07:18 +03:00
eSeR1805 f8a7fdd5ed
Add new callback to strategy interface. 2022-04-16 15:04:22 +03:00
eSeR1805 317c1e0746
Add option to handle_cancel_enter to prevent closing trade. 2022-04-16 15:03:44 +03:00
eSeR1805 76c545ba0d
Reorganize, rename, redescribe and add new functionality 2022-04-16 15:03:09 +03:00
eSeR1805 e5d4f7766e
Add new cancel reason for when replacing orders. 2022-04-16 14:44:41 +03:00
eSeR1805 16b6b08227
Update docs to include info on new functionality. 2022-04-16 14:42:41 +03:00
Matthias 4019c05fee Update entry/exit timeout documentation
the type of order is now an Order, no longer a dictionary.

closes #6691
2022-04-16 06:48:12 +02:00
Matthias a4ec8984cd
Merge pull request #6685 from freqtrade/bt_load_history
Backtesting load history
2022-04-15 16:06:20 +02:00
Matthias 75d6a92e62
Merge pull request #6689 from kokimame/avoid-case-amount-zero
Avoid ignoring the case precision amount = 0
2022-04-15 15:20:18 +02:00
Matthias f61d4d36c3 Add test for 0 precision amount 2022-04-15 14:48:09 +02:00
kokimame d23d830346 Avoid ignoring the case precision amount = 0 2022-04-15 00:35:11 +09:00
Italo 1153e65b3e fix flake8 2022-04-14 14:34:04 +01:00
Italo 340c0ea391 update is_random before asked_non_tried
is_random depends on asked_non_tried and needs to be updated first
2022-04-14 14:15:11 +01:00
Matthias 4acb77305a Don't break when running hyperopt-x tools on old resuts 2022-04-13 19:33:27 +02:00
Matthias b1a6db8d29 Fix bad usage of base_currency 2022-04-13 19:24:21 +02:00
Italo 35cea6dcfa fix unique_list 2022-04-13 09:36:46 +01:00
Matthias f89b64c972 Improve test by having multistrat.meta file available 2022-04-13 07:09:26 +02:00
Matthias 4ac54a76af Add strategy as mandatory argument 2022-04-13 06:47:39 +02:00
Italo fa298d6f1c fix unique_list logic 2022-04-12 23:57:40 +01:00
Matthias dd5693f4e5 Add note about binance Futures trading rules
closes #6683
2022-04-12 07:21:30 +02:00
Matthias 0c87702545 test for backtest history 2022-04-12 06:28:37 +02:00
Nicolas Papp c8e4687833 Plots and hyperopt 2022-04-11 16:41:48 -03:00
Matthias 4254d86658 Move test-backtestfiles to separate directory 2022-04-11 20:32:02 +02:00
Matthias 85e7deb2cd Add loading of historic backtest result 2022-04-11 20:04:47 +02:00
Matthias d9039152ba Add "get backtest historic results" endpoint 2022-04-11 19:44:47 +02:00
Nicolas Papp 178240aa6c Merge branch 'develop' of https://github.com/nicolaspapp/freqtrade into feat/relative-drawdown 2022-04-11 14:42:10 -03:00
Matthias baefda80d1 Enable flake8 E226 rule 2022-04-11 18:02:06 +02:00
Matthias 1084787a38 Add note for Update releases 2022-04-11 17:48:39 +02:00
Matthias 43779232e1 Inlcude docs requirements in dev dependencies
developers should also be able to render the docs without further action.
2022-04-11 07:13:31 +02:00
Matthias 3e2d9725dd
Merge pull request #6680 from freqtrade/dependabot/pip/develop/ccxt-1.78.62
Bump ccxt from 1.77.98 to 1.78.62
2022-04-11 07:12:12 +02:00
Matthias 7f9ea581ea
Merge pull request #6681 from freqtrade/dependabot/pip/develop/prompt-toolkit-3.0.29
Bump prompt-toolkit from 3.0.28 to 3.0.29
2022-04-11 07:02:15 +02:00
Matthias f688c6e568
Merge pull request #6679 from freqtrade/dependabot/pip/develop/plotly-5.7.0
Bump plotly from 5.6.0 to 5.7.0
2022-04-11 06:34:44 +02:00
dependabot[bot] c93bed5e2b
Bump ccxt from 1.77.98 to 1.78.62
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.77.98 to 1.78.62.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.77.98...1.78.62)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 04:28:17 +00:00
Matthias 0f6ef6c798
Merge pull request #6678 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.35
Bump sqlalchemy from 1.4.34 to 1.4.35
2022-04-11 06:27:08 +02:00
Matthias 75a0ed075b
Merge pull request #6677 from freqtrade/dependabot/pip/develop/mkdocs-material-8.2.9
Bump mkdocs-material from 8.2.8 to 8.2.9
2022-04-11 06:26:50 +02:00
dependabot[bot] 5edae71d28
Bump prompt-toolkit from 3.0.28 to 3.0.29
Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.28 to 3.0.29.
- [Release notes](https://github.com/prompt-toolkit/python-prompt-toolkit/releases)
- [Changelog](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/CHANGELOG)
- [Commits](https://github.com/prompt-toolkit/python-prompt-toolkit/compare/3.0.28...3.0.29)

---
updated-dependencies:
- dependency-name: prompt-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 03:01:53 +00:00
dependabot[bot] 739cd773c3
Bump plotly from 5.6.0 to 5.7.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.6.0 to 5.7.0.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.6.0...v5.7.0)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 03:01:39 +00:00
dependabot[bot] 72fd4bf337
Bump sqlalchemy from 1.4.34 to 1.4.35
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.34 to 1.4.35.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 03:01:36 +00:00
dependabot[bot] 84fca32ed9
Bump mkdocs-material from 8.2.8 to 8.2.9
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.8 to 8.2.9.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.8...8.2.9)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 03:01:29 +00:00
Sam Germain 64e6729ae9 docs for recursive_strategy_search 2022-04-10 18:56:28 -06:00
Sam Germain c876d42e36 safe check for recursive_strategy_search in strategy_resolver 2022-04-10 18:50:51 -06:00
Sam Germain 9070114417 Merge branch 'recursive-strategy-folder' of https://github.com/samgermain/freqtrade into recursive-strategy-folder 2022-04-10 18:45:09 -06:00
Sam Germain d5ce868f1a removed 1 letter alias for recursive-strategy-folder 2022-04-10 18:44:33 -06:00
Nicolas Papp 47a6ef4f00 Max relative drawdown 2022-04-10 12:53:47 -03:00
Matthias 68fe7476c9 Update more terminology to forceexit 2022-04-10 15:56:29 +02:00
Matthias 77c840c2a4 Fix syntax-error in exit_reason migration 2022-04-10 15:10:13 +02:00
Matthias 9556af1e6c Improve documentation for config imports 2022-04-10 10:14:34 +02:00
Matthias cd2e49bb60 Simplify downloading futures data code 2022-04-10 09:53:33 +02:00
Matthias 95f69a8c3b Remove some outdated TODO's 2022-04-10 09:53:33 +02:00
Matthias 1951ee8e29
Merge pull request #6615 from cyberjunky/cyber-forcesell-tg
Add selection buttons for trades to forcesell cmd in telegram
2022-04-10 09:51:35 +02:00
Matthias 2653d83fee Merge branch 'develop' into pr/cyberjunky/6615 2022-04-10 09:24:53 +02:00
Matthias 54633e90a7 Merge branch 'develop' into pr/italodamato/6563 2022-04-10 09:16:31 +02:00
Matthias a99cbe459c
Merge pull request #6671 from freqtrade/custom_exit_profit
Custom exit - call it independent of profit
2022-04-10 09:09:45 +02:00
Matthias 282804463c Add Documentation for /forceexit without parameter 2022-04-10 09:07:51 +02:00
Matthias ffff45e76b simplify exit message 2022-04-10 08:44:49 +02:00
Matthias 850760bc00 Remove migration from very old database
(database without Orders table)
2022-04-10 08:43:30 +02:00
Matthias 46c18dfce2
Merge pull request #6670 from freqtrade/store_asset
store base and quote currency separately in the database
2022-04-10 08:42:28 +02:00
Matthias 105e7ea1a9
Merge pull request #6675 from zolbayars/update-plotting-documentation
Docs: update plotting doc to show strategy option is mandatory
2022-04-10 07:32:46 +02:00
zolbayars 09b41a6f8d Docs: update plotting doc to show strategy option is mandatory 2022-04-10 10:39:48 +08:00
Matthias 710089b46c
Merge pull request #6673 from RafaelDorigo/develop
Update strategy_migration.md
2022-04-09 20:07:24 +02:00
RafaelDorigo 9f9219675f Update strategy_migration.md 2022-04-09 19:58:58 +02:00
Matthias 6ebd30db88
Merge pull request #6665 from freqtrade/config_from_config
Allow recursive loading of configuration files
2022-04-09 17:18:51 +02:00
Matthias 114591048c Always call custom_sell - also when there's a new enter signal 2022-04-09 17:17:49 +02:00
Matthias 139b65835c Only show long/short signals on telegram for non-spot markets 2022-04-09 17:09:17 +02:00
Matthias ef18d09161 Call custom_exit also when the trade is not in profit and exit_profit_only is set. 2022-04-09 16:50:38 +02:00
Matthias 8e98a2ff9f api - provide assset_currency via API 2022-04-09 16:42:18 +02:00
Matthias 81b41183a5
Merge pull request #6668 from RafaelDorigo/develop
Fixed setup.sh
2022-04-09 15:35:26 +02:00
RafaelDorigo e606051102 Fixed setup.sh 2022-04-09 11:53:47 +02:00
Matthias f385e2c2b6 Update test to also cover "no trade found" scenario 2022-04-09 10:04:10 +02:00
Matthias ebcb530d4f Log if no stake-amount is left for trade 2022-04-09 09:58:03 +02:00
Matthias cbdaaf705c
Merge pull request #6636 from mkavinkumar1/pre-commit
added pre-commit
2022-04-09 09:50:54 +02:00
Matthias ddfc68d533 Add test case for interactive telegram exit 2022-04-09 09:41:01 +02:00
Matthias 9cd92ed48c Fix forceexit to work 2022-04-09 09:24:20 +02:00
Matthias 40eb3f274f Fix merge mistake 2022-04-09 08:36:22 +02:00
Matthias 392967a26f Update formatting 2022-04-08 18:07:01 +02:00
Matthias 967bbe99bb Merge branch 'develop' into pr/cyberjunky/6615 2022-04-08 18:05:27 +02:00
Matthias 16e64ddf97 Update docs for multi-config loading 2022-04-08 17:59:16 +02:00
Matthias ecb0e43c2a Improve pre-commit docs 2022-04-08 17:50:32 +02:00
Matthias b8556498ef Fix pre-commit to actually work 2022-04-08 17:46:53 +02:00
Matthias 238ff6c9fe Use better naming 2022-04-08 17:30:23 +02:00
Matthias 1435d26996 store config-file loading paths 2022-04-08 17:26:51 +02:00
Matthias 3427df0653 Add simple test for recursive loading 2022-04-08 16:11:18 +02:00
Matthias 1ea49ce864 Support nested configurations 2022-04-08 15:50:44 +02:00
Matthias aee0cfd17a forcebuy_enable -> force_entry_enable 2022-04-08 13:39:41 +02:00
Italo 1559692e47 Update hyperopt.py
remove duplicates from list of asked points
2022-04-08 11:44:42 +01:00
Matthias ef2f8be526
Merge pull request #6653 from mkavinkumar1/renaming-forceentry-forceexit
renamed forceentry forceexit
2022-04-08 12:31:48 +02:00
Matthias 075fc6d35e
Apply suggestions from code review 2022-04-08 11:45:03 +02:00
மனோஜ்குமார் பழனிச்சாமி 0e9b348868 Update api_v1.py 2022-04-08 11:08:11 +05:30
மனோஜ்குமார் பழனிச்சாமி ca400b8195 Updated requested changes in PR #6653 2022-04-08 10:45:05 +05:30
மனோஜ்குமார் பழனிச்சாமி f7020df097 Updating requested changes in PR #6653 2022-04-08 07:07:51 +05:30
மனோஜ்குமார் பழனிச்சாமி 9417bb01dc
Merge branch 'develop' into renaming-forceentry-forceexit 2022-04-08 00:01:51 +05:30
மனோஜ்குமார் பழனிச்சாமி 9ee53b5f9e
Update docs/telegram-usage.md
Co-authored-by: Matthias <xmatthias@outlook.com>
2022-04-07 23:55:07 +05:30
Matthias 1347107c1e extract load_from_files to load_config 2022-04-07 20:15:06 +02:00
Matthias 673b3034ee Simplify load_from_files 2022-04-07 20:05:51 +02:00
Matthias bdd9f584fa Update some docs terminology 2022-04-07 20:04:16 +02:00
Matthias a659bcb60b Update some docs terminology 2022-04-07 19:46:00 +02:00
Matthias ea1c55b161 Update backtesting to use row instead of sell_row 2022-04-07 19:43:34 +02:00
Matthias 890694da08
Merge pull request #6661 from SmartManoj/patch-5
Update fiat_convert.py
2022-04-07 19:25:58 +02:00
Matthias cbbbe8a5ba Fix test using existing config file, therefore becomming fluky 2022-04-07 09:08:17 +00:00
Matthias 3188d036a6 improve trading_mode handling
Ensure trading_mode is set by new-config
handle empty strings to default to spot.

closes #6663
2022-04-07 08:45:45 +00:00
மனோஜ்குமார் பழனிச்சாமி 7bf3475fbd
Update fiat_convert.py 2022-04-07 10:28:55 +05:30
Matthias 299dd84cfe
Merge pull request #6656 from freqtrade/use_sell_signal
Use sell signal -> use_exit_signal
2022-04-06 19:46:46 +02:00
Matthias 916764d4f2
Merge pull request #6658 from mkavinkumar1/rename-enter-side
renamed enter-side
2022-04-06 19:32:55 +02:00
Matthias 28b58712fb Add compatibility shim for trade.entry_trade 2022-04-06 19:13:46 +02:00
Matthias d5ec79c0b9 Update deprecated settings to support non-nested transitions 2022-04-06 19:09:34 +02:00
Matthias 62d13a9f74
Fix test indentation 2022-04-06 16:03:11 +02:00
Matthias 146d6e7c6c Add UAH to supported fiat currencies
closes #6657
2022-04-06 06:43:06 +02:00
மனோஜ்குமார் பழனிச்சாமி b751dd339a Update test_rpc_telegram.py 2022-04-06 07:23:43 +05:30
மனோஜ்குமார் பழனிச்சாமி aa76191636 fixed tests 2022-04-06 07:19:00 +05:30
மனோஜ்குமார் பழனிச்சாமி 28f4a3b373 updated for PR #6653 2022-04-06 07:05:43 +05:30
மனோஜ்குமார் பழனிச்சாமி 7e97e58820 renamed enter-side 2022-04-06 06:32:13 +05:30
Matthias 8d95e76d26 Add tests for new naming definitions 2022-04-05 20:43:39 +02:00
Matthias 82e9f62381 Add missing setting in arguments.py 2022-04-05 20:27:32 +02:00
Matthias a09637cbe1 Update migration documentation with new settings 2022-04-05 20:25:31 +02:00
Matthias b1378efdeb ignore_roi_if_buy_signal -> ignore_roi_if_entry_signal 2022-04-05 20:21:39 +02:00
Matthias 5bafdb6108 Update testcase 2022-04-05 20:15:08 +02:00
Matthias 4897731030 use_sell_signal -> use_exit_signal 2022-04-05 20:10:20 +02:00
Matthias 5ce5c70be6 sell_profit_offset -> exit_profit_offset 2022-04-05 20:03:27 +02:00
Matthias bba9629a2a Rename sell_profit_only to exit_profit_only 2022-04-05 20:00:35 +02:00
மனோஜ்குமார் பழனிச்சாமி 5fa96174e1 Update test_rpc.py 2022-04-05 16:58:30 +05:30
மனோஜ்குமார் பழனிச்சாமி 8442fb915f renamed 2022-04-05 16:01:53 +05:30
மனோஜ்குமார் பழனிச்சாமி 0d93916f79 Update developer.md 2022-04-05 11:28:22 +05:30
Matthias 5c01969969 Fix messed up doc rendering 2022-04-05 07:13:09 +02:00
மனோஜ்குமார் பழனிச்சாமி 57af08fde7 updated requested changes in PR #6636 2022-04-05 10:21:07 +05:30
Matthias 2a46e6a214 Change some sell terminology 2022-04-05 06:50:44 +02:00
Matthias 31bdaedc33 Fix messed up doc rendering 2022-04-05 06:47:55 +02:00
Matthias d3e6fa19d5
Merge pull request #6648 from freqtrade/exit_type_rename
Exit type rename
2022-04-05 06:44:56 +02:00
Matthias 89355a212e Improve wording on strategy migration 2022-04-04 19:53:56 +02:00
Matthias 4cd4edf08b Update exit_reasons while migrating the database 2022-04-04 19:52:26 +02:00
Matthias 2b55f45be0 Improve deprecated documentation 2022-04-04 19:45:52 +02:00
Matthias 0db5d9f7fa Update telegram message formatting 2022-04-04 19:37:23 +02:00
Matthias 7d3116f9fb webhookbuy -> webhookentry 2022-04-04 19:32:27 +02:00
Matthias eff636ba53 Update RPC message types to ENTRY 2022-04-04 19:29:15 +02:00
Matthias 125dff1dad Properly deprecate webhook settings (with transition) 2022-04-04 19:21:13 +02:00
Matthias 5ecb695e50 Update deprecated notification settings 2022-04-04 19:17:11 +02:00
Matthias 129a7c632c Update method names 2022-04-04 19:14:21 +02:00
Matthias 8a9839fb6d Update telegram notification settings 2022-04-04 19:10:44 +02:00
Matthias 0b88185c2c Sell-fill -> exit_fill 2022-04-04 19:08:50 +02:00
Matthias 8b33d9cdb2 sell_cancel -> exit_cancel 2022-04-04 19:07:20 +02:00
Matthias 6a0110aa3c Update webhook configuration 2022-04-04 19:05:36 +02:00
Matthias 6d9218cb34 sell_signal -> exit_signal 2022-04-04 17:11:11 +02:00
Matthias 1917527179 custom_sell -> custom_exit 2022-04-04 17:04:43 +02:00
Matthias cd146bfa8f emergency_sell -> emergency_exit 2022-04-04 17:03:27 +02:00
Matthias 54ad130bb9 Update force_sell to force_exit 2022-04-04 16:59:27 +02:00
Matthias 33841da382 Slightly imporve Typing by reusing long/short type 2022-04-04 16:51:57 +02:00
Matthias f8783c908e Add side to custom_entry_price 2022-04-04 16:48:27 +02:00
Matthias 61faee1e7d
Merge pull request #6644 from freqtrade/dependabot/pip/develop/pandas-1.4.2
Bump pandas from 1.4.1 to 1.4.2
2022-04-04 10:54:15 +02:00
Matthias 0bb696bfed
Merge pull request #6642 from freqtrade/dependabot/pip/develop/types-requests-2.27.16
Bump types-requests from 2.27.15 to 2.27.16
2022-04-04 07:38:01 +02:00
Matthias 2bca27b337
Merge pull request #6643 from freqtrade/dependabot/pip/develop/fastapi-0.75.1
Bump fastapi from 0.75.0 to 0.75.1
2022-04-04 07:37:50 +02:00
dependabot[bot] ef65bece7b
Bump pandas from 1.4.1 to 1.4.2
Bumps [pandas](https://github.com/pandas-dev/pandas) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Changelog](https://github.com/pandas-dev/pandas/blob/main/RELEASE.md)
- [Commits](https://github.com/pandas-dev/pandas/compare/v1.4.1...v1.4.2)

---
updated-dependencies:
- dependency-name: pandas
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-04 05:05:50 +00:00
Matthias ff1c486cf7
Merge pull request #6645 from freqtrade/dependabot/pip/develop/ccxt-1.77.98
Bump ccxt from 1.77.97 to 1.77.98
2022-04-04 07:04:50 +02:00
dependabot[bot] 655165ace0
Bump ccxt from 1.77.97 to 1.77.98
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.77.97 to 1.77.98.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.77.97...1.77.98)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-04 04:37:13 +00:00
Matthias 9e72d50e64
Merge pull request #6639 from freqtrade/dependabot/pip/develop/ccxt-1.77.97
Bump ccxt from 1.77.45 to 1.77.97
2022-04-04 06:34:16 +02:00
Matthias 9a68eeb649
Merge pull request #6640 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.34
Bump sqlalchemy from 1.4.32 to 1.4.34
2022-04-04 06:33:38 +02:00
Matthias 2c8df83e9a
Merge pull request #6641 from freqtrade/dependabot/pip/develop/nbconvert-6.4.5
Bump nbconvert from 6.4.4 to 6.4.5
2022-04-04 06:26:07 +02:00
dependabot[bot] d5ec95e8e0
Bump fastapi from 0.75.0 to 0.75.1
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.75.0 to 0.75.1.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.75.0...0.75.1)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-04 03:01:46 +00:00
dependabot[bot] d668416d9c
Bump types-requests from 2.27.15 to 2.27.16
Bumps [types-requests](https://github.com/python/typeshed) from 2.27.15 to 2.27.16.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-04 03:01:37 +00:00
dependabot[bot] 225f6d1525
Bump nbconvert from 6.4.4 to 6.4.5
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 6.4.4 to 6.4.5.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Commits](https://github.com/jupyter/nbconvert/compare/6.4.4...6.4.5)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-04 03:01:35 +00:00
dependabot[bot] 20f032601a
Bump sqlalchemy from 1.4.32 to 1.4.34
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.32 to 1.4.34.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-04 03:01:33 +00:00
dependabot[bot] 74ff9f551b
Bump ccxt from 1.77.45 to 1.77.97
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.77.45 to 1.77.97.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.77.45...1.77.97)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-04 03:01:26 +00:00
Matthias 69491c1430 Update more wording to "exit" 2022-04-03 19:39:13 +02:00
Matthias 283d04a5ad Update docstring wording 2022-04-03 19:36:32 +02:00
Matthias dc462e63fe update BTContainer use_sell_signal 2022-04-03 19:27:30 +02:00
Matthias 9dfb3db1aa Update local variable 2022-04-03 19:22:59 +02:00
மனோஜ்குமார் பழனிச்சாமி e2a42d3027 added pre-commit 2022-04-03 18:57:58 +05:30
Ron Klinkien dd61886341 Readded missing keyboard commands
Rename forcesell methods to forceexit
2022-04-03 12:29:29 +02:00
Matthias 8acffbc1d8 sell_type -> exit_type 2022-04-03 11:18:36 +02:00
Matthias 2d2bea17e7 sell_order_status -> exit_order_status 2022-04-03 11:17:01 +02:00
Matthias d054916439
Merge pull request #6632 from freqtrade/short_terminology
Short terminology
2022-04-03 11:10:16 +02:00
Matthias d94b73b396 Update some documentation 2022-04-03 10:44:27 +02:00
Matthias a27c837d18 Update sell_reason to exit_reason 2022-04-03 10:41:35 +02:00
Matthias cd78792f48 Improve some telegram terminology 2022-04-03 10:40:13 +02:00
Ron Klinkien 936ada5699 Fixed syntax error 2022-04-03 09:58:55 +02:00
Matthias 157f8f8139 Update some more sell_reason occurances 2022-04-03 08:17:17 +02:00
Matthias e894f620c2 Improve compatibility 2022-04-03 08:15:23 +02:00
Matthias 240ca421af
Merge pull request #6630 from SmartManoj/patch-4
checking exchange name with lower
2022-04-02 20:09:10 +02:00
Matthias ec63cfd656 Add compatibility layer for backtesting results 2022-04-02 20:04:30 +02:00
Matthias 543aa74278 update sell_reason to exit_reason 2022-04-02 20:04:29 +02:00
Ron Klinkien f89265e0fb
Merge branch 'develop' into cyber-forcesell-tg 2022-04-02 20:02:42 +02:00
Matthias 39d925c295 Change to precise casing instead of .lower() 2022-04-02 19:48:01 +02:00
Matthias b0fab3ad50 Properly handle empty dataframes after trimming
closes #6629
2022-04-02 16:16:29 +02:00
Matthias f742d21690 Add test showing #6629 2022-04-02 16:16:26 +02:00
Matthias 7c5e730007
Merge pull request #6628 from topscoder/patch-2
Fixes CoinGecko typos in fiat_convert
2022-04-02 08:16:32 +02:00
மனோஜ்குமார் பழனிச்சாமி 40b4a9977e
checking exchange name with lower 2022-04-02 11:23:06 +05:30
topscoder 60d52f0a20
Consistent CoinGecko naming in test_fiat_convert.py 2022-04-01 20:57:09 +02:00
topscoder 7db3c846b4
Fixes CoinGecko typos in fiat_convert.py 2022-04-01 20:52:16 +02:00
Matthias 0b40c37cc5
Merge pull request #6624 from samgermain/lev-docs
docs for shorting
2022-04-01 20:29:41 +02:00
Stefano Ariestasia da0688b6aa Revert "Add exchange id for binance Futures"
This reverts commit 3c8387ab61.
2022-04-02 03:20:21 +09:00
Matthias 2f967f6df9 Slightly change wording, fix links 2022-04-01 20:01:57 +02:00
Sam Germain b4b594c0dd docs on setting enter_short and exit_short 2022-04-01 06:02:32 -06:00
Sam Germain 476c6416cc docs/strategy-customization enter_short and exit_short 2022-04-01 05:59:59 -06:00
Sam Germain 3e10849e02 short docs added link to strategy migration guide 2022-04-01 05:55:00 -06:00
Stefano Ariestasia 3c8387ab61
Add exchange id for binance Futures 2022-04-01 20:48:13 +09:00
Sam Germain dd7f9c6f8b docs for shorting 2022-04-01 05:47:26 -06:00
Matthias b40c017af5
Merge pull request #6623 from stash86/patch-1
fix some typo
2022-04-01 12:49:03 +02:00
Stefano Ariestasia 0c096e4e03
fix some typo 2022-04-01 19:28:42 +09:00
Matthias 889fa7bac2 Add small offset to time to avoid random fails 2022-04-01 10:49:21 +02:00
Matthias d1ea5ea856
Merge pull request #6622 from freqtrade/short_plot
Short plot
2022-04-01 09:18:37 +02:00
Ron Klinkien f029702bd1 Fixed flake8 issues 2022-04-01 09:16:35 +02:00
Matthias 775305e9c4 Use correct candleconfig in plot endpoint 2022-04-01 08:57:58 +02:00
Matthias fe3260aae2 Remove false statement about plotting futures data 2022-04-01 08:51:11 +02:00
Matthias a13d4e5519 Renumber backtest-detail tests 2022-04-01 07:00:51 +02:00
Matthias e3a624cf68 Fix futures plotting 2022-04-01 06:44:17 +02:00
Sam Germain 4b238987b0 plot.generate_candlestick_graph Added short equivelent, separating plotting scatter creation to a function 2022-04-01 06:27:42 +02:00
Matthias c57d807845
Merge pull request #6552 from freqtrade/feat/short
Feat/short
2022-03-31 21:23:57 +02:00
Matthias 0c9bbc753f Fix random test failure by setting fixed time passed 2022-03-31 20:00:55 +02:00
Matthias 0cba4ec460 Fix doc typo 2022-03-31 19:14:11 +02:00
Sam Germain 2fe5a1594f Add conditional to recursive strategy searching if in config 2022-03-31 08:21:15 -06:00
Sam Germain b4b809ff8e changed recursive to recursive_strategy_search 2022-03-31 08:16:21 -06:00
Sam Germain f44ae494fb Added recursive to configuration 2022-03-31 08:12:02 -06:00
Sam Germain 185daf5772 add recursive command line option 2022-03-31 08:12:02 -06:00
Sam Germain 6df15a7af9 Recursively search subdirectories in user_data/strategies for a strategy 2022-03-31 08:12:02 -06:00
Ron Klinkien 3d8cfa7ea5 Several fixes
Code optimizations
2022-03-31 08:30:20 +02:00
Matthias 94274e4823 Remove order.leverage column 2022-03-31 06:57:16 +02:00
Matthias e3471129f7 Update documentation structure, add links to migration page 2022-03-31 06:53:33 +02:00
Matthias 2d914c8e13 Simplify formatting in exchange class 2022-03-30 20:02:56 +02:00
Ron Klinkien 6c811b3de1 Made regex strings raw
Removed unwanted changes
2022-03-30 19:57:02 +02:00
Matthias 1f6ca29bbf Update comment 2022-03-30 19:38:25 +02:00
Matthias 8e7fa9f6c8 Update bot test formatting 2022-03-30 19:32:52 +02:00
Matthias 95b0e682b5
Merge pull request #6618 from samgermain/doc-help
Add trading mode to list-pairs and list-markets output in docs
2022-03-30 19:10:08 +02:00
Sam Germain 527c4277d8 Add trading mode to list-pairs and list-markets output in docs 2022-03-30 05:29:11 -06:00
Ron Klinkien c42af7d095 Fixed typo in test file 2022-03-30 12:41:41 +02:00
Ron Klinkien 3ed7f3f2df Display all trade info in buttons
First step to fix tests for changed forcesell code
2022-03-30 12:28:30 +02:00
Italo e85c7ca8ff remove blank line 2022-03-30 09:50:37 +01:00
Italo 8d4afc0eaf Merge branch 'opt-ask-force-new-points' of https://github.com/italodamato/freqtrade-1 into opt-ask-force-new-points 2022-03-30 09:49:07 +01:00
Italo bad179ebaa fix merge mess
This reverts commit 9f171193ef.
2022-03-30 09:48:10 +01:00
Italo b560248165
Merge branch 'develop' into opt-ask-force-new-points 2022-03-30 09:42:38 +01:00
Italo 3e24d01af4 fix flake8 2022-03-30 09:41:40 +01:00
Italo 9f171193ef Revert "Merge branch 'plot_hyperopt_stats' into opt-ask-force-new-points"
This reverts commit 4eb9cc6e8b, reversing
changes made to a3b401a762.
2022-03-30 09:39:07 +01:00
Matthias 2af31672c6
Merge pull request #6608 from stash86/patch-1
Add few lines to docs
2022-03-30 07:21:52 +02:00
Matthias b91b7b4464 Fix hyperopt assigning sell_signal to wrong field 2022-03-30 07:16:48 +02:00
Matthias 9a7867971a Update wording to new pricing definition 2022-03-30 07:13:28 +02:00
Matthias dafc2bf361 Merge branch 'develop' into feat/short 2022-03-30 07:09:41 +02:00
Matthias e1ccbdb927
Merge pull request #6607 from freqtrade/short_pricing
Short pricing updates
2022-03-30 06:59:40 +02:00
Stefano Ariestasia 02aded68f9 Update strategy-customization.md 2022-03-30 08:37:35 +09:00
Stefano Ariestasia 4d5f6ed5e2 Update strategy-customization.md 2022-03-30 08:37:11 +09:00
Stefano Ariestasia c615e4fcc2 updates 2022-03-30 08:35:49 +09:00
Italo 4eb9cc6e8b
Merge branch 'plot_hyperopt_stats' into opt-ask-force-new-points 2022-03-30 00:30:33 +01:00
Italo a3b401a762 highlight random points in hyperopt results table 2022-03-30 00:29:14 +01:00
Italo 229b0b037e reduce search loops 2022-03-29 19:33:35 +01:00
Matthias ddb0254999
Merge pull request #6614 from krimsonkla/jmr/kucoin_ohlcv_candle_limit
Update kucoin candle limit
2022-03-29 20:18:52 +02:00
Matthias f84b24dee9 Bump ccxt to 1.77.45
closes #6610
2022-03-29 20:06:25 +02:00
Matthias 7def1398c8
Merge pull request #6603 from adrianceding/fix_timeout
Fix using future data to fill when use timeout
2022-03-29 19:50:34 +02:00
Ron Klinkien 29d6725fb7 Allow forcesell to be a valid keyboard option 2022-03-29 19:41:49 +02:00
Ron Klinkien 46acc8352f Add selection buttons for trades to forcesell cmd in telegram 2022-03-29 19:19:07 +02:00
Matthias 648e969a7a Realign entry_pricing fields 2022-03-29 19:07:29 +02:00
Italo a1816434b7
Merge branch 'freqtrade:develop' into plot_hyperopt_stats 2022-03-29 17:24:40 +01:00
Jason Risch 6b57be35e9
Update kucoin candle limit 2022-03-29 07:23:45 -07:00
Matthias c1657dfb7b Update / align documentation 2022-03-29 06:58:41 +02:00
Stefano Ariestasia 05db0067ee Add few missing info on shorting setup 2022-03-29 10:51:36 +09:00
Stefano Ariestasia 7c2e8420af
Add note that enter_long must be set 2022-03-29 09:27:30 +09:00
Matthias 8ebef914e2 Update pricing documentation 2022-03-28 20:20:10 +02:00
Matthias 2d740230f7 price_last_balance renaming 2022-03-28 19:53:55 +02:00
Matthias d7c6520268 Update remaining tests 2022-03-28 19:30:14 +02:00
Matthias cee09493be Update market order validation 2022-03-28 19:25:46 +02:00
Matthias 440967e483 Update some tests 2022-03-28 19:17:22 +02:00
Matthias 88f6663f58
Merge pull request #6599 from freqtrade/dependabot/pip/develop/jinja2-3.1.1
Bump jinja2 from 3.0.3 to 3.1.1
2022-03-28 19:09:14 +02:00
Matthias 9aa821a953
Merge pull request #6604 from SmartManoj/patch-3
Corrected test_create_order
2022-03-28 16:19:03 +02:00
மனோஜ்குமார் பழனிச்சாமி 5552ad779c
Corrected test_create_order 2022-03-28 19:31:12 +05:30
adriance d6082c33a7 fix type error 2022-03-28 21:29:50 +08:00
adriance a0971a3e2c fix using future data to fill when use timeout 2022-03-28 21:00:05 +08:00
Adriance cb48071f1f
Merge branch 'freqtrade:feat/short' into feat/short 2022-03-28 20:20:11 +08:00
dependabot[bot] 89e7b3705b
Bump jinja2 from 3.0.3 to 3.1.1
Bumps [jinja2](https://github.com/pallets/jinja) from 3.0.3 to 3.1.1.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.0.3...3.1.1)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-28 08:25:34 +00:00
Matthias ffd77fa418
Merge pull request #6594 from freqtrade/dependabot/pip/develop/mkdocs-material-8.2.8
Bump mkdocs-material from 8.2.5 to 8.2.8
2022-03-28 10:24:50 +02:00
Matthias a6dc8dd902
Merge pull request #6597 from freqtrade/dependabot/pip/develop/mypy-0.942
Bump mypy from 0.941 to 0.942
2022-03-28 10:24:16 +02:00
Matthias f70166270d Update pricing to use entry/exit pricing 2022-03-28 07:07:46 +02:00
Matthias 2f429bf7ec
Merge pull request #6602 from freqtrade/dependabot/github_actions/develop/actions/cache-3
Bump actions/cache from 2 to 3
2022-03-28 06:51:47 +02:00
dependabot[bot] 3cffaed8df
Bump mypy from 0.941 to 0.942
Bumps [mypy](https://github.com/python/mypy) from 0.941 to 0.942.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.941...v0.942)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-28 04:30:07 +00:00
dependabot[bot] b321c0f5fb
Bump mkdocs-material from 8.2.5 to 8.2.8
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.5 to 8.2.8.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.5...8.2.8)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-28 04:30:05 +00:00
Matthias 202c4573ba
Merge pull request #6595 from freqtrade/dependabot/pip/develop/ccxt-1.77.36
Bump ccxt from 1.76.65 to 1.77.36
2022-03-28 06:29:16 +02:00
Matthias b51e2e0391
Merge pull request #6598 from freqtrade/dependabot/pip/develop/types-requests-2.27.15
Bump types-requests from 2.27.14 to 2.27.15
2022-03-28 06:28:45 +02:00
Matthias dc3998a03e
Merge pull request #6596 from freqtrade/dependabot/pip/develop/mkdocs-1.3.0
Bump mkdocs from 1.2.3 to 1.3.0
2022-03-28 06:27:59 +02:00
Matthias 350c094cda
Merge pull request #6593 from freqtrade/dependabot/pip/develop/pytest-asyncio-0.18.3
Bump pytest-asyncio from 0.18.2 to 0.18.3
2022-03-28 06:25:31 +02:00
Matthias 24be0228e2
Merge pull request #6601 from freqtrade/dependabot/github_actions/develop/peter-evans/dockerhub-description-3
Bump peter-evans/dockerhub-description from 2.4.3 to 3
2022-03-28 06:24:28 +02:00
dependabot[bot] c570732157
Bump actions/cache from 2 to 3
Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-28 03:16:05 +00:00
dependabot[bot] 449af0ce9c
Bump peter-evans/dockerhub-description from 2.4.3 to 3
Bumps [peter-evans/dockerhub-description](https://github.com/peter-evans/dockerhub-description) from 2.4.3 to 3.
- [Release notes](https://github.com/peter-evans/dockerhub-description/releases)
- [Commits](https://github.com/peter-evans/dockerhub-description/compare/v2.4.3...v3)

---
updated-dependencies:
- dependency-name: peter-evans/dockerhub-description
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-28 03:16:02 +00:00
dependabot[bot] 6f64e8da8d
Bump types-requests from 2.27.14 to 2.27.15
Bumps [types-requests](https://github.com/python/typeshed) from 2.27.14 to 2.27.15.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-28 03:01:48 +00:00
dependabot[bot] 8b1e2f55b4
Bump mkdocs from 1.2.3 to 1.3.0
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.2.3 to 1.3.0.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.2.3...1.3.0)

---
updated-dependencies:
- dependency-name: mkdocs
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-28 03:01:36 +00:00
dependabot[bot] 9ba8303823
Bump ccxt from 1.76.65 to 1.77.36
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.76.65 to 1.77.36.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.76.65...1.77.36)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-28 03:01:33 +00:00
dependabot[bot] d45cec20ab
Bump pytest-asyncio from 0.18.2 to 0.18.3
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.18.2 to 0.18.3.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Changelog](https://github.com/pytest-dev/pytest-asyncio/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.18.2...v0.18.3)

---
updated-dependencies:
- dependency-name: pytest-asyncio
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-28 03:01:22 +00:00
Matthias 9f863369bd Migrate bid/ask strategy to entry/exit pricing 2022-03-27 18:58:46 +02:00
Matthias bcf326a035 Initial steps to change bid/ask pricing to enter/exit 2022-03-27 18:03:49 +02:00
Matthias d1f61c4cf9 Use proper fee for DCA entries 2022-03-27 17:00:45 +02:00
Matthias 30cff1bd2c Update hdf5 to not raise naturalNaming warnings 2022-03-27 16:39:34 +02:00
Matthias 2e397a88e1
Merge pull request #6592 from freqtrade/new_release
New release 2022.3
2022-03-27 15:51:58 +02:00
Matthias fe6c62e144 Version bump 2022.3 2022-03-27 15:27:16 +02:00
Matthias f0db721f05 Merge branch 'stable' into new_release 2022-03-27 15:09:06 +02:00
Matthias 84777e255e Force-bump ccxt version to 1.77.29 2022-03-27 14:58:27 +02:00
Matthias 85bb2dcc8d
Merge pull request #6590 from freqtrade/short_gateio
Fix gateio fee handling for futures
2022-03-27 14:57:36 +02:00
Matthias 0f1de435da Fix ccxt compat tests 2022-03-27 08:28:44 +02:00
Adriance 6629b6c828
Merge branch 'freqtrade:feat/short' into feat/short 2022-03-27 12:33:39 +08:00
Matthias d244391860 no need to "abs" cost will be fixed in ccxt 2022-03-26 19:06:37 +01:00
Adriance ad8eac960e
Merge branch 'freqtrade:feat/short' into feat/short 2022-03-27 01:30:45 +08:00
Matthias f509959bd4 Update 2022-03-26 16:26:31 +01:00
Matthias fdc7077a2c Remove some unnecessary test arguments 2022-03-26 15:25:43 +01:00
Matthias f5578aba48 Update trading_fee naming 2022-03-26 15:16:04 +01:00
Matthias 9b8a2435f8 Add tests for fetch_order gateio patch 2022-03-26 15:12:05 +01:00
Matthias 9a8c24ddf3 Update gateio to patch fees 2022-03-26 15:04:17 +01:00
Matthias 33229c91cb Add fetch_trading_fees endpoint 2022-03-26 13:53:36 +01:00
Matthias 5d3f2523e3
Merge pull request #6589 from freqtrade/short_timeout
Short timeout
2022-03-26 12:57:00 +01:00
Matthias 4424dcc2df Fix odd test 2022-03-26 12:01:28 +01:00
Matthias 0624817242 update unfilledtimeout settings to entry/exit 2022-03-26 11:55:11 +01:00
Matthias 60f2a12bd9 Fix wrong datetime conversion 2022-03-26 08:23:02 +01:00
Matthias 6f1b14c013 Update buy_timeout and sell_timeout methods 2022-03-25 19:57:06 +01:00
Matthias 973644de66 Fix bad import 2022-03-25 19:25:43 +01:00
Matthias 78fe29cc2d
Merge pull request #6588 from samgermain/contracts
Add amount_to_contracts and order_contracts_to_amount to exchange.stoploss
2022-03-25 19:18:01 +01:00
Matthias 46f4227329 Check if symbol is not None 2022-03-25 18:11:02 +01:00
Matthias 50ba20ec9f Remove some unused test methods 2022-03-25 16:14:18 +01:00
Matthias 1c0946833d Fix bug in exit-count detection 2022-03-25 16:06:03 +01:00
Matthias a682faf6b1
Merge pull request #6585 from mkavinkumar1/conftest
Removed old datetime keys and added timestamp
2022-03-25 15:57:37 +01:00
Matthias 81957e004d Revert false update 2022-03-25 15:38:38 +01:00
Matthias b419d0043c Don't run CI directly on feat/short 2022-03-25 15:36:52 +01:00
Matthias cd11ba3489 Fix naming in interface.py 2022-03-25 15:36:30 +01:00
Matthias 1ab6773257 Update todo-lev to todo 2022-03-25 15:17:46 +01:00
Matthias f8e87e45a5
Merge pull request #6576 from samgermain/funding-tests
funding_fee tests
2022-03-25 15:11:45 +01:00
Sam Germain d3ea14de68 test_stoploss_contract_size 2022-03-25 07:21:31 -06:00
Sam Germain 054b637001 Add amount_to_contracts and order_contracts_to_amount to stoploss 2022-03-25 06:56:05 -06:00
Matthias 743a7b7849 Merge branch 'develop' into feat/short 2022-03-25 10:04:18 +01:00
மனோஜ்குமார் பழனிச்சாமி 2cb24ed310 Added in ms
Just multiplied by 1000 as minuting checking in ms is not performed
2022-03-25 13:45:05 +05:30
Matthias a004bcf00f Small refactor to backtesting 2022-03-25 08:03:32 +01:00
Matthias a55bc9c1e4 Pin jinja in docs requirements 2022-03-25 08:02:27 +01:00
Matthias 5f71232d6f Fix doc typo 2022-03-25 07:03:50 +01:00
Matthias dcfa3e8648 Update SellType to ExitType 2022-03-25 06:55:37 +01:00
Matthias c07883b1f9 Move ExitCheckTuple to enums 2022-03-25 06:50:18 +01:00
Matthias 8d111d357a Update SellCheckTuple to new naming 2022-03-25 06:46:29 +01:00
Matthias 62e8c7b5b7 Rename parameter to avoid ambiguity 2022-03-25 06:39:57 +01:00
Matthias d7f76ee452 Update confirm_trade_exit to use sell_reason terminology 2022-03-25 06:37:40 +01:00
மனோஜ்குமார் பழனிச்சாமி 3f98fcb0db all datetime included again 2022-03-25 09:19:39 +05:30
மனோஜ்குமார் பழனிச்சாமி d94b84e38c datetime included again 2022-03-25 08:58:27 +05:30
Matthias 46ca773c25 Simplify some rpc code 2022-03-24 19:58:53 +01:00
Adriance d961ddc2e2
Merge branch 'freqtrade:feat/short' into feat/short 2022-03-24 22:19:36 +08:00
Matthias 2442257856
Merge pull request #6540 from mkavinkumar1/patch-2
correcting docs for pricing of ask strategy
2022-03-24 08:02:46 +01:00
Matthias dae9f4d877 Update doc clarity, partially revert prior commit 2022-03-24 06:50:25 +01:00
Matthias 83f6401820 Add additional endpoints to "has_optional" dict as comments 2022-03-23 19:56:29 +01:00
Matthias 08a55d4f6d Extract supported Exchanges to exchange.common 2022-03-23 19:51:44 +01:00
Matthias e545ac1978 Revert condition to exploit lazy evaluation 2022-03-23 19:41:57 +01:00
Matthias 7d02e81857 Remove impossible TODO 2022-03-23 19:40:40 +01:00
Matthias 800d0c7f24 Ensure binance fallback file is included in releases 2022-03-23 19:40:34 +01:00
Matthias 3fa8327711 Remove sample_short_strategy - sample_strategy is a better long/short strategy example 2022-03-23 19:30:02 +01:00
மனோஜ்குமார் பழனிச்சாமி 094676def4 Removed old datetime keys and added timestamp 2022-03-23 20:47:55 +05:30
Matthias de6519eb05 Update config builder to include okx for futures 2022-03-23 06:56:52 +01:00
Matthias 14f9d712dc Simplify okx lev_prep 2022-03-23 06:49:17 +01:00
Matthias 5791d0a394 Align kraken._get_params with okex 2022-03-23 06:49:07 +01:00
Matthias 8a708a9892 Don't assing attributes we never use 2022-03-23 06:48:23 +01:00
Matthias 71e746a060 fix missed "buy" wording in bot-basics 2022-03-23 06:48:00 +01:00
Matthias b1e3ead88b Merge branch 'develop' into feat/short 2022-03-22 20:28:38 +01:00
Matthias 31253196ea Improve docs wording 2022-03-22 20:21:24 +01:00
Matthias 247635db79 Fix tests 2022-03-22 19:28:13 +01:00
Matthias e7418cdcdb Remove obsolete note box
closes #6581
2022-03-22 19:03:22 +01:00
Italo b5a346a46d Update hyperopt.py 2022-03-22 11:01:38 +00:00
Matthias fa3c00c673 Remove some default arguments in history_utils 2022-03-22 07:20:21 +01:00
Matthias 99e9dfaebe Update missing documentation link 2022-03-22 07:02:40 +01:00
Matthias 46e86bd018 Update some hyperopt wording 2022-03-22 07:00:10 +01:00
Matthias bc12fd6cbb Update backtest-result outputs to reflect new terminology 2022-03-22 06:47:20 +01:00
Matthias 5b4f343d36 Update buy output for backtesting 2022-03-22 06:45:36 +01:00
Matthias 08777abd85 Update backtesting output terminology to "exit" 2022-03-22 06:43:37 +01:00
Italo 2733aa33b6 Update hyperopt.py 2022-03-22 00:28:11 +00:00
Matthias 00287febc6
Merge pull request #6542 from TheJoeSchr/check_version_with_endswith
[develop] Check version with endswith
2022-03-21 22:17:39 +01:00
Matthias 487d3e891e Revert version to develop for now 2022-03-21 19:41:34 +01:00
Matthias 2c89da6bf7 Update code to properly behave when rounding open_date for funding fees 2022-03-21 19:38:27 +01:00
Matthias 4e52055a17
Merge pull request #6560 from freqtrade/inject_path_iresolver
Inject path to strategy loading
2022-03-21 19:09:14 +01:00
Matthias 35a4053dbe
Merge pull request #6561 from adrianceding/fix_taker_stake_amount
Unified taker and maker's stake amount calculation logic
2022-03-21 19:07:00 +01:00
adriance 694e56cdc3 Merge branch 'fix_taker_stake_amount' into feat/short 2022-03-21 21:18:32 +08:00
Adriance 4a51ad27cf
Merge branch 'freqtrade:feat/short' into feat/short 2022-03-21 21:17:25 +08:00
Italo 37a43019d6 fix
- clear cache before calling `ask`
- avoid errors in case asked_non_tried has less than n_points elements
2022-03-21 11:36:53 +00:00
Sam Germain f03f586eeb funding_fee tests 2022-03-21 05:01:18 -06:00
Matthias 7eddc09c1c
Merge pull request #6569 from freqtrade/dependabot/pip/develop/urllib3-1.26.9
Bump urllib3 from 1.26.8 to 1.26.9
2022-03-21 10:25:58 +01:00
Matthias 4db713318b
Merge pull request #6568 from freqtrade/dependabot/pip/develop/types-tabulate-0.8.6
Bump types-tabulate from 0.8.5 to 0.8.6
2022-03-21 10:25:42 +01:00
Matthias 0a977291b6
Merge pull request #6571 from freqtrade/dependabot/pip/develop/mypy-0.941
Bump mypy from 0.940 to 0.941
2022-03-21 09:44:28 +01:00
dependabot[bot] c28e0b0d0c
Bump types-tabulate from 0.8.5 to 0.8.6
Bumps [types-tabulate](https://github.com/python/typeshed) from 0.8.5 to 0.8.6.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-tabulate
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 08:06:41 +00:00
dependabot[bot] 7170b585f9
Bump mypy from 0.940 to 0.941
Bumps [mypy](https://github.com/python/mypy) from 0.940 to 0.941.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.940...v0.941)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 08:06:25 +00:00
Matthias 47516ed353
Merge pull request #6567 from freqtrade/dependabot/pip/develop/types-requests-2.27.14
Bump types-requests from 2.27.12 to 2.27.14
2022-03-21 09:05:17 +01:00
Matthias 4d8d30ea39 Version bump to 2022.2.2 2022-03-21 06:34:33 +01:00
Matthias e90e3cead0 Map usdt fiat to correct coingecko fiat 2022-03-21 06:34:20 +01:00
Matthias 334452d3ee
Merge pull request #6566 from freqtrade/dependabot/pip/develop/cryptography-36.0.2
Bump cryptography from 36.0.1 to 36.0.2
2022-03-21 06:32:47 +01:00
Matthias 9d756bc6a1
Merge pull request #6573 from freqtrade/dependabot/pip/develop/pytest-7.1.1
Bump pytest from 7.1.0 to 7.1.1
2022-03-21 06:32:17 +01:00
Matthias c9dc07bdaa
Merge pull request #6570 from freqtrade/dependabot/pip/develop/ccxt-1.76.65
Bump ccxt from 1.76.5 to 1.76.65
2022-03-21 06:32:06 +01:00
Matthias 2b63adf6c3
Merge pull request #6565 from freqtrade/dependabot/pip/develop/pymdown-extensions-9.3
Bump pymdown-extensions from 9.2 to 9.3
2022-03-21 06:31:51 +01:00
dependabot[bot] 057db5aaab
Bump types-requests from 2.27.12 to 2.27.14
Bumps [types-requests](https://github.com/python/typeshed) from 2.27.12 to 2.27.14.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 05:30:51 +00:00
Matthias 371f6bf90e
Merge pull request #6572 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.10
Bump types-python-dateutil from 2.8.9 to 2.8.10
2022-03-21 06:29:59 +01:00
dependabot[bot] 03090d8f3f
Bump pytest from 7.1.0 to 7.1.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.1.0 to 7.1.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.1.0...7.1.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 03:01:45 +00:00
dependabot[bot] 1a37100bd4
Bump types-python-dateutil from 2.8.9 to 2.8.10
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.9 to 2.8.10.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 03:01:41 +00:00
dependabot[bot] 5a136f04df
Bump ccxt from 1.76.5 to 1.76.65
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.76.5 to 1.76.65.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.76.5...1.76.65)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 03:01:33 +00:00
dependabot[bot] 59c7403b12
Bump urllib3 from 1.26.8 to 1.26.9
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.8 to 1.26.9.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/1.26.9/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.8...1.26.9)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 03:01:23 +00:00
dependabot[bot] 1bc5d449a2
Bump cryptography from 36.0.1 to 36.0.2
Bumps [cryptography](https://github.com/pyca/cryptography) from 36.0.1 to 36.0.2.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/36.0.1...36.0.2)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 03:01:16 +00:00
dependabot[bot] f5e71a67fa
Bump pymdown-extensions from 9.2 to 9.3
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.2 to 9.3.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.2...9.3)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 03:01:11 +00:00
Matthias 4fd0681265 Combine stake_amount recalculation 2022-03-20 20:00:30 +01:00
Italo fca93d8dfe Update hyperopt.py 2022-03-20 16:12:06 +00:00
Matthias 22206d0d76
Merge pull request #6559 from freqtrade/short_docs
Futures strategy migration docs
2022-03-20 17:12:04 +01:00
Italo f8a674f24d make robust in case all points have been tried 2022-03-20 16:08:38 +00:00
Italo 23f1a1904b more compact 2022-03-20 16:06:41 +00:00
Italo 0fd269e4f0 typo 2022-03-20 16:03:07 +00:00
Italo e16bb1b34e Optimize only new points
Enforce points returned from `self.opt.ask` have not been already evaluated
2022-03-20 16:02:03 +00:00
Italo 112738d68d
Merge branch 'freqtrade:develop' into plot_hyperopt_stats 2022-03-20 15:42:53 +00:00
Italo d796ce0935 Update hyperopt.py
1. Try to get points using `self.opt.ask` first
        2. Discard the points that have already been evaluated
        3. Retry using `self.opt.ask` up to 3 times
        4. If still some points are missing in respect to `n_points`, random sample some points
        5. Repeat until at least `n_points` points in the `asked_non_tried` list
        6. Return a list with legth truncated at `n_points`
2022-03-20 15:41:14 +00:00
Matthias e9c4e6a69d Update derived strategy documentation 2022-03-20 13:21:09 +01:00
Matthias 6ec7b84b92 Modify hyperoptable strategy to use relative importing 2022-03-20 13:12:26 +01:00
Matthias 49e087df5b Allow Strategy subclassing in different files by enabling local imports 2022-03-20 13:07:06 +01:00
adriance f01c9cd28c fix taker stake amount with leverage 2022-03-20 20:06:32 +08:00
Matthias fcec071a08 Use order date to fetch trades
using the trade open-date may fail in case of several trade-entries spread over a longer timeperiod.

closes #6551
2022-03-20 09:46:51 +01:00
Matthias 8556e6a053 Automatically assign buy-tag to force-buys
closes #6544
2022-03-20 09:33:47 +01:00
Matthias aceaa3faec remove last ticker_interval compatibility shim 2022-03-20 09:33:47 +01:00
Matthias de8e869038 update missing "side" argument 2022-03-20 09:16:34 +01:00
Matthias 0f76b23733 update deprecation message for ticker_interval 2022-03-20 09:03:43 +01:00
Matthias eb08b92180 Raise exception when ticker_interval is set. 2022-03-20 09:01:36 +01:00
Matthias 95f69b905a Remove ticker_interval support 2022-03-20 09:00:53 +01:00
Matthias a64ca541a2
Merge pull request #6555 from freqtrade/inverse_leverage_minstake
Inverse leverage with stake detection
2022-03-20 08:38:59 +01:00
Matthias c38f8a0e69 Update custom_sell() documentation 2022-03-20 08:33:53 +01:00
Matthias d27a37be0d Update docs for populate_exit_trend 2022-03-20 08:30:14 +01:00
Matthias 59791b0659 Update populate_buy_trend to populate_entry_trend 2022-03-20 08:30:14 +01:00
Matthias 9d6d8043ee update FAQ to reflect new reality 2022-03-20 08:30:14 +01:00
Matthias cd3ae7ebdf Update migration docs to include buy/entry trend migration 2022-03-20 08:30:14 +01:00
Matthias 25aba9c422 reformat leverage docs 2022-03-20 08:30:14 +01:00
Matthias e51a1e1b20 Improve documentation, add "can_short" 2022-03-20 08:30:14 +01:00
Matthias 6a80c0f030 Add order_types migration docs 2022-03-20 08:30:14 +01:00
Matthias 7c7b0d1fcc Update documentation for time_in_force migration 2022-03-20 08:30:14 +01:00
Matthias c89a68c1ab Alternative candle types 2022-03-20 08:30:14 +01:00
Matthias 36287a84cb enhance migration documentation 2022-03-20 08:30:14 +01:00
Matthias 23b98fbb73 Update some documentation for short trading 2022-03-20 08:30:14 +01:00
Matthias 72fd937a74 INTERFACE_VERSION to 3 2022-03-20 08:30:14 +01:00
Matthias ee77ae3ada Add strategy-migration doc page 2022-03-20 08:30:14 +01:00
Matthias 052758bbac Refactor price and stake out of _enter_trade 2022-03-19 15:45:43 +01:00
Matthias b292f28b35 Call leverage before custom_stake_amount to properly determine min-stake-amount 2022-03-19 15:44:37 +01:00
Matthias 35607ae03b Add test for min_leverage 2022-03-19 15:44:37 +01:00
Matthias 7d8ca63752
Merge pull request #6550 from freqtrade/short_tickerproblems
Short tickerproblems
2022-03-19 15:43:40 +01:00
Matthias f44601d0cc Update ccxt-compat test config 2022-03-19 14:45:35 +01:00
Matthias 9f34f824af Fix hyperopt when using futures markets 2022-03-19 13:20:14 +01:00
Matthias 97c1316bf1 Add new validation to validate excludes 2022-03-18 19:26:54 +01:00
Matthias d32153c8d3 Validate pricing configuration 2022-03-18 17:07:12 +01:00
Matthias 2791e799ee Rename tickers_has_quoteVolume 2022-03-18 16:49:37 +01:00
Matthias 1de5d2fb94 Remove unnecessary condition 2022-03-18 16:44:27 +01:00
Matthias 0c63c0bbb3 Update Gateio stoploss adjust 2022-03-18 10:41:38 +01:00
Matthias f37038fb7d Fix gateio stoploss_adjust header 2022-03-18 10:35:00 +01:00
Matthias 7868e50141 Merge branch 'develop' into feat/short 2022-03-18 08:18:17 +01:00
Matthias 208a139d2b Incorporate fetch_bids_asks to allow binance spread filter to work
closes #6474
2022-03-18 07:08:16 +01:00
Matthias fdce055061 Update deep_merge_dicts to disallow null-overrides 2022-03-18 06:58:22 +01:00
Matthias 73fc344eb1 Improve wording in docs 2022-03-18 06:38:54 +01:00
Matthias b56aab0bdf Update Volumepairlist type 2022-03-18 06:34:35 +01:00
Matthias f55db8e262 Spreadfilter should fail to start if fetchTickers is not supported 2022-03-17 20:21:10 +01:00
Matthias 1299a703e2 Implement fix for okx futures not having quoteVolume 2022-03-17 20:15:51 +01:00
Matthias a13b633c56 update VOlumepairlist to also work without tickers 2022-03-17 20:11:56 +01:00
Matthias b6a6aa48c9 Create separate _ft_has_futures dict 2022-03-17 20:05:05 +01:00
Matthias b97522796b
Merge pull request #6547 from freqtrade/short_bt_tests
Short bt tests
2022-03-17 17:20:42 +01:00
Matthias 96bf82dbc6 Remove gateio broker program 2022-03-17 17:06:10 +01:00
Matthias 6024fa482e Use brackets to break IF lines 2022-03-17 07:41:08 +01:00
Matthias 9b2ec5e653 Fix missleading variable naming 2022-03-17 06:58:08 +01:00
Matthias 20f02eb773 Add test for stoploss case 2022-03-16 21:28:24 +01:00
Matthias 2fab3de4d7 More backtest-detail tests 2022-03-16 20:12:09 +01:00
Matthias 295668d06c Add a few testcases 2022-03-16 20:12:09 +01:00
Matthias d6309449cf Fix short bug where close_rate is wrongly adjusted 2022-03-16 20:12:09 +01:00
Matthias c934f939e3 Update a few more short tests 2022-03-16 20:12:09 +01:00
Matthias c0781a98e8 Add ROI test 2022-03-16 20:12:09 +01:00
Matthias a89c1da19f Fix 2 bugs in ROI calculation 2022-03-16 20:12:09 +01:00
Matthias 298797cbfd Add stoploss short test 2022-03-16 20:12:09 +01:00
Matthias c47b5b9087 Update bt_detail column descriptions 2022-03-16 20:12:00 +01:00
Matthias 84e9dc5001
Merge pull request #6537 from adrianceding/fs_fix
Add BT's leverage and short calculation
2022-03-16 19:25:19 +01:00
froggleston 162e94455b Add support for storing buy candle indicator rows in backtesting results 2022-03-16 12:16:24 +00:00
adriance 8f432fe468 Merge branch 'feat/short' into fs_fix 2022-03-16 14:22:08 +08:00
Matthias 7c9d2dd20a Fix a few more short bugs in backtesting 2022-03-16 07:00:50 +01:00
Joe Schr 47317e0f06 version: use 'contains' to check for "develop" instead of literal comparison 2022-03-15 21:08:37 +01:00
Kavinkumar 89aae71c32
correcting docs for pricing of ask strategy 2022-03-15 11:41:39 +05:30
adriance ceba4d6e9b Remove meaningless code 2022-03-15 14:03:06 +08:00
Matthias cbbdf00ddd Update comments in short backtest rates 2022-03-15 06:39:07 +01:00
Matthias ebd61ebdef
Merge pull request #6513 from samgermain/gateio-stoploss
Gateio stoploss on exchange
2022-03-15 06:27:54 +01:00
adriance fd211166f0 fixed side error 2022-03-15 12:23:59 +08:00
adriance 7059892304 Optimize the code. Fix stop_rate judgment error 2022-03-15 12:04:02 +08:00
Matthias 12948aade6 Remove unused argument 2022-03-14 19:29:26 +01:00
Matthias 18030a30e7 Add exchange parameter to test-pairlist command
This will allow for quick tests of the same pairlist config against
multiple exchanges.
2022-03-14 19:21:58 +01:00
adriance 7dd57e8c04 format 2022-03-14 18:39:11 +08:00
adriance 31182c4d80 format 2022-03-14 18:38:44 +08:00
adriance 1d4eeacc6d fix test_backtest__enter_trade_futures row data error 2022-03-14 17:55:42 +08:00
Matthias 3b53ffb22f
Merge pull request #6533 from freqtrade/dependabot/pip/develop/ccxt-1.76.5
Bump ccxt from 1.75.12 to 1.76.5
2022-03-14 07:58:49 +01:00
Matthias 8cb3158810
Merge pull request #6532 from freqtrade/dependabot/pip/develop/uvicorn-0.17.6
Bump uvicorn from 0.17.5 to 0.17.6
2022-03-14 07:14:18 +01:00
Matthias 717a4b82fe
Merge pull request #6529 from freqtrade/dependabot/pip/develop/mypy-0.940
Bump mypy from 0.931 to 0.940
2022-03-14 07:14:01 +01:00
adriance 26a74220fd remove buy filled logic 2022-03-14 13:43:42 +08:00
adriance bea38a2e7c remove filled date logic 2022-03-14 13:42:52 +08:00
dependabot[bot] 5462ff0ebc
Bump mypy from 0.931 to 0.940
Bumps [mypy](https://github.com/python/mypy) from 0.931 to 0.940.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.931...v0.940)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 05:25:16 +00:00
Matthias af1543ea37
Merge pull request #6534 from freqtrade/dependabot/pip/develop/types-requests-2.27.12
Bump types-requests from 2.27.11 to 2.27.12
2022-03-14 06:24:37 +01:00
Matthias edda5b4ceb
Merge pull request #6531 from freqtrade/dependabot/pip/develop/types-cachetools-5.0.0
Bump types-cachetools from 4.2.10 to 5.0.0
2022-03-14 06:24:22 +01:00
Matthias a419e7012e
Merge pull request #6535 from freqtrade/dependabot/pip/develop/nbconvert-6.4.4
Bump nbconvert from 6.4.2 to 6.4.4
2022-03-14 06:24:04 +01:00
Matthias 404d700a74 Raise min-requirement for ccxt 2022-03-14 06:23:48 +01:00
Matthias c5cb617c92
Merge pull request #6536 from freqtrade/dependabot/pip/develop/numpy-1.22.3
Bump numpy from 1.22.2 to 1.22.3
2022-03-14 06:22:43 +01:00
Matthias 999a154213
Merge pull request #6530 from freqtrade/dependabot/pip/develop/pytest-7.1.0
Bump pytest from 7.0.1 to 7.1.0
2022-03-14 06:22:16 +01:00
adriance a750369796 adjust none 2022-03-14 12:09:13 +08:00
adriance f9e93cf3f8 fix buy filled date none 2022-03-14 11:55:36 +08:00
adriance 3d9c55d519 restore set_isolated_liq 2022-03-14 11:29:26 +08:00
adriance c9bbc4a824 Merge branch 'feat/short' into fs_fix 2022-03-14 11:26:04 +08:00
dependabot[bot] 3fbe4a9944
Bump numpy from 1.22.2 to 1.22.3
Bumps [numpy](https://github.com/numpy/numpy) from 1.22.2 to 1.22.3.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/HOWTO_RELEASE.rst.txt)
- [Commits](https://github.com/numpy/numpy/compare/v1.22.2...v1.22.3)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 03:01:30 +00:00
dependabot[bot] a7133f1974
Bump nbconvert from 6.4.2 to 6.4.4
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 6.4.2 to 6.4.4.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Commits](https://github.com/jupyter/nbconvert/compare/6.4.2...6.4.4)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 03:01:20 +00:00
dependabot[bot] 4cbdc9a74f
Bump types-requests from 2.27.11 to 2.27.12
Bumps [types-requests](https://github.com/python/typeshed) from 2.27.11 to 2.27.12.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 03:01:17 +00:00
dependabot[bot] 3fc1c94aba
Bump ccxt from 1.75.12 to 1.76.5
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.75.12 to 1.76.5.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.75.12...1.76.5)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 03:01:14 +00:00
dependabot[bot] 3a0ad2f26e
Bump uvicorn from 0.17.5 to 0.17.6
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.17.5 to 0.17.6.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.17.5...0.17.6)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 03:01:07 +00:00
dependabot[bot] 7764ad1541
Bump types-cachetools from 4.2.10 to 5.0.0
Bumps [types-cachetools](https://github.com/python/typeshed) from 4.2.10 to 5.0.0.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 03:01:03 +00:00
dependabot[bot] be5b0acfbd
Bump pytest from 7.0.1 to 7.1.0
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.0.1 to 7.1.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.0.1...7.1.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 03:01:00 +00:00
Matthias c63b5fbbbf Use last to get rates for /balance endpoints 2022-03-13 17:53:52 +01:00
Matthias 32c06f4a05 Improve test 2022-03-13 16:45:11 +01:00
Matthias d5f0c6c78d Exclude alternative candletypes from timeframe check 2022-03-13 16:16:48 +01:00
Matthias cfa9458bcc Merge branch 'develop' into feat/short 2022-03-13 15:38:12 +01:00
Matthias 3133be19e3 Update precisionfilter to use last instead of ask or bid. 2022-03-13 15:23:01 +01:00
Matthias 7146122f4a Update docstring 2022-03-13 15:06:32 +01:00
Matthias b8b56d95f3 Update missleading docstring 2022-03-13 14:57:32 +01:00
Matthias 9107819c95 Fix order migration "forgetting" average 2022-03-13 14:42:15 +01:00
adriance 0fce0f64d1 Merge branch 'feat/short' into fs_fix 2022-03-13 14:41:22 +08:00
Matthias 099547c1ec
Merge pull request #6527 from adrianceding/feat/short
fix duplicate long
2022-03-13 07:18:48 +01:00
adriance 52bf926066 fix duplicate long 2022-03-13 12:26:57 +08:00
adriance 56c4ea6619 Merge branch 'feat/short' into fs_fix 2022-03-13 12:13:33 +08:00
Sam Germain 843606c9cb gateio stoploss adjust 2022-03-12 20:14:23 -06:00
Sam Germain 91549d3254 Revert "stoploss_adjust fixed breaking tests"
This reverts commit 6f4d607902.
2022-03-12 20:07:56 -06:00
Sam Germain 7e7e596372 Revert "moved binance.stoploss_adjust to exchange class"
This reverts commit 6bb93bdc25.
2022-03-12 20:07:50 -06:00
Sam Germain bf5afbcdbd Merge branch 'develop' into gateio-stoploss 2022-03-12 19:50:46 -06:00
Sam Germain 2ba79a32a0
Update docs/exchanges.md
Co-authored-by: Matthias <xmatthias@outlook.com>
2022-03-12 19:42:40 -06:00
Matthias f343036e66 Add stoploss-ordertypes mapping for gateio 2022-03-12 19:23:20 +01:00
Matthias b8cbc4dcb7
Merge pull request #6523 from freqtrade/short_exit_trend
Update methods wording
2022-03-12 15:53:11 +01:00
Matthias b044dd2c45 Update custom_sell to custom_exit 2022-03-12 11:37:56 +01:00
Matthias fe62a71f4c Simplify implementation of "check_override" by extracting it to function 2022-03-12 10:58:48 +01:00
Matthias 6946203a7c Add tests and test-strategies for custom "implements" requirements 2022-03-12 10:05:16 +01:00
adriance b5662d6547 Merge branch 'feat/short' into fs_fix 2022-03-12 16:50:27 +08:00
Matthias 9460fd8d75 Add Appropriate test for loading error 2022-03-12 09:49:20 +01:00
Matthias 28046c6a22 Change populate_buy_trend to populate_entry_trend 2022-03-12 09:38:28 +01:00
Matthias efc313b28b
Merge pull request #6512 from freqtrade/short_order_types
Short order types renamal
2022-03-12 09:32:16 +01:00
Matthias 7d1e487be5
Merge pull request #6522 from freqtrade/is_short_strat
Is short strat
2022-03-12 09:31:51 +01:00
Matthias b9b5d749bb Fix typo causing an implicit bug 2022-03-12 08:58:59 +01:00
Matthias 12c909d8a8 Add can_short to sample strategies 2022-03-12 07:00:57 +01:00
Matthias 0aa170ac95 Check can_short in live-mode as well. 2022-03-12 06:58:22 +01:00
Matthias 20fc9459f2 Add test for can_short strategy attribute 2022-03-11 19:37:45 +01:00
Matthias 1c9dbb512a Initial attempt at is_short_strategy block 2022-03-11 19:29:40 +01:00
Matthias 7825d855cd Fix flake8 error in tests 2022-03-11 19:28:15 +01:00
Italo d2a5448305 Update hyperopt.py 2022-03-11 17:38:32 +00:00
Italo 1a573d57b9
Merge branch 'freqtrade:develop' into plot_hyperopt_stats 2022-03-11 17:36:00 +00:00
Matthias 11c76c3c89 Check if timeframe is available before calling exchange
closes #6517
2022-03-11 18:01:30 +01:00
adriance 51947ded6b Merge branch 'feat/short' into fs_fix 2022-03-11 22:35:35 +08:00
Matthias 24f480b4ce Double-check stoploss behaviour
closes #6508
2022-03-11 08:28:47 +01:00
Matthias 9ff52c0a93 Add test for emergencysell behaviour 2022-03-11 08:26:28 +01:00
Matthias f6c263882d Update outdated TODO-lev 2022-03-10 07:09:48 +01:00
Matthias cb9da78a27 Merge branch 'develop' into feat/short 2022-03-10 06:54:20 +01:00
Matthias 98755c1874 Fix wrong estimated output from /balance endpoints 2022-03-10 06:47:17 +01:00
Sam Germain 6f4d607902 stoploss_adjust fixed breaking tests 2022-03-09 19:31:51 -06:00
Sam Germain 7db28b1b16 gateio stoploss docs 2022-03-09 15:54:17 -06:00
Sam Germain 6bb93bdc25 moved binance.stoploss_adjust to exchange class 2022-03-09 15:47:16 -06:00
Matthias 0d754111e9 Fix dry-run-wallets bug in case of futures 2022-03-09 19:02:22 +01:00
Matthias a837571e2b Improve dry-run-wallets in futures case test 2022-03-09 19:01:38 +01:00
Matthias 6e10439f90 Map usdt fiat to correct coingecko fiat 2022-03-09 17:35:41 +01:00
adriance 499e9c3e98 fix duration 2022-03-10 00:34:59 +08:00
adriance d579febfec add filled time 2022-03-09 23:55:57 +08:00
adriance 14bce0b1c3 Merge branch 'feat/short' into fs_fix 2022-03-09 22:07:54 +08:00
adriance 1c86e69c34 use filled time calculate duration 2022-03-09 21:55:13 +08:00
adriance 82e0eca128 add short close rate calu 2022-03-09 20:00:06 +08:00
Sam Germain d47274066e Added stoploss_on_exchange flag to gateio 2022-03-09 01:05:21 -06:00
Sam Germain ae4742afcb test_fetch_stoploss_order_gateio and test_cancel_stoploss_order_gateio 2022-03-09 00:59:28 -06:00
Sam Germain e3ced55f5c gateio.fetch_order and gateio.cancel_order 2022-03-09 00:45:50 -06:00
Sam Germain 61182f849b exchange.fetch_order and exchange.cancel_order added params argument 2022-03-09 00:45:10 -06:00
Matthias 93a91bdeee Update order_Types documentation 2022-03-09 07:44:21 +01:00
Matthias 50ab0dc6c5 Fix subtle bug 2022-03-09 07:04:59 +01:00
Matthias 51828a0b0b Update buy-signals to entry wording 2022-03-09 07:03:37 +01:00
Matthias 66afc233db Use Deprecated method for order_Time_in_force 2022-03-09 06:54:13 +01:00
Matthias 943d080f5e Add test for order-types migration 2022-03-09 06:37:08 +01:00
Matthias 420cc5c595 deprecated-setting moval should delete old setting 2022-03-09 06:37:08 +01:00
Matthias 5d4386f037 Implement order_types validation 2022-03-09 06:37:08 +01:00
Matthias e492bf3159 Update order_types to use entry/exit definition 2022-03-09 06:37:08 +01:00
Matthias f2ed6165e9 convert price to precision price before verifying stoploss adjustment
closes #6504
2022-03-08 19:35:30 +01:00
dingzhoufeng 9facd5b52a Merge branch 'feat/short' into fs_fix 2022-03-08 15:14:11 +08:00
Matthias 1ce55e88b4 Try to revert sequence in test 2022-03-08 07:10:59 +01:00
Matthias b4ec2b3a5a
Merge pull request #6507 from freqtrade/short_order_tif
Update order time in force to use entry/exit wording
2022-03-08 06:31:05 +01:00
dingzhoufeng 53ecdb931b add leverage 2022-03-08 12:26:43 +08:00
Matthias 3ff261e22c Update order time in force to use entry/exit wording 2022-03-07 19:55:15 +01:00
Matthias 17041b78fc Add stoploss-limit-ratio to full config sample 2022-03-07 19:39:15 +01:00
Matthias da733a458d
Merge pull request #6505 from freqtrade/rename_liq_col
rename column to liquidation_price
2022-03-07 19:02:39 +01:00
Matthias d2a163e2cf rename column to liquidation_price 2022-03-07 17:16:33 +01:00
Matthias f0252cf79d
Merge pull request #6497 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.32
Bump sqlalchemy from 1.4.31 to 1.4.32
2022-03-07 12:52:15 +01:00
Matthias 2748b113ee
Merge pull request #6495 from freqtrade/short_fixliq
Simplify and align liquidation price handling
2022-03-07 07:39:16 +01:00
Matthias 98acff8169
Merge pull request #6500 from freqtrade/dependabot/pip/develop/types-cachetools-4.2.10
Bump types-cachetools from 4.2.9 to 4.2.10
2022-03-07 07:04:31 +01:00
Matthias 26f6d8076d
Merge pull request #6498 from freqtrade/dependabot/pip/develop/pytest-asyncio-0.18.2
Bump pytest-asyncio from 0.18.1 to 0.18.2
2022-03-07 06:25:20 +01:00
Matthias 82595f3a5d
Merge pull request #6501 from freqtrade/dependabot/pip/develop/ccxt-1.75.12
Bump ccxt from 1.74.63 to 1.75.12
2022-03-07 06:25:07 +01:00
Matthias 805a04a6cb
Merge pull request #6496 from freqtrade/dependabot/pip/develop/fastapi-0.75.0
Bump fastapi from 0.74.1 to 0.75.0
2022-03-07 06:24:56 +01:00
Matthias 07524e9f37
Merge pull request #6499 from freqtrade/dependabot/pip/develop/mkdocs-material-8.2.5
Bump mkdocs-material from 8.2.3 to 8.2.5
2022-03-07 06:24:40 +01:00
Matthias 749e0dd5a0
Merge pull request #6502 from freqtrade/dependabot/github_actions/develop/actions/setup-python-3
Bump actions/setup-python from 2 to 3
2022-03-07 06:24:14 +01:00
dependabot[bot] 3c83d8c74a
Bump actions/setup-python from 2 to 3
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 3.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-07 05:24:08 +00:00
Matthias 46c3f56bf5
Merge pull request #6503 from freqtrade/dependabot/github_actions/develop/actions/checkout-3
Bump actions/checkout from 2 to 3
2022-03-07 06:23:41 +01:00
dependabot[bot] 25964f70d8
Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-07 03:12:15 +00:00
dependabot[bot] 0c8dd7e502
Bump ccxt from 1.74.63 to 1.75.12
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.74.63 to 1.75.12.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.74.63...1.75.12)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-07 03:01:33 +00:00
dependabot[bot] f1d2cb9ce4
Bump types-cachetools from 4.2.9 to 4.2.10
Bumps [types-cachetools](https://github.com/python/typeshed) from 4.2.9 to 4.2.10.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-07 03:01:25 +00:00
dependabot[bot] 1d63bb66a9
Bump mkdocs-material from 8.2.3 to 8.2.5
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.3 to 8.2.5.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.3...8.2.5)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-07 03:01:23 +00:00
dependabot[bot] 67a8b8b631
Bump pytest-asyncio from 0.18.1 to 0.18.2
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.18.1 to 0.18.2.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.18.1...v0.18.2)

---
updated-dependencies:
- dependency-name: pytest-asyncio
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-07 03:01:19 +00:00
dependabot[bot] 708def3d96
Bump sqlalchemy from 1.4.31 to 1.4.32
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.31 to 1.4.32.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-07 03:01:15 +00:00
dependabot[bot] d74e3091de
Bump fastapi from 0.74.1 to 0.75.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.74.1 to 0.75.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.74.1...0.75.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-07 03:01:09 +00:00
Matthias 4988e56bfe Full config should still default to spot markets 2022-03-06 16:35:31 +01:00
Matthias 6360ef029c Simplify and align liquidation price handling 2022-03-06 16:27:55 +01:00
Matthias 612ede5e48
Merge pull request #6468 from samgermain/todos
todos
2022-03-06 16:03:05 +01:00
Matthias 667054e1ad Reorder methods in trade object 2022-03-06 15:07:07 +01:00
Matthias 46e17c9762 Fix stoploss_pct set wrongly for short trades 2022-03-06 15:07:04 +01:00
Matthias cc38f0656d Explicitly check for None to determine if initial stoploss was set
closes #6460
2022-03-06 15:06:57 +01:00
Matthias 08d8dfaee6 Remove wrong import 2022-03-06 14:47:26 +01:00
Matthias 81d4a61353 Update more trades 2022-03-06 14:33:04 +01:00
Matthias bc37f67e76 Add one more test 2022-03-06 14:18:25 +01:00
Matthias 76e5d5b232 Fix stake-amount handling for dry-run 2022-03-05 15:53:40 +01:00
Matthias f571fee899
Merge pull request #6494 from freqtrade/stoploss_special_ccase
Explicitly check for None to determine if initial stoploss was set
2022-03-05 15:15:45 +01:00
Matthias 0bac7f824e
Merge pull request #6492 from samgermain/feat/short
Merge develop into feat/short
2022-03-05 14:47:34 +01:00
Matthias 7a545f49af Improve test stability by making keys optional in the ccxt test-matrix 2022-03-05 14:15:58 +01:00
Matthias be4bc4955c Explicitly check for None to determine if initial stoploss was set
closes #6460
2022-03-05 14:12:14 +01:00
Matthias 2b1a8f2fbb Update binance stoploss to use correct stop order for futures 2022-03-05 13:57:54 +01:00
Matthias 685820cc12 Fix failures due to non-happening rounding 2022-03-04 19:48:34 +01:00
Matthias 8943d42509 Update telegram notifications to properly detect shorts 2022-03-04 19:42:33 +01:00
Matthias 9576fab621 Re-remove amount to precision from trade entry 2022-03-04 07:16:06 +01:00
Matthias cee126a2cf extract stop_limit-rate calculation 2022-03-04 07:10:14 +01:00
Matthias 62dcebee46 Update stoploss method to new functionality 2022-03-04 07:07:34 +01:00
Matthias 011cd58377 Adjust new stoploss tests to futures world 2022-03-04 06:58:34 +01:00
Matthias 7435b5ec96 Fix small merge errors 2022-03-04 06:58:21 +01:00
Matthias 0622654bcf Give tests a chance to pass 2022-03-04 06:50:42 +01:00
Sam Germain 488da9b875 Merge branch 'develop' into feat/short 2022-03-03 13:51:52 -06:00
Matthias 819b35747d Minor documentation updates 2022-03-03 20:24:06 +01:00
Matthias c0e12d632f Add FTX ref links 2022-03-03 19:19:10 +01:00
Matthias 1d3ce5bef4 Remove duplicate call to init_db 2022-03-03 07:23:10 +01:00
Matthias 5ab72ac082 chore: realign enums imports 2022-03-03 07:07:33 +01:00
Matthias 9bcc79e118 Use parsed TradingMode from config 2022-03-03 07:06:13 +01:00
Matthias 5332c441b9 Fix fail test - add more TODO's 2022-03-03 07:00:10 +01:00
Matthias f558d4b132
Merge pull request #6467 from samgermain/backtest-liq
Liquidation price in backtesting
2022-03-03 06:50:32 +01:00
Matthias 761ac6685a
Merge pull request #6489 from samgermain/gateio-market
gateio market orders futures
2022-03-03 06:34:06 +01:00
Sam Germain dfb72d8a2f gateio market orders futures 2022-03-02 21:37:53 -06:00
Italo 0804ef411b
Merge branch 'freqtrade:develop' into plot_hyperopt_stats 2022-03-03 01:44:41 +00:00
Matthias e9456cdf15 Update trade response to use a single Order object 2022-03-02 19:58:08 +01:00
Matthias 17c9c3caf3 Enable orders via API 2022-03-02 19:58:08 +01:00
Sam Germain 8a9c6e27a5 docs/leverage.md: Added freqtrade_liquidation_price formula to docs 2022-03-02 12:53:24 -06:00
Matthias eb30c40e0c Fix hyperopt for futures 2022-03-02 19:50:16 +01:00
Sam Germain c9988e0aa2 test_backtest__enter_trade_futures comment calculations include liquidation buffer 2022-03-02 12:46:31 -06:00
Matthias c5cf73e67b hdf5 datahandler should also create directory 2022-03-02 19:41:14 +01:00
Sam Germain c0e11beced linting 2022-03-02 01:30:52 -06:00
Sam Germain c0fb6f7e85 test_backtest__enter_trade_futures - fixed formula in comments 2022-03-02 01:26:47 -06:00
Matthias d4fbb785b5
Merge pull request #6458 from stash86/pos_adjust
Hide sell_reason if a trade is still open
2022-03-02 07:23:49 +01:00
Matthias 1c4a7c25d7 Fix failing test 2022-03-02 07:14:36 +01:00
Matthias 478d440e80 Test backtesting with USDT pairs 2022-03-02 07:00:07 +01:00
Matthias b18256c231
Merge pull request #6487 from samgermain/setup-gettext
setup.sh install gettext for mac
2022-03-02 06:39:27 +01:00
Matthias 71be547d82 Bump ccxt to 1.74.63
closes #6484
2022-03-02 06:26:00 +01:00
Sam Germain abc8854b5a setup.sh install gettext for mac 2022-03-01 17:38:38 -06:00
Matthias f74de1cca3 Improve Backtesting "wrong setup" message to include tradable_balance 2022-03-01 19:46:13 +01:00
Matthias 54165662ce Don't require unfilledtimeout, it's optional. 2022-03-01 19:41:26 +01:00
Matthias 69cfb0b278 Revert change to telegram - this should be handled at the source 2022-03-01 19:32:25 +01:00
Matthias c2b90afa61 Merge branch 'develop' into pr/stash86/6458 2022-03-01 19:31:36 +01:00
Matthias a2c9879375 Reset sell-reason if order is cancelled 2022-03-01 19:30:16 +01:00
Matthias 736a930152 Update small things 2022-03-01 19:23:14 +01:00
Matthias f26247e8e0 Revert wrong version string 2022-03-01 19:08:04 +01:00
Matthias e8206bc751 Simplify backtesting enter_Trade 2022-02-28 20:10:23 +01:00
Matthias 1b07ad92cf Merge branch 'feat/short' into pr/samgermain/6467 2022-02-28 20:07:19 +01:00
Matthias c745f5828c Update comments to clarify it's supposed to be a "offline" call 2022-02-28 20:05:14 +01:00
Matthias c39e7368ee Split backtesting test to properly initialize it 2022-02-28 19:58:44 +01:00
Matthias e005439720
Merge pull request #6400 from freqtrade/short_dca
trade-adjustment for short trades
2022-02-28 19:47:50 +01:00
Matthias 79538368db Simplify liquidation price calculation 2022-02-28 19:47:21 +01:00
Matthias ab46476e63 Rename get_liquidation method 2022-02-28 19:42:26 +01:00
Matthias 1d27cbd01f Simplify leverage_prep interface 2022-02-28 19:34:10 +01:00
Matthias 8e2d3445a7 Move leverage_prep calculations to exchange class 2022-02-28 19:29:42 +01:00
Matthias bc92225441 Add todo about leverage_prep 2022-02-28 19:23:14 +01:00
Matthias dca83b070d
Merge pull request #6478 from freqtrade/dependabot/pip/develop/fastapi-0.74.1
Bump fastapi from 0.74.0 to 0.74.1
2022-02-28 07:08:02 +01:00
Matthias 68bc2a6107 Add huobi to ccxt compat tests 2022-02-28 07:00:52 +01:00
Matthias a922c4df70
Merge pull request #6477 from freqtrade/dependabot/pip/develop/ccxt-1.74.43
Bump ccxt from 1.74.17 to 1.74.43
2022-02-28 06:52:18 +01:00
Matthias cf22926cee
Merge pull request #6475 from freqtrade/dependabot/pip/develop/mkdocs-material-8.2.3
Bump mkdocs-material from 8.2.1 to 8.2.3
2022-02-28 06:50:48 +01:00
Matthias 151841965a
Merge pull request #6476 from freqtrade/dependabot/pip/develop/types-requests-2.27.11
Bump types-requests from 2.27.10 to 2.27.11
2022-02-28 06:34:34 +01:00
dependabot[bot] 207b211e5e
Bump fastapi from 0.74.0 to 0.74.1
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.74.0 to 0.74.1.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.74.0...0.74.1)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-28 03:01:38 +00:00
dependabot[bot] 42fbec4172
Bump ccxt from 1.74.17 to 1.74.43
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.74.17 to 1.74.43.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.74.17...1.74.43)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-28 03:01:29 +00:00
dependabot[bot] faf6a35ad7
Bump types-requests from 2.27.10 to 2.27.11
Bumps [types-requests](https://github.com/python/typeshed) from 2.27.10 to 2.27.11.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-28 03:01:20 +00:00
dependabot[bot] 590944a600
Bump mkdocs-material from 8.2.1 to 8.2.3
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.1 to 8.2.3.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.1...8.2.3)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-28 03:01:17 +00:00
Sam Germain 1121965c6e liq backtesting tests 2022-02-27 14:28:28 -06:00
Matthias 7948224892 leverage_prep should also becalled after filling a entry ordre 2022-02-27 21:14:28 +01:00
Sam Germain b103045a05 backtesting._enter_trade update liquidation price on increased position 2022-02-27 12:09:45 -06:00
Sam Germain 6fdcc714bf backtesting margin_mode key fix 2022-02-27 11:59:27 -06:00
Matthias 1ac360674c Update Readme quickstart
#6472
2022-02-27 17:37:46 +01:00
Matthias 437b12fab7 Use trade.* props where possible 2022-02-27 17:16:38 +01:00
Matthias 33be14e7e2 Update stake_amount calculation with multiple entries when using leverage 2022-02-27 17:09:29 +01:00
Matthias 0ebf40f390 Don't call amount_to_precision twice on entry 2022-02-27 15:57:44 +01:00
Matthias 5c2cca50e5 Minor updates, document no leverage changes 2022-02-27 15:44:23 +01:00
Matthias 1b6548c8d8 Don't modify leverage through DCA 2022-02-27 15:44:23 +01:00
Matthias 536f54cfc6 is_short for forceentries 2022-02-27 15:44:23 +01:00
Matthias f0f5a50975 Update tests to test DCA for shorts 2022-02-27 15:44:23 +01:00
Matthias eed516a5c6 Update DCA logic to some extend 2022-02-27 15:44:23 +01:00
Matthias bcfa73d492 Add "nr_of_successfull_entries" 2022-02-27 15:44:23 +01:00
Matthias 5c9dddb7f3
Merge pull request #6466 from samgermain/stoploss
Leverage stoploss
2022-02-27 15:30:58 +01:00
Matthias 7b9880035b Remove wrong TODO-lev comment 2022-02-27 15:11:09 +01:00
Sam Germain 8af2ea754f add margin mode to backtesting 2022-02-26 14:11:21 -06:00
Sam Germain 7508f79b6c test_freqtradebot, is_short tests 2022-02-26 13:55:52 -06:00
Sam Germain b363940baf Add TODO-lev comment in test_handle_stoploss_on_exchange 2022-02-26 13:55:37 -06:00
Sam Germain 499e21517b test_persistence tests for stoploss with leverage adjustements 2022-02-26 13:55:37 -06:00
Sam Germain 78194559f4 persistence.adjust_stop_loss accounts for leverage 2022-02-26 13:55:37 -06:00
Sam Germain ac433eebfe stoploss in freqtradebot leverage adjustment 2022-02-26 13:55:37 -06:00
Sam Germain 6dbd249570 backtesting._enter_trade get liquidation_price and backtesting._leverage_prep 2022-02-26 13:55:01 -06:00
Matthias 92ad353169 Fix OKX exception 2022-02-26 20:13:24 +01:00
Matthias 12a1e27708
Merge pull request #6456 from samgermain/lev-tier-update
Lev tier update
2022-02-26 19:55:30 +01:00
Matthias e9f3f3d859 Fix random test failure (2nd try) 2022-02-26 17:08:35 +01:00
Sam Germain 7dab70f1a5 test_ccxt_compat - ftx["futures"] = false 2022-02-26 09:45:15 -06:00
Sam Germain 64172bc98d removed TODOs in test_CCXT_compat 2022-02-26 09:27:38 -06:00
Sam Germain fbcd260bf6 flake8 import issues 2022-02-26 09:05:51 -06:00
Sam Germain af77358d6a updated test_load_leverage_tiers_okx 2022-02-26 09:05:51 -06:00
Sam Germain b71fb1fdec upgrade CCXT to 1.74.22 2022-02-26 09:05:51 -06:00
Sam Germain f5ea7827e0 removed gateio.get_max_leverage and gateio.get_maint_ratio_and_amt 2022-02-26 09:05:51 -06:00
Sam Germain 6cd01c45d5 exchange.get_leverage_tiers and exchange.get_market_leverage_tiers 2022-02-26 09:05:51 -06:00
Sam Germain c7e87e86e2 added exception handlers to fetch_market_leverage_tiers 2022-02-26 09:05:51 -06:00
Sam Germain 421aa31c92 upgrade CCXT to 1.74.9 2022-02-26 09:05:51 -06:00
Sam Germain b61cfada6d moved okex.load_leverage_tiers to new method 2022-02-26 09:05:51 -06:00
Matthias 79ddc9abaa
Merge pull request #6423 from samgermain/wallet-amt
Futures wallet amount
2022-02-26 15:55:28 +01:00
Matthias e25929f50a Update test to not fail randomly 2022-02-26 15:53:01 +01:00
Matthias fdbd75501f
Merge pull request #6465 from freqtrade/huobi
Huobi
2022-02-26 15:24:42 +01:00
Matthias 75868a851b Attempt Fix random test failure 2022-02-26 15:20:56 +01:00
Matthias 41316abb55 Sort supported exchanges alphabetically 2022-02-26 14:57:17 +01:00
Matthias 14d49e85af Update Huobi stoploss to shared method 2022-02-26 14:57:13 +01:00
Matthias a1f2f6ddeb Updates required for huobi datadownload 2022-02-26 10:33:37 +01:00
Matthias f3421dfa9f Use unified stopPrice argument 2022-02-26 10:33:37 +01:00
Matthias 1b91be08fe Add huobi to list of supported exchanges 2022-02-26 10:33:37 +01:00
Matthias 292c350885 Add stoploss support for huobi 2022-02-26 10:33:36 +01:00
Matthias 9504b3eb05 Improve huobi config generation 2022-02-26 10:33:11 +01:00
Matthias ee7bc55727 Add huobi to Exchange setup 2022-02-26 10:33:11 +01:00
Matthias 2ec1a7b370 Add huobi exchange class 2022-02-26 10:33:11 +01:00
Matthias f181cdeecd
Merge pull request #6463 from freqtrade/stoploss_simplify
Stoploss simplify - kucoin stoploss on exchange
2022-02-26 10:31:50 +01:00
Matthias a568548192
Merge pull request #6464 from freqtrade/new_release
New release 2022.2.1
2022-02-26 08:57:42 +01:00
Matthias f9d10a7fad Version bump 2022.2.1 2022-02-26 08:35:50 +01:00
Matthias cbc2b00ee6 Merge branch 'stable' into new_release 2022-02-26 08:35:31 +01:00
Matthias 3942b30ebf Add kraken TODO 2022-02-26 08:34:23 +01:00
Matthias 6caa5f7131 Update dry-run behaviour 2022-02-26 08:25:42 +01:00
Matthias 0749199097 Add stoploss tests for kucoin 2022-02-26 08:25:42 +01:00
Matthias 020729cf50 update docs about kucoin stoploss 2022-02-26 08:25:42 +01:00
Matthias 768b526c38 Add kucoin stoploss on exchange 2022-02-26 08:25:42 +01:00
Matthias 7ba92086c9 Make stoploss method more flexible 2022-02-26 08:25:42 +01:00
Matthias ea197b79ca Add some more logic to stoploss 2022-02-26 08:25:42 +01:00
Matthias 1d57ce19eb Move stoploss -limit implemenentation to exchange class, as this seems to be used by multiple exchanges. 2022-02-26 08:25:42 +01:00
Matthias 7883160ce0 Update to fstrings 2022-02-26 08:23:13 +01:00
Matthias 018c620057 Fix 0 Division error on exchanges without average
closes #6461
2022-02-26 08:19:45 +01:00
Matthias a0b42c7aa2 gitignore sqlite temporary files 2022-02-25 20:47:15 +01:00
Italo 8d9d003671
Merge branch 'freqtrade:develop' into plot_hyperopt_stats 2022-02-25 17:58:57 +00:00
Matthias 551fe7d820
Merge pull request #6440 from clover-es/feat/short
Add leverage strategy to new-strategy command
2022-02-25 15:18:46 +01:00
Matthias 8f7b857ae9
Merge pull request #6459 from freqtrade/new_release
New release 2022.2
2022-02-25 15:14:27 +01:00
Matthias 5826698c04 Don't emergencysell partial sold exit
closes #6457
2022-02-25 15:07:35 +01:00
Matthias e88b022cd4 Version bump 2022.2 2022-02-25 12:07:09 +01:00
Matthias bfb738f69f Merge branch 'stable' into new_release 2022-02-25 12:06:11 +01:00
Matthias 3c88b4cf0c Merge pull request #6416 from froggleston/patch-2 2022-02-25 11:58:43 +01:00
Matthias 00dd8e76ee
Merge pull request #6416 from froggleston/patch-2
Update windows_installation.md
2022-02-25 11:44:40 +01:00
Matthias 4b7271df46 Improve wording, add Picture detailing what must be installed. 2022-02-25 11:03:03 +01:00
Matthias 3b1b66bee8 Prevent backtest starting when not in webserver mode
#6455
2022-02-25 07:40:49 +01:00
Stefano Ariestasia df726a54f8 cater for case where sell limit order expired 2022-02-25 00:20:53 +00:00
Matthias 1c26ff4c4c Add dry run test 2022-02-24 20:05:56 +01:00
Matthias 9d55621f42 Test fetch_position exchange method 2022-02-24 20:05:56 +01:00
Matthias 9901decf0d Rename get_positions to fetch_positions to align with ccxt naming 2022-02-24 20:05:56 +01:00
Matthias 62c42a73e2 Add initial rpc test 2022-02-24 20:05:56 +01:00
Matthias d07a24a54f Update tests for new wallet RPC structure 2022-02-24 20:05:56 +01:00
Matthias 13e74c5693 Add dry-run position wallet calculation 2022-02-24 20:05:56 +01:00
Matthias 6562511137 add trade_direction to trade object 2022-02-24 20:05:56 +01:00
Matthias a2b17882e6 Don't use separate position field in /currency endpoint 2022-02-24 20:05:56 +01:00
Matthias 4b27bd9838 don't fetch free balance if we don't use it 2022-02-24 20:05:56 +01:00
Matthias e54e6a7295 Update wallets to also keep Positions 2022-02-24 20:05:56 +01:00
Matthias ed65692257 add get_position exchange wrapper 2022-02-24 20:05:56 +01:00
Sam Germain 9f4f65e457 exchange.get_balances minor fix 2022-02-24 20:05:56 +01:00
Sam Germain f336e7fc5b exchange.get_balances futures shorts taken out 2022-02-24 20:05:56 +01:00
Sam Germain f67e0bd6dd wallet amount for futures 2022-02-24 20:05:56 +01:00
Matthias fd936e26ae Merge branch 'develop' into feat/short 2022-02-24 19:56:42 +01:00
Matthias 42df65d4ec Make sure backtesting is cleaned up in tests 2022-02-24 14:22:49 +00:00
Matthias d973ba1f5d Add leverage callback to advanced template 2022-02-23 20:19:52 +01:00
Matthias c51603b110 Slightly improve formatting, Point to documentation 2022-02-23 20:16:52 +01:00
Matthias 53452c8d64
Merge pull request #6437 from freqtrade/update_trade
Migrate trade updating to use order model
2022-02-23 19:56:02 +01:00
Matthias 731eb99713 Update mock-trade creation to rollback first 2022-02-23 19:18:04 +01:00
Matthias 14b69405a2 Init persistence should be the innermost fixture 2022-02-23 10:43:04 +01:00
Matthias ec34189f1b Attempt to fix random ci error 2022-02-23 08:47:20 +01:00
Matthias afd2be06d8
Merge pull request #6447 from freqtrade/dependabot/pip/develop/uvicorn-0.17.5
Bump uvicorn from 0.17.4 to 0.17.5
2022-02-23 07:51:33 +01:00
Matthias 8952829adc Merge branch 'develop' into feat/short 2022-02-23 06:28:15 +01:00
Matthias 5a4f30d1bd Don't specially handle empty results. 2022-02-22 20:07:41 +01:00
Matthias 1f9ed0beff Add test for wal mode 2022-02-22 19:39:55 +01:00
Guillermo Rodríguez 8e3839c74c
Merge branch 'freqtrade:feat/short' into feat/short 2022-02-22 19:34:59 +01:00
Guillermo Rodríguez 95b63ea496 Add short signal to base strategy template 2022-02-22 19:33:52 +01:00
Matthias 02ce0dc02e Set journal mode to wal for sqlite databases
closes #6353
2022-02-22 19:31:58 +01:00
Matthias 70f4305dfa don't allow short trades in spot mode 2022-02-21 19:19:12 +01:00
Matthias a2960d8505
Merge pull request #6448 from freqtrade/dependabot/pip/develop/mkdocs-material-8.2.1
Bump mkdocs-material from 8.1.11 to 8.2.1
2022-02-21 08:10:25 +01:00
Matthias 2b16606dbc
Merge pull request #6443 from freqtrade/dependabot/pip/develop/python-rapidjson-1.6
Bump python-rapidjson from 1.5 to 1.6
2022-02-21 07:26:28 +01:00
Matthias c6a9c0805c
Merge pull request #6442 from freqtrade/dependabot/pip/develop/types-requests-2.27.10
Bump types-requests from 2.27.9 to 2.27.10
2022-02-21 06:53:41 +01:00
Matthias fdad14d852
Merge pull request #6446 from freqtrade/dependabot/pip/develop/ccxt-1.73.70
Bump ccxt from 1.72.98 to 1.73.70
2022-02-21 06:53:27 +01:00
dependabot[bot] b9a99bd0b7
Bump python-rapidjson from 1.5 to 1.6
Bumps [python-rapidjson](https://github.com/python-rapidjson/python-rapidjson) from 1.5 to 1.6.
- [Release notes](https://github.com/python-rapidjson/python-rapidjson/releases)
- [Changelog](https://github.com/python-rapidjson/python-rapidjson/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-rapidjson/python-rapidjson/compare/v1.5...v1.6)

---
updated-dependencies:
- dependency-name: python-rapidjson
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-21 05:28:53 +00:00
dependabot[bot] 7b6a0f7a19
Bump uvicorn from 0.17.4 to 0.17.5
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.17.4 to 0.17.5.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.17.4...0.17.5)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-21 05:28:52 +00:00
Matthias 0bd621ece8
Merge pull request #6445 from freqtrade/dependabot/pip/develop/fastapi-0.74.0
Bump fastapi from 0.73.0 to 0.74.0
2022-02-21 06:28:03 +01:00
Matthias df04612549
Merge pull request #6444 from freqtrade/dependabot/pip/develop/filelock-3.6.0
Bump filelock from 3.4.2 to 3.6.0
2022-02-21 06:27:08 +01:00
dependabot[bot] d354f1f84c
Bump mkdocs-material from 8.1.11 to 8.2.1
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.11 to 8.2.1.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.11...8.2.1)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-21 03:02:06 +00:00
dependabot[bot] 317487fefc
Bump ccxt from 1.72.98 to 1.73.70
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.72.98 to 1.73.70.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.72.98...1.73.70)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-21 03:01:58 +00:00
dependabot[bot] dc8e9bab44
Bump fastapi from 0.73.0 to 0.74.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.73.0 to 0.74.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.73.0...0.74.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-21 03:01:51 +00:00
dependabot[bot] d1cded3532
Bump filelock from 3.4.2 to 3.6.0
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.4.2 to 3.6.0.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/py-filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.4.2...3.6.0)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-21 03:01:45 +00:00
dependabot[bot] 21b5f56f7d
Bump types-requests from 2.27.9 to 2.27.10
Bumps [types-requests](https://github.com/python/typeshed) from 2.27.9 to 2.27.10.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-21 03:01:39 +00:00
Matthias fddacfedaa Remove returntype 2022-02-20 16:47:02 +01:00
Matthias a24586cd41 Update migrations for new column 2022-02-20 16:32:04 +01:00
Matthias 6fb5b22a8e Some cleanup 2022-02-20 16:31:44 +01:00
Matthias dc7bcf5dda Update failing test 2022-02-20 14:29:26 +01:00
Matthias db540dc990 Orders should also store fee if in receiving currency 2022-02-20 14:24:27 +01:00
Matthias c3c815e794
Merge pull request #6425 from samgermain/stake-amount
leverage in trade.stake_amount calculation
2022-02-19 20:11:23 +01:00
Matthias e9f451406c Use correct order id 2022-02-19 16:43:38 +01:00
Matthias 874c161f78 Update more tests to use order_obj to update trade 2022-02-19 16:43:38 +01:00
Matthias 508e677d70 Fix some tests to call update_trade with order object 2022-02-19 16:43:38 +01:00
Matthias 1b1216fc87 Rename update_trade method 2022-02-19 16:43:38 +01:00
Matthias c13eed2178 use Order object to update trade 2022-02-19 16:43:38 +01:00
Matthias d610b6305d Improve /balance output by removing trailing zeros 2022-02-19 16:40:30 +01:00
Matthias a7a25bb285 Update "round coin value" to trim trailing zeros 2022-02-19 16:40:26 +01:00
Matthias 42bb33811c
Merge pull request #6434 from freqtrade/fix/ftx_stoploss
Update FTX stoploss code to avoid exception for stoploss-market orders
2022-02-19 10:50:53 +01:00
Matthias a32aed2225 Update FTX stoploss code to avoid exception for stoploss-market orders
closes #6430, closes #6392
2022-02-19 10:07:32 +01:00
Matthias 3785f04be7 Handle empty min stake amount as observed on FTX
(closes #6429)
2022-02-19 06:39:43 +01:00
Matthias 0bbbe2e96c Add test for #6429 2022-02-19 06:39:43 +01:00
Matthias 5705ff7f82
Merge pull request #6432 from mkavinkumar1/patch-1
fixed stake amount
2022-02-19 06:39:19 +01:00
Kavinkumar 60d1e7fc65
fix stake amt 2022-02-18 19:47:45 +05:30
Kavinkumar 95d4a11bb1
add precision 2022-02-18 19:32:37 +05:30
Kavinkumar eb88c0f71b
fixed stake amount 2022-02-18 19:25:56 +05:30
Matthias 989edca622 Add test-case for cancel stake update with leverage 2022-02-18 06:41:15 +01:00
Matthias 8bdc77eb4d Add TODO-lev for tests which define is_short but don't use it 2022-02-18 06:38:51 +01:00
Matthias f0cbc47bb1
Merge pull request #6373 from samgermain/leverage-tiers
Leverage tiers
2022-02-17 20:23:33 +01:00
Matthias de8d789962 Fix test missing assert statement 2022-02-17 19:37:24 +01:00
Sam Germain d9d9867a54 updated ccxt 2022-02-16 21:09:02 -06:00
Matthias e981d644e1 Add toto-lev for order-leverage 2022-02-16 19:24:59 +01:00
Matthias e60553b8f7 Add max_entry_position hyperopt to docs
closes #6356
2022-02-16 19:21:04 +01:00
Sam Germain f452fce4cc Merge branch 'ccxt-compat' into leverage-tiers 2022-02-16 10:07:49 -06:00
Sam Germain a37287d9ba test__get_params 2022-02-16 10:06:27 -06:00
Sam Germain 2015e9345d test_ccxt_compat maintenanceMarginRatio -> maintenanceMarginRate 2022-02-16 09:25:27 -06:00
Sam Germain df86300729 test_ccxt_dry_run_liquidation_price 2022-02-16 09:22:22 -06:00
Sam Germain 124532a4b7 maintenanceMarginRatio -> maintenanceMarginRate 2022-02-16 09:04:43 -06:00
Sam Germain dc73fccd3c removed test_ccxt_get_maintenance_ratio_and_amt 2022-02-16 09:03:50 -06:00
Sam Germain a1e9e940dd test_ccxt_load_leverage_tiers 2022-02-16 08:51:39 -06:00
Matthias 877a0750ce
Merge pull request #6417 from freqtrade/fix/6261
Attempt fix for #6261
2022-02-16 15:48:57 +01:00
Sam Germain a65dcc709e leverage in trade.stake_amount calculation 2022-02-16 08:09:43 -06:00
Sam Germain ef5dae2770 ccxt_compat_tests for leverage tiers 2022-02-16 08:08:10 -06:00
Sam Germain 88a8ff2f4e Merge branch 'feat/short' into leverage-tiers 2022-02-16 08:05:51 -06:00
Matthias e7bfb4fd5c Add test case for "sell below close" case 2022-02-16 13:42:39 +01:00
Matthias de26844578
Merge pull request #6397 from samgermain/todos
edited todo-lev comments
2022-02-16 13:36:17 +01:00
Sam Germain 6697333118 Merge branch 'todos' of https://github.com/samgermain/freqtrade into todos 2022-02-16 05:47:49 -06:00
Sam Germain a9eb8ce1bf added todos back in 2022-02-16 05:47:41 -06:00
Sam Germain 6f410d3096 fixed test_load_leverage_tiers 2022-02-16 05:44:11 -06:00
Sam Germain c70050e750 fixed test_load_leverage_tiers 2022-02-16 05:26:52 -06:00
Sam Germain 183f85efe3 test_execute_entry fixed 2022-02-16 05:08:11 -06:00
Sam Germain 1f3d3d87f6 fixed tests 2022-02-16 04:52:26 -06:00
Sam Germain 3fe0e13bb1 expanded test_load_leverage_tiers 2022-02-16 04:37:11 -06:00
Sam Germain 3bfd9186f7 gateio.get_max_leverage small fix 2022-02-16 04:05:27 -06:00
Sam Germain dbd2df6406 Merge branch 'leverage-tiers' of https://github.com/samgermain/freqtrade into leverage-tiers 2022-02-16 03:50:24 -06:00
Sam Germain c9da6f480f gateio get_max_leverage and get_maintenance_ratio_and_amt temporary solution 2022-02-16 03:36:08 -06:00
Matthias ff5b3c323a Fix okx trading mode 2022-02-16 09:13:49 +01:00
Matthias a77c11c7e0
Merge pull request #6420 from stash86/pos_adjust
add "dry_run_wallet" to config_full.example.json
2022-02-16 06:48:07 +01:00
Stefano Ariestasia b043697d70 Update config_full.example.json 2022-02-16 12:19:48 +09:00
Matthias 78a93b6052 noqa 2022-02-15 20:15:03 +01:00
Italo 88459acbeb
Merge branch 'freqtrade:develop' into plot_hyperopt_stats 2022-02-15 19:10:49 +00:00
Matthias 3787b747ae Simplify api schema by not using union types 2022-02-15 20:07:02 +01:00
Matthias 7f7c395b10 Add exception handling for lev_prep in okx 2022-02-15 19:30:02 +01:00
Matthias 64b98989d2 Update open candle ROI condition 2022-02-15 19:25:32 +01:00
Matthias 33cc5e0ac7 Use kwargs for set_leverage 2022-02-15 18:56:58 +01:00
Matthias c37f03a638 Update static-markets to include futures pair 2022-02-15 08:04:16 +01:00
Matthias 1bae18c60a Update decorator locations 2022-02-15 07:11:07 +01:00
Matthias 324fdcedb1 Attempt test fix 2022-02-15 06:59:10 +01:00
Sam Germain 5f42ebfa4c
Update candletype.py 2022-02-14 23:53:10 -06:00
Matthias dfd5d3b8b2
Merge pull request #6418 from m3h7/patch-1
corrects typo
2022-02-15 06:40:30 +01:00
Matthias 5ee5e0256b Clarify todo 2022-02-15 06:39:55 +01:00
Sam Germain ae249a0f97 Merge branch 'leverage-tiers' of https://github.com/samgermain/freqtrade into leverage-tiers 2022-02-14 17:36:47 -06:00
Sam Germain 3753df26fc fixed tests 2022-02-14 17:34:59 -06:00
Sam Germain f4a57b71e7 Filled in test_load_leverage_tiers_okx 2022-02-14 16:53:29 -06:00
Maik H 7b2e33b0bc
corrects typo 2022-02-14 20:21:42 +01:00
Matthias 30f6dbfc40 Attempt fix for #6261 2022-02-14 20:02:38 +01:00
Matthias acd7f26a9d update tc36 to properly cover #6261 2022-02-14 20:00:31 +01:00
Matthias 513669f834 Be verbose on okex startup to point out delay. 2022-02-14 19:44:05 +01:00
Matthias 515b3fdfd2 Version bump ccxt 2022-02-14 19:42:15 +01:00
Matthias 99e3e26542 Adjust ccxt test naming to align with the other tests 2022-02-14 19:14:44 +01:00
Robert Davey cd54f1536e
Update windows_installation.md
Update links to include just the cpp build tools instead of the 4GB full Visual Studio link.
2022-02-14 16:41:58 +00:00
Sam Germain a2b84561fe removed a todo 2022-02-14 10:00:03 -06:00
Sam Germain 5cd2501397 Merge branch 'leverage-tiers' of https://github.com/samgermain/freqtrade into leverage-tiers 2022-02-14 09:40:53 -06:00
Sam Germain cfd438b966 fixed test_get_markets 2022-02-14 09:40:01 -06:00
Sam Germain c1d08dd03a linting 2022-02-14 09:34:09 -06:00
Sam Germain 16e38592a9 test_get_markets created debugging param test_comment 2022-02-14 09:33:56 -06:00
Sam Germain 19783e0d39 edited todos 2022-02-14 09:02:55 -06:00
Matthias 35e800a84b
Merge pull request #6411 from freqtrade/dependabot/pip/develop/pytest-asyncio-0.18.1
Bump pytest-asyncio from 0.17.2 to 0.18.1
2022-02-14 07:09:45 +01:00
Matthias 7e2e9272cc
Merge pull request #6403 from freqtrade/dependabot/pip/develop/prompt-toolkit-3.0.28
Bump prompt-toolkit from 3.0.26 to 3.0.28
2022-02-14 07:09:18 +01:00
Matthias 8ba149a2af
Merge pull request #6409 from freqtrade/dependabot/pip/develop/types-requests-2.27.9
Bump types-requests from 2.27.8 to 2.27.9
2022-02-14 06:28:42 +01:00
Matthias 1ad41f0efc
Merge pull request #6410 from freqtrade/dependabot/pip/develop/nbconvert-6.4.2
Bump nbconvert from 6.4.1 to 6.4.2
2022-02-14 06:28:29 +01:00
Matthias 9c62ffe4f6
Merge pull request #6404 from freqtrade/dependabot/pip/develop/plotly-5.6.0
Bump plotly from 5.5.0 to 5.6.0
2022-02-14 06:28:16 +01:00
dependabot[bot] 5cc6c2afe1
Bump pytest-asyncio from 0.17.2 to 0.18.1
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.17.2 to 0.18.1.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.17.2...v0.18.1)

---
updated-dependencies:
- dependency-name: pytest-asyncio
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-14 05:28:10 +00:00
Matthias 6290fb6d10
Merge pull request #6408 from freqtrade/dependabot/pip/develop/mkdocs-material-8.1.11
Bump mkdocs-material from 8.1.10 to 8.1.11
2022-02-14 06:27:59 +01:00
Matthias 067378d7fc
Merge pull request #6405 from freqtrade/dependabot/pip/develop/pymdown-extensions-9.2
Bump pymdown-extensions from 9.1 to 9.2
2022-02-14 06:27:42 +01:00
Matthias 0c632555d6
Merge pull request #6406 from freqtrade/dependabot/pip/develop/ccxt-1.72.98
Bump ccxt from 1.72.36 to 1.72.98
2022-02-14 06:27:22 +01:00
Matthias e63ef86e9e
Merge pull request #6407 from freqtrade/dependabot/pip/develop/pytest-7.0.1
Bump pytest from 7.0.0 to 7.0.1
2022-02-14 06:27:09 +01:00
Matthias ecb93f14b1
Merge pull request #6412 from freqtrade/dependabot/pip/develop/pandas-1.4.1
Bump pandas from 1.4.0 to 1.4.1
2022-02-14 06:26:33 +01:00
dependabot[bot] 5062c17ac0
Bump pandas from 1.4.0 to 1.4.1
Bumps [pandas](https://github.com/pandas-dev/pandas) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Changelog](https://github.com/pandas-dev/pandas/blob/main/RELEASE.md)
- [Commits](https://github.com/pandas-dev/pandas/compare/v1.4.0...v1.4.1)

---
updated-dependencies:
- dependency-name: pandas
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-14 03:02:07 +00:00
dependabot[bot] 04c20afece
Bump nbconvert from 6.4.1 to 6.4.2
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Commits](https://github.com/jupyter/nbconvert/compare/6.4.1...6.4.2)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-14 03:01:56 +00:00
dependabot[bot] 7f8e956b44
Bump types-requests from 2.27.8 to 2.27.9
Bumps [types-requests](https://github.com/python/typeshed) from 2.27.8 to 2.27.9.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-14 03:01:52 +00:00
dependabot[bot] 22036d69d8
Bump mkdocs-material from 8.1.10 to 8.1.11
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.10 to 8.1.11.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.10...8.1.11)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-14 03:01:50 +00:00
dependabot[bot] b18e44bc43
Bump pytest from 7.0.0 to 7.0.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.0.0...7.0.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-14 03:01:46 +00:00
dependabot[bot] 1674beed91
Bump ccxt from 1.72.36 to 1.72.98
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.72.36 to 1.72.98.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.72.36...1.72.98)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-14 03:01:43 +00:00
dependabot[bot] 03d4002be8
Bump pymdown-extensions from 9.1 to 9.2
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.1 to 9.2.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.1...9.2)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-14 03:01:35 +00:00
dependabot[bot] be8accebd8
Bump plotly from 5.5.0 to 5.6.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.5.0 to 5.6.0.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.5.0...v5.6.0)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-14 03:01:31 +00:00
dependabot[bot] ca62914794
Bump prompt-toolkit from 3.0.26 to 3.0.28
Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.26 to 3.0.28.
- [Release notes](https://github.com/prompt-toolkit/python-prompt-toolkit/releases)
- [Changelog](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/CHANGELOG)
- [Commits](https://github.com/prompt-toolkit/python-prompt-toolkit/compare/3.0.26...3.0.28)

---
updated-dependencies:
- dependency-name: prompt-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-14 03:01:28 +00:00
Matthias b1b8167b5e Update stop documentation
closes #6393
2022-02-13 19:14:57 +01:00
Matthias 09cc43b533 Test short trade exiting 2022-02-13 16:33:06 +01:00
Matthias 5b65448e56 Fix some todo-lev's in tests 2022-02-13 16:17:41 +01:00
Matthias 2523c12c71 Small enhancements and notes 2022-02-13 14:33:37 +01:00
Matthias ad801e05f7 Filter loadable leverage tiers to stake-currency pairs 2022-02-13 13:05:57 +01:00
Matthias 96df311244 Rename test_okex to test_okx 2022-02-13 13:01:23 +01:00
Matthias bc855b2a32 Update some missing mocks 2022-02-13 13:00:38 +01:00
Matthias b98297786c Update failing mock 2022-02-13 12:56:32 +01:00
Matthias 7f0cedc769 Use "is_future" to check for futures markets 2022-02-13 12:54:49 +01:00
Matthias eaf13f96f7 Use exchange_has to check for ccxt properties 2022-02-13 12:48:28 +01:00
Matthias 109440a6bf
Merge pull request #6396 from freqtrade/order_refind_update
Improve "order refind" to also work for stoploss orders
2022-02-13 12:31:37 +01:00
Sam Germain 8fe3f0c933 fix breaking tests 2022-02-12 23:08:42 -06:00
Sam Germain 531b4d238c removed test_get_maintenance_margin_and_amt_gatio as its no longer relevant 2022-02-12 23:02:16 -06:00
Sam Germain 765c95f875 test_okex.test_get_maintenance_ratio_and_amt_okex change pair names 2022-02-12 23:02:16 -06:00
Sam Germain e3bd40c3c7 added swap and linear to conftest markets 2022-02-12 23:02:16 -06:00
Sam Germain 7a0f7da128 okex loads all leverage tiers at beginning, removed get tiers for pair 2022-02-12 23:02:16 -06:00
Sam Germain 8657e99c26 trimmed down get_maintenance_ratio_and_amt, now requires fetchLeverageTiers 2022-02-12 23:02:16 -06:00
Sam Germain e7430da5d7 test_ccxt_compat commented out unfinished tests 2022-02-12 23:02:16 -06:00
Sam Germain 03b3756e4b strengthened and fixed leverage_tier tests 2022-02-12 23:02:16 -06:00
Sam Germain a6043e6a85 get_max_leverage test clean up 2022-02-12 23:02:16 -06:00
Sam Germain 4a1ed01708 get_maintenance_ratio_and_amt tests 2022-02-12 23:02:16 -06:00
Sam Germain 60a45ff394 exchange.get_max_leverage de-complex 2022-02-12 23:02:16 -06:00
Sam Germain 9e599455e7 test_execute_entry mocks get_max_leverage 2022-02-12 23:02:16 -06:00
Sam Germain 41ab20d949 get_max_leverage checks if the number of tiers is < 1 2022-02-12 23:02:15 -06:00
Sam Germain 3b43d42eaa Updated exchange tests 2022-02-12 23:02:15 -06:00
Sam Germain fa2c9fc51f replaced mmr_key with unified maintenanceMarginRate 2022-02-12 23:02:15 -06:00
Sam Germain e987e0e2a9 exchange minor fixes 2022-02-12 23:02:15 -06:00
Sam Germain f3cb7e90e0 moved get_leverage_tiers_for_pair to be with other leverage_tier methods 2022-02-12 23:02:15 -06:00
Sam Germain 5f07546b86 moved leverage_tier caching to get_leverage_tiers_for_pair 2022-02-12 23:02:15 -06:00
Sam Germain eb72e5cc42 Added some exchange leverage tier tests 2022-02-12 23:02:15 -06:00
Sam Germain 98f32e8964 fixed failing test_get_max_leverage 2022-02-12 23:02:15 -06:00
Sam Germain 3ebda1d29d Added test templated 2022-02-12 23:02:15 -06:00
Sam Germain a0264f0651 test_get_max_pair_stake_amount with leverage 2022-02-12 23:02:15 -06:00
Sam Germain fe56c8c91e mock get_max_pair_stake_amount in test_execute_entry 2022-02-12 23:02:15 -06:00
Sam Germain 18b4d0be95 fixed error with exchange.fill_leverage_tiers 2022-02-12 23:02:14 -06:00
Sam Germain 41d8330fbc freqtrade.exchange edited load_leverage_tiers 2022-02-12 23:02:14 -06:00
Sam Germain 0b717fbace okex.load_leverage_tiers 2022-02-12 23:02:14 -06:00
Sam Germain 68a778a983 moved leverage_tiers to a fixture 2022-02-12 23:02:14 -06:00
Sam Germain 42e36f44f8 replaced "leverage" with "tiers" 2022-02-12 23:02:14 -06:00
Sam Germain 6b9915bc73 moved fill_leverage_brackets and get_max_leverage to base exchange class, wrote parse_leverage_tier and load_leverage_brackets 2022-02-12 23:02:14 -06:00
Sam Germain a99cf2eeed redid get_max_leverage 2022-02-12 23:02:07 -06:00
Sam Germain 720a86778e okex.get_max_pair_stake_amount 2022-02-12 23:01:39 -06:00
Sam Germain ff915b241c test_okex test_get_maintenance_ratio_and_amt_okex 2022-02-12 23:01:39 -06:00
Sam Germain a5aba4813d moved get_maintenance_ratio_and_amt to base.exchange. Wrote get_leverage_tiers. Added mmr_key to exchange._ft_has 2022-02-12 23:01:30 -06:00
Sam Germain fc2d3649a1 edited todos 2022-02-12 16:23:14 -06:00
Matthias c769e9757d Improve "order refind" to also work for stoploss orders 2022-02-12 20:13:12 +01:00
Matthias 119d4d5204 select_order should use ft_order_side, not the exchange specific one 2022-02-12 17:06:03 +01:00
Matthias ee5f05208e
Merge pull request #6394 from samgermain/todos
todo removal
2022-02-12 15:44:42 +01:00
Matthias fad243e28d
Keep short edge support as regular TODO 2022-02-12 15:43:52 +01:00
Matthias 08803524bd align variable naming to use current_time 2022-02-12 15:21:46 +01:00
Sam Germain ca993c83ea todo removal 2022-02-11 23:37:31 -06:00
Matthias 50e474ded2
Merge pull request #6386 from samgermain/liq-buffer
Added liquidation_buffer to freqtradebot
2022-02-11 20:26:05 +01:00
Sam Germain 19a282ddb4 fixed broken test_get_liquidation_price 2022-02-11 19:38:59 +01:00
Sam Germain 7a79403d2c Update docs/leverage.md
Co-authored-by: Matthias <xmatthias@outlook.com>
2022-02-11 19:38:59 +01:00
Sam Germain 6ae85f9be1 fixed liq-buffer tests 2022-02-11 19:38:59 +01:00
Sam Germain fb3a6e2ce8 added liquidation_buffer to constants.py 2022-02-11 19:38:59 +01:00
Sam Germain 3c3675ea1a moved liquidation_buffer to exchange class, add check for valid liquidation_buffer values 2022-02-11 19:38:59 +01:00
Sam Germain 305d3738d9 Documentation for liquidation_buffer 2022-02-11 19:38:59 +01:00
Sam Germain e5d68f12d2 Added liquidation_buffer to freqtradebot 2022-02-11 19:38:58 +01:00
Matthias d0adc4ee62
Merge pull request #6391 from lukasgor/lg/feat/add-buy-tag-to-forcebuy
feature: add buy tag to forcebuy
2022-02-11 19:37:46 +01:00
Matthias c9cfc246f1 Sort /forcebuy pairs alphabetically, add cancel button
closes #6389
2022-02-11 19:37:35 +01:00
Matthias f79873307d Run CI on feat/short branch 2022-02-11 19:16:57 +01:00
Matthias 0c6d92a7a6 Merge branch 'develop' into feat/short 2022-02-11 17:02:04 +01:00
lukasgor 6511b3bec2 fix: rename buy_tag to entry_tag 2022-02-11 15:31:15 +01:00
lukasgor d563bfc3d0 feature: add buy tag to forcebuy 2022-02-11 13:38:33 +01:00
Matthias 7237aa7edb
Merge pull request #6385 from samgermain/bin-stop 2022-02-10 19:51:59 +01:00
Matthias 6a59103869 update wallets in backtesting to ensure a fresh wallet is used
closes #6388
2022-02-10 19:40:36 +01:00
Matthias 7c66f2776d
Merge pull request #6384 from samgermain/compat-contract
test_ccxt__get_contract_size
2022-02-10 19:07:04 +01:00
Sam Germain 553da850ce binance futures stoploss 2022-02-10 09:43:32 -06:00
Sam Germain 52fed6e779 test_ccxt__get_contract_size 2022-02-10 06:59:43 -06:00
Matthias be84a028c1 Avoid mixed types in the api for /stats 2022-02-10 07:03:19 +01:00
Matthias af984bdc0d Update comment regarting NaT replacement 2022-02-09 09:32:53 +01:00
Matthias 2e41d80a2c
Merge pull request #6340 from TheJoeSchr/frequi-datetime
freqUI: fix can't import backtest with missing datetime data
2022-02-09 07:21:30 +01:00
Matthias 7252cf47fb Update url to include campaign tracking 2022-02-09 07:20:27 +01:00
Matthias 9f47853661
Merge pull request #6235 from freqtrade/backtest_order_timeout
Backtest order timeout
2022-02-09 07:12:35 +01:00
Matthias 45c03f1440 Docstrings are evaluated, while comments are not 2022-02-09 07:02:44 +01:00
Matthias a6a041526a Update intro message 2022-02-09 06:57:46 +01:00
Matthias 1ba9b70afc Improve index/readme wording 2022-02-09 06:57:46 +01:00
Matthias 6d3803fa22 Add TokenBot promo 2022-02-09 06:57:46 +01:00
Matthias 4e2f06fe9c Simplify band-aid code 2022-02-09 06:48:26 +01:00
Matthias 6191288ff9 Add test for NaT problematic 2022-02-09 06:36:17 +01:00
Matthias 1d10d2c87c Okex -> okx 2022-02-08 19:45:39 +01:00
Matthias 172e018d2d Add probit to list of non-working exchanges
closes #6379
2022-02-08 19:21:27 +01:00
Matthias dcf8ad36f9 Backtesting should not allow unrealistic (automatic-filling) orders. 2022-02-08 19:12:01 +01:00
Joe Schr 926b017981 Fix freqUI charts not displaying when dtype(datetime) column has NaT values
fix dataframe_to_dict() issues by replacing NaT empty string and
prepare for proper `.replace({NaT})` fix
2022-02-08 17:09:37 +01:00
Joe Schr 118ae8a3d0 Fix api_schemas/json_encoders by manually converting NaT values to empty Strings
makes import of datetime columns more robust by first checking
if value is null because strftime can't handle NaT values

use `isnull()` because it handles all NaN/None/NaT cases
2022-02-08 17:09:29 +01:00
Matthias b192c82731 Only call "custom_exit_price" for limit orders 2022-02-08 07:10:54 +01:00
Matthias d2dbe8f8d0 Improve doc wording 2022-02-08 06:47:55 +01:00
Matthias 535bbd681f
Merge pull request #6362 from ediziks/add-profit-drawdown-hypeloss
Add ProfitDrawdownHyperoptLoss method
2022-02-07 19:37:35 +01:00
Matthias 85767d0d70 Add timedout_*_orders to tests 2022-02-07 19:33:22 +01:00
Matthias 036c2888b4 Track timedout entry/exit orders 2022-02-07 18:49:30 +01:00
Matthias 380e383eee Add log_Responses to full config example
#6374
2022-02-07 18:38:28 +01:00
Matthias 3a60709f16
Merge pull request #6368 from freqtrade/dependabot/pip/develop/uvicorn-0.17.4
Bump uvicorn from 0.17.1 to 0.17.4
2022-02-07 18:28:33 +01:00
Matthias ce9de243b7
Merge pull request #6375 from samgermain/todos
deleted outdated todos
2022-02-07 15:24:20 +01:00
zx 4bce64b427 commented method deletition 2022-02-07 14:12:07 +01:00
Sam Germain 33b04b1992 deleted outdated todos 2022-02-07 02:47:18 -06:00
Matthias 5f886e7ffe
Merge pull request #6363 from stash86/pos_adjust
Change "buy" and "sell" to "entry" and "exit"
2022-02-07 09:22:36 +01:00
Stefano Ariestasia 92d1f2b945 fix tests 2022-02-07 07:31:35 +00:00
zx 7811a36ae9 max_drawdown_abs calc fix & .DS_Store deletition 2022-02-07 07:44:13 +01:00
Matthias 5047492f5a gitignore .ds_store files 2022-02-07 07:20:55 +01:00
Matthias 36dad186fd
Merge pull request #6367 from freqtrade/dependabot/pip/develop/types-requests-2.27.8
Bump types-requests from 2.27.7 to 2.27.8
2022-02-07 07:03:19 +01:00
Matthias 2d979b84bf
Merge pull request #6369 from freqtrade/dependabot/pip/develop/numpy-1.22.2
Bump numpy from 1.22.1 to 1.22.2
2022-02-07 07:03:08 +01:00
Matthias 48ff2b3baa
Merge pull request #6365 from freqtrade/dependabot/pip/develop/pytest-7.0.0
Bump pytest from 6.2.5 to 7.0.0
2022-02-07 06:32:46 +01:00
zx 8cdb6e0774 DRAWDOWN_MULT back to a higher value as built-in for safer HOs first 2022-02-07 06:31:16 +01:00
Matthias 39a0cef922
Merge pull request #6371 from freqtrade/dependabot/pip/develop/python-telegram-bot-13.11
Bump python-telegram-bot from 13.10 to 13.11
2022-02-07 06:28:46 +01:00
dependabot[bot] f31fa07b3f
Bump numpy from 1.22.1 to 1.22.2
Bumps [numpy](https://github.com/numpy/numpy) from 1.22.1 to 1.22.2.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/HOWTO_RELEASE.rst.txt)
- [Commits](https://github.com/numpy/numpy/compare/v1.22.1...v1.22.2)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 05:28:26 +00:00
Matthias 548b9e75f3
Merge pull request #6364 from freqtrade/dependabot/pip/develop/scipy-1.8.0
Bump scipy from 1.7.3 to 1.8.0
2022-02-07 06:28:25 +01:00
Matthias 37ea07a45d
Merge pull request #6366 from freqtrade/dependabot/pip/develop/ccxt-1.72.36
Bump ccxt from 1.71.73 to 1.72.36
2022-02-07 06:27:28 +01:00
Matthias 5221194318
Merge pull request #6370 from freqtrade/dependabot/pip/develop/mkdocs-material-8.1.10
Bump mkdocs-material from 8.1.9 to 8.1.10
2022-02-07 06:27:10 +01:00
zx 2893d0b50d proper var name 2022-02-07 06:22:27 +01:00
dependabot[bot] 94b546228b
Bump python-telegram-bot from 13.10 to 13.11
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 13.10 to 13.11.
- [Release notes](https://github.com/python-telegram-bot/python-telegram-bot/releases)
- [Changelog](https://github.com/python-telegram-bot/python-telegram-bot/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-telegram-bot/python-telegram-bot/compare/v13.10...v13.11)

---
updated-dependencies:
- dependency-name: python-telegram-bot
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 03:01:48 +00:00
dependabot[bot] b8af4bf8fe
Bump mkdocs-material from 8.1.9 to 8.1.10
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.9 to 8.1.10.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.9...8.1.10)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 03:01:43 +00:00
dependabot[bot] 110a270a0b
Bump uvicorn from 0.17.1 to 0.17.4
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.17.1 to 0.17.4.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.17.1...0.17.4)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 03:01:31 +00:00
dependabot[bot] 576d5a5b48
Bump types-requests from 2.27.7 to 2.27.8
Bumps [types-requests](https://github.com/python/typeshed) from 2.27.7 to 2.27.8.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 03:01:29 +00:00
dependabot[bot] 1e43683283
Bump ccxt from 1.71.73 to 1.72.36
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.71.73 to 1.72.36.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.71.73...1.72.36)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 03:01:27 +00:00
dependabot[bot] 22e395af87
Bump pytest from 6.2.5 to 7.0.0
Bumps [pytest](https://github.com/pytest-dev/pytest) from 6.2.5 to 7.0.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/6.2.5...7.0.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 03:01:18 +00:00
dependabot[bot] e24c837e1f
Bump scipy from 1.7.3 to 1.8.0
Bumps [scipy](https://github.com/scipy/scipy) from 1.7.3 to 1.8.0.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.7.3...v1.8.0)

---
updated-dependencies:
- dependency-name: scipy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 03:01:13 +00:00
Stefano Ariestasia 099a03f190 flake8 2022-02-07 01:52:59 +00:00
Stefano Ariestasia 6d91a5ecbd Change "buy" and "sell" to "entry" and "exit" 2022-02-07 01:40:05 +00:00
zx 7d3b80fbde isort fix and leftover cleaning 2022-02-06 21:09:40 +01:00
Matthias fe33b86308
Merge pull request #6360 from stash86/pos_adjust
Hide some lines for /status when a trade is closed
2022-02-06 17:08:37 +01:00
Italo d03378b1df Update hyperopt.py 2022-02-06 15:32:59 +00:00
zx 6b5f63d4d6 change profit_ratio by profit_abs 2022-02-06 16:28:01 +01:00
Matthias ee2a7a968b Add tests for /status on closed trades 2022-02-06 16:26:00 +01:00
Matthias 5eb5029856 Performancefilter - improve sorting
Ordering of Pairs without history should remain identical, so pairs with
positive performance move to the front, and negative pairs move to the back.

closes #4893
2022-02-06 16:19:11 +01:00
Matthias ef086d438c Update PerformanceFilter test to run with USDT pairs 2022-02-06 16:03:14 +01:00
Matthias c19f3950da Add losing trade to usdt_mock_trades 2022-02-06 16:02:18 +01:00
zx 0b01fcf047 Add ProfitDrawdownHyperoptLoss method 2022-02-06 15:40:54 +01:00
Matthias 303b12efd8
Merge pull request #6273 from freqtrade/pg_migrations
Update database migrations for PG and mariadb
2022-02-06 14:39:02 +01:00
Matthias b657d2d8de Add Github funding 2022-02-06 14:38:20 +01:00
Matthias 7232324eb7 Update missing doc segment 2022-02-06 14:33:31 +01:00
Matthias da73e754b4 Explicit map coingecko symbol to ID for bnb and sol
closes #6361
2022-02-06 14:20:09 +01:00
Matthias 8f2425e49f Add rudimentary tests for pg-specific stuff 2022-02-06 14:06:46 +01:00
Matthias 644442e2f9 Track timedout orders 2022-02-06 13:37:31 +01:00
Matthias 17d748dd4c Improve handling of left_open_trades 2022-02-06 13:19:00 +01:00
Matthias c5e0daf2d3
Merge pull request #6358 from Bloodhunter4rc/patch-1
Update setup.sh / correct minimum required python version
2022-02-06 13:15:03 +01:00
Italo adf8f6b2d5 Update hyperopt.py 2022-02-06 10:33:49 +00:00
Stefano Ariestasia 2a3ab1ef61 1 more line to be hidden 2022-02-06 07:08:27 +00:00
Matthias 6b9696057d Update documentation to require python3.8 everywhere 2022-02-06 07:47:10 +01:00
Matthias 412fe65344
Merge pull request #6316 from samgermain/max-amount
exchange.get_max_pair_stake_amount
2022-02-06 07:44:29 +01:00
Stefano Ariestasia 4cf514e293 fix flake8 2022-02-06 03:16:56 +00:00
Stefano Ariestasia 131b2d68d8 reduce complexity (flake8) 2022-02-06 03:04:23 +00:00
Stefano Ariestasia 0477070faa hide some lines if trade is closed 2022-02-06 02:49:02 +00:00
Stefano Ariestasia c4a54cc9cd refinement of status 2022-02-06 02:31:14 +00:00
Stefano Ariestasia cfaf13c90f update 2022-02-06 02:21:16 +00:00
Italo 6c1729e20b ignore warnings 2022-02-06 01:07:30 +00:00
Sam Germain e0d42ad9a7
Update backtesting.py 2022-02-05 18:29:48 -06:00
Italo 6a4cae1f8c Update hyperopt.py 2022-02-06 00:17:48 +00:00
Bloodhunter4rc 82006ff1db
Update setup.sh 2022-02-05 22:19:42 +01:00
Italo 992eac9efa Update hyperopt.py 2022-02-05 17:36:19 +00:00
Matthias 2c5f7adf28
Merge pull request #6354 from samgermain/ccxt-compat-max-lev
wrote ccxt_compat.test_get_max_leverage_spot test_get_max_leverage_fu…
2022-02-05 17:14:33 +01:00
Matthias 870708a72a Version bump ccxt 2022-02-05 16:35:05 +01:00
Matthias 22173851d6 Detail tests for custom exit pricing 2022-02-05 16:28:47 +01:00
Matthias 2a59ef7311 Add detail tests for timeout behaviour 2022-02-05 16:28:47 +01:00
Matthias 808cefe526 Update order_selection logic 2022-02-05 16:28:47 +01:00
Matthias 9bf86bbe27 Extract backtesting row validation to separate function 2022-02-05 16:28:47 +01:00
Matthias 58fad72778 Update wallets when necessary
closes #6321
2022-02-05 16:28:47 +01:00
Matthias e08006ea25 Adjust tests to use order Object 2022-02-05 16:28:47 +01:00
Matthias 4ea79a32e4 Use Order object for ft_timeout check 2022-02-05 16:28:47 +01:00
Matthias 1e603985c5 Extract backtesting order cancelling 2022-02-05 16:28:47 +01:00
Matthias 6637dacd7f Extract protections in backtesting 2022-02-05 16:28:47 +01:00
Matthias 7ac44380f7 Extract backtest order closing to models class 2022-02-05 16:28:46 +01:00
Matthias 090554f197 Try fill backtest order imediately for adjusted order 2022-02-05 16:28:21 +01:00
Matthias f4149ee462 Force ROI to be within candle 2022-02-05 16:28:21 +01:00
Matthias 44e616c264 Add unfilledtimeout to required props for backtesting 2022-02-05 16:28:21 +01:00
Matthias 49cecf1cb2 Small cosmetic fix 2022-02-05 16:28:21 +01:00
Rokas Kupstys 9140679bf4 Backtest order timeout continued. 2022-02-05 16:28:21 +01:00
Rokas Kupstys 15698dd1ca Fix errors so it runs, implement timeout handling. 2022-02-05 16:28:21 +01:00
Matthias f7a1cabe23 Add first version to fill orders "later" in backtesting 2022-02-05 16:28:21 +01:00
Matthias c12e5a3b6c Initial idea backtesting order timeout 2022-02-05 16:28:21 +01:00
Matthias 6ed237a72a
Merge pull request #6272 from stash86/fix-docs
Add more info on Telegram's status message
2022-02-05 16:22:45 +01:00
Sam Germain b5d10d1b2e updated ccxt 2022-02-05 08:18:05 -06:00
Sam Germain ce676a9dd7 wrote ccxt_compat.test_get_max_leverage_spot test_get_max_leverage_futures 2022-02-04 17:55:49 -06:00
Sam Germain 8b57827676 exchange.get_max_pair_stake_amount hard set leverage to 0 2022-02-04 14:26:15 -06:00
Matthias 06387478b5
Merge pull request #6341 from TheJoeSchr/backtest-filename
Plotting: add alias `--backtest-filename` for `--export-filename`
2022-02-04 16:31:03 +01:00
Joe Schr 761f7fdefb fix: linter 2022-02-04 13:14:55 +01:00
Joe Schr e84a58de28 fix: don't use different configuration keys, just add as 2nd argument 2022-02-04 12:47:13 +01:00
Joe Schr a3e045f69d Plotting: add alias `--backtest-filename` for `--export-filename`
makes it easier to discover how to use this argument
2022-02-04 12:47:13 +01:00
Sam Germain c0a593280e test_exchange.test_cancel_order_dry_run pass leverage to create_order 2022-02-04 04:54:16 -06:00
Sam Germain dc6cb445fd Merge branch 'feat/short' into max-amount 2022-02-04 04:42:38 -06:00
Sam Germain cc3cb645f3 Merge branch 'max-amount' of https://github.com/samgermain/freqtrade into max-amount 2022-02-04 04:41:54 -06:00
Sam Germain 1824ee6b73 removed TODO 2022-02-04 04:41:41 -06:00
Matthias 6afad6c99f Small change to todo comment 2022-02-04 07:20:27 +01:00
Matthias 5cc2a15b02
Merge pull request #6349 from samgermain/todos
Todos
2022-02-04 07:20:18 +01:00
Sam Germain e7d71d01c0 removed plotting todo 2022-02-03 20:39:47 -06:00
Sam Germain 3ee2b7978c wallets.validate_stake_amount added param max_stake_available 2022-02-03 20:33:16 -06:00
Sam Germain 30c476e3c1 freqtradebot.get_valid_enter_price_and_stake gets min of stake_amount and max_stake_amount before calling wallets.validate_stake_amount 2022-02-03 20:33:16 -06:00
Sam Germain a50f4d2c57 Exchange.createOrder added * as second param 2022-02-03 20:33:16 -06:00
Sam Germain 16c2d54482 updated margin_modes 2022-02-03 20:33:16 -06:00
Sam Germain 7465037906 freqtradebot.execute_entry test for too high stake amount 2022-02-03 20:33:16 -06:00
Sam Germain c5cfd971f5 get_max_pair_stake_amount_tests 2022-02-03 20:33:16 -06:00
Sam Germain 8c680d75b9 moved max_stake_amount check for None to exchange.get_max_pair_stake_amount 2022-02-03 20:33:16 -06:00
Sam Germain 6b6b35ac1c check for max stake limit in freqtradebot and backtesting 2022-02-03 20:33:04 -06:00
Sam Germain 55d91f018f exchange._get_stake_amount_limit (merged min_pair_stake_amount and get_max_tradeable amount) 2022-02-03 20:33:04 -06:00
Sam Germain ff5fffefb4 exchange.get_max_amount_tradable looks at cost also 2022-02-03 20:33:03 -06:00
Sam Germain 6e8420914e removed unnecessary CCXT checks in exchange.get_min_pair_stake_amount 2022-02-03 20:33:03 -06:00
Sam Germain 64ad810445 Revert "moved get_max_leverage to get_min_pair_stake_amount"
This reverts commit 90e48d5b98bcfb1452aa818a3274745eac395712.
2022-02-03 20:33:03 -06:00
Sam Germain 73319a74d3 moved get_max_leverage to get_min_pair_stake_amount 2022-02-03 20:33:03 -06:00
Sam Germain f3b42b0ef3 wrote exchange.get_max_amount_tradable 2022-02-03 20:33:03 -06:00
Sam Germain de557f1386 models.update removed TODO-lev 2022-02-03 17:48:34 -06:00
Sam Germain 99b8a8ca79 Revert "plot.generate_candlestick_graph Added short equivelent, separating plotting scatter creation to a function"
This reverts commit 0abba7f9b7299ba3c45df6a2ba6e35ad6a19c5a0.
2022-02-03 17:48:34 -06:00
Sam Germain 84dea0339b Added todo to freqtradebot._safe_exit_amount 2022-02-03 17:48:34 -06:00
Sam Germain edc0e9c75f backtesting._get_ohlcv_as_lists changed candle_type to candle_type_def 2022-02-03 17:48:34 -06:00
Sam Germain 1f74cfe841 plot.generate_candlestick_graph Added short equivelent, separating plotting scatter creation to a function 2022-02-03 17:48:34 -06:00
Sam Germain a31cf236e4 freqtradebot._safe_exit_amount, no _safe_exit_amount is needed for futures 2022-02-03 17:48:34 -06:00
Sam Germain d5376c2c89 wrote freqtradebot.test_leverage_prep 2022-02-03 17:48:33 -06:00
Sam Germain 977f87659c edited backtesting._get_sell_trade_entry TODO: removed "Other fees" 2022-02-03 17:48:33 -06:00
Sam Germain c47c54c16c removed strategy_test_v3.populate_sell_trend # TODO-lev: Add short logic, because it looked like the short logic was already there 2022-02-03 17:48:33 -06:00
Sam Germain 73d10b5c02 backtesting._get_ohlcv_as_lists removed # TODO-lev: Candle-type should be conditional, either "spot" or futures 2022-02-03 17:48:33 -06:00
Sam Germain 64bfa118e0 freqtradebot.handle_cancel_enter todo - Check edge cases, we dont want to make leverage > 1.0 if we dont have to 2022-02-03 17:48:33 -06:00
Sam Germain bc6614df2d fixed failing tests in tests/commands/test_commands.py by adding NONE='' option to MarginMode 2022-02-03 17:48:33 -06:00
Sam Germain f58b92bb86 exchange.create_order removed default for leverage 2022-02-03 17:48:08 -06:00
Matthias f8faf748df Simplify prepare_buy_details 2022-02-03 19:47:03 +01:00
Matthias 1e6362debf Add test for new /status telegram message 2022-02-03 19:41:45 +01:00
Matthias 29879bb415 Update wording to entry/exit 2022-02-03 19:11:35 +01:00
Matthias d6482066ef
Merge pull request #6348 from freqtrade/new_release
New release 2022.1
2022-02-03 12:29:04 +01:00
Matthias a733a74dd9
Merge pull request #6294 from xataxxx/health
/health api and telegram commands to return last processing time
2022-02-02 19:53:45 +01:00
Matthias a4e1aaa9bd
Merge pull request #6307 from freqtrade/bt_shift
Remove shift in analyzed dataframe columns
2022-02-02 19:52:10 +01:00
Matthias 2d45163f8f Bump version to 2022.1 2022-02-02 19:46:48 +01:00
Matthias e95fb7ef3e Merge branch 'stable' into new_release 2022-02-02 19:46:33 +01:00
Sam Germain 09f0e7149f test__fetch_and_calculate_funding_fees_datetime_called # TODO-lev: test for longs 2022-02-02 12:42:13 -06:00
Sam Germain 179947fa72
New config (#6333)
* updated new-config to add trading_mode and margin_mode

* added trading_mode and margin_mode to config examples

* added okex config example

* new file:   config_examples/config_binance_futures.example.json

* removed trading_mode and margin_mode from base_config and binance and okex example

* deleted okex and futures config files

* updated full config file

* updated new-config command to add trading_mode and margin_mode to config

* new file:   config_examples/config_okex_futures.example.json

* removed config_okex_futures.example.json

* added trading_mode to test_start_new_config

* new-config asks exchange before asking futures

* Simplify trading_mode selection

* margin_mode is empty string for spot new configs

* build_config_commands sorted exchanges

* isort

Co-authored-by: Matthias <xmatthias@outlook.com>
2022-02-02 14:46:44 +01:00
Matthias 0058abcc2d Fix crash when no min-stake-amount could be determined 2022-02-02 12:20:05 +01:00
Matthias c3684e8a1a
Merge pull request #6346 from samgermain/minor-fixes
Minor fixes for feat/short
2022-02-02 07:46:17 +01:00
Sam Germain a741356d65 okex._lev_prep, removing rounding from default set_leverage 2022-02-02 00:28:57 -06:00
Sam Germain 8e51360f75 exchange._set_leverage rounds leverage 2022-02-02 00:09:58 -06:00
Sam Germain 8a64f6a27f exchange.set_margin_mode param swap 2022-02-02 00:09:53 -06:00
Sam Germain 386be2d889 set reduceOnly for futures exit orders 2022-02-02 00:08:50 -06:00
Sam Germain b3477c4802 _api.fetch_funding_history argument pair->symbol 2022-02-02 00:08:50 -06:00
Matthias fb4f8d94fb
Merge pull request #6342 from samgermain/name-changes
Changed name Collateral to MarginMode, and collateral to margin_mode
2022-02-02 07:04:29 +01:00
Matthias 170152d620 Add note about plot-dataframe not supproting futures mode
part of #6224
2022-02-02 06:50:54 +01:00
Matthias ac04d5852a change to margin_mode also in documentation 2022-02-02 06:41:42 +01:00
Matthias 5aa683006c
Merge pull request #6337 from TheJoeSchr/patch-8
docs: fix typo and fix markdown list rendering
2022-02-01 20:45:06 +01:00
Sam Germain 30519aa3be Changed name Collateral -> MarginMode, collateral -> margin_mode, and _supported_trading_mode_margin_pairs -> _supported_trading_margin_pairs 2022-02-01 13:05:40 -06:00
Matthias 64d0c75bbb Fix deprecation warnings 2022-02-01 19:11:51 +01:00
Matthias d96a354a3e Version bump ccxt to 1.71.73
closes #6339
2022-02-01 18:50:22 +01:00
Matthias 45e533fc3e Add leverage/short properties to api responses 2022-02-01 07:08:43 +01:00
Matthias 7dd50f78cf Small finetuning improving a comment 2022-02-01 06:37:13 +01:00
Matthias 2141e04a19
Merge pull request #5849 from freqtrade/isolated-liq
Isolated liq
2022-02-01 06:36:46 +01:00
Matthias 479b560549 Add missing entry_tag argument to custom_entry_tag documentation 2022-02-01 06:15:57 +01:00
Italo ef03f2f3d2 Merge branch 'freqtrade-develop' into plot_hyperopt_stats 2022-02-01 01:07:15 +00:00
Italo 328b969801 Merge branch 'develop' of https://github.com/freqtrade/freqtrade into freqtrade-develop 2022-02-01 01:06:57 +00:00
Sam Germain fc15e14707 Merge branch 'feat/short' into isolated-liq 2022-01-31 14:22:01 -06:00
Sam Germain ed320bb2ac exchange.get_liquidation_price check length of positions 2022-01-31 14:01:06 -06:00
Sam Germain 9de63412c1 exchange.get_liquidation_price arguments are not optional 2022-01-31 14:00:52 -06:00
Sam Germain 6c4325b7a2 confest markets removed futures values from ETH/USDT 2022-01-31 13:44:57 -06:00
Matthias d653d6bfc0
Merge pull request #6332 from samgermain/binance-max-lev
Binance max lev
2022-01-31 20:26:57 +01:00
TheJoeSchr 1a838680e7 docs: fix typo and fix markdown list rendering 2022-01-31 20:23:02 +01:00
Matthias 2c492abc1e
Merge pull request #6336 from TheJoeSchr/patch-7
Docs: fix typo in strategy-callbacks.md
2022-01-31 20:22:12 +01:00
Sam Germain 430051275a freqtradebot.leverage_prep moved wallet_balance to a variable 2022-01-31 13:21:27 -06:00
Sam Germain 8b9abd0051 test_get_maintenance_ratio_and_amt_gateio removed commented test that returns None 2022-01-31 13:18:31 -06:00
Matthias de17993705 Fix random test failure when local config is found 2022-01-31 20:09:25 +01:00
TheJoeSchr f35c6545c1
Update strategy-callbacks.md
fix typo
2022-01-31 20:04:19 +01:00
Sam Germain 8190b0d83b binance.get_max_leverage adjustment 2022-01-31 12:49:18 -06:00
Sam Germain a368f8b322 exchange.get_max_leverage changed variable names, made more effecient 2022-01-31 12:21:12 -06:00
Sam Germain 08e4a4a6dd binance.get_max_leverage_fix 2022-01-31 12:21:12 -06:00
Sam Germain 43db4c34d1 added okex back to unsupported exchanges 2022-01-31 12:18:30 -06:00
Sam Germain 2c1497b348 contracts_to_amount no longer in amount_to_precision 2022-01-31 12:18:30 -06:00
Sam Germain b8f4cebce7 exchange.liquidation_price methods combined, dry_run check on exchange for liquidation price 2022-01-31 12:18:25 -06:00
Sam Germain 143c37d36f cleaned up liquidation price methods 2022-01-31 12:17:07 -06:00
Sam Germain ede9012fcc removed TODO-levs about okex liquidation price 2022-01-31 12:17:07 -06:00
Sam Germain d133a7c789 added isolated, futures to okex trading_mode_collateral_pairs 2022-01-31 12:17:07 -06:00
Sam Germain 88ce66650c Okex and Gateio liquidation_price formula are the same, moved liquidation_price to exchange.exchange class 2022-01-31 12:17:07 -06:00
Sam Germain 7f4894d68e okex.liquidation_price formula update 2022-01-31 12:17:07 -06:00
Sam Germain fe037aa971 exchange.liquidation_price combined position and position_assets 2022-01-31 12:17:07 -06:00
Sam Germain 0b5c2e97b3 exchange._get_maintenance_ratio_and_amount 2022-01-31 12:17:07 -06:00
Sam Germain e91aaa7d64 removed isolated_liq= 2022-01-31 12:16:43 -06:00
Sam Germain 5cf54bee4d removed excess decimals in test_binance 2022-01-31 12:16:43 -06:00
Sam Germain 0c13e387fe moved liquidation_price method to exchange classes 2022-01-31 12:16:43 -06:00
Sam Germain 5a97760bd1 binance.get_max_leverage divide by 0 warning 2022-01-31 12:16:43 -06:00
Sam Germain 1f8111d1c6 exchange.get_max_leverage pair is required 2022-01-31 12:16:43 -06:00
Sam Germain caff7e227f binance.fill_leverage_brackets remove excess bracket 2022-01-31 12:16:43 -06:00
Sam Germain e4b37c6462 freqtradebot.leverage_prep minor fixes 2022-01-31 12:16:43 -06:00
Sam Germain 1f1ac8ce9d test_get_liquidation_price/test_get_maintenance_ratio_and_amt_binance/fill_leverage_brackets/test_validate_trading_mode_and_collateral TODO comments 2022-01-31 12:16:43 -06:00
Sam Germain c2f9201512 Added get_liquidation_price check 2022-01-31 12:16:43 -06:00
Sam Germain bb2b2211d0 exchange.fill_leverage_brackets/get_maintenance_ratio_and_amt docstring and type specification 2022-01-31 12:16:43 -06:00
Sam Germain b4a0611afc exchange.get_liquidation_price removed irrelevant comment 2022-01-31 12:16:43 -06:00
Sam Germain 0c8205ab3b replace single quote docstrings with double quote docstrings 2022-01-31 12:16:43 -06:00
Sam Germain 7abffee755 liquidation_price formula organize and comment clean up 2022-01-31 12:16:43 -06:00
Sam Germain 387a9fbf36 test_execute_entry liquidation_price test test_get_maintenance_ratio_and_amt_gateio 2022-01-31 12:16:38 -06:00
Sam Germain 2d545a2def fixed breaking tests for liquidation price 2022-01-31 12:15:54 -06:00
Sam Germain 1eee5373b9 gateio.get_maintenance_ratio_and_amt 2022-01-31 12:15:54 -06:00
Sam Germain 8889512887 freqtradebot.leverage_prep gets taker_fee_rate 2022-01-31 12:15:54 -06:00
Sam Germain bff53c52af rewrite fill_leverage_brackets 2022-01-31 12:15:54 -06:00
Sam Germain 69a6223ca0 implemented binance.get_maintenance_ratio_and_amt 2022-01-31 12:15:54 -06:00
Sam Germain ba5fc21d84 added isolated futures to supported modes for binance,gateio 2022-01-31 12:15:54 -06:00
Sam Germain e0df7ee72a Changed variable names in binance.get_max_leverage 2022-01-31 12:15:54 -06:00
Sam Germain 42360592ba trimmed down liquidation_price variable and edited comments 2022-01-31 12:15:54 -06:00
Sam Germain 5796d95a95 Added gateio and okex isolated liquidation formulas 2022-01-31 12:15:54 -06:00
Sam Germain ba02605d77 Isolated liq branch passes all tests and has the general structure that it is supposed to, but is patchy, and doesnt get the correct maintenance amt and maintenance margin rate yet 2022-01-31 12:15:54 -06:00
Sam Germain eee7271ab8 Added live isolated-liq get 2022-01-31 12:15:54 -06:00
Arunavo Ray 778e3bcba6 Suppress incompatible type "Optional[float]"; expected "float" as the check exists. 2022-01-31 12:15:54 -06:00
Sam Germain 92c94bb62a added position and wallet_balance to LocalTrade.set_isolated_liq 2022-01-31 12:15:54 -06:00
Arunavo Ray 447312d4c8 Fixed parameter check which failed when 0.0 was passed 2022-01-31 12:15:54 -06:00
Sam Germain d26a068adf rearanged isolated_liq in models a bit 2022-01-31 12:15:54 -06:00
Arunavo Ray 3709130eb7 Added Tests for Binance Liquidation price, shortened liquidation param names 2022-01-31 12:15:54 -06:00
Arunavo Ray f9a2d1a71d Binance Liquidation Price Hedge-Mode Removed 2022-01-31 12:15:54 -06:00
Arunavo Ray 7119dc6e41 Converted kwargs to params 2022-01-31 12:15:54 -06:00
Sam Germain 80f4bae3fe Revert "Added Formulas to Calculate Liquidation Price of Binance USDⓈ-M Futures Contracts"
This reverts commit d343e84507.
2022-01-31 12:15:54 -06:00
Sam Germain b30458f871 Revert "Added Margin Mode Check for Binance."
This reverts commit abcb9729e5.
2022-01-31 12:15:54 -06:00
Arunavo Ray 1299cff894 Added Margin Mode Check for Binance. 2022-01-31 12:15:54 -06:00
Arunavo Ray 60454334d9 Added Formulas to Calculate Liquidation Price of Binance USDⓈ-M Futures Contracts 2022-01-31 12:15:54 -06:00
Sam Germain fe5e00361e separated test_leverage into test_interest and test_liquidation_price, and paramaterized tests 2022-01-31 12:15:54 -06:00
Sam Germain a087d03db9 Added liquidation_price function 2022-01-31 12:15:54 -06:00
Matthias f10ef7f2da
Merge pull request #6334 from samgermain/todo
Removed PrecisionFilter liquidation price TODO-lev
2022-01-31 19:09:07 +01:00
Sam Germain da0d2590b9 Removed PrecisionFilter liquidation price TODO-lev 2022-01-31 12:06:04 -06:00
Matthias be866f04fa
Merge pull request #6330 from samgermain/market-checks
Removed unnecessary CCXT market checks
2022-01-31 19:01:59 +01:00
Matthias 1b063739c0
Merge pull request #6331 from samgermain/todo
Todo-levs
2022-01-31 15:42:45 +01:00
Sam Germain 689174ea0d removed TODO-lev comments 2022-01-31 04:12:37 -06:00
Sam Germain 779b82b5b4 fixed test_get_min_pair_stake_amount by adding amount.min/max and cost.min/max to all markets 2022-01-31 03:02:17 -06:00
Sam Germain 5af3e1600d updated conftest to have limit keys and contractSize on every market 2022-01-31 03:01:44 -06:00
Sam Germain 29c5dfd4ca Removed unnecessary CCXT market checks 2022-01-31 02:40:10 -06:00
Matthias b3e36def34
Merge pull request #6329 from freqtrade/dependabot/pip/develop/prompt-toolkit-3.0.26
Bump prompt-toolkit from 3.0.24 to 3.0.26
2022-01-31 07:00:42 +01:00
Matthias c53122ed02
Merge pull request #6323 from freqtrade/dependabot/pip/develop/mkdocs-material-8.1.9
Bump mkdocs-material from 8.1.8 to 8.1.9
2022-01-31 07:00:28 +01:00
Matthias d10d84adf3
Merge pull request #6326 from freqtrade/dependabot/pip/develop/uvicorn-0.17.1
Bump uvicorn from 0.17.0 to 0.17.1
2022-01-31 07:00:12 +01:00
Matthias aac6d15a1d
Merge pull request #6327 from freqtrade/dependabot/pip/develop/pytest-mock-3.7.0
Bump pytest-mock from 3.6.1 to 3.7.0
2022-01-31 06:58:58 +01:00
Matthias faa23949b5
Merge pull request #6324 from freqtrade/dependabot/pip/develop/nbconvert-6.4.1
Bump nbconvert from 6.4.0 to 6.4.1
2022-01-31 06:56:08 +01:00
Matthias 677a14ddde
Merge pull request #6322 from freqtrade/dependabot/pip/develop/ccxt-1.71.46
Bump ccxt from 1.70.45 to 1.71.46
2022-01-31 06:55:43 +01:00
Matthias d4ca2e5767
Merge pull request #6325 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.9
Bump types-python-dateutil from 2.8.8 to 2.8.9
2022-01-31 06:55:13 +01:00
Matthias ab3c6a7ee4
Merge pull request #6328 from freqtrade/dependabot/pip/develop/arrow-1.2.2
Bump arrow from 1.2.1 to 1.2.2
2022-01-31 06:54:52 +01:00
dependabot[bot] bc5adc0188
Bump prompt-toolkit from 3.0.24 to 3.0.26
Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.24 to 3.0.26.
- [Release notes](https://github.com/prompt-toolkit/python-prompt-toolkit/releases)
- [Changelog](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/CHANGELOG)
- [Commits](https://github.com/prompt-toolkit/python-prompt-toolkit/compare/3.0.24...3.0.26)

---
updated-dependencies:
- dependency-name: prompt-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-31 03:01:46 +00:00
dependabot[bot] 65526e9803
Bump arrow from 1.2.1 to 1.2.2
Bumps [arrow](https://github.com/arrow-py/arrow) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/arrow-py/arrow/releases)
- [Changelog](https://github.com/arrow-py/arrow/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/arrow-py/arrow/compare/1.2.1...1.2.2)

---
updated-dependencies:
- dependency-name: arrow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-31 03:01:42 +00:00
dependabot[bot] 8a9b70cc49
Bump pytest-mock from 3.6.1 to 3.7.0
Bumps [pytest-mock](https://github.com/pytest-dev/pytest-mock) from 3.6.1 to 3.7.0.
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases)
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-mock/compare/v3.6.1...v3.7.0)

---
updated-dependencies:
- dependency-name: pytest-mock
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-31 03:01:34 +00:00
dependabot[bot] ab5c1e6c1e
Bump uvicorn from 0.17.0 to 0.17.1
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.17.0 to 0.17.1.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.17.0...0.17.1)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-31 03:01:31 +00:00
dependabot[bot] 15dbdfe130
Bump types-python-dateutil from 2.8.8 to 2.8.9
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-31 03:01:27 +00:00
dependabot[bot] dbf2226841
Bump nbconvert from 6.4.0 to 6.4.1
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 6.4.0 to 6.4.1.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Commits](https://github.com/jupyter/nbconvert/compare/6.4.0...6.4.1)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-31 03:01:25 +00:00
dependabot[bot] 7d066d81c1
Bump mkdocs-material from 8.1.8 to 8.1.9
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.8 to 8.1.9.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.8...8.1.9)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-31 03:01:22 +00:00
dependabot[bot] 287e90af8e
Bump ccxt from 1.70.45 to 1.71.46
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.70.45 to 1.71.46.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.70.45...1.71.46)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-31 03:01:18 +00:00
Matthias cf7edace2b
Merge pull request #6312 from freqtrade/short_informative_decorator
Short informative decorator
2022-01-30 15:33:52 +01:00
Matthias cafda31869
Merge pull request #6320 from stash86/pos_adjust
Change new-config message for max_open_trades input
2022-01-30 14:11:20 +01:00
Matthias 7aae9565c7 Only look at buy orders when looking to recalculate trade value 2022-01-30 14:08:42 +01:00
Stefano Ariestasia da39ca6650 fix new-config 2022-01-30 21:19:05 +09:00
Matthias 000b8ff281
Merge pull request #6306 from freqtrade/short_forceentry
add `/forcelong` and `/forceshort` commands
2022-01-30 07:36:14 +01:00
Matthias aea84dc117 Limit should default to None when calling pair_candles 2022-01-29 20:16:58 +01:00
Matthias 8a6823deb1 Convert InformativeData to dataclass 2022-01-29 19:59:54 +01:00
Stefano Ariestasia 326ba46bf8
Merge branch 'freqtrade:develop' into fix-docs 2022-01-29 23:20:41 +09:00
Matthias ab932d8398 Properly detect default candle type 2022-01-29 14:31:58 +01:00
Matthias d1d520769e Improve status table for position adjust
don't show "/max" if no maximum is set

closes #6317
2022-01-29 14:29:09 +01:00
Matthias 463714832d Merge branch 'develop' into feat/short 2022-01-29 14:19:30 +01:00
Matthias e7409e74c2 Remove default from position_adjustment (otherwise strategy parameters won't work anymore) 2022-01-28 19:21:42 +01:00
Matthias c620e38c7d Informative decorator updates for futures 2022-01-28 19:17:46 +01:00
Matthias fb3c67d86b Accept that keys sometimes are not provided 2022-01-28 17:07:34 +01:00
Matthias fdea4fcb1b Remove some todo's 2022-01-28 15:52:12 +01:00
Matthias 571ddceaf6
Merge pull request #6310 from Verbalinsurection/perso
Fix ETH duplicate in CoinGecko
2022-01-28 12:35:44 +01:00
Verbalinsurection 9ae14f0b56 Merge remote-tracking branch 'Verbalinsurection/perso' into perso 2022-01-28 11:17:27 +01:00
Verbalinsurection 2ba2144df1 Add tests for ETH fiat_convert 2022-01-28 11:17:16 +01:00
Matthias 15d5389564 Update /health endpoint to be in local timezone 2022-01-28 10:33:35 +01:00
Verbalinsurection 660f474ab8 Fix ETH duplicate in CoinGecko 2022-01-28 10:26:31 +01:00
Matthias e062188a18
Merge pull request #6309 from freqtrade/fix_krakenci
Filter tickers on stake-currency for kraken
2022-01-28 08:08:00 +01:00
Matthias 5d0c2bcb44 Shift candles after pushing them to dataprovider
this will ensure that the signals are not shifted in callbacks
closes #6234
2022-01-28 07:25:10 +01:00
Matthias 138e867a68 Filter tickers on stake-currency for kraken 2022-01-28 07:20:47 +01:00
Matthias 9df7014de3 Skip kraken tests temporarily 2022-01-28 06:59:37 +01:00
Matthias bf8ef58439
Merge pull request #6308 from stash86/pos_adjust
Fix wordings
2022-01-28 06:59:08 +01:00
Stefano Ariestasia b8f29802e5 another typo 2022-01-28 09:31:36 +09:00
Stefano Ariestasia cbd213bc0a fix typo 2022-01-28 09:16:56 +09:00
Stefano Ariestasia bd1b991448
Merge branch 'freqtrade:develop' into fix-docs 2022-01-28 06:57:13 +09:00
Verbalinsurection 31211a33fd Fix ETH duplicate in CoinGecko 2022-01-27 22:21:16 +01:00
Matthias 82e193d9f0
Merge pull request #6260 from stash86/pos_adjust
Add max_buy_position_adjustment as attribute
2022-01-27 20:13:51 +01:00
Matthias 4b9d55dbe2 Add test for backtest dataprovider
(should cache the correct candle)
2022-01-27 18:59:23 +01:00
Matthias 108018b30b
Merge pull request #6231 from freqtrade/funding_rate_backtest
Funding rate backtest
2022-01-27 17:01:28 +01:00
Matthias 002226f5fd Update setting to max_entry_position_adjustment 2022-01-27 16:57:50 +01:00
Matthias c4f71cc103 More forceenter updates 2022-01-27 07:38:11 +01:00
Matthias 18168cba7a
Merge pull request #6303 from Wings22Actual/develop
Added note to docker_quickstart.md
2022-01-27 07:36:38 +01:00
Wings22Actual 4a2914d72e Update docs/docker_quickstart.md
Co-authored-by: Matthias <xmatthias@outlook.com>
2022-01-27 07:04:06 +01:00
Matthias 6e72effbf0 Update forcebuy telegram tests 2022-01-27 06:31:45 +01:00
Matthias 0a52d79208 Update forcesell to work as forceexit 2022-01-26 20:17:00 +01:00
Matthias 066fb3ce00 Update rest-client with forceenter 2022-01-26 20:07:58 +01:00
Matthias 7afaf4b5d4 Add `/forceshort` command 2022-01-26 19:53:46 +01:00
Matthias e2ddea79ee Add "market" to /show_config 2022-01-26 19:49:15 +01:00
Matthias be7ce208dc Update tests to test forceenter endpoint 2022-01-26 19:24:01 +01:00
Matthias 48d8cd82af _rpc_forcebuy 2022-01-26 19:11:01 +01:00
Matthias 4998f3bdd7 Add order_side to forcebuy endpoint 2022-01-26 19:07:44 +01:00
Stefano Ariestasia 396ebebdc1
Merge branch 'freqtrade:develop' into fix-docs 2022-01-26 16:09:11 +09:00
Stefano Ariestasia ed71f777a3 Merge branch 'fix-docs' of https://github.com/stash86/freqtrade into fix-docs 2022-01-26 07:07:00 +00:00
Stefano Ariestasia 1f26709aca changes 2022-01-26 07:06:52 +00:00
Wings22Actual 4408f97a00
Added note to docker_quickstart.md
Added note that 'docker run --rm' can be used instead of 'docker-compose run --rm' for some commands (line 129-132)
2022-01-26 06:56:39 +00:00
Matthias 67651e013e Add /forceenter endpoint 2022-01-26 07:10:38 +01:00
Matthias 88ccfedd32 Improve wording of "no history found" error 2022-01-26 06:53:00 +01:00
Matthias b6943f3bca
Merge pull request #6296 from freqtrade/python_37_remove
Update references to remove python 3.7 support
2022-01-25 20:01:14 +01:00
Matthias 12c79967f5
Merge pull request #6258 from italodamato/pass_dimensions_to_generate_estimator
Pass dimensions to generate_estimator
2022-01-25 19:37:22 +01:00
Matthias 13978e9893
Merge pull request #6276 from clover-es/feat/short
Add support for shorts in strategy.stoploss_from_absolute()
2022-01-25 19:11:05 +01:00
Italo 30b27ae736 explicit dtype 2022-01-25 12:29:55 +00:00
Matthias 2e2b1e2470
Merge pull request #6299 from freqtrade/dependabot/pip/develop/ccxt-1.70.45
Bump ccxt from 1.68.20 to 1.70.45
2022-01-25 13:18:54 +01:00
Italo f7a5b2cb71 explicit dimensions, added **kwargs, updated docs 2022-01-25 11:43:40 +00:00
Matthias 325fd8a780 Add test with absolute values 2022-01-25 06:44:20 +01:00
dependabot[bot] 6e47d06733
Bump ccxt from 1.68.20 to 1.70.45
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.68.20 to 1.70.45.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.68.20...1.70.45)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-25 05:44:03 +00:00
Matthias d9347e9900 Update references to remove python 3.7 support 2022-01-25 06:43:36 +01:00
Matthias eb677ad9b6
Merge pull request #6291 from freqtrade/dependabot/pip/develop/pandas-1.4.0
Bump pandas from 1.3.5 to 1.4.0
2022-01-25 06:43:03 +01:00
Matthias f7be93aaa6 leverage limits can be None, so we need to check for that 2022-01-25 06:30:03 +01:00
Stefano Ariestasia 0fa7986369
Merge branch 'freqtrade:develop' into pos_adjust 2022-01-25 10:30:18 +09:00
Stefano Ariestasia 7c975df42a
Merge branch 'freqtrade:develop' into fix-docs 2022-01-25 10:30:03 +09:00
Italo a7ea06791a
Merge branch 'freqtrade:develop' into plot_hyperopt_stats 2022-01-24 21:46:33 +00:00
Matthias 4389ce1a8f Update helpers documentation for is_short 2022-01-24 19:12:28 +01:00
Matthias aacddf64cf Add pandas 3.7 requirements workaround 2022-01-24 19:07:37 +01:00
Reigo Reinmets e72c3ec19f Commit just to force tests to run again. 2022-01-24 15:27:03 +02:00
Reigo Reinmets 78986a0def I sort managed to fit it on another row. Impressive. 2022-01-24 14:09:23 +02:00
Reigo Reinmets acf6e94591 Fix unittest. 2022-01-24 13:56:52 +02:00
Reigo Reinmets 1d59a6b7e3
Merge branch 'freqtrade:develop' into health 2022-01-24 13:52:53 +02:00
Matthias ac71d79364
Merge pull request #6281 from freqtrade/stake_amount_tag
Entry callbacks - provide buy_tag
2022-01-24 09:28:40 +01:00
Matthias b8377b9e30
Merge pull request #6288 from freqtrade/dependabot/pip/develop/pytest-asyncio-0.17.2
Bump pytest-asyncio from 0.17.1 to 0.17.2
2022-01-24 08:02:01 +01:00
Matthias 2823da977d
Merge pull request #6289 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.31
Bump sqlalchemy from 1.4.29 to 1.4.31
2022-01-24 08:00:46 +01:00
Matthias 45a2298929 Re-add getting buy orders in docs 2022-01-24 07:11:22 +01:00
Matthias 381bda1e4a Update test to add new argument 2022-01-24 07:02:02 +01:00
Matthias 194a5ce3cc Update advanced strategy template with missing methods 2022-01-24 07:02:02 +01:00
Matthias e252830229 Add entry_tag to "entry" callbacks 2022-01-24 07:02:01 +01:00
Reigo Reinmets d3d4894ec5
Merge branch 'freqtrade:develop' into health 2022-01-24 08:01:00 +02:00
Matthias 6d91ceb28c
Merge pull request #6282 from xataxxx/develop
Fix missing order time data in backtesting.
2022-01-24 06:59:21 +01:00
Matthias ce7dff405f
Merge pull request #6292 from freqtrade/dependabot/pip/develop/fastapi-0.73.0
Bump fastapi from 0.72.0 to 0.73.0
2022-01-24 06:53:39 +01:00
Matthias 1aa7c193ba
Merge pull request #6287 from freqtrade/dependabot/pip/develop/mkdocs-material-8.1.8
Bump mkdocs-material from 8.1.7 to 8.1.8
2022-01-24 06:52:57 +01:00
Matthias 0990e5d472
Merge pull request #6286 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.8
Bump types-python-dateutil from 2.8.7 to 2.8.8
2022-01-24 06:22:58 +01:00
Matthias 9ae6bbb8d2
Merge pull request #6290 from freqtrade/dependabot/pip/develop/types-filelock-3.2.5
Bump types-filelock from 3.2.4 to 3.2.5
2022-01-24 06:22:24 +01:00
dependabot[bot] b8413410d1
Bump fastapi from 0.72.0 to 0.73.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.72.0 to 0.73.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.72.0...0.73.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-24 03:01:33 +00:00
dependabot[bot] fd1828c283
Bump pandas from 1.3.5 to 1.4.0
Bumps [pandas](https://github.com/pandas-dev/pandas) from 1.3.5 to 1.4.0.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Changelog](https://github.com/pandas-dev/pandas/blob/main/RELEASE.md)
- [Commits](https://github.com/pandas-dev/pandas/compare/v1.3.5...v1.4.0)

---
updated-dependencies:
- dependency-name: pandas
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-24 03:01:30 +00:00
dependabot[bot] cf79cef7ba
Bump types-filelock from 3.2.4 to 3.2.5
Bumps [types-filelock](https://github.com/python/typeshed) from 3.2.4 to 3.2.5.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-filelock
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-24 03:01:24 +00:00
dependabot[bot] 95c7d48684
Bump sqlalchemy from 1.4.29 to 1.4.31
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.29 to 1.4.31.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-24 03:01:22 +00:00
dependabot[bot] 12fabba784
Bump pytest-asyncio from 0.17.1 to 0.17.2
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.17.1 to 0.17.2.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.17.1...v0.17.2)

---
updated-dependencies:
- dependency-name: pytest-asyncio
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-24 03:01:12 +00:00
dependabot[bot] 013262f7e2
Bump mkdocs-material from 8.1.7 to 8.1.8
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.7 to 8.1.8.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.7...8.1.8)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-24 03:01:07 +00:00
dependabot[bot] 138fd9440a
Bump types-python-dateutil from 2.8.7 to 2.8.8
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.7 to 2.8.8.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-24 03:01:03 +00:00
Italo a2fb241a3b increase initial points to 64 2022-01-24 01:35:42 +00:00
Reigo Reinmets bf62fc9b25 Add /health endpoint that returns last_process timestamp, fix issue #6009 2022-01-23 21:58:46 +02:00
Reigo Reinmets 451eca51c8 Optimise the multiple usages of the same timestamp. 2022-01-23 20:58:25 +02:00
Reigo Reinmets e67a54f7a9 Fix missing order time info in backtesting. 2022-01-23 20:52:35 +02:00
Matthias daee59f4f1 Reorder interface methods 2022-01-23 19:20:31 +01:00
Matthias 57067ce88d Add tests for max_adjustment_buy handling 2022-01-23 19:07:37 +01:00
Matthias 7429f535c1 Imrpove code by reusing available properties 2022-01-23 18:59:09 +01:00
Matthias 62df044618
Merge pull request #6279 from xataxxx/develop
Fix position adjustment not counting older orders because of missing average field value
2022-01-23 17:42:51 +01:00
Matthias 6492e1cd76 Investigate random test failure 2022-01-23 17:42:18 +01:00
Matthias 4b6f9121ca
Merge pull request #6275 from freqtrade/extract_timedout_from_ftbot
Extract timedout from ftbot
2022-01-23 17:28:10 +01:00
Reigo Reinmets 6613e3757a Additional fix 2022-01-23 18:09:57 +02:00
Matthias 09db4bcadd Don't use strings, use methods directly 2022-01-23 17:00:00 +01:00
Reigo Reinmets 51b94889b2 Just in case also check for closed to avoid counting in canceled orders. 2022-01-23 17:56:41 +02:00
Reigo Reinmets 8c79d55739 Fix issue #6268 2022-01-23 17:44:16 +02:00
Stefano Ariestasia 480ed90a02 create to_json function for Order 2022-01-23 11:33:06 +00:00
Matthias 821a9d9cdc Add current_time to check_timeout functions for convenience 2022-01-23 08:10:35 +01:00
Stefano Ariestasia cc3852daf3 Add defaults to constants.py and update docs 2022-01-23 03:54:58 +00:00
Matthias bf0b95b3d8 Improve backtest tests 2022-01-22 19:46:11 +01:00
Matthias ad28543d4d Update kraken calculation 2022-01-22 19:46:11 +01:00
Matthias d3713cf245 Fix fee test 2022-01-22 19:46:11 +01:00
Matthias a0c0c4dcbe Update funding_fee formula to correctly calculate fees for long trades 2022-01-22 19:46:10 +01:00
Matthias f26cd19146 Merge index and mark rates as part of dataload 2022-01-22 19:45:46 +01:00
Matthias 82c90c0049 Extract funding and mark mergin to separate method 2022-01-22 19:45:46 +01:00
Matthias 84c6d92d4c calculate_funding_fees is actually a public exchange interface (used in backtesting). 2022-01-22 19:45:46 +01:00
Matthias e9e7fd749b Support funding-fees while running backtest 2022-01-22 19:45:43 +01:00
Matthias a340d73edc Update funding_fee calculation test 2022-01-22 19:44:20 +01:00
Matthias c6c97efed3 Remove unused method `_get_funding_fee` 2022-01-22 19:44:20 +01:00
Matthias ef3a1ea8f2 Split funding fee calculation from Download 2022-01-22 19:44:20 +01:00
Guillermo Rodríguez 17ae6a0c78 Harmonize short parameter name in stoploss_from_open() 2022-01-22 18:01:56 +01:00
Guillermo Rodríguez 40cd478c6d Calculate stoploss_from_absolute for shorts 2022-01-22 18:01:02 +01:00
Matthias f090dcc597 Merge branch 'develop' into feat/short 2022-01-22 17:56:01 +01:00
Italo 402747525f
Merge pull request #1 from italodamato/develop 2022-01-22 15:40:57 +00:00
Italo eacd1b0752
Merge branch 'plot_hyperopt_stats' into develop 2022-01-22 15:39:39 +00:00
Matthias 56daafd6b7 Use realistic date for dry-run orders 2022-01-22 16:31:59 +01:00
Matthias 01b331ee42
Merge pull request #6274 from italodamato/set-stoploss-at-trade-creation
set stoploss at trade creation
2022-01-22 16:17:47 +01:00
Matthias 7bef9a9b3e Extract timeout handling from freqtradebot class 2022-01-22 15:59:10 +01:00
Italo 0ce6c150ff set stoploss at trade creation 2022-01-22 14:06:45 +00:00
Italo 82f0d4d056 set stoploss at trade creation 2022-01-22 14:03:12 +00:00
Matthias bd4014e1e6 Small cleanup 2022-01-22 15:01:27 +01:00
Matthias a35b0b519a Update forcebuy endpoint to support stake-amount
closes #6223
2022-01-22 13:26:02 +01:00
Stefano Ariestasia fe5f61694b
Merge branch 'freqtrade:develop' into pos_adjust 2022-01-22 21:25:16 +09:00
Matthias 1505ad451c
Merge pull request #6271 from freqtrade/fix/6267
Allow @informative in webserver mode
2022-01-22 10:33:52 +01:00
Matthias 9ecd7400c8 Allow NaN when calculating digests 2022-01-22 08:10:09 +01:00
Matthias 314a544881 Add Failing test for get_strategy_run_id
Fails because max_open_trades is "inf"
emulates behaviour of `max_open_trades=-1` when loading the
configuration)
2022-01-22 08:09:08 +01:00
Stefano Ariestasia f79decdb9c Merge branch 'fix-docs' of https://github.com/stash86/freqtrade into fix-docs 2022-01-22 06:54:57 +00:00
Stefano Ariestasia 05046b9eef Add more info on status message 2022-01-22 06:54:49 +00:00
Matthias a43c088448 Allow @informative in webserver mode 2022-01-22 07:11:59 +01:00
Matthias 3d94d7df5c Update migrations for mariadb 2022-01-21 19:31:11 +01:00
Matthias c265f39323 Update sequences for postgres 2022-01-21 17:19:39 +01:00
Matthias 19948a6f89 Try fix sequence migrations 2022-01-21 16:49:08 +01:00
Matthias 5dca183b7b Combine order and Trade migrations to better facilitate migrations in advanced DB systems 2022-01-21 16:49:08 +01:00
Matthias bb1d8fb54f Improve message when no hyperopt fie is found
closes #6266
2022-01-21 15:24:26 +01:00
Stefano Ariestasia 3249f9fb98 Add max buys on status table 2022-01-21 08:27:54 +00:00
Stefano Ariestasia f3a152a5a2
Merge branch 'freqtrade:develop' into pos_adjust 2022-01-21 17:11:36 +09:00
Matthias 730d2e3574
Merge pull request #6259 from stash86/fix-docs
add "# Buys" column to status table
2022-01-21 07:49:21 +01:00
Matthias d02acb21c2 Add simple test for #buy header 2022-01-21 07:04:25 +01:00
Matthias f4487c7711
Merge pull request #6264 from italodamato/plot-trade-buytag
add buy_tag to trade tooltip in plots
2022-01-21 06:51:44 +01:00
Stefano Ariestasia 748381c5cd Update based on flake8 2022-01-21 00:35:22 +00:00
Italo e35a1e4a01 fix flake8 2022-01-20 21:00:33 +00:00
Italo a9f14ac119 show buy_tag only if not None 2022-01-20 18:44:09 +00:00
Italo 8ce5536dd8 fix tests
added buy_tag to first ADA/USDT trade
2022-01-20 18:37:17 +00:00
Italo 4e9f0d89af add buy_tag to trade tooltip in plots 2022-01-20 17:17:58 +00:00
Italo 52206e6f41 add buy tag to plot 2022-01-20 17:15:05 +00:00
Italo 34d19dc108
Merge branch 'freqtrade:develop' into plot_hyperopt_stats 2022-01-20 11:37:54 +00:00
Matthias d549905856 Api-backtest to test new functionality 2022-01-20 07:11:48 +01:00
Matthias a6c7f45545 Update webserver backtseting to reuse prior results 2022-01-20 06:51:48 +01:00
Matthias e9baabce6f Store results when backtesting via API 2022-01-20 06:35:18 +01:00
Stefano Ariestasia f30580e5f2 Update freqtradebot.py 2022-01-20 11:40:29 +09:00
Stefano Ariestasia 5fb9511556 fix typo 2022-01-20 10:34:35 +09:00
Stefano Ariestasia 62ea1a445e add lines to show_config message 2022-01-20 10:03:26 +09:00
Stefano Ariestasia 2e537df358 Update strategy_resolver.py 2022-01-20 09:07:59 +09:00
Matthias 847e8977ca
Merge pull request #6255 from rokups/rk/backtest-result-caching-2
Rework backtesting --no-cahche to --cache=[none, day, week, month].
2022-01-19 21:01:24 +01:00
Matthias afe46a55f7 Add documentation for --cache backtest option 2022-01-19 20:19:17 +01:00
Matthias d319204dea Add note about legacy metadata format 2022-01-19 20:08:09 +01:00
Stefano Ariestasia 7c010b3058 Update strategy-callbacks.md 2022-01-19 22:16:42 +09:00
Stefano Ariestasia ac93eea585 update 2022-01-19 21:58:24 +09:00
Rokas Kupstys 5fffc5033a Rework backtesting --no-cahche to --cache=[none, day, week, month].
Fix an issue where config modification during runtime would prevent use of cached results.
2022-01-19 11:44:35 +02:00
Stefano Ariestasia 5525fdae1a add max_buy_position_adjustment as attribute 2022-01-19 16:50:13 +09:00
Stefano Ariestasia 3925e8a7e3 add "# Buys" column to status table 2022-01-19 16:14:21 +09:00
Matthias e04956be0e
Merge pull request #6185 from freqtrade/fix_funding_fee_calc
cleanup funding fee tests
2022-01-19 06:57:44 +01:00
Italo 2eec51bfcb Update requirements-hyperopt.txt 2022-01-19 02:00:14 +00:00
Italo 16a516a882 added plot functionality 2022-01-19 01:50:15 +00:00
Italo a4dbdb549d added type spec 2022-01-19 01:37:47 +00:00
Italo a6a127f596 Update .gitignore 2022-01-19 01:31:14 +00:00
Italo 407c20412d Pass dimensions to generate_estimator
It's needed in order to create isotropic kernels for the GaussianProcessRegressor
2022-01-19 01:07:41 +00:00
Matthias 1fb48a1f53 Add TODO-lev for "stoploss_from_absolute". 2022-01-18 16:52:34 +01:00
Matthias 120639e84b
Merge pull request #6228 from clover-es/feat/short
Stoploss from open for shorts
2022-01-18 16:49:58 +01:00
Matthias 301b2e8a0f
Merge pull request #6254 from SmartManoj/patch-2
Spreadfilter log % fix
2022-01-18 09:55:02 +01:00
மனோஜ்குமார் பழனிச்சாமி d918d24f08
Spreadfilter log % fix
Both the following same
print(f'{3:.3%}') 
print(f'{3 *100 :.3}%')
# 300.000%
2022-01-18 14:05:03 +05:30
Matthias 3c06d31bbf
Merge pull request #6238 from stash86/fix-docs
Add position adjustment On or Off on startup message
2022-01-17 20:32:27 +01:00
Matthias d813fef95b Add asyncio_mode setting for pytest 2022-01-17 20:02:59 +01:00
Matthias 9c9c9f0171 Readd trailing white line 2022-01-17 20:00:35 +01:00
Matthias 6c7a4230ad Update comment about funding_fees calculation 2022-01-17 19:20:47 +01:00
Matthias ff646441ce Reduce decimals in test 2022-01-17 19:20:42 +01:00
Matthias bb738b518c FIx funding_fee calculation 2022-01-17 19:06:26 +01:00
Matthias 91236c1876
Merge pull request #6244 from freqtrade/dependabot/pip/develop/uvicorn-0.17.0
Bump uvicorn from 0.16.0 to 0.17.0
2022-01-17 19:01:49 +01:00
Matthias a156101d5c
Merge pull request #6252 from xataxxx/dca
Fix eager-loading trade.orders
2022-01-17 13:17:01 +01:00
Reigo Reinmets 3de843ab2c Add eager-loading for orders. This allows access to trade.orders in all callbacks. 2022-01-17 13:23:37 +02:00
Matthias 8d67caafb3
Merge pull request #6240 from freqtrade/dependabot/pip/develop/time-machine-2.6.0
Bump time-machine from 2.5.0 to 2.6.0
2022-01-17 08:41:35 +01:00
Stefano Ariestasia f9a935b9a3 Update rpc_manager.py 2022-01-17 16:37:06 +09:00
dependabot[bot] d0dc9e26b0
Bump uvicorn from 0.16.0 to 0.17.0
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.16.0 to 0.17.0.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.16.0...0.17.0)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-17 07:10:59 +00:00
Matthias 3a5841bc03
Merge pull request #6246 from freqtrade/dependabot/pip/develop/fastapi-0.72.0
Bump fastapi from 0.71.0 to 0.72.0
2022-01-17 08:10:05 +01:00
Matthias cf41f71f39
Merge pull request #6245 from freqtrade/dependabot/pip/develop/pytest-asyncio-0.17.1
Bump pytest-asyncio from 0.16.0 to 0.17.1
2022-01-17 08:08:52 +01:00
dependabot[bot] f2984e9d0e
Bump time-machine from 2.5.0 to 2.6.0
Bumps [time-machine](https://github.com/adamchainz/time-machine) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/adamchainz/time-machine/releases)
- [Changelog](https://github.com/adamchainz/time-machine/blob/main/HISTORY.rst)
- [Commits](https://github.com/adamchainz/time-machine/compare/2.5.0...2.6.0)

---
updated-dependencies:
- dependency-name: time-machine
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-17 07:06:07 +00:00
Matthias fa605e6a50
Merge pull request #6251 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.7
Bump types-python-dateutil from 2.8.6 to 2.8.7
2022-01-17 08:05:20 +01:00
Matthias 0f51192575
Merge pull request #6250 from freqtrade/dependabot/pip/develop/types-cachetools-4.2.9
Bump types-cachetools from 4.2.8 to 4.2.9
2022-01-17 08:04:59 +01:00
Matthias 0629dc866d
Merge pull request #6243 from freqtrade/dependabot/pip/develop/jsonschema-4.4.0
Bump jsonschema from 4.3.3 to 4.4.0
2022-01-17 06:40:26 +01:00
dependabot[bot] da134d3ad1
Bump types-cachetools from 4.2.8 to 4.2.9
Bumps [types-cachetools](https://github.com/python/typeshed) from 4.2.8 to 4.2.9.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-17 05:32:38 +00:00
Matthias 4f9af81b50
Merge pull request #6248 from freqtrade/dependabot/pip/develop/types-requests-2.27.7
Bump types-requests from 2.27.5 to 2.27.7
2022-01-17 06:31:46 +01:00
Matthias 543a561019
Merge pull request #6249 from freqtrade/dependabot/pip/develop/ccxt-1.68.20
Bump ccxt from 1.66.66 to 1.68.20
2022-01-17 06:30:27 +01:00
dependabot[bot] 9092596a1f
Bump pytest-asyncio from 0.16.0 to 0.17.1
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.16.0 to 0.17.1.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.16.0...v0.17.1)

---
updated-dependencies:
- dependency-name: pytest-asyncio
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-17 05:28:33 +00:00
Matthias 096d2d7313
Merge pull request #6241 from freqtrade/dependabot/pip/develop/numpy-1.22.1
Bump numpy from 1.22.0 to 1.22.1
2022-01-17 06:28:15 +01:00
dependabot[bot] 81b8008047
Bump types-python-dateutil from 2.8.6 to 2.8.7
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.6 to 2.8.7.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-17 05:27:54 +00:00
Matthias 7073b36421
Merge pull request #6247 from freqtrade/dependabot/pip/develop/flake8-tidy-imports-4.6.0
Bump flake8-tidy-imports from 4.5.0 to 4.6.0
2022-01-17 06:27:39 +01:00
Matthias 108f79ad39
Merge pull request #6242 from freqtrade/dependabot/pip/develop/mkdocs-material-8.1.7
Bump mkdocs-material from 8.1.5 to 8.1.7
2022-01-17 06:27:21 +01:00
dependabot[bot] d384184784
Bump ccxt from 1.66.66 to 1.68.20
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.66.66 to 1.68.20.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.66.66...1.68.20)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-17 03:02:28 +00:00
dependabot[bot] 9fbb9332f9
Bump types-requests from 2.27.5 to 2.27.7
Bumps [types-requests](https://github.com/python/typeshed) from 2.27.5 to 2.27.7.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-17 03:02:21 +00:00
dependabot[bot] c403464bb4
Bump flake8-tidy-imports from 4.5.0 to 4.6.0
Bumps [flake8-tidy-imports](https://github.com/adamchainz/flake8-tidy-imports) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/adamchainz/flake8-tidy-imports/releases)
- [Changelog](https://github.com/adamchainz/flake8-tidy-imports/blob/main/HISTORY.rst)
- [Commits](https://github.com/adamchainz/flake8-tidy-imports/compare/4.5.0...4.6.0)

---
updated-dependencies:
- dependency-name: flake8-tidy-imports
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-17 03:02:17 +00:00
dependabot[bot] 3d9f34b064
Bump fastapi from 0.71.0 to 0.72.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.71.0 to 0.72.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.71.0...0.72.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-17 03:02:14 +00:00
dependabot[bot] e4af162f38
Bump jsonschema from 4.3.3 to 4.4.0
Bumps [jsonschema](https://github.com/Julian/jsonschema) from 4.3.3 to 4.4.0.
- [Release notes](https://github.com/Julian/jsonschema/releases)
- [Changelog](https://github.com/Julian/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/Julian/jsonschema/compare/v4.3.3...v4.4.0)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-17 03:02:02 +00:00
dependabot[bot] 5afa975839
Bump mkdocs-material from 8.1.5 to 8.1.7
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.5 to 8.1.7.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.5...8.1.7)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-17 03:01:57 +00:00
dependabot[bot] 6be6515ecc
Bump numpy from 1.22.0 to 1.22.1
Bumps [numpy](https://github.com/numpy/numpy) from 1.22.0 to 1.22.1.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/HOWTO_RELEASE.rst.txt)
- [Commits](https://github.com/numpy/numpy/compare/v1.22.0...v1.22.1)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-17 03:01:53 +00:00
Stefano Ariestasia b6ad0f52e9
Merge branch 'freqtrade:develop' into fix-docs 2022-01-17 10:59:16 +09:00
Stefano Ariestasia edd2ea3699 Update rpc_manager.py 2022-01-17 10:57:10 +09:00
Matthias 3cdb672ac3 Improve test coverage 2022-01-16 19:11:20 +01:00
Matthias c02497e4b8
Merge pull request #6172 from rokups/rk/backtest-results-caching
Backtest result reuse
2022-01-16 19:09:37 +01:00
Matthias 2bcfc0c90c Add warning about cache problems 2022-01-16 18:01:05 +01:00
Matthias d08885ed92 Fix empty "/log" endpoint in certain moments 2022-01-16 15:37:00 +01:00
Matthias 5bb48eaed0 Replace Nan with 0 or None in backtesting
part of #6224
2022-01-16 14:49:29 +01:00
Matthias 69c00db7cd Only show /balance % improvement if trades have been made 2022-01-16 13:39:50 +01:00
Matthias b96b0f89bd improved unfilledtimeout defaults 2022-01-16 13:17:12 +01:00
Stefano Ariestasia acda9571d1 Revert "add position_adjustment_enable to config_full.example"
This reverts commit eabeb87ceb.
2022-01-16 19:10:32 +09:00
Matthias 6c4b261469 Convert nan to None in get_signal. 2022-01-16 08:04:39 +01:00
Stefano Ariestasia eabeb87ceb add position_adjustment_enable to config_full.example 2022-01-16 10:00:13 +09:00
Matthias 39184e1f95 Fix random test-fail around midnight 2022-01-16 00:19:21 +01:00
Matthias 270d7ebbf5 Simplify test strategy 2022-01-15 17:36:42 +01:00
Rokas Kupstys 062d00e8f2 Fix @informative decorator failing with edge. 2022-01-15 17:31:16 +02:00
Rokas Kupstys 2b7405470a Fix timerange check. 2022-01-15 17:30:40 +02:00
Matthias 9becce9897 Update failing test 2022-01-15 17:30:40 +02:00
Rokas Kupstys 526ed7fa9a Add test_backtest_start_multi_strat_caching test flexing backtest result caching. 2022-01-15 17:30:40 +02:00
Rokas Kupstys 16861db653 Implement previous backtest result reuse when config and strategy did not change. 2022-01-15 17:30:40 +02:00
Matthias 6684bff963 Dry-run orders should have filled set correctly 2022-01-15 15:25:16 +01:00
Matthias caea8967d5
Merge pull request #6079 from xataxxx/dca
Initial position adjustment support (DCA)
2022-01-15 15:24:42 +01:00
Matthias 66a479c26a Small doc improvements 2022-01-15 15:11:13 +01:00
Guillermo Rodríguez d28287880c Add support for shorts in strategy.stoploss_from_open
Signed-off-by: Guillermo Rodríguez <guillebep@gmail.com>
2022-01-15 04:30:30 +01:00
Reigo Reinmets 6c0eef94bb Fix typo. 2022-01-14 21:05:05 +02:00
Reigo Reinmets 9f9e2a8722 Remove references to wallets.get_trade_stake_amount 2022-01-14 20:46:16 +02:00
Reigo Reinmets 93adb436f8 Fix flake8 intention issue. 2022-01-14 20:25:29 +02:00
Reigo Reinmets 766c69734d Merge branch 'dca' of github.com:xataxxx/freqtrade into dca 2022-01-14 20:02:47 +02:00
Reigo Reinmets 320c9ccf90 Unify functions and make it easy to get a list of filled buy orders 2022-01-14 20:02:35 +02:00
Reigo Reinmets 1e324d208e
Merge branch 'freqtrade:develop' into dca 2022-01-14 17:09:10 +02:00
Reigo Reinmets 08cae6f067 Fix horrible whitespace mistake. 2022-01-13 20:44:03 +02:00
Reigo Reinmets 7699fde380 Update documentation about trade.nr_of_successful_buys 2022-01-13 20:33:40 +02:00
Reigo Reinmets ffe69535d8 These could be properties. 2022-01-13 20:31:03 +02:00
Reigo Reinmets 13bc5c5d8f Fine, this does look better. 2022-01-13 20:24:21 +02:00
Reigo Reinmets 678be0b773 Slightly move code. 2022-01-13 20:16:45 +02:00
Matthias faa35cb167 Small minor fixes 2022-01-13 17:18:07 +01:00
Matthias 13651fd3be Downgrade docker-image to 3.9.9 2022-01-13 09:24:13 +01:00
Reigo Reinmets c826c9c2b9
Merge branch 'freqtrade:develop' into dca 2022-01-13 10:04:39 +02:00
Matthias 814a343ed3
Merge pull request #6217 from Wings22Actual/patch-1
minor spelling correction to build_config_commands.py
2022-01-13 06:51:52 +01:00
Wings22Actual a22e1b6500
minor spelling correction
line 89 "Tim"->"Time"
2022-01-13 01:48:38 +00:00
Matthias 33cb9e9002 Fix erroneous import in docs 2022-01-12 09:11:42 +01:00
Reigo Reinmets ffab70d869
Merge branch 'freqtrade:develop' into dca 2022-01-12 09:22:06 +02:00
Reigo Reinmets 7344f88ad5 Add a note about not being called when there's an open order. 2022-01-12 09:21:52 +02:00
Reigo Reinmets 7cd8448656 Fix documentation example. 2022-01-12 06:09:06 +02:00
Reigo Reinmets 8643b20a0e Improve documentation about /stopbuy command 2022-01-12 06:06:23 +02:00
Reigo Reinmets af3d220ffc Update example method signature. 2022-01-12 05:09:52 +02:00
Reigo Reinmets db3483c827 Our example should also set position_adjustment_enable 2022-01-12 05:02:42 +02:00
Matthias 775b1201d2 psutil is always required now.
closes #6208
2022-01-11 15:02:21 +01:00
Reigo Reinmets e50b07ecb4 Make code compatible. 2022-01-11 12:05:57 +02:00
Reigo Reinmets fec95277bb Merge branch 'dca' of github.com:xataxxx/freqtrade into dca 2022-01-11 11:48:51 +02:00
Reigo Reinmets 94f2c99989 Temporary fix for lazy loading. Probably we can do it better. 2022-01-11 11:43:32 +02:00
Reigo Reinmets 73840e1d91
Merge branch 'freqtrade:develop' into dca 2022-01-11 10:49:32 +02:00
Matthias 58b77bd15f
Merge pull request #6205 from freqtrade/dependabot/pip/develop/ta-lib-0.4.24
Bump ta-lib from 0.4.23 to 0.4.24
2022-01-11 08:05:34 +01:00
Matthias 438a083602 Update TA-lib binary files 2022-01-11 07:16:49 +01:00
Reigo Reinmets fbf026ac43 Fix sorting of imports. 2022-01-10 20:43:57 +02:00
Reigo Reinmets 3b7167ab07 Fix backtesting missing filled amounts in orders. 2022-01-10 20:30:40 +02:00
Reigo Reinmets 26f2db4777 Fix notify_enter attempting to fetch rate during testing. 2022-01-10 20:30:32 +02:00
Reigo Reinmets 30d293bfec Fix bug with None in backtesting. 2022-01-10 20:16:11 +02:00
Reigo Reinmets 0dc7c389a0
Merge branch 'freqtrade:develop' into dca 2022-01-10 20:15:27 +02:00
Matthias 78921824c6
Merge pull request #6197 from freqtrade/dependabot/pip/develop/progressbar2-4.0.0
Bump progressbar2 from 3.55.0 to 4.0.0
2022-01-10 13:22:40 +01:00
dependabot[bot] 0d00da8dab
Bump ta-lib from 0.4.23 to 0.4.24
Bumps [ta-lib](https://github.com/mrjbq7/ta-lib) from 0.4.23 to 0.4.24.
- [Release notes](https://github.com/mrjbq7/ta-lib/releases)
- [Changelog](https://github.com/mrjbq7/ta-lib/blob/TA_Lib-0.4.24/CHANGELOG)
- [Commits](https://github.com/mrjbq7/ta-lib/compare/TA_Lib-0.4.23...TA_Lib-0.4.24)

---
updated-dependencies:
- dependency-name: ta-lib
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 10:19:41 +00:00
dependabot[bot] e0b05c4df2
Bump progressbar2 from 3.55.0 to 4.0.0
Bumps [progressbar2](https://github.com/WoLpH/python-progressbar) from 3.55.0 to 4.0.0.
- [Release notes](https://github.com/WoLpH/python-progressbar/releases)
- [Changelog](https://github.com/WoLpH/python-progressbar/blob/develop/CHANGES.rst)
- [Commits](https://github.com/WoLpH/python-progressbar/compare/v3.55.0...v4.0.0)

---
updated-dependencies:
- dependency-name: progressbar2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 10:18:55 +00:00
Matthias ef06ede3bd
Merge pull request #6204 from freqtrade/dependabot/pip/develop/urllib3-1.26.8
Bump urllib3 from 1.26.7 to 1.26.8
2022-01-10 11:17:19 +01:00
Matthias 42b5e8dac6
Merge pull request #6190 from freqtrade/dependabot/pip/develop/mkdocs-material-8.1.5
Bump mkdocs-material from 8.1.4 to 8.1.5
2022-01-10 11:16:56 +01:00
Matthias 11d74da1e0
Merge pull request #6201 from freqtrade/dependabot/pip/develop/types-tabulate-0.8.5
Bump types-tabulate from 0.8.4 to 0.8.5
2022-01-10 11:16:46 +01:00
dependabot[bot] fc1069cfe0
Bump urllib3 from 1.26.7 to 1.26.8
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.7 to 1.26.8.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/1.26.8/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.7...1.26.8)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 09:27:39 +00:00
dependabot[bot] 1e35f54709
Bump types-tabulate from 0.8.4 to 0.8.5
Bumps [types-tabulate](https://github.com/python/typeshed) from 0.8.4 to 0.8.5.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-tabulate
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 09:27:22 +00:00
Matthias d80216ca05
Merge pull request #6192 from freqtrade/dependabot/pip/develop/requests-2.27.1
Bump requests from 2.26.0 to 2.27.1
2022-01-10 10:26:22 +01:00
Matthias d2c7ff3f0f
Merge pull request #6206 from freqtrade/dependabot/pip/develop/mypy-0.931
Bump mypy from 0.930 to 0.931
2022-01-10 10:26:07 +01:00
Matthias d90745651a
Merge pull request #6202 from freqtrade/dependabot/pip/develop/types-filelock-3.2.4
Bump types-filelock from 3.2.1 to 3.2.4
2022-01-10 10:25:46 +01:00
dependabot[bot] 130275faff
Bump mypy from 0.930 to 0.931
Bumps [mypy](https://github.com/python/mypy) from 0.930 to 0.931.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.930...v0.931)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 07:28:13 +00:00
dependabot[bot] 29457078e7
Bump requests from 2.26.0 to 2.27.1
Bumps [requests](https://github.com/psf/requests) from 2.26.0 to 2.27.1.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.26.0...v2.27.1)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 07:27:43 +00:00
dependabot[bot] 8d554585f1
Bump types-filelock from 3.2.1 to 3.2.4
Bumps [types-filelock](https://github.com/python/typeshed) from 3.2.1 to 3.2.4.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-filelock
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 07:27:35 +00:00
Matthias 000e29113f
Merge pull request #6203 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.6
Bump types-python-dateutil from 2.8.4 to 2.8.6
2022-01-10 08:27:02 +01:00
Matthias 8057929817
Merge pull request #6200 from freqtrade/dependabot/pip/develop/types-requests-2.27.5
Bump types-requests from 2.26.3 to 2.27.5
2022-01-10 08:26:22 +01:00
Matthias 858a65e308
Merge pull request #6196 from freqtrade/dependabot/pip/develop/fastapi-0.71.0
Bump fastapi from 0.70.1 to 0.71.0
2022-01-10 06:40:15 +01:00
dependabot[bot] fe067994e3
Bump types-requests from 2.26.3 to 2.27.5
Bumps [types-requests](https://github.com/python/typeshed) from 2.26.3 to 2.27.5.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 05:39:59 +00:00
Matthias d349d2743a
Merge pull request #6191 from freqtrade/dependabot/pip/develop/python-telegram-bot-13.10
Bump python-telegram-bot from 13.9 to 13.10
2022-01-10 06:39:37 +01:00
dependabot[bot] 2d930d081c
Bump types-python-dateutil from 2.8.4 to 2.8.6
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.4 to 2.8.6.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 05:38:50 +00:00
Matthias 96f8338496
Merge pull request #6195 from freqtrade/dependabot/pip/develop/types-cachetools-4.2.8
Bump types-cachetools from 4.2.7 to 4.2.8
2022-01-10 06:38:35 +01:00
Matthias 7bc50dff7a
Merge pull request #6199 from freqtrade/dependabot/pip/develop/ccxt-1.66.66
Bump ccxt from 1.66.32 to 1.66.66
2022-01-10 06:38:13 +01:00
Matthias a4d2cf2f06
Merge pull request #6194 from freqtrade/dependabot/pip/develop/nbconvert-6.4.0
Bump nbconvert from 6.3.0 to 6.4.0
2022-01-10 06:37:57 +01:00
dependabot[bot] af60b9db59
Bump ccxt from 1.66.32 to 1.66.66
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.66.32 to 1.66.66.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.66.32...1.66.66)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 03:02:11 +00:00
dependabot[bot] bc95e1e151
Bump fastapi from 0.70.1 to 0.71.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.70.1 to 0.71.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.70.1...0.71.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 03:01:59 +00:00
dependabot[bot] 626970b32e
Bump types-cachetools from 4.2.7 to 4.2.8
Bumps [types-cachetools](https://github.com/python/typeshed) from 4.2.7 to 4.2.8.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 03:01:56 +00:00
dependabot[bot] a0d378fb7e
Bump nbconvert from 6.3.0 to 6.4.0
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Commits](https://github.com/jupyter/nbconvert/compare/6.3.0...6.4.0)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 03:01:52 +00:00
dependabot[bot] b8e8a31f84
Bump python-telegram-bot from 13.9 to 13.10
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 13.9 to 13.10.
- [Release notes](https://github.com/python-telegram-bot/python-telegram-bot/releases)
- [Changelog](https://github.com/python-telegram-bot/python-telegram-bot/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-telegram-bot/python-telegram-bot/compare/v13.9...v13.10)

---
updated-dependencies:
- dependency-name: python-telegram-bot
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 03:01:43 +00:00
dependabot[bot] 3fc44aa1bd
Bump mkdocs-material from 8.1.4 to 8.1.5
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.4 to 8.1.5.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.4...8.1.5)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 03:01:38 +00:00
Matthias 59ffb98779
Merge pull request #6189 from jay-tau/patch-1
Remove non-decimal numerical separators
2022-01-09 17:06:19 +01:00
Joel Tony cbd449f710
Remove non-decimal numerical separators 2022-01-09 14:21:57 +05:30
Reigo Reinmets 91b89c8c42 Improve docs, fix telegram message to show current rate. 2022-01-08 21:30:42 +02:00
Reigo Reinmets 0424b44667
Merge branch 'freqtrade:develop' into dca 2022-01-08 17:42:17 +02:00
Reigo Reinmets 195d601b8e Fix notification message showing "Current rate" as the initial buy order desired rate. 2022-01-08 17:41:59 +02:00
Reigo Reinmets c929d428b2 Remove blank line. 2022-01-08 17:21:32 +02:00
Reigo Reinmets 0bca07a32a Added min_stake, max_stake. Removed pair as its included in trade. 2022-01-08 17:20:02 +02:00
Reigo Reinmets 813a2cd23b Add useful helper methods for adjust_trade_position implementation 2022-01-08 17:18:37 +02:00
Matthias cf077b15c2 Fix random test failure 2022-01-08 14:54:39 +01:00
Matthias dd37e5cfb8 Fix compat-test failures due to wrong currency 2022-01-08 14:46:07 +01:00
Matthias 2fb9e7940a Improve "missing data" message 2022-01-08 14:39:09 +01:00
Reigo Reinmets 94631c7d64 Add performance warnings for backtesting and implementation. 2022-01-08 15:06:05 +02:00
Reigo Reinmets 8e424f7c73
Merge branch 'freqtrade:develop' into dca 2022-01-08 14:57:15 +02:00
Matthias dad080f56f Merge branch 'develop' into feat/short 2022-01-08 10:45:15 +01:00
Matthias 43f8087f32 Bitvavo does not support USDT stake 2022-01-08 10:44:07 +01:00
Matthias 9fc7392817
Merge pull request #6184 from samgermain/todos
Removed rename Todos
2022-01-08 10:34:23 +01:00
Sam Germain c61acb9f19 removed rename todos 2022-01-08 03:09:47 -06:00
Matthias 827b8d3e4c Don't use test_datadir as userdata dir
use tmpdir
2022-01-07 20:00:20 +01:00
Matthias 04976658da Fix crash when using backtesting-show on a old backtestresult 2022-01-07 17:34:47 +01:00
Matthias b82e63cb62
Merge pull request #6182 from rokups/rk/fix-6179
Fix #6179
2022-01-07 17:25:09 +01:00
Matthias 522496d9e2 Add Compatibility code for BT_DATA_COLUMNS 2022-01-07 17:17:35 +01:00
Rokas Kupstys 11ace0f867 Instead of clearing `processed` dict, store `df_analyzed` (one with buy/sell signals) dataframe in it.
It still saves memory because this dataframe is kept by DataProvider.
Fixes #6179.
Amends #6133 (a715083fc0).
2022-01-07 12:07:49 +02:00
Matthias 46809f08fe Merge branch 'develop' into feat/short 2022-01-07 10:13:16 +01:00
Matthias 7f20f6834b
Merge pull request #6181 from freqtrade/simplify_optimizereports
Simplify optimizereports
2022-01-07 09:43:57 +01:00
Matthias cd144cdfc9 Add bitvavo to compatibility tests
#6166
2022-01-07 09:30:50 +01:00
Matthias e540959c27 Remove btdata from generate_strategy_stats 2022-01-07 09:27:07 +01:00
Matthias 1203d08d1e generate_pair_metrics does not need processed dict 2022-01-07 09:27:07 +01:00
Matthias b77943af0d
Merge pull request #6173 from freqtrade/volume_quote_workaround
Selectively convert quote to base volume in volumepairlist
2022-01-07 09:07:16 +01:00
Matthias 560b3d5dbe
Merge pull request #6177 from freqtrade/remove_old_bt_format
Remove old bt format
2022-01-07 08:36:26 +01:00
Matthias d64f9030c1 Remove now unused codesegment 2022-01-07 08:04:01 +01:00
Matthias 9a3d0528a3 Versionbump ccxt to 1.66.32
closes #6166
2022-01-07 07:55:11 +01:00
Matthias b3a4ecaf77 Remove old backtest format support 2022-01-06 19:49:25 +01:00
Matthias 28011a3907 Update bt_results filename to new.json 2022-01-06 19:28:04 +01:00
Matthias 72f486289a Update Volumepairlist test 2022-01-06 19:07:47 +01:00
Matthias 24ec78b11c Quote-volumelist fix for gateio 2022-01-06 19:07:47 +01:00
Matthias 326e3d1f8e Selectively convert quote to base volume in volumepairlist 2022-01-06 19:07:43 +01:00
Matthias 173524ea5b
Merge pull request #6170 from freqtrade/contract_workaround
contractSize is a string coming from ccxt
2022-01-06 16:25:19 +01:00
Matthias bb29c44462
Merge pull request #6174 from frosty00/okex-candle-limit
increase okex candle limit
2022-01-06 15:59:59 +01:00
Carlo Revelli 7451b60501
increase okex candle limit 2022-01-06 05:31:23 -08:00
Matthias 431fcdd76f contractSize is a string comming from ccxt 2022-01-06 13:53:27 +01:00
Matthias a0f9c1bf7b Avoid failure when calculating max-drawdown
occurs if if no winning trade is recorded.
2022-01-06 13:51:15 +01:00
Matthias e88a1ab209 Improve VolumePairlist behaviour
Filter pairs before downloading ohlcv candles - this will greatly speed up some instances.
2022-01-06 13:49:27 +01:00
Matthias 7c3babc86c Fix failing ftx test 2022-01-06 13:40:12 +01:00
Matthias 72b2d4ab5f Update FTX to support new standardized futures format 2022-01-06 11:16:26 +01:00
Matthias 04f2097002
Merge pull request #6168 from samgermain/todos
Futures dust warning
2022-01-06 10:44:25 +01:00
Matthias 6ad521a0f7 Update apply_fee_conditional with note about futures 2022-01-06 10:22:28 +01:00
Matthias c1d981749e Fix flake8 error 2022-01-06 10:09:41 +01:00
Matthias addba6597a
Merge pull request #6165 from freqtrade/drawdown_fixes
Improved drawdown calculation
2022-01-06 09:56:05 +01:00
Matthias 5451972456 Success-messages should use success coloring 2022-01-06 09:29:08 +01:00
Matthias 2a2392fd73 Update parameter name in docstring 2022-01-06 09:15:30 +01:00
Matthias 33d95d245e Fix unbounderror
closes #6169
2022-01-06 08:48:30 +01:00
Matthias a9a6cf13f8 Add exit_tag to detail-sells
closes #6159
2022-01-06 08:22:15 +01:00
Matthias 4e2b9203d7 Remove no longer used BT_DATA_COLUMNS_MID 2022-01-05 20:40:59 +01:00
Matthias 8958f569aa Fix random funding_rate test failure 2022-01-05 20:37:26 +01:00
Matthias 2ca90577a6 Update strategy-comparison test 2022-01-05 20:29:40 +01:00
Matthias 2ecaf9f8b4 Update backtest-result test-files to latest format 2022-01-05 20:26:24 +01:00
Matthias 6abd6bceb9 Avoid recalculating statistics for comparison line 2022-01-05 20:16:48 +01:00
Sam Germain 3d22497177 add warning for futures dust to freqtradebot.apply_fee_conditional 2022-01-05 00:57:36 -06:00
Sam Germain 501f473164 Merge branch 'develop' into feat/short 2022-01-04 22:47:33 -06:00
Matthias 67e4dda5b3 Fix missing DataFrame in advanced docs 2022-01-04 19:54:50 +01:00
Matthias 8373a4e713 Small Adjustments to improve compatibility 2022-01-04 19:17:08 +01:00
Matthias 4d9b4ddc28 Update hyperopt-tools to use account drawdown 2022-01-04 17:43:39 +01:00
Matthias 09fae25c94 Fix some tests after drawdown calculation change 2022-01-04 17:07:31 +01:00
Matthias 7a2b50ce8b Update drawdown calculation to account drawdown 2022-01-04 17:07:31 +01:00
Matthias 42579c0268 Drop hyperopt results legacy mode 2022-01-04 17:06:40 +01:00
Matthias 7bf735dbfc Update deprecated dynamic-whitelist docs with reference to new method 2022-01-04 17:06:40 +01:00
Matthias 937f5e3d0f No longer use legacy mode for tests 2022-01-04 17:06:40 +01:00
Matthias 7ea5b0e359 Simplify hyperopt test setup 2022-01-04 17:06:40 +01:00
Matthias 15cb3792cf
Merge pull request #6161 from stash86/fix-docs
Add ignore_buying_expired_candle to config_full example
2022-01-04 15:37:15 +01:00
Sam Germain b2a1124a26 Merge branch 'feat/short' of https://github.com/freqtrade/freqtrade into feat/short 2022-01-04 00:17:42 -06:00
Stefano Ariestasia fa620d3f7b
Merge branch 'freqtrade:develop' into fix-docs 2022-01-04 13:44:03 +08:00
Matthias e57c2d64a5
Merge pull request #5888 from samgermain/contract-sizes
Convert contract size to underlying asset size
2022-01-03 21:55:19 +01:00
Matthias 293ffeae67 Fix random test failure in funding test 2022-01-03 20:18:43 +01:00
Matthias 7adb7f90a6
Merge pull request #6154 from freqtrade/dependabot/pip/develop/ta-lib-0.4.23
Bump ta-lib from 0.4.22 to 0.4.23
2022-01-03 19:08:59 +01:00
Matthias d8cb61278f Simplify contract conversion code
by reusing "get_contract_size"
2022-01-03 18:12:45 +01:00
Matthias 5536410ed0 Update ta-lib wheels 2022-01-03 17:58:53 +01:00
Matthias de2a7c1956
Merge pull request #6153 from freqtrade/dependabot/pip/develop/psutil-5.9.0
Bump psutil from 5.8.0 to 5.9.0
2022-01-03 17:55:05 +01:00
Matthias 079dbc7997 Remove duplicate psutil dependency 2022-01-03 17:41:55 +01:00
Reigo Reinmets 05ac09b38e
Merge branch 'freqtrade:develop' into dca 2022-01-03 11:41:33 +02:00
Matthias 028636b4a9
Merge pull request #6150 from freqtrade/dependabot/pip/develop/types-tabulate-0.8.4
Bump types-tabulate from 0.8.3 to 0.8.4
2022-01-03 09:20:56 +01:00
dependabot[bot] 8ed30fc9c1
Bump psutil from 5.8.0 to 5.9.0
Bumps [psutil](https://github.com/giampaolo/psutil) from 5.8.0 to 5.9.0.
- [Release notes](https://github.com/giampaolo/psutil/releases)
- [Changelog](https://github.com/giampaolo/psutil/blob/master/HISTORY.rst)
- [Commits](https://github.com/giampaolo/psutil/compare/release-5.8.0...release-5.9.0)

---
updated-dependencies:
- dependency-name: psutil
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-03 06:32:27 +00:00
dependabot[bot] 2469dc0424
Bump types-tabulate from 0.8.3 to 0.8.4
Bumps [types-tabulate](https://github.com/python/typeshed) from 0.8.3 to 0.8.4.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-tabulate
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-03 06:30:53 +00:00
Matthias 33991e8de9
Merge pull request #6157 from freqtrade/dependabot/pip/develop/types-cachetools-4.2.7
Bump types-cachetools from 4.2.6 to 4.2.7
2022-01-03 07:30:04 +01:00
dependabot[bot] 5407a06254
Bump ta-lib from 0.4.22 to 0.4.23
Bumps [ta-lib](https://github.com/mrjbq7/ta-lib) from 0.4.22 to 0.4.23.
- [Release notes](https://github.com/mrjbq7/ta-lib/releases)
- [Changelog](https://github.com/mrjbq7/ta-lib/blob/master/CHANGELOG)
- [Commits](https://github.com/mrjbq7/ta-lib/commits)

---
updated-dependencies:
- dependency-name: ta-lib
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-03 06:07:58 +00:00
Matthias 616d5bbaed
Merge pull request #6151 from freqtrade/dependabot/pip/develop/jsonschema-4.3.3
Bump jsonschema from 4.3.2 to 4.3.3
2022-01-03 07:07:05 +01:00
dependabot[bot] 3f4c5a7902
Bump types-cachetools from 4.2.6 to 4.2.7
Bumps [types-cachetools](https://github.com/python/typeshed) from 4.2.6 to 4.2.7.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-03 06:06:26 +00:00
Matthias a253ad5ec1
Merge pull request #6156 from freqtrade/dependabot/pip/develop/mkdocs-material-8.1.4
Bump mkdocs-material from 8.1.3 to 8.1.4
2022-01-03 07:06:09 +01:00
Matthias ce1780ca3f
Merge pull request #6155 from freqtrade/dependabot/pip/develop/types-requests-2.26.3
Bump types-requests from 2.26.2 to 2.26.3
2022-01-03 07:05:46 +01:00
Matthias 6d3747d9e6
Merge pull request #6152 from freqtrade/dependabot/pip/develop/ccxt-1.66.20
Bump ccxt from 1.65.25 to 1.66.20
2022-01-03 07:05:19 +01:00
Sam Germain 707a6507b5 removed redundant todos 2022-01-02 21:46:06 -06:00
dependabot[bot] 0da31cff72
Bump mkdocs-material from 8.1.3 to 8.1.4
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.3 to 8.1.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.3...8.1.4)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-03 03:01:51 +00:00
dependabot[bot] f7d3c50213
Bump types-requests from 2.26.2 to 2.26.3
Bumps [types-requests](https://github.com/python/typeshed) from 2.26.2 to 2.26.3.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-03 03:01:47 +00:00
dependabot[bot] 6b0a7a81a9
Bump ccxt from 1.65.25 to 1.66.20
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.65.25 to 1.66.20.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.65.25...1.66.20)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-03 03:01:37 +00:00
dependabot[bot] 8c0f7321c3
Bump jsonschema from 4.3.2 to 4.3.3
Bumps [jsonschema](https://github.com/Julian/jsonschema) from 4.3.2 to 4.3.3.
- [Release notes](https://github.com/Julian/jsonschema/releases)
- [Changelog](https://github.com/Julian/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/Julian/jsonschema/compare/v4.3.2...v4.3.3)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-03 03:01:28 +00:00
Matthias fac6956eeb Fix test failure after merge 2022-01-02 22:25:40 +01:00
Matthias 711a6a6dbc Merge branch 'develop' into pr/xataxxx/6079 2022-01-02 22:21:41 +01:00
Matthias 2116b0729f Integration-test for DCA order 2022-01-02 20:20:56 +01:00
Matthias 209ecc8732 Fix typo in bt_progress 2022-01-02 19:38:03 +01:00
Matthias c7b1352184
Merge pull request #6148 from samgermain/todos
Removed some todo-lev comments
2022-01-02 14:43:07 +01:00
Matthias 35fe7239ed Also test mixed version (both long and short trades) 2022-01-02 13:17:49 +01:00
Matthias 7f88f9bf27 Revert unintended double-call of amount conversion 2022-01-02 13:11:29 +01:00
Sam Germain 67a5739501 fixed test_get_trades_for_order for contracts 2022-01-01 15:39:16 -06:00
Sam Germain 33ab3c1bea Removed some todo-lev comments 2022-01-01 14:10:24 -06:00
Sam Germain 14ae327459 grouped contract methods 2022-01-01 14:08:10 -06:00
Sam Germain 3e4912979a exchange.py: removed get funding rate history 2022-01-01 14:03:26 -06:00
Sam Germain fcded264e6 removed exchange._get_mark_price_history 2022-01-01 13:53:26 -06:00
Sam Germain 3d4a5eab81 fixed flake8 error 2022-01-01 13:52:06 -06:00
Sam Germain 48567a1301 fixe broken test_get_min_pair_stake_amount 2022-01-01 13:52:06 -06:00
Sam Germain 230dd15ee7 fixed test_amount_to_precision 2022-01-01 13:52:06 -06:00
Sam Germain f92d47a16b exchange._contracts_to_amount and exchange._amount_to_contracts safe checks 2022-01-01 13:52:06 -06:00
Sam Germain 6ab0e870c2 fixed breaking test test_amount_to_precision 2022-01-01 13:52:06 -06:00
Sam Germain d105bb764a test__get_contract_size creates its own markets instead of using the markets from conftest 2022-01-01 13:52:06 -06:00
Sam Germain a85566d6c3 test_exchange.test_create_order removed # assert api_mock.create_order.call_args[0][3] == 100 2022-01-01 13:52:06 -06:00
Matthias 8da596f66d Implement PR feedback 2022-01-01 13:52:01 -06:00
Sam Germain 49a6ebb454 exchange class contract methods safe check for symbol 2022-01-01 13:50:50 -06:00
Sam Germain 78d1a267f0 contract-sizes tests 2022-01-01 13:50:50 -06:00
Sam Germain d0a300a2e1 Added TODOs 2022-01-01 13:50:49 -06:00
Sam Germain 4f6203e45f Added conversions from contract size to amount for objects returned from api 2022-01-01 13:50:43 -06:00
Sam Germain e10ceb2362 Amount to precision has _amount_to_contract_size in it 2022-01-01 13:49:09 -06:00
Sam Germain ee63f12236 Revert "Removed leverage param from get_min_pair_stake_amount"
This reverts commit 096588550ca1de5e5edf63cf7214af037d7bc93b.
2022-01-01 13:49:09 -06:00
Sam Germain 2df5993812 _contract_size_to_amount only impacts limits.amount and not limits.cost, put _get_stake_amount_considering_leverage back in 2022-01-01 13:49:09 -06:00
Sam Germain ef6ad0e6d7 Removed leverage param from get_min_pair_stake_amount 2022-01-01 13:49:09 -06:00
Sam Germain 3f75531105 added methods _contract_size_to_amount and _amount_to_contract_size, added _amount_to_contract_size to create_order, added contract_size_to_amount to get_min_leverage 2022-01-01 13:49:09 -06:00
Matthias f3784f2149
Merge pull request #6147 from freqtrade/plot_parallel
Plot parallel and underwater
2022-01-01 19:27:42 +01:00
Matthias ddfbe55e7c Merge branch 'develop' into feat/short 2022-01-01 19:16:49 +01:00
Matthias 08ba5b0451 Update docs to include underwaterplot 2022-01-01 16:55:08 +01:00
Matthias fb06a673e0 Add Underwater plot 2022-01-01 14:40:20 +01:00
Matthias 78ba2d3fc7 Add underwaterplot calculation to btanalysis 2022-01-01 14:39:58 +01:00
Matthias a2d97eecfe Add trade parallelism plot
closes #6142
2022-01-01 14:11:51 +01:00
Matthias 45a02beea8
Merge pull request #6145 from freqtrade/test_evict_cache
Fix CI failures
2022-01-01 14:07:21 +01:00
Matthias 8b49bec649 Use Version-dependent requirements
Bump numpy to 1.22.0
2022-01-01 13:51:13 +01:00
Matthias c29469decf Version bump numpy to 1.22.0 2022-01-01 10:43:45 +01:00
Matthias 9becd20f20 Improve "Missing data" messages 2022-01-01 10:37:58 +01:00
Matthias 713b884d9b Fix failing monthly test 2022-01-01 10:37:43 +01:00
Matthias 515e1040c2
Merge pull request #6144 from freqtrade/asyncio_warns
Remove asyncio warnings due to deprecation on 3.10
2022-01-01 10:04:27 +01:00
Matthias 670aed06bf Remove loop for hyperopt. 2021-12-31 17:35:08 +01:00
Matthias 0277d93a64 don't use deprecated `asyncio.get_event_loop()` 2021-12-31 17:27:42 +01:00
Matthias c9296dc9a0 Uvloop_helper should use "get_running_loop" 2021-12-31 17:27:42 +01:00
Matthias 64917275a9
Merge pull request #6143 from samgermain/todos
Todos
2021-12-31 17:02:14 +01:00
Matthias c06496e66f Update some more TODO-lev's 2021-12-31 16:49:47 +01:00
Sam Germain 9a220f6cfe removed a few todos 2021-12-31 07:30:01 -06:00
Sam Germain 08b738a5d9 removed outdated todo in kraken 2021-12-31 06:26:13 -06:00
Sam Germain 46072be011 models.__init__ exception for no interest_rates on Margin trading 2021-12-31 06:20:00 -06:00
Sam Germain 867483170a binance.funding_fee_cutoff removed TODO-lev 2021-12-31 06:11:43 -06:00
Sam Germain 250edae193 test__async_get_historic_ohlcv parametrized candle_type 2021-12-31 06:00:56 -06:00
Matthias 550a1eef91 Reduce "cleanup" slowdown in telegram 2021-12-31 12:54:15 +01:00
Matthias 880ee016a4
Merge pull request #6133 from rokups/rk/reduce-memory-usage
Reduce memory usage by not holding on to no longer needed data
2021-12-31 11:36:52 +01:00
Matthias 39f8c5719b Fix exception on exchange shutdown 2021-12-31 11:24:56 +01:00
Rokas Kupstys a715083fc0 Reduce memory usage by not holding on to no longer needed data. 2021-12-31 12:10:01 +02:00
Matthias 78ccaae318
Merge pull request #6140 from freqtrade/sell_before_roi
Change sequence of ROI/sell signal to favor sell-signal
2021-12-31 10:32:19 +01:00
Matthias ee774f12bd
Merge pull request #5677 from freqtrade/python_10
Update CI to run on python 3.10
2021-12-31 10:23:52 +01:00
Matthias b1b2eebd11 Change sequence of ROI/sell signal to favor sell-signal 2021-12-30 20:00:58 +01:00
Matthias b63491fb9c Update ROI_if_buy_signal tests to not use sell signal 2021-12-30 19:51:49 +01:00
Matthias 4b79d435ad
Merge pull request #6084 from aezomz/lev-telegram
Telegram and Webhook updates
2021-12-30 19:17:58 +01:00
Matthias 3c4eda14b1 Remove unused test parameter 2021-12-30 17:34:45 +01:00
Matthias 2395988bf8 Leverage defaults to 1.0, which should not be shown. 2021-12-30 17:32:36 +01:00
Matthias 45ac3b3562 Change formatting slightly 2021-12-30 17:18:46 +01:00
Matthias 1bc2c71757 Update documentation with support for python 3.10 2021-12-30 16:33:01 +01:00
Matthias 6b22f84d30 Add windows ta wheel 2021-12-30 16:25:57 +01:00
Aezo Teo fa12098bff changed to suggestion 2021-12-30 20:05:17 +08:00
Matthias 505d4bacd5 Update dockerfile to 3.10 2021-12-30 11:10:51 +01:00
Matthias 5b2a1b9e7a Update CI to run on python 3.10 2021-12-30 11:10:38 +01:00
Matthias 8edc84bf25 Exclude virtual environment from isort fixing 2021-12-30 10:19:06 +01:00
Matthias bd98637ae9 Fail gracefully from plot-profit when no data is provided
closes #6132
2021-12-30 10:14:45 +01:00
Matthias 1871165d21
Merge pull request #6127 from wadedyck/download_data_futures_fix
Download data futures fix
2021-12-29 19:08:38 +01:00
Matthias 73276f1351 Remove default argument from "download trades" test 2021-12-29 17:36:47 +01:00
Matthias 77afb7b5e2
Merge pull request #6114 from cdimauro/reduce_kucoin_logs
Reduce kucoin logs
2021-12-29 17:33:21 +01:00
Matthias 2b94fbfa74 Avoid using singleton where not necessary 2021-12-29 17:05:53 +01:00
Matthias b530600718
Merge pull request #6134 from freqtrade/new_release
New release 2021.12
2021-12-29 17:00:19 +01:00
Matthias 043218cc7e Version bump to 2021.12 2021-12-29 16:18:14 +01:00
Matthias c3e9ef27f6 Merge branch 'stable' into new_release 2021-12-29 16:17:56 +01:00
Aezo Teo 642a6a8030 missed the edit for documentation 2021-12-29 21:51:56 +08:00
Aezo Teo ee7cbcd69f fixed flake8 and mypy errors 2021-12-29 21:48:50 +08:00
Aezo Teo b6092e2e3c amended L/S for status table 2021-12-29 21:30:31 +08:00
Aezo Teo 1f773671ed updated tests and telegram 2021-12-29 21:24:12 +08:00
Reigo Reinmets 3d336a736e Improve documentation. 2021-12-29 14:51:57 +02:00
Wade Dyck ac06da40e4 Explicitly set the trading-mode to spot for the --dl-trades download test. 2021-12-28 11:43:42 -07:00
Matthias b9237d2241
Merge pull request #6128 from wadedyck/futures_fixes
Futures fixes
2021-12-28 19:37:13 +01:00
Wade Dyck 5bb2d3baea Revert "Remove the guards against downloading data in futures mode."
This reverts commit 82cdfba494.
2021-12-28 11:35:17 -07:00
Matthias 24807515c1 Fix random test failure 2021-12-28 09:04:14 +01:00
Wade Dyck 60dfadf446 Don't attempt to calculate funding fees when the initial timeframe hasn't been exceeded. 2021-12-27 16:51:47 -07:00
Wade Dyck a26c82b7cc Also check candle_type_def when creating the pairlist and getting the ohlcv. 2021-12-27 16:51:02 -07:00
Wade Dyck 5743b3a0b7 When getting analyzed dataframes, use candle_type_def in the pair_key as that's how they're cached. 2021-12-27 13:29:25 -07:00
Wade Dyck 82cdfba494 Remove the guards against downloading data in futures mode. 2021-12-27 12:48:42 -07:00
Wade Dyck 3d9360bb8c When backtesting, pass the candle_type to load_data. 2021-12-27 11:46:05 -07:00
Matthias 5a546855e6 Import TTLCache from cachetools
Importing from cachetools.ttl is deprecated, and will be removed in 5.0
2021-12-27 19:30:17 +01:00
Wade Dyck a5742b3bbc Fixes a failing test_history due to changed log message. 2021-12-27 11:26:49 -07:00
Wade Dyck 5b3f907b0c Fixes a download_data bug when in futures mode.
When specifying multiple pairs to download, the json filenames were
inconsistent due to the reassignment of candle_type. Also adds the
candle_type being downloaded to a log message.
2021-12-27 11:16:38 -07:00
Reigo Reinmets f965e9177c Fix title 2021-12-27 19:56:45 +02:00
Reigo Reinmets 4b654b2713 Reduce logging. 2021-12-27 19:48:18 +02:00
Reigo Reinmets 093f98d368
Merge branch 'freqtrade:develop' into dca 2021-12-27 19:41:47 +02:00
Reigo Reinmets 2a728c676e Improve documentation. Fix bug. 2021-12-27 19:41:33 +02:00
Matthias 05a488a7a0 Further reduce log verbosity for kucoin 429000 exception 2021-12-27 17:15:30 +01:00
Matthias bb65621134 Simplify test, simplify "log_*" selection 2021-12-27 17:14:59 +01:00
Matthias df53873dab
Merge pull request #6119 from freqtrade/dependabot/pip/develop/scikit-learn-1.0.2
Bump scikit-learn from 1.0.1 to 1.0.2
2021-12-27 16:48:48 +01:00
Matthias ef2b326262 Reduce retrier message repetition
by combining messages, we can provide the same information in fewer log messages
2021-12-27 16:47:34 +01:00
Matthias 54858a0bbb Simplify test to only initialize and mock once. 2021-12-27 16:39:47 +01:00
Matthias 314e10596b Remove checking against logger_name in num_log_has 2021-12-27 16:39:31 +01:00
Reigo Reinmets 53ef37d5fc
Merge branch 'freqtrade:develop' into dca 2021-12-27 17:12:26 +02:00
Matthias 17f037cec6 Extract order_fee handling from update_trade_state 2021-12-27 16:07:43 +01:00
Matthias 1b739acc08
Merge pull request #6118 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.29
Bump sqlalchemy from 1.4.28 to 1.4.29
2021-12-27 10:03:06 +01:00
dependabot[bot] 3804a17775
Bump scikit-learn from 1.0.1 to 1.0.2
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.0.1...1.0.2)

---
updated-dependencies:
- dependency-name: scikit-learn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-27 08:45:22 +00:00
Matthias c8253790b6
Merge pull request #6125 from freqtrade/dependabot/pip/develop/filelock-3.4.2
Bump filelock from 3.4.0 to 3.4.2
2021-12-27 09:44:48 +01:00
Matthias a215e29d2a
Merge pull request #6117 from freqtrade/dependabot/pip/develop/ccxt-1.65.25
Bump ccxt from 1.64.44 to 1.65.25
2021-12-27 09:42:40 +01:00
Matthias d58ed0e242
Merge pull request #6122 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.4
Bump types-python-dateutil from 2.8.3 to 2.8.4
2021-12-27 08:45:01 +01:00
Matthias 2ab8f467dd
Merge pull request #6121 from freqtrade/dependabot/pip/develop/jsonschema-4.3.2
Bump jsonschema from 4.3.1 to 4.3.2
2021-12-27 08:44:11 +01:00
Matthias c1ec368c0c
Merge pull request #6123 from freqtrade/dependabot/pip/develop/mypy-0.930
Bump mypy from 0.920 to 0.930
2021-12-27 08:43:54 +01:00
Matthias 29fff65598
Merge pull request #6120 from freqtrade/dependabot/pip/develop/plotly-5.5.0
Bump plotly from 5.4.0 to 5.5.0
2021-12-27 08:43:36 +01:00
dependabot[bot] 3cba405b2e
Bump filelock from 3.4.0 to 3.4.2
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.4.0 to 3.4.2.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/py-filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.4.0...3.4.2)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-27 03:54:13 +00:00
dependabot[bot] 24d16d7dab
Bump mypy from 0.920 to 0.930
Bumps [mypy](https://github.com/python/mypy) from 0.920 to 0.930.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.920...v0.930)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-27 03:54:06 +00:00
dependabot[bot] 2e84b8f0d5
Bump types-python-dateutil from 2.8.3 to 2.8.4
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.3 to 2.8.4.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-27 03:54:03 +00:00
dependabot[bot] 470ef7c160
Bump jsonschema from 4.3.1 to 4.3.2
Bumps [jsonschema](https://github.com/Julian/jsonschema) from 4.3.1 to 4.3.2.
- [Release notes](https://github.com/Julian/jsonschema/releases)
- [Changelog](https://github.com/Julian/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/Julian/jsonschema/compare/v4.3.1...v4.3.2)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-27 03:53:58 +00:00
dependabot[bot] 1093f22b80
Bump plotly from 5.4.0 to 5.5.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.4.0 to 5.5.0.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.4.0...v5.5.0)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-27 03:53:54 +00:00
dependabot[bot] e085058621
Bump sqlalchemy from 1.4.28 to 1.4.29
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.28 to 1.4.29.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-27 03:53:47 +00:00
dependabot[bot] 81b383fe5c
Bump ccxt from 1.64.44 to 1.65.25
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.64.44 to 1.65.25.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.64.44...1.65.25)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-27 03:53:41 +00:00
cdimauro f77b8cbb7a Reduce KuCoin logs only for 429000 error
Only KuCoin messages for 429000 error code are logged once.

Logs functions are also simplified and optimized.

test_remove_logs_for_pairs_already_in_blacklist is simplified as well.
2021-12-26 21:09:25 +01:00
Reigo Reinmets bc8fc3ab09 We can actually call recalc_open_trade_value less since it's being called eventually anyway. 2021-12-26 20:09:18 +02:00
Reigo Reinmets bd5520bee2 Adjust comments, fix stoploss_on_exchange for slower closed orders. 2021-12-26 20:03:10 +02:00
Reigo Reinmets 099dc07baf No longer needed since recalc_trade_from_orders always calls it. 2021-12-26 20:02:20 +02:00
Reigo Reinmets 817a65b656 This is not needed since backtesting does not have open orders. 2021-12-26 20:01:48 +02:00
Matthias 045225beef Slightly improve doc formatting 2021-12-26 15:34:37 +01:00
Matthias d3f3c49b13 Fix minor "gotchas" 2021-12-26 15:29:10 +01:00
cdimauro 6509c38717 Introduce new test functions to check logs
New functions log_contains, num_log_contains, num_log_has and num_log_has_re
are introduced in the conftest module to help and simplify checking:
- if logs contain a string;
- count how many messages contain a string;
- count how many messages are the given string;
- count how many messages matchs a regex.

A couple of existing tests are changed using the new functions.
2021-12-26 09:49:14 +01:00
cdimauro fbaf46901e Reduce more KuCoin logs on retrier decorator
More logs are reduced, for KuCoin, on the retrier_async decorator:

_async_get_candle_history() returned exception
retrying _async_get_candle_history() still for
Giving up retrying: _async_get_candle_history()
Applying DDosProtection backoff delay
2021-12-26 09:06:26 +01:00
cdimauro 96fbf63d0b Reduce KuCoin logs on DDosProtection error messages
KuCoin APIs generate A LOT of error messages.
Consequently, logs are flooded with lines like:
2021-12-25 22:30:23 freqtrade.exchange.common: WARNING -
_async_get_candle_history() returned exception:
"kucoin GET https://openapi-v2.kucoin.com/api/v1/market/candles?
symbol=PDEX-USDT&type=5min&startAt=1640317818&endAt=1640467818
429 Too Many Requests {"code":"429000","msg":"Too Many Requests"}"
2021-12-25 22:30:23 freqtrade.exchange.common: WARNING -
retrying _async_get_candle_history() still for 3 times
2021-12-25 22:30:23 freqtrade.exchange.common: WARNING -
Kucoin 429 error, avoid triggering DDosProtection backoff delay.
2 tries left before giving up
2021-12-25 22:30:24 freqtrade.exchange.common: WARNING -
_async_get_candle_history() returned exception:
"kucoin GET https://openapi-v2.kucoin.com/api/v1/market/candles?
symbol=UBX-USDT&type=5min&startAt=1640317821&endAt=1640467821
429 Too Many Requests {"code":"429000","msg":"Too Many Requests"}"

Messages like:
Kucoin 429 error, avoid triggering DDosProtection backoff delay.
are logged only once for a certain period of time (default is 3600 seconds).
2021-12-25 22:32:22 +01:00
Reigo Reinmets aa54592ec7
Merge branch 'freqtrade:develop' into dca 2021-12-25 21:06:26 +02:00
Matthias 2917cc1f2e Bitpanda's "fetch_my_trades" requires "to" argument
closes #4938
2021-12-25 14:28:22 +01:00
Matthias 6fdad8c6bd Prevent exception, ensure deletion occurs 2021-12-25 14:03:44 +01:00
Matthias 356b2d3d91 Reestablish backward compatibility 2021-12-25 13:47:28 +01:00
Matthias b1feb69ca9 Use Pathlib to delete testfile 2021-12-25 10:30:59 +01:00
Matthias 49aa34c6f3
Merge pull request #6112 from xataxxx/develop
Fix test not running when user_data contains historical data.
2021-12-25 10:11:15 +01:00
Reigo Reinmets ea79eb55e9 Remove this test change from DCA branch. 2021-12-25 10:43:25 +02:00
Reigo Reinmets d11a8928d4 Fix test not running when user_data contains historical data. 2021-12-25 10:39:27 +02:00
Reigo Reinmets 3cbb2ff31f Fix up documentation. 2021-12-25 10:35:08 +02:00
Stefano Ariestasia e3181748dc Add ignore_buying_expired_candle to config_full example 2021-12-25 12:24:12 +09:00
Reigo Reinmets f61aaa8c0d Improve documentation example 2021-12-24 19:02:39 +02:00
Reigo Reinmets ad247b2f07
Merge branch 'freqtrade:develop' into dca 2021-12-24 12:39:09 +02:00
Reigo Reinmets de79d25caf Refactoring to use strategy based configuration 2021-12-24 12:38:43 +02:00
Matthias 58663180e0
Merge pull request #6107 from freqtrade/remove_slack
Update CI to notify on discord only
2021-12-23 21:50:49 +01:00
Matthias 98f6d2d722 Update CI to notify on discord only 2021-12-23 21:27:30 +01:00
Matthias 110e48c541 Remove travis config file
Travisci seems to no longer offer a free plan for open source
repositories, and other repositories report the need to get in touch
with support again and again.

This complication is not necessary with github actions, which covers our
CI needs well.
2021-12-23 20:38:07 +01:00
Matthias 61dbb6206f Slightly reduce verbosity when reload_conf is issued
part of #6095
2021-12-23 20:33:13 +01:00
Reigo Reinmets ac690e9215 Remove unnecessary returns. 2021-12-23 18:49:11 +02:00
Matthias 9a9cc31d83 Update docs regarding multiarch builds 2021-12-23 17:01:44 +01:00
Reigo Reinmets 0c4664e8f4 Lock file is not always left behind so handle it. 2021-12-23 17:39:43 +02:00
Reigo Reinmets bc60139ae3 I really should make this flake8 / isort check automatic before commit. 2021-12-23 16:40:47 +02:00
Reigo Reinmets 8393c99b62 Whoops, missing a line. 2021-12-23 16:25:27 +02:00
Reigo Reinmets 8bf1001b33 Fix test failing when user_data already contains data... 2021-12-23 12:41:37 +02:00
Reigo Reinmets ace0a83c0c Allow forcebuy to also buy more when trade is already open. 2021-12-23 11:57:53 +02:00
Reigo Reinmets 2e23e88fc1 Re-add back the log i accidentally removed. 2021-12-22 11:49:43 +02:00
Reigo Reinmets d70ddeef9a Remove whitespace. Darn IntelliJ. 2021-12-22 11:43:48 +02:00
Reigo Reinmets e439ae1fea Update wallet balance on every order close, not only trade close 2021-12-22 11:20:03 +02:00
Reigo Reinmets da2e07b7fe Unittest base_stake_amount_ratio 2021-12-22 02:42:44 +02:00
Reigo Reinmets 76e7bf6cd2
Merge branch 'freqtrade:develop' into dca 2021-12-22 02:24:21 +02:00
Reigo Reinmets 7df3e7ada4 Add base_stake_amount_ratio config param to support unlimited stakes. 2021-12-22 02:19:11 +02:00
Reigo Reinmets fa01cbf546 iSort 2021-12-21 22:23:01 +02:00
Matthias f88b6af26f
Merge pull request #6070 from cdimauro/suppress_logs
Suppress additional logs for pairs in blacklist
2021-12-21 21:07:15 +01:00
Matthias e5aaef6440 Fix CI failure 2021-12-21 19:20:09 +01:00
cdimauro 6ba8b17fdd Use LoggingMixin.log_once to remove/reduce logs on pairlists 2021-12-21 09:11:57 +01:00
Reigo Reinmets 4862cdb296 Improve documentation. 2021-12-21 00:11:01 +02:00
Reigo Reinmets c9243fb4f6 Use buy side for price since mostly used for DCA. 2021-12-20 22:45:46 +02:00
Reigo Reinmets f6d36ce56b Fix the dca order not being counted bug. 2021-12-20 22:07:42 +02:00
Reigo Reinmets d9f5694965
Merge branch 'freqtrade:develop' into dca 2021-12-20 22:05:58 +02:00
Matthias 40036bc710 Force dry-run for webserver backtest mode
closes #6094
2021-12-20 19:41:33 +01:00
Matthias afad9be53f
Merge pull request #6093 from freqtrade/dependabot/pip/develop/cryptography-36.0.1
Bump cryptography from 36.0.0 to 36.0.1
2021-12-20 09:01:25 +01:00
Matthias 6fe09b6dee
Merge pull request #6090 from freqtrade/dependabot/pip/develop/mypy-0.920
Bump mypy from 0.910 to 0.920
2021-12-20 07:16:21 +01:00
Matthias 90c565006b
Merge pull request #6043 from freqtrade/funding_fees
Funding fees
2021-12-20 07:15:30 +01:00
dependabot[bot] 21da01f777
Bump cryptography from 36.0.0 to 36.0.1
Bumps [cryptography](https://github.com/pyca/cryptography) from 36.0.0 to 36.0.1.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/36.0.0...36.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-20 05:39:04 +00:00
Matthias 260c627e99
Merge pull request #6091 from freqtrade/dependabot/pip/develop/time-machine-2.5.0
Bump time-machine from 2.4.1 to 2.5.0
2021-12-20 06:38:46 +01:00
Matthias d47167c9c4
Merge pull request #6087 from freqtrade/dependabot/pip/develop/numpy-1.21.5
Bump numpy from 1.21.4 to 1.21.5
2021-12-20 06:38:25 +01:00
dependabot[bot] b6f8765d3b
Bump mypy from 0.910 to 0.920
Bumps [mypy](https://github.com/python/mypy) from 0.910 to 0.920.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.910...v0.920)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-20 05:38:03 +00:00
Matthias 5b608c9005
Merge pull request #6088 from freqtrade/dependabot/pip/develop/ccxt-1.64.44
Bump ccxt from 1.63.65 to 1.64.44
2021-12-20 06:37:59 +01:00
Matthias cfad873ea7
Merge pull request #6092 from freqtrade/dependabot/pip/develop/jsonschema-4.3.1
Bump jsonschema from 4.2.1 to 4.3.1
2021-12-20 06:37:41 +01:00
Matthias 480eb55721
Merge pull request #6086 from freqtrade/dependabot/pip/develop/mkdocs-material-8.1.3
Bump mkdocs-material from 8.1.0 to 8.1.3
2021-12-20 06:37:23 +01:00
Matthias e754cc09fc
Merge pull request #6089 from freqtrade/dependabot/pip/develop/types-requests-2.26.2
Bump types-requests from 2.26.1 to 2.26.2
2021-12-20 06:36:46 +01:00
dependabot[bot] cde35509db
Bump jsonschema from 4.2.1 to 4.3.1
Bumps [jsonschema](https://github.com/Julian/jsonschema) from 4.2.1 to 4.3.1.
- [Release notes](https://github.com/Julian/jsonschema/releases)
- [Changelog](https://github.com/Julian/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/Julian/jsonschema/compare/v4.2.1...v4.3.1)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-20 03:01:52 +00:00
dependabot[bot] 5a3a5e98d6
Bump time-machine from 2.4.1 to 2.5.0
Bumps [time-machine](https://github.com/adamchainz/time-machine) from 2.4.1 to 2.5.0.
- [Release notes](https://github.com/adamchainz/time-machine/releases)
- [Changelog](https://github.com/adamchainz/time-machine/blob/main/HISTORY.rst)
- [Commits](https://github.com/adamchainz/time-machine/compare/2.4.1...2.5.0)

---
updated-dependencies:
- dependency-name: time-machine
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-20 03:01:47 +00:00
dependabot[bot] 44ac002cf0
Bump types-requests from 2.26.1 to 2.26.2
Bumps [types-requests](https://github.com/python/typeshed) from 2.26.1 to 2.26.2.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-20 03:01:41 +00:00
dependabot[bot] 56d96d6cff
Bump ccxt from 1.63.65 to 1.64.44
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.63.65 to 1.64.44.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.63.65...1.64.44)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-20 03:01:40 +00:00
dependabot[bot] 36632b48c7
Bump numpy from 1.21.4 to 1.21.5
Bumps [numpy](https://github.com/numpy/numpy) from 1.21.4 to 1.21.5.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/HOWTO_RELEASE.rst.txt)
- [Commits](https://github.com/numpy/numpy/compare/v1.21.4...v1.21.5)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-20 03:01:34 +00:00
dependabot[bot] 1b3aaffef4
Bump mkdocs-material from 8.1.0 to 8.1.3
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.0 to 8.1.3.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.0...8.1.3)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-20 03:01:26 +00:00
Reigo Reinmets b8b5e93000
Merge branch 'freqtrade:develop' into dca 2021-12-19 18:25:53 +02:00
Aezo Teo 6e24274dca updated documentation for webhook 2021-12-19 23:58:58 +08:00
Matthias a557451eee Okex uses 4h mark candle timeframe 2021-12-19 16:47:44 +01:00
Aezo Teo ea418bc9ac added stats for long short 2021-12-19 23:24:46 +08:00
Reigo Reinmets f28d95ffb5 Add test for position adjust 2021-12-19 12:27:17 +02:00
Reigo Reinmets 5da38f3613 Fix typo. Make sure trade is market open. 2021-12-19 10:36:47 +02:00
Matthias 1cbc4da72b
Merge pull request #6082 from Rikj000/docs/hyperopt-import-any
📝 Docs - Added `Any` import
2021-12-19 07:54:49 +01:00
Rik Helsen 58c3d69d14 📝 Docs - Added `Any` import 2021-12-18 23:29:55 +01:00
Reigo Reinmets 3aca3a7133 Use parentheses instead of backslash 2021-12-18 18:55:47 +02:00
Reigo Reinmets 1eb83f9a62 Fix documentation formatting. 2021-12-18 18:55:12 +02:00
Matthias ddce28c12d Update data downloading to include funding_fee downloads 2021-12-18 15:32:02 +01:00
Reigo Reinmets db2f0660fa Some more compatibility fixes. 2021-12-18 11:15:59 +02:00
Reigo Reinmets b094430c26 Restructure for less complexity. Flake8 2021-12-18 11:01:06 +02:00
Reigo Reinmets 30673f84f9 Flake8 compatibility 2021-12-18 11:00:25 +02:00
Reigo Reinmets cc28f73d7f Hopefully fix orders being left lingering and trade not updating once they are complete 2021-12-17 22:29:41 +02:00
Reigo Reinmets d10fb95fce Fix typo 2021-12-17 22:27:10 +02:00
Reigo Reinmets cea023399e
Merge branch 'freqtrade:develop' into dca 2021-12-17 21:59:58 +02:00
Reigo Reinmets 462270bc5a Fix a case where the amount was not recalculated. Added additional temporary logging. 2021-12-16 22:57:56 +02:00
Matthias ea38b58081 Add base_currency to allowed webhook fields
closes #6075
2021-12-16 20:18:01 +01:00
Reigo Reinmets 337af44901
Merge branch 'freqtrade:develop' into dca 2021-12-16 20:02:14 +02:00
Matthias b2fc3e814e
Merge pull request #6055 from freqtrade/blacklist_delete
Add Blacklist delete
2021-12-16 13:41:18 +01:00
Matthias 39f0a17e62 Fix formatting 2021-12-16 07:11:35 +01:00
Reigo Reinmets 7200659b35
Merge branch 'freqtrade:develop' into dca 2021-12-15 23:17:44 +02:00
Matthias f9aa36f291 Don't hard-fail when executing emergency sell fails
closes #6068
2021-12-15 19:37:35 +01:00
Matthias b80b5ed1ad Improve uri_logging test
part of #6069
2021-12-15 19:25:30 +01:00
Reigo Reinmets a7c67e8c7c
Merge branch 'freqtrade:develop' into dca 2021-12-15 08:32:12 +02:00
cdimauro 9d8646072c Add test case for checking removal of logs for pains in blacklist 2021-12-14 06:23:40 +01:00
Matthias dda302eea2
Merge pull request #6026 from freqtrade/dependabot/pip/develop/ta-lib-0.4.22
Bump ta-lib from 0.4.21 to 0.4.22
2021-12-13 19:44:46 +01:00
Reigo Reinmets 9be29c6e92 Theoretically fix second order timeout/canceling deleting the whole order. 2021-12-13 20:44:18 +02:00
Reigo Reinmets 468076cf54 This has to be reset since otherwise it will not handle live limit orders after first buy. 2021-12-13 20:32:13 +02:00
Matthias 793d090561 Improve log message wording for rejected stake amounts
closes #6064
2021-12-13 19:29:07 +01:00
Matthias 95949bd466 Update windows wheels to ta-lib 0.4.22 2021-12-13 19:05:35 +01:00
Reigo Reinmets d4b31263ca Fix open rate being None formatting error. 2021-12-13 13:54:01 +02:00
Reigo Reinmets 6f6e7467f5 Fix potential problem. 2021-12-13 11:17:24 +02:00
Matthias 1d0af074ac
Merge pull request #6061 from freqtrade/dependabot/pip/develop/ccxt-1.63.65
Bump ccxt from 1.63.55 to 1.63.65
2021-12-13 06:51:17 +01:00
Matthias f2d55a91cd
Merge pull request #6063 from freqtrade/dependabot/pip/develop/fastapi-0.70.1
Bump fastapi from 0.70.0 to 0.70.1
2021-12-13 06:51:05 +01:00
Matthias 5371458c99
Merge pull request #6062 from freqtrade/dependabot/pip/develop/pandas-1.3.5
Bump pandas from 1.3.4 to 1.3.5
2021-12-13 06:50:32 +01:00
dependabot[bot] 884a04c7fe
Bump fastapi from 0.70.0 to 0.70.1
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.70.0 to 0.70.1.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.70.0...0.70.1)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-13 03:01:49 +00:00
dependabot[bot] 172b9383c0
Bump pandas from 1.3.4 to 1.3.5
Bumps [pandas](https://github.com/pandas-dev/pandas) from 1.3.4 to 1.3.5.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Changelog](https://github.com/pandas-dev/pandas/blob/master/RELEASE.md)
- [Commits](https://github.com/pandas-dev/pandas/compare/v1.3.4...v1.3.5)

---
updated-dependencies:
- dependency-name: pandas
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-13 03:01:44 +00:00
dependabot[bot] ec4a24649c
Bump ccxt from 1.63.55 to 1.63.65
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.63.55 to 1.63.65.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.63.55...1.63.65)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-13 03:01:38 +00:00
Reigo Reinmets 1362bd9626 Fix potential problem. 2021-12-13 02:46:37 +02:00
Reigo Reinmets 2c3e5fa080 Remove extra logging. 2021-12-13 02:30:29 +02:00
Reigo Reinmets 1017b68af9 Fix some unit-tests. Use common trade entry code. 2021-12-13 02:27:09 +02:00
Reigo Reinmets 98255c18cf
Merge branch 'freqtrade:develop' into dca 2021-12-13 02:10:13 +02:00
Matthias 3398469e55 Update PerformanceFilter to have min_profit as ratio again.
closes #6056
2021-12-12 13:21:36 +01:00
cdimauro 8dd3128ed4 Add type annotation to new logs suppression code 2021-12-12 12:32:09 +01:00
cdimauro 5b998aeca7 Remove unused import
Remove the import from copy, since deepcopy() isn't used anymore
(list.copy() is used instead).
2021-12-12 10:21:54 +01:00
cdimauro 878e16545d Suppress additional logs for pairs in blacklist
Every time that there's freqtrade "ticks", pairs in the blacklist are
checked and a warning message is displayed.
So, the logs are continuously flooded with the same warnings.

For example:
2021-07-26 06:24:45 freqtrade.plugins.pairlistmanager: WARNING -
Pair XTZUP/USDT in your blacklist. Removing it from whitelist...
2021-07-26 06:24:45 freqtrade.plugins.pairlistmanager: WARNING -
Pair SUSHIUP/USDT in your blacklist. Removing it from whitelist...
2021-07-26 06:24:45 freqtrade.plugins.pairlistmanager: WARNING -
Pair XTZDOWN/USDT in your blacklist. Removing it from whitelist...
2021-07-26 06:24:50 freqtrade.plugins.pairlistmanager: WARNING -
Pair XTZUP/USDT in your blacklist. Removing it from whitelist...
2021-07-26 06:24:50 freqtrade.plugins.pairlistmanager: WARNING -
Pair SUSHIUP/USDT in your blacklist. Removing it from whitelist...
2021-07-26 06:24:50 freqtrade.plugins.pairlistmanager: WARNING -
Pair XTZDOWN/USDT in your blacklist. Removing it from whitelist...

This patch shows the warning only the first time, by keeping track
of which pairs in the blacklist were already logged.
2021-12-12 10:20:08 +01:00
Reigo Reinmets c6256aba35 Improve documentation. 2021-12-12 08:37:03 +02:00
Reigo Reinmets 8dacd987b9
Merge branch 'freqtrade:develop' into dca 2021-12-12 08:31:38 +02:00
Matthias c12f2378db
Merge pull request #6045 from freqtrade/trade_fee_fallback_value
Add unknown_fee_rate parameter
2021-12-11 20:00:01 +01:00
Matthias 1a4b403792
Merge pull request #6047 from freqtrade/dependabot/pip/develop/uvicorn-0.16.0
Bump uvicorn from 0.15.0 to 0.16.0
2021-12-11 19:50:18 +01:00
Matthias b90c5e56fb Fix webserver schema bug when running in webserver mode 2021-12-11 19:46:35 +01:00
Matthias 8fdef2900e Increment API version to let clients know this is now available 2021-12-11 19:41:30 +01:00
Matthias 2918032dac
Merge pull request #6046 from freqtrade/dependabot/pip/develop/python-telegram-bot-13.9
Bump python-telegram-bot from 13.8.1 to 13.9
2021-12-11 19:41:14 +01:00
Reigo Reinmets 64558e60d3 Fix bug in example. 2021-12-11 19:45:30 +02:00
Reigo Reinmets 2e13893341
Merge branch 'freqtrade:develop' into dca 2021-12-11 18:28:05 +02:00
Matthias 06bd8a1540
Merge pull request #6052 from freqtrade/dependabot/github_actions/develop/peter-evans/dockerhub-description-2.4.3
Bump peter-evans/dockerhub-description from 2.1.0 to 2.4.3
2021-12-11 17:26:43 +01:00
Reigo Reinmets 9176e2f1f6
Merge branch 'freqtrade:develop' into dca 2021-12-11 18:26:11 +02:00
Reigo Reinmets 71147d2899 Attempt to support limit orders for position adjustment. 2021-12-11 18:25:05 +02:00
dependabot[bot] 58cd91bd80
Bump python-telegram-bot from 13.8.1 to 13.9
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 13.8.1 to 13.9.
- [Release notes](https://github.com/python-telegram-bot/python-telegram-bot/releases)
- [Changelog](https://github.com/python-telegram-bot/python-telegram-bot/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-telegram-bot/python-telegram-bot/compare/v13.8.1...v13.9)

---
updated-dependencies:
- dependency-name: python-telegram-bot
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-11 16:00:35 +00:00
Matthias dbe97bcdb1
Merge pull request #6053 from freqtrade/dependabot/github_actions/develop/crazy-max/ghaction-docker-buildx-3.3.1
Bump crazy-max/ghaction-docker-buildx from 1 to 3.3.1
2021-12-11 16:59:56 +01:00
Matthias 843eec63f0
Merge pull request #6051 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.28
Bump sqlalchemy from 1.4.27 to 1.4.28
2021-12-11 16:59:42 +01:00
Matthias 0df8786af6
Merge pull request #6048 from freqtrade/dependabot/pip/develop/prompt-toolkit-3.0.24
Bump prompt-toolkit from 3.0.23 to 3.0.24
2021-12-11 16:35:07 +01:00
Matthias b4ed90788b
Merge pull request #6050 from freqtrade/dependabot/pip/develop/ccxt-1.63.55
Bump ccxt from 1.63.1 to 1.63.55
2021-12-11 16:34:36 +01:00
Matthias c871e51dcc
Merge pull request #6049 from freqtrade/dependabot/pip/develop/mkdocs-material-8.1.0
Bump mkdocs-material from 8.0.4 to 8.1.0
2021-12-11 16:34:28 +01:00
Matthias 857f4ec125 Remove exception-handlers which catch exceptions that are never raised 2021-12-11 16:20:09 +01:00
Reigo Reinmets 7d42f42405
Merge branch 'freqtrade:develop' into dca 2021-12-11 17:14:50 +02:00
Reigo Reinmets f11a40f144 Improve documentation on adjust_trade_position and position_adjustment_enable 2021-12-11 17:14:04 +02:00
dependabot[bot] 783ee633aa
Bump crazy-max/ghaction-docker-buildx from 1 to 3.3.1
Bumps [crazy-max/ghaction-docker-buildx](https://github.com/crazy-max/ghaction-docker-buildx) from 1 to 3.3.1.
- [Release notes](https://github.com/crazy-max/ghaction-docker-buildx/releases)
- [Changelog](https://github.com/crazy-max/ghaction-docker-buildx/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crazy-max/ghaction-docker-buildx/compare/v1...v3.3.1)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-docker-buildx
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-11 15:13:10 +00:00
dependabot[bot] fb134c67a9
Bump peter-evans/dockerhub-description from 2.1.0 to 2.4.3
Bumps [peter-evans/dockerhub-description](https://github.com/peter-evans/dockerhub-description) from 2.1.0 to 2.4.3.
- [Release notes](https://github.com/peter-evans/dockerhub-description/releases)
- [Commits](https://github.com/peter-evans/dockerhub-description/compare/v2.1.0...v2.4.3)

---
updated-dependencies:
- dependency-name: peter-evans/dockerhub-description
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-11 15:13:08 +00:00
Matthias 849ca1ec06 Dependabot - use correct branch 2021-12-11 16:12:36 +01:00
Matthias 8da79d0ab2 Add blacklist-control to telegram 2021-12-11 16:12:24 +01:00
dependabot[bot] aaf5f4ce39
Bump sqlalchemy from 1.4.27 to 1.4.28
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.27 to 1.4.28.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-11 14:55:27 +00:00
dependabot[bot] ae92bf56bf
Bump ccxt from 1.63.1 to 1.63.55
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.63.1 to 1.63.55.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.63.1...1.63.55)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-11 14:55:21 +00:00
dependabot[bot] f47cfbd2a9
Bump mkdocs-material from 8.0.4 to 8.1.0
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.0.4 to 8.1.0.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.0.4...8.1.0)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-11 14:55:13 +00:00
dependabot[bot] c9c683f2b0
Bump prompt-toolkit from 3.0.23 to 3.0.24
Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.23 to 3.0.24.
- [Release notes](https://github.com/prompt-toolkit/python-prompt-toolkit/releases)
- [Changelog](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/CHANGELOG)
- [Commits](https://github.com/prompt-toolkit/python-prompt-toolkit/compare/3.0.23...3.0.24)

---
updated-dependencies:
- dependency-name: prompt-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-11 14:55:09 +00:00
dependabot[bot] 81cafd090d
Bump uvicorn from 0.15.0 to 0.16.0
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.15.0 to 0.16.0.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.15.0...0.16.0)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-11 14:55:05 +00:00
Matthias 671b9903d7 Add github-actions dependabot 2021-12-11 15:54:09 +01:00
Matthias cc96db76f0 Add possibility to delete pairs from the pairlist via api 2021-12-11 15:53:44 +01:00
Matthias e729fad99c Add unknown_fee_rate parameter 2021-12-11 15:26:08 +01:00
Matthias e9c3f0cbbd Add note about python3.10 not being supported
closes #6041
2021-12-11 10:01:55 +01:00
Matthias 17bd990053 Update funding_fee freqtradebot test 2021-12-11 09:49:48 +01:00
Reigo Reinmets f97662e816 Add position_adjustment_enable config keyword to enable it. 2021-12-11 00:28:12 +02:00
Reigo Reinmets b7bf3247b8 Only adjust stoploss if it's set. 2021-12-10 23:17:12 +02:00
Reigo Reinmets 1e3fc5e984 Slight code touchup 2021-12-10 22:48:00 +02:00
Matthias 6948414e47 Remove no longer necessary method _get_mark_price_history 2021-12-10 19:54:49 +01:00
Matthias a87d2d62bb Remove no longer needed method get_funding_rate_history 2021-12-10 19:52:02 +01:00
Matthias aabca85a5f Update `_calculate_funding_fees` to reuse existing async infrastructure 2021-12-10 19:50:58 +01:00
Reigo Reinmets c179951cca Expect stake_amount, not actual amount of pair from strategy for DCA. 2021-12-10 20:42:24 +02:00
Matthias 35f9549e98 Expose drop_incomplete from refresh_latest_ohlcv 2021-12-10 07:36:25 +01:00
Matthias 3f266e8c8c Improve ccxt_mark_price_test 2021-12-10 06:46:35 +01:00
Reigo Reinmets b2c2852f86 Initial backtesting support. This does make it rather slow. 2021-12-09 23:21:35 +02:00
Reigo Reinmets 00366c5c88 Additional unit-tests 2021-12-09 20:03:41 +02:00
Reigo Reinmets 28d0b5165a Add unit-test 2021-12-09 19:47:24 +02:00
Reigo Reinmets fde6779873 Some code improvements. Still some bugs. 2021-12-09 14:47:44 +02:00
Reigo Reinmets 88792852e4 Merge branch 'develop' of github.com:freqtrade/freqtrade into dca 2021-12-09 14:33:14 +02:00
Matthias edd80c3006 Merge branch 'develop' into feat/short 2021-12-09 06:34:07 +01:00
Matthias 0c28d15dc1
Merge pull request #5780 from samgermain/mark-price-candles
Mark price candles
2021-12-09 06:24:54 +01:00
Matthias be6b1f6f83 Import from enums, not submodules 2021-12-09 06:18:21 +01:00
Matthias b79f2f2981
Merge pull request #6035 from freqtrade/revert-6034-dependabot/docker/python-3.10.1-slim-bullseye
Revert "Bump python from 3.9.9-slim-bullseye to 3.10.1-slim-bullseye"
2021-12-09 06:18:11 +01:00
Matthias facb5b3991
Revert "Bump python from 3.9.9-slim-bullseye to 3.10.1-slim-bullseye" 2021-12-09 06:17:56 +01:00
Matthias 79a87649b9
Merge pull request #6034 from freqtrade/dependabot/docker/python-3.10.1-slim-bullseye
Bump python from 3.9.9-slim-bullseye to 3.10.1-slim-bullseye
2021-12-09 06:15:16 +01:00
dependabot[bot] 7848e17a49
Bump python from 3.9.9-slim-bullseye to 3.10.1-slim-bullseye
Bumps python from 3.9.9-slim-bullseye to 3.10.1-slim-bullseye.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-09 03:01:59 +00:00
Matthias 2679744228 Explicit test for candletype get_default 2021-12-08 16:20:26 +01:00
Matthias 35afc7b478 Fix wrong tradingMOde comparison 2021-12-08 16:07:27 +01:00
Matthias 25e1142f89 Update Enum imports 2021-12-08 15:59:20 +01:00
Matthias d079b444a6 Add optional "has" (as comment for now) 2021-12-08 14:48:56 +01:00
Matthias 9b9d61c6d6 Remove SPOT_ candletype 2021-12-08 14:38:09 +01:00
Matthias d89cbda7b8 Use `candle_type_def` where possible 2021-12-08 14:15:54 +01:00
Matthias 222c293602 Add "defaultCandletype" 2021-12-08 13:17:20 +01:00
Matthias dda7283f3e Remove unnecessary default parameters 2021-12-08 11:32:58 +01:00
Matthias ac2fb08aea Small updates while reviewing 2021-12-07 20:21:49 +01:00
Matthias f1c5a4d065 Use pair-reconstruction method wherever possible 2021-12-07 20:12:44 +01:00
Matthias 5b67be06c2 Update description of --candletypes 2021-12-07 20:00:12 +01:00
Matthias b4d27973b1 Update ohlcv_get_pairs test 2021-12-07 19:57:18 +01:00
Matthias 37b013c157 Update hdf5 test 2021-12-07 19:50:16 +01:00
Reigo Reinmets fd875786fd Initial very crude DCA implementation attempt. Very alpha.
No backtesting support.
2021-12-07 11:16:11 +02:00
Matthias a870e0962a Fix some obtruse (test)bugs 2021-12-07 07:25:00 +01:00
Matthias ba1091b9e4 Improve dataprovider test 2021-12-07 07:11:36 +01:00
Matthias cff950d783 Update test_convert_ohlcv_format to test as before
it did test conversion of multiple files, and that should be kept this
way.
2021-12-07 07:06:28 +01:00
Matthias 5a3b907132 Update converter tests 2021-12-07 06:59:27 +01:00
Matthias a58c2c4f6c Update ccxt_compat tests to also test funding_rate 2021-12-07 06:31:39 +01:00
Matthias ce0df08ac7 Update documentation of changed commands 2021-12-06 07:11:15 +01:00
Matthias decaa24f81
Merge pull request #6028 from freqtrade/dependabot/pip/develop/mkdocs-material-8.0.4
Bump mkdocs-material from 8.0.1 to 8.0.4
2021-12-06 07:03:50 +01:00
Matthias f9529c1fb6
Merge pull request #6027 from freqtrade/dependabot/pip/develop/ccxt-1.63.1
Bump ccxt from 1.62.42 to 1.63.1
2021-12-06 06:22:58 +01:00
dependabot[bot] 3dda0ef2ef
Bump mkdocs-material from 8.0.1 to 8.0.4
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.0.1 to 8.0.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.0.1...8.0.4)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-06 03:01:35 +00:00
dependabot[bot] 50a6eaea22
Bump ccxt from 1.62.42 to 1.63.1
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.62.42 to 1.63.1.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.62.42...1.63.1)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-06 03:01:30 +00:00
dependabot[bot] 61211a1194
Bump ta-lib from 0.4.21 to 0.4.22
Bumps [ta-lib](https://github.com/mrjbq7/ta-lib) from 0.4.21 to 0.4.22.
- [Release notes](https://github.com/mrjbq7/ta-lib/releases)
- [Changelog](https://github.com/mrjbq7/ta-lib/blob/master/CHANGELOG)
- [Commits](https://github.com/mrjbq7/ta-lib/compare/TA_Lib-0.4.21...TA_Lib-0.4.22)

---
updated-dependencies:
- dependency-name: ta-lib
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-06 03:01:18 +00:00
Matthias 9d79501c13 Add candletypes argument for convert-data 2021-12-05 10:26:00 +01:00
Matthias a80c3f6a1b Use exchange-dependant timeframe/candletype to get mark/index candles 2021-12-05 10:01:44 +01:00
Matthias a7eb9f8a58 Fix random test failure 2021-12-05 09:41:24 +01:00
Matthias fbd64d757d Improve doc wording 2021-12-05 09:26:44 +01:00
Matthias 4278c5a24a add note about arm64 installation
closes #6025
2021-12-05 09:24:40 +01:00
Matthias 243e59cabb
Merge pull request #5929 from dvdmchl/develop
Telegram and log prints strategy version.
2021-12-04 15:16:42 +01:00
Matthias 210202a797
Merge pull request #5756 from GluTbl/patch-1
add custom entry/exit price support to backtesting
2021-12-04 15:16:15 +01:00
Matthias 1a08613498 Fix parameter sequence in mock 2021-12-04 15:13:06 +01:00
Matthias c981cc335d Remove wrong comment 2021-12-04 14:51:55 +01:00
Matthias d0467b30ba Add strategy_version to API response 2021-12-04 14:49:45 +01:00
Matthias e3190cf8a8 Update documentation 2021-12-04 14:44:03 +01:00
Matthias 848a2d5383 Merge branch 'develop' into pr/dvdmchl/5929 2021-12-04 14:40:15 +01:00
Matthias 2080bf0952 Fix some formatting errors, add test for strategy version 2021-12-04 14:40:05 +01:00
Matthias 68ac8008ec Call custom_exit_price only for sell_signal and custom_sell 2021-12-04 14:14:22 +01:00
Matthias 84ad176287 Improve documentation wording 2021-12-04 13:33:38 +01:00
Matthias 86910b58dc Bracket entry/exit prices to low/high of the candle 2021-12-03 17:44:53 +01:00
Matthias d1209fe415 Merge branch 'develop' into pr/GluTbl/5756 2021-12-03 17:37:44 +01:00
Matthias 5b779fd68b Update missing candle_type params 2021-12-03 16:44:05 +01:00
Matthias d09a30cc67 OrderTypeValues should be in enums 2021-12-03 15:34:28 +01:00
Matthias e75f31ee86 Create correct Type for PairWithTimeFrame 2021-12-03 15:20:18 +01:00
Matthias bead867940 Improve some typehints 2021-12-03 15:08:00 +01:00
Matthias 9421e6e61c Improve some tests 2021-12-03 14:57:09 +01:00
Matthias 69f371bf63 Update download-data to download necessary data for futures 2021-12-03 14:43:49 +01:00
Matthias d30aaaeaaa Tests should also use CandleType 2021-12-03 14:27:04 +01:00
Matthias 2f17fa2765 Update more to use candleType 2021-12-03 14:15:35 +01:00
Matthias 5493212672 More candletype changes 2021-12-03 13:04:31 +01:00
Matthias f33643cacf Add candletype from string 2021-12-03 12:46:18 +01:00
Matthias f9cf59bb4d Candle_type to enum 2021-12-03 12:32:12 +01:00
Matthias a87e256737 Add candleType enum 2021-12-03 12:12:33 +01:00
Matthias e0e4369c8e list-available-pairs should be tradingmode dependent 2021-12-03 08:09:32 +01:00
Matthias b578e31255 Align tests to have futures data in futures/ directory 2021-12-03 07:20:43 +01:00
Matthias 7baf11a497 Futures candles should go into a subdirectory 2021-12-03 07:04:53 +01:00
Matthias fae7167bf3 Merge branch 'feat/short' into pr/samgermain/5780 2021-12-02 20:25:30 +01:00
Matthias fb1599d21b Merge branch 'develop' into feat/short 2021-12-02 20:20:35 +01:00
Matthias ad5c8f601c Simplify datahandler classes by exploiting commonalities 2021-12-02 20:19:22 +01:00
Matthias d3ad4fb52e Don't crash dry-run if orderbook side is empty
closes #6018
2021-12-02 19:17:47 +01:00
Matthias 22cda87211 Update some tests after merge 2021-12-02 19:05:06 +01:00
Matthias f4d0abc51a Merge branch 'feat/short' into pr/samgermain/5780 2021-12-02 07:09:37 +01:00
Matthias 294c98ed5e Document exchange.uid
part of #6016
2021-12-02 06:55:08 +01:00
Matthias f71b7a4e76 Merge branch 'develop' into feat/short 2021-12-02 06:53:15 +01:00
Matthias c1fed8a077
Merge pull request #6014 from freqtrade/double_notifications
Double notifications
2021-12-02 06:39:18 +01:00
Matthias 0375a08302 use to_hdf instead of HDFStore 2021-12-01 20:32:23 +01:00
Matthias 5ce1eeecf5 Reorder messages to be sent in correct order
buy first, then buy fill,
sell first, then sell fill.
2021-12-01 19:57:24 +01:00
Matthias 77443d5abc
Merge pull request #6011 from freqtrade/lev/backtesting
correctly apply leverage to backtesting
2021-12-01 19:49:40 +01:00
Matthias 67f3570bf3 Merge branch 'develop' into feat/short 2021-12-01 07:21:36 +01:00
Matthias c22f381dfe Fix Schema issue
closes #6010
2021-11-30 20:46:47 +01:00
Matthias 8b2fbb6432 Add leveraged backtest detail test 2021-11-30 20:42:18 +01:00
Matthias a2a974fc6d correctly apply leverage to backtesting 2021-11-30 20:32:34 +01:00
Matthias 542963c7a6 Reduce code complexity by combining buy and buy_fill methods 2021-11-30 19:45:20 +01:00
Matthias f0abe218a2 Batch ohlcv requests to not overwelm ccxt's async throttler
closes #6003
2021-11-30 07:10:12 +01:00
Matthias 231b1e2f57 Improve Async error message content 2021-11-30 07:10:12 +01:00
Matthias de7e1e6bf7
Merge pull request #5980 from incrementby1/ShuffleFilterDetectLiveMode
Shuffle filter use seed only in backtesting mode
2021-11-30 06:37:35 +01:00
incrementby1 85b1f6f6b3
Update pairlists.md 2021-11-29 20:44:51 +01:00
incrementby1 60eca8b1f1
revert to random object 2021-11-29 20:35:43 +01:00
Matthias 06d8217e62
Merge pull request #5983 from PostmanSpat/webhook-raw-retry
Added raw config and retry config to webhook
2021-11-29 20:30:06 +01:00
Matthias dfb148f8d7 Fix formatting 2021-11-29 19:54:54 +01:00
Matthias f8cb3d2901 Restore openAPI functioning 2021-11-29 19:52:40 +01:00
Matthias bd8348451e
Merge pull request #5999 from freqtrade/dependabot/pip/develop/mkdocs-material-8.0.1
Bump mkdocs-material from 7.3.6 to 8.0.1
2021-11-29 19:50:59 +01:00
Matthias 0f15340269
Merge pull request #5995 from freqtrade/dependabot/pip/develop/aiofiles-0.8.0
Bump aiofiles from 0.7.0 to 0.8.0
2021-11-29 19:32:45 +01:00
Matthias 2e51477455 Update mkdocs file to 8.0 2021-11-29 19:32:16 +01:00
Spat 018407852a Added missing webhook config params to constants 2021-11-29 18:17:59 +11:00
Matthias 56b4457a9c
Merge pull request #5996 from freqtrade/dependabot/pip/develop/time-machine-2.4.1
Bump time-machine from 2.4.0 to 2.4.1
2021-11-29 08:07:30 +01:00
Matthias 2db064d8f7
Merge pull request #6000 from stash86/fix-docs
Add few sentences to make clear about backtest + pairlist handlers
2021-11-29 07:09:36 +01:00
Matthias f0bf9b51dc
Merge pull request #5992 from freqtrade/dependabot/pip/develop/ccxt-1.62.42
Bump ccxt from 1.61.92 to 1.62.42
2021-11-29 07:08:46 +01:00
dependabot[bot] 57e55eb938
Bump time-machine from 2.4.0 to 2.4.1
Bumps [time-machine](https://github.com/adamchainz/time-machine) from 2.4.0 to 2.4.1.
- [Release notes](https://github.com/adamchainz/time-machine/releases)
- [Changelog](https://github.com/adamchainz/time-machine/blob/main/HISTORY.rst)
- [Commits](https://github.com/adamchainz/time-machine/compare/2.4.0...2.4.1)

---
updated-dependencies:
- dependency-name: time-machine
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-29 06:00:32 +00:00
Matthias 5ee5600cb9
Merge pull request #5993 from freqtrade/dependabot/pip/develop/scipy-1.7.3
Bump scipy from 1.7.2 to 1.7.3
2021-11-29 06:59:51 +01:00
Matthias 828ab874c1
Merge pull request #5991 from freqtrade/dependabot/pip/develop/prompt-toolkit-3.0.23
Bump prompt-toolkit from 3.0.22 to 3.0.23
2021-11-29 06:59:30 +01:00
Matthias 90892e5a89
Merge pull request #5997 from freqtrade/dependabot/pip/develop/types-python-dateutil-2.8.3
Bump types-python-dateutil from 2.8.2 to 2.8.3
2021-11-29 06:59:14 +01:00
Matthias 180df0514f
Merge pull request #5998 from freqtrade/dependabot/pip/develop/types-requests-2.26.1
Bump types-requests from 2.26.0 to 2.26.1
2021-11-29 06:58:55 +01:00
Matthias 731208936f
Merge pull request #5994 from freqtrade/dependabot/pip/develop/types-cachetools-4.2.6
Bump types-cachetools from 4.2.5 to 4.2.6
2021-11-29 06:58:41 +01:00
Stefano Ariestasia 3b4051488f Merge branch 'fix-docs' of https://github.com/stash86/freqtrade into fix-docs 2021-11-29 14:32:37 +09:00
Stefano Ariestasia c126d2530a Add few sentences on docs
- Add warning that PrecisionFilter can't be used on backtest that use multiple strategies
- Add note that not all pairlist handlers can be used on backtest
2021-11-29 14:32:33 +09:00
dependabot[bot] 24997fb36f
Bump mkdocs-material from 7.3.6 to 8.0.1
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.3.6 to 8.0.1.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Upgrade guide](https://github.com/squidfunk/mkdocs-material/blob/master/docs/upgrade.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.3.6...8.0.1)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-29 03:01:50 +00:00
dependabot[bot] b81d768eb3
Bump types-requests from 2.26.0 to 2.26.1
Bumps [types-requests](https://github.com/python/typeshed) from 2.26.0 to 2.26.1.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-29 03:01:45 +00:00
dependabot[bot] 39c3175b69
Bump types-python-dateutil from 2.8.2 to 2.8.3
Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.2 to 2.8.3.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-python-dateutil
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-29 03:01:43 +00:00
dependabot[bot] b0b2fdba70
Bump aiofiles from 0.7.0 to 0.8.0
Bumps [aiofiles](https://github.com/Tinche/aiofiles) from 0.7.0 to 0.8.0.
- [Release notes](https://github.com/Tinche/aiofiles/releases)
- [Commits](https://github.com/Tinche/aiofiles/compare/v0.7.0...v0.8.0)

---
updated-dependencies:
- dependency-name: aiofiles
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-29 03:01:38 +00:00
dependabot[bot] c2a7b1930b
Bump types-cachetools from 4.2.5 to 4.2.6
Bumps [types-cachetools](https://github.com/python/typeshed) from 4.2.5 to 4.2.6.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-29 03:01:36 +00:00
dependabot[bot] 589c9f55e0
Bump scipy from 1.7.2 to 1.7.3
Bumps [scipy](https://github.com/scipy/scipy) from 1.7.2 to 1.7.3.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.7.2...v1.7.3)

---
updated-dependencies:
- dependency-name: scipy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-29 03:01:33 +00:00
dependabot[bot] e9e8023d73
Bump ccxt from 1.61.92 to 1.62.42
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.61.92 to 1.62.42.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.61.92...1.62.42)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-29 03:01:27 +00:00
dependabot[bot] df09fe5df6
Bump prompt-toolkit from 3.0.22 to 3.0.23
Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.22 to 3.0.23.
- [Release notes](https://github.com/prompt-toolkit/python-prompt-toolkit/releases)
- [Changelog](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/CHANGELOG)
- [Commits](https://github.com/prompt-toolkit/python-prompt-toolkit/compare/3.0.22...3.0.23)

---
updated-dependencies:
- dependency-name: prompt-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-29 03:01:20 +00:00
Spat 29180a1d2b Moved retry config to constants 2021-11-29 10:48:35 +11:00
Spat 0fa5bf54cd Changed comment 2021-11-29 10:30:41 +11:00
Matthias cf5ff9257d Add plotconfig as property documentation and sample 2021-11-28 19:39:43 +01:00
Matthias 134b129d9d get_analyzed_df does not need a "candle_type" argument 2021-11-28 19:14:58 +01:00
incrementby1 c7d10e2c7e
delete unneeded comment 2021-11-28 19:05:02 +01:00
Matthias cb4efa6d56 Revert unnecessary formatting changes 2021-11-28 15:53:13 +01:00
Matthias c20157e64f Add compatibility code for existing informative_pairs implementation 2021-11-28 15:43:04 +01:00
Matthias 0d6c933935 Improve and fix pair detection from available data 2021-11-28 15:25:57 +01:00
Matthias 0d1324718c Don't replace "-" when writing pair files 2021-11-28 15:08:02 +01:00
Matthias 7faa7539b4 Further enhance pair retrieval 2021-11-28 15:03:55 +01:00
Matthias 8d70672bee Enhance Regex to work for mark candles 2021-11-28 14:37:54 +01:00
Matthias c096c7f5cb Add explicit tests for ohlcv regex 2021-11-28 14:34:46 +01:00
Matthias 2414c0bd9f
Merge pull request #5982 from stash86/fix-docs
add weekly and monthly to valid keys
2021-11-28 08:28:13 +01:00
Spat fb6ae174b9 Added raw config and retry config to webhook 2021-11-28 11:42:57 +11:00
Stefano Ariestasia fd9bf2adb0 add weekly and monthly to valid keys 2021-11-28 08:23:02 +09:00
Matthias 6429205d39 Improve Notebook documentation to include Dataprovider
fix #5975
2021-11-27 19:53:37 +01:00
Matthias 2b3e7eeb21 Use Enum values within bot code 2021-11-27 19:41:36 +01:00
Matthias 409a801763 Fix caching problem in refresh_ohlcv
closes #5978
2021-11-27 19:31:39 +01:00
incrementby1 b90303c9a3
Update ShuffleFilter.py
random.Random() is deprecated since 3.9
2021-11-27 18:26:30 +01:00
Matthias 4179a1a797
Merge pull request #5977 from freqtrade/new_release
New release 2021.11
2021-11-27 17:01:56 +01:00
Matthias cb95b362ec
Merge pull request #5976 from freqtrade/forcebuy
allow force options with ordertype
2021-11-27 17:01:18 +01:00
Matthias 107e124f60 Fix bug in exchange causing candles not to download 2021-11-27 17:00:06 +01:00
Matthias bf8f1045ca Map binanceusdm to ft binance class 2021-11-27 16:46:17 +01:00
Matthias 504efbd6d4 Add futures argument to download-data command 2021-11-27 16:36:59 +01:00
incrementby1 62d248d182
Merge pull request #2 from incrementby1/ShuffleFilterDetectLiveModes
Update pairlists.md
2021-11-27 16:30:46 +01:00
incrementby1 2f0f576fce
Update pairlists.md
ShuffleFilter will automatically detect runmodes and apply the `seed` only for backtesting modes - if ad `seed` value is set.
2021-11-27 16:28:41 +01:00
incrementby1 8c52ba3360
ShuffleFilterDetectLiveMode
# Apply seed in backtesting mode to get comparable results,
        # but not in live modes to get a non-repeating order of pairs during live modes.
2021-11-27 16:21:23 +01:00
Sam Germain 392128013f Updated ohlcv_get_available_data to recognize swap and futures pairs 2021-11-27 03:11:44 -06:00
Sam Germain 8761649fd7 Added candle_type in doc strings 2021-11-27 02:55:42 -06:00
Matthias 7e1eedd7df Version bump to 2021.11 2021-11-27 09:55:00 +01:00
Matthias eab4bdd274 Merge branch 'stable' into new_release 2021-11-27 09:54:51 +01:00
Matthias a9cdb428d0 Version bump to 2021.10 2021-11-27 09:53:34 +01:00
Matthias 3f10430eb5 Version bump to 2021.9 2021-11-27 09:53:34 +01:00
Matthias a629777890 Improve test coverage in telegram module 2021-11-27 09:53:05 +01:00
Sam Germain 0183e313ac Merge branch 'mark-price-candles' of https://github.com/samgermain/freqtrade into mark-price-candles 2021-11-27 02:44:14 -06:00
Sam Germain 0d30b32fdd Formatting changes 2021-11-27 02:44:06 -06:00
Matthias 6ca6f62509 Remove duplicate code in optimize_reports 2021-11-27 09:39:10 +01:00
Matthias bc52b3db56 Properly handle None values via API 2021-11-27 09:26:14 +01:00
Matthias 80ed5283b2 Add forcesell market/limit distinction 2021-11-27 09:10:18 +01:00
Matthias 450293878f
Merge pull request #5964 from stash86/fix-docs
Add more words on VolumePairlist backtest error message
2021-11-26 07:48:24 +01:00
Matthias 897788de17 Reformulate exception to be "nicer" 2021-11-26 07:02:50 +01:00
Matthias cc9ea1d466
Merge pull request #5935 from freqtrade/short_buy_tag_compat
Short buy tag compat
2021-11-26 06:29:56 +01:00
Matthias f4bc30c927 Update docs to include "vpn/ssh" section 2021-11-26 06:23:29 +01:00
Stefano Ariestasia 5307d2bf3b Trimming the sentence 2021-11-25 17:04:04 +09:00
Stefano Ariestasia c23d90e2b8 Update test_backtesting.py 2021-11-25 16:56:56 +09:00
Stefano Ariestasia 0c629fc951 Update test_backtesting.py 2021-11-25 16:03:29 +09:00
Stefano Ariestasia 0d1e84cf55 Add more words
Because apparently, we get at least 1 question about this everyday in Discord
2021-11-25 16:00:10 +09:00
Matthias 338fe333a9 Allow forcebuy to specify order_type 2021-11-24 20:20:58 +01:00
Matthias 65906d330f Improve tests for pair_to_filename 2021-11-23 20:07:54 +01:00
Matthias e8feac3674 Improve tests for pair_to_filename 2021-11-23 20:02:07 +01:00
Matthias 51e54a666c Merge branch 'feat/short' into pr/samgermain/5780 2021-11-23 19:01:07 +01:00
Matthias db16098981 Fix Tests 2021-11-23 17:43:37 +01:00
Matthias 342862a5f3
Merge pull request #5952 from freqtrade/armhf_39
Update ARMHF image to 3.9
2021-11-23 15:37:40 +01:00
Matthias c23ca35d23 Update ARMHF image to 3.9 2021-11-23 14:04:39 +01:00
Matthias 047707f840
Merge pull request #5953 from samgermain/is-future-method-fix
Is future method fix
2021-11-23 11:33:53 +01:00
Sam Germain 586ca3b2fa removed is_market_future from binance and ftx 2021-11-23 11:09:31 +01:00
Sam Germain 70751b942c market_is_future fix 2021-11-23 01:50:23 -06:00
Matthias ce0593c0e1 Merge branch 'develop' into feat/short 2021-11-23 07:35:26 +01:00
Matthias b8cefd687e Add api_version to botresponse 2021-11-23 07:08:55 +01:00
Matthias 0d082f7b17
Merge pull request #5950 from flozzone/patch-1
fix typo in Volatility filter description.
2021-11-22 20:17:54 +01:00
flozzone c245a2a897
fix typo in Volatility filter description. 2021-11-22 20:10:26 +01:00
Matthias 2c805e53ee
Merge pull request #5945 from ACMCMC/patch-1
Changed the wording of the documentation to be clearer
2021-11-22 19:28:45 +01:00
Matthias 259b95074f
Merge pull request #5936 from rokups/rk/decorator-fix
Use market data to get base and quote currencies in @informative() decorator
2021-11-22 19:14:35 +01:00
Aldán Creo 43dab3ee60 Changed the wording of the documentation to be clearer
The sentence I've changed was continued on a different paragraph before, even though they were connected ideas. I have changed it so that they are part of the same paragraph now.
2021-11-22 19:08:06 +01:00
Rokas Kupstys 78a00f2518 Use market data to get base and quote currencies in @informative() decorator. 2021-11-22 09:27:45 +02:00
Matthias 280a0ec17e
Merge pull request #5944 from freqtrade/dependabot/pip/develop/ccxt-1.61.92
Bump ccxt from 1.61.24 to 1.61.92
2021-11-22 07:15:53 +01:00
Matthias 64e34f382e Sell-fill should include open-rate 2021-11-22 07:13:22 +01:00
Matthias ecf2ac3c21 Bump aiohttp to 3.8.1 2021-11-22 06:51:06 +01:00
dependabot[bot] 80946cd9d6
Bump ccxt from 1.61.24 to 1.61.92
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.61.24 to 1.61.92.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.61.24...1.61.92)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-22 05:47:48 +00:00
Matthias 965ab3848c
Merge pull request #5943 from freqtrade/dependabot/pip/develop/plotly-5.4.0
Bump plotly from 5.3.1 to 5.4.0
2021-11-22 06:46:52 +01:00
Matthias 6f93f96f18
Merge pull request #5941 from freqtrade/dependabot/pip/develop/cryptography-36.0.0
Bump cryptography from 35.0.0 to 36.0.0
2021-11-22 06:46:29 +01:00
Matthias 9f1fdc9931
Merge pull request #5942 from freqtrade/dependabot/pip/develop/types-cachetools-4.2.5
Bump types-cachetools from 4.2.4 to 4.2.5
2021-11-22 06:45:09 +01:00
Matthias e0f21a5e35
Merge pull request #5939 from freqtrade/dependabot/pip/develop/filelock-3.4.0
Bump filelock from 3.3.2 to 3.4.0
2021-11-22 06:44:03 +01:00
dependabot[bot] 0ef99206b0
Bump plotly from 5.3.1 to 5.4.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.3.1 to 5.4.0.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.3.1...v5.4.0)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-22 03:01:56 +00:00
dependabot[bot] 247f855ba9
Bump types-cachetools from 4.2.4 to 4.2.5
Bumps [types-cachetools](https://github.com/python/typeshed) from 4.2.4 to 4.2.5.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-22 03:01:52 +00:00
dependabot[bot] fdc6ca1bd8
Bump cryptography from 35.0.0 to 36.0.0
Bumps [cryptography](https://github.com/pyca/cryptography) from 35.0.0 to 36.0.0.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/35.0.0...36.0.0)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-22 03:01:48 +00:00
dependabot[bot] ab93e13682
Bump filelock from 3.3.2 to 3.4.0
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.3.2 to 3.4.0.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/py-filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.3.2...3.4.0)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-22 03:01:36 +00:00
Sam Germain 920151934a Added candle_type to a lot of methods, wrote some tests 2021-11-21 17:48:14 -06:00
Sam Germain e2f98a8dab replaced candle_type: Optional[str] = '' with candle_type: str = '' 2021-11-21 17:48:14 -06:00
Sam Germain 64a6abc541 Added candle type to ohlcv_get_available_data 2021-11-21 17:48:14 -06:00
Sam Germain b4029533ec removed candle type from idatahandler.py 2021-11-21 17:48:14 -06:00
Sam Germain c3b2929e75 Added template for test test_hdf5datahandler_ohlcv_load_and_resave 2021-11-21 17:48:14 -06:00
Sam Germain 843ca22a56 mark price test ohlcv_get_pairs 2021-11-21 17:48:14 -06:00
Sam Germain 91a11d01e9 Added XRP_USDT-1h-mark json testdat file, and test for ohlcv_load with candle_type=mark 2021-11-21 17:48:14 -06:00
Sam Germain 043ed3e330 Added candle_type tests for test_json_pair_data_filename 2021-11-21 17:48:14 -06:00
Sam Germain 12060a2d2c fixed error with fetch_ohlcv candndle_type 2021-11-21 17:48:14 -06:00
Sam Germain a657707ca3 Added timedelta to exchange 2021-11-21 17:48:14 -06:00
Sam Germain 3d95533bf9 Removed candletype from converter methods 2021-11-21 17:48:14 -06:00
Sam Germain ee2ad8ca97 updated historic data filenames to include the candle type 2021-11-21 17:48:14 -06:00
Sam Germain c8162479d6 Added price as param to fetch_ohlcv 2021-11-21 17:48:14 -06:00
Matthias c26c0b6822 Merge branch 'feat/short' into short_buy_tag_compat 2021-11-21 19:31:59 +01:00
Matthias aad37bb8f3
Merge pull request #5924 from freqtrade/feat/leverage
call leverage methods
2021-11-21 19:30:27 +01:00
Matthias 63d94aa585 short should be allowed for all non-spot modes 2021-11-21 19:29:08 +01:00
Matthias 983484accd Remove fluky test (seconds still tick with time_machine) 2021-11-21 10:36:39 +01:00
Matthias fb519a5b39 Add comment with reasoning to ignore leverage in min_amount calculation 2021-11-21 10:28:40 +01:00
Matthias 192ac88314 Update optimize-reports to enter_tag wording 2021-11-21 10:20:09 +01:00
Matthias 2a84526f04 Remove more buy_tag references 2021-11-21 10:05:56 +01:00
Matthias 36deced00b Remove more buy_tag references 2021-11-21 09:55:10 +01:00
Matthias 7d77aff289 Add some compatibility around buy_tag 2021-11-21 09:24:20 +01:00
Matthias 97ff7d1223 Merge branch 'develop' into feat/short 2021-11-21 09:13:53 +01:00
Matthias 7a8978abbb Make ohlcv data endpoint work correctly with new interface 2021-11-20 20:09:37 +01:00
Dardon d4fd13bf50 Telegram and log prints strategy version. 2021-11-20 16:26:07 +00:00
Matthias c0cc3f5f97 Small doc improvements to callback documentation 2021-11-20 16:15:03 +01:00
Matthias b36fe8fe0f Simplify strategy documentation 2021-11-20 11:48:11 +01:00
Matthias 0bae1471bd Extract callbacks into a separate site 2021-11-20 11:44:56 +01:00
Matthias ef67a2adfc Improve callback documentation 2021-11-20 11:39:24 +01:00
Matthias d8ee72554f Improve callback documentation 2021-11-20 11:39:24 +01:00
Matthias f8f7d81fc2 Update strategy template to use parameters 2021-11-20 11:39:21 +01:00
Matthias a239e5f725 Add segment on colliding signals 2021-11-20 11:35:48 +01:00
Matthias 32a56bbd4a
Merge pull request #5926 from samgermain/has-no-leverage
Trade.has_no_leverage makes more sense
2021-11-20 11:31:36 +01:00
Sam Germain 54ef52692f Trade.has_no_leverage makes more sense 2021-11-20 01:06:10 -06:00
Matthias 988f4d5190 Test leverage call in freqtradebot 2021-11-19 19:34:59 +01:00
Matthias 9aed76ba17 Integrate leverage() to freqtradebot 2021-11-19 19:23:48 +01:00
Matthias 6247608cc6 top/bottom cap leverage 2021-11-19 07:11:19 +01:00
Matthias 021d1b518c Call "leverage" to determine leverage to be used. 2021-11-18 20:55:45 +01:00
Matthias 5a8824171c Add short/long metrics to backtest result 2021-11-18 20:42:43 +01:00
Matthias 0a50017c84 Add long/short support to backtesting 2021-11-18 20:34:59 +01:00
Matthias f40221dd9f Merge branch 'develop' into feat/short 2021-11-18 20:20:01 +01:00
Matthias 8638e6fe47 Simplify tradingmode parsing 2021-11-18 19:58:44 +01:00
Matthias 06c81b5234
Merge pull request #5919 from mablue/patch-6
indentation problem :)
2021-11-18 11:58:36 +01:00
Masoud Azizi 0b6060dd11
indentation problem :) 2021-11-18 13:28:17 +03:30
Matthias 5fb0f53539 Add curl to install description 2021-11-17 19:36:38 +01:00
Matthias 4f0a73010a
Merge pull request #5890 from aezomz/todo-rpc
Todo-lev RPC tests and model
2021-11-17 06:58:07 +01:00
Matthias cbb5025711
Merge pull request #5825 from freqtrade/futures_pairlist
Futures pairlist
2021-11-16 19:46:27 +01:00
aezo.teo 1ba2e275b8 updated test param format 2021-11-16 14:29:40 +08:00
Matthias ce3c5b32f9 Fix test leakage in ccxt_compat 2021-11-16 07:04:56 +01:00
aezo.teo c17c1611bd removed short_trades, updated schema, tests 2021-11-16 14:03:33 +08:00
Matthias 5cfc385d44 Versionbump ccxt 2021-11-16 06:40:29 +01:00
Matthias 75eccea88d Improve futures detection, add ccxt-compat test 2021-11-15 19:57:36 +01:00
Matthias 4e9b83e170 Merge branch 'feat/short' into futures_pairlist 2021-11-15 19:12:36 +01:00
aezo.teo 9c34208b15 Merge branch 'upstream-5890' into todo-rpc 2021-11-15 23:30:54 +08:00
Matthias 60cf52aa34 Remove unused test code 2021-11-15 07:10:58 +01:00
Matthias 4d45eb0644
Merge pull request #5896 from freqtrade/dependabot/pip/develop/python-telegram-bot-13.8.1
Bump python-telegram-bot from 13.7 to 13.8.1
2021-11-15 07:01:36 +01:00
Matthias 056f8c72a1
Merge pull request #5895 from freqtrade/dependabot/pip/develop/ccxt-1.61.24
Bump ccxt from 1.60.68 to 1.61.24
2021-11-15 07:01:15 +01:00
Matthias 6a79a04350
Merge pull request #5901 from freqtrade/dependabot/pip/develop/jinja2-3.0.3
Bump jinja2 from 3.0.2 to 3.0.3
2021-11-15 06:28:00 +01:00
dependabot[bot] d477ccab19
Bump ccxt from 1.60.68 to 1.61.24
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.60.68 to 1.61.24.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.60.68...1.61.24)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-15 05:27:50 +00:00
dependabot[bot] e3bb102dc0
Bump python-telegram-bot from 13.7 to 13.8.1
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 13.7 to 13.8.1.
- [Release notes](https://github.com/python-telegram-bot/python-telegram-bot/releases)
- [Changelog](https://github.com/python-telegram-bot/python-telegram-bot/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-telegram-bot/python-telegram-bot/compare/v13.7...v13.8.1)

---
updated-dependencies:
- dependency-name: python-telegram-bot
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-15 05:27:49 +00:00
Matthias 5df5a6f13b
Merge pull request #5898 from freqtrade/dependabot/pip/develop/coveralls-3.3.1
Bump coveralls from 3.3.0 to 3.3.1
2021-11-15 06:27:39 +01:00
Matthias f4fd4ecdb9
Merge pull request #5899 from freqtrade/dependabot/pip/develop/isort-5.10.1
Bump isort from 5.10.0 to 5.10.1
2021-11-15 06:27:20 +01:00
Matthias c8191c4412
Merge pull request #5893 from freqtrade/dependabot/pip/develop/types-requests-2.26.0
Bump types-requests from 2.25.11 to 2.26.0
2021-11-15 06:26:50 +01:00
Matthias 46de615b50
Merge pull request #5894 from freqtrade/dependabot/pip/develop/pymdown-extensions-9.1
Bump pymdown-extensions from 9.0 to 9.1
2021-11-15 06:26:31 +01:00
Matthias 003e17bbb2
Merge pull request #5902 from freqtrade/dependabot/pip/develop/nbconvert-6.3.0
Bump nbconvert from 6.2.0 to 6.3.0
2021-11-15 06:26:13 +01:00
Matthias b1618afef3
Merge pull request #5897 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.27
Bump sqlalchemy from 1.4.26 to 1.4.27
2021-11-15 06:25:55 +01:00
dependabot[bot] 7bd384c7fb
Bump nbconvert from 6.2.0 to 6.3.0
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 6.2.0 to 6.3.0.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Commits](https://github.com/jupyter/nbconvert/compare/6.2.0...6.3.0)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-15 03:01:45 +00:00
dependabot[bot] 876b59f477
Bump jinja2 from 3.0.2 to 3.0.3
Bumps [jinja2](https://github.com/pallets/jinja) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-15 03:01:42 +00:00
dependabot[bot] 8ec5f72be4
Bump isort from 5.10.0 to 5.10.1
Bumps [isort](https://github.com/pycqa/isort) from 5.10.0 to 5.10.1.
- [Release notes](https://github.com/pycqa/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pycqa/isort/compare/5.10.0...5.10.1)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-15 03:01:30 +00:00
dependabot[bot] 178e3ac6af
Bump coveralls from 3.3.0 to 3.3.1
Bumps [coveralls](https://github.com/TheKevJames/coveralls-python) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/TheKevJames/coveralls-python/releases)
- [Changelog](https://github.com/TheKevJames/coveralls-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TheKevJames/coveralls-python/compare/3.3.0...3.3.1)

---
updated-dependencies:
- dependency-name: coveralls
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-15 03:01:27 +00:00
dependabot[bot] 2a1c61fb30
Bump sqlalchemy from 1.4.26 to 1.4.27
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.26 to 1.4.27.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-15 03:01:22 +00:00
Sam Germain ff6b1f4421 Small changes 2021-11-14 21:01:08 -06:00
dependabot[bot] c046790727
Bump pymdown-extensions from 9.0 to 9.1
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.0 to 9.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.0...9.1)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-15 03:01:04 +00:00
dependabot[bot] 43120e03f9
Bump types-requests from 2.25.11 to 2.26.0
Bumps [types-requests](https://github.com/python/typeshed) from 2.25.11 to 2.26.0.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-15 03:01:00 +00:00
Sam Germain f101419a47 Merge branch 'feat/short' into todo-rpc 2021-11-14 20:48:55 -06:00
Matthias 1b058d882d Simplify date rounding logic 2021-11-14 19:55:56 +01:00
Matthias e7499b7c44 Improve leggibility of test 2021-11-14 19:53:08 +01:00
Matthias da3ceb0904
Merge pull request #5779 from samgermain/funding-fee-dry-run
Funding fee dry run
2021-11-14 19:49:05 +01:00
Matthias 9102590365 Improve tests by also having a "Mixed" case 2021-11-14 19:22:12 +01:00
aezo.teo a08572e907 Merge remote-tracking branch 'upstream/feat/short' into todo-rpc 2021-11-14 21:21:59 +08:00
aezo.teo 22f7c0fdc6 updated test cases 2021-11-14 21:04:24 +08:00
Matthias b3afca2a9d Improve ccxt_compat test for funding rate 2021-11-14 13:37:09 +01:00
aezo.teo 92997c85f9 adding sides for rate and 1 more test case 2021-11-14 17:37:31 +08:00
Matthias 4d1d8de9b7 Split /stats messages
closes #5869
2021-11-14 10:20:04 +01:00
Sam Germain e7fad04eb9 Merge branch 'feat/short' into funding-fee-dry-run 2021-11-14 03:15:22 -06:00
Matthias 1dc98cc4d5 Break line 2021-11-14 10:12:19 +01:00
Matthias c70fdea886
Merge pull request #5847 from stash86/kucoin-api
Hardcoded temp fix for Kucoin API issue
2021-11-14 10:11:02 +01:00
aezo.teo 8df334515f added logic for is_short and tests 2021-11-14 16:52:38 +08:00
Matthias 8cfc531b32
Merge pull request #5887 from samgermain/common-ccxt-config
Common ccxt config
2021-11-14 09:52:06 +01:00
aezo.teo 30fbe0c79c added is_short and short_trades to schema 2021-11-14 16:51:03 +08:00
Matthias 5b9cbaf277 Use Close value for trade signal calculation 2021-11-14 09:50:04 +01:00
Matthias 33f00d23b9
Merge pull request #5885 from ethanopp/develop
Include more details in _FILL telegram notifications
2021-11-14 09:37:58 +01:00
Stefano Ariestasia 632c1bc0aa Add static workaround for kucoin 429000 issue
closes #5700
2021-11-14 09:31:38 +01:00
Matthias 984d3216c8
Merge pull request #5889 from samgermain/test-todos
TODO-lev trim
2021-11-14 09:27:33 +01:00
Matthias 7c11619924 avoid using replace in messages 2021-11-14 09:19:21 +01:00
Matthias 38362e0ec5 Update test names 2021-11-14 09:02:25 +01:00
aezo.teo 8f66d8f942 Merge branch 'sam_5889' into todo-rpc 2021-11-14 13:26:32 +08:00
Sam Germain 86e5b480a8 test_strategy_test_v2 for shorts 2021-11-13 19:56:29 -06:00
Sam Germain 430aa0903f Removed redundent TODO-levs 2021-11-13 19:45:41 -06:00
Sam Germain 77f8f8658c test_rpc_telegram short test 2021-11-13 19:36:49 -06:00
Sam Germain ca9805112d test_get_trades_proxy and test_select_order for shorts passes 2021-11-13 19:28:58 -06:00
Sam Germain 01ad65de68 test_rpc_apiserver.py 2021-11-13 19:22:43 -06:00
Sam Germain 3ce64dd4e9 Added test__ccxt_config for all exchanges with subclass files on freqtrade 2021-11-13 16:32:43 -06:00
Sam Germain 099bf7691e Updated bibox to combine parent _ccxt_config and minimized _ccxt_config tests 2021-11-13 16:23:59 -06:00
Sam Germain 3d86b18492 Added property _ft_has_default.ccxt_futures_name and removed subclass ccxt_config properties 2021-11-13 16:23:58 -06:00
ethan c4c1b301cd buy notification code consolidation 2021-11-13 15:46:00 -05:00
ethan 0bc9384451 more notification code consolidation 2021-11-13 14:52:59 -05:00
ethan 7412b7ba51 buy/sell fill notification code consolidation 2021-11-13 10:23:47 -05:00
ethan a177e58dc4 Remove "currency" generating from splitting pair str 2021-11-13 08:49:02 -05:00
Sam Germain 867ac3f82a Removed typing.List from bibox, hitbtc and kucoin 2021-11-13 06:21:17 -06:00
Matthias 37d461c6c2 Improve strategy dataframe documentation 2021-11-13 11:48:31 +01:00
Sam Germain 3c509a1f9b New method for combining all funding fees within a time period 2021-11-13 04:45:23 -06:00
Matthias 0e70d23bef Add documentation for exit_tags 2021-11-13 09:13:32 +01:00
Matthias 0e2b5ef6d4 Simplify custom strategy file wording 2021-11-13 09:03:58 +01:00
Matthias df27499e19 Improve `/help` output from telegram 2021-11-13 08:46:06 +01:00
ethan 32e3376296 Update buy/sell fill telegram notifications 2021-11-12 21:49:07 -05:00
ethan a237667bc9 Update buy/sell fill telegram notifications 2021-11-12 16:18:04 -05:00
Matthias 6b40792f80
Merge branch 'feat/short' into funding-fee-dry-run 2021-11-12 08:06:29 +01:00
Matthias 8d4163d003 Add compat tests 2021-11-12 07:26:59 +01:00
Sam Germain c8c2d89893 exchange.get_funding_fees returns 0 by default 2021-11-11 19:10:56 -06:00
Sam Germain 9a65f486ed updated exchangeError messages regarding fetch_funding_rate_history 2021-11-11 18:33:46 -06:00
Sam Germain 592b7e0ce3 All test_update_funding_fees tests pass 2021-11-11 17:49:32 -06:00
Matthias 76ced8acf6 Add some documentation to class 2021-11-11 20:34:52 +01:00
Matthias 68083b7fdd Fix sqlinsert failure in test 2021-11-11 20:07:56 +01:00
Matthias 4d1ce51207
Merge pull request #5879 from freqtrade/improve_pct_formatting
Improve pct formatting
2021-11-11 19:30:55 +01:00
Matthias 39bb34cdb3 Fix test loading bug 2021-11-11 16:34:40 +01:00
Matthias e0fd880c11 Improve some more pct formattings 2021-11-11 16:12:23 +01:00
Matthias 4eb9038358 Some more fixes to % formatting 2021-11-11 15:06:16 +01:00
Matthias 1b271d0840 Improve % outputs to not use explicit "pct" entries 2021-11-11 12:58:38 +01:00
Matthias ce2aa1dc69 Small formatting upgrades 2021-11-11 12:06:18 +01:00
Matthias f8d30abd79 Handle order returns that contain trades directly
binance market orders - and potentially other exchanges
2021-11-10 19:43:36 +01:00
Matthias f7b2c0c5d7 Remove unneeded assignment from tests 2021-11-10 19:16:37 +01:00
Matthias e7d1630c92 Add space 2021-11-10 16:51:31 +01:00
Matthias 2e451da08f
Merge pull request #5874 from samgermain/update-todos
Removed unnecessary todo comments
2021-11-10 15:22:50 +01:00
Sam Germain 43174760ef Added exit trade funding_fees check but test fails because of sql integrity error test_update_funding_fees 2021-11-10 01:19:51 -06:00
Sam Germain b87f8e7034 Removed unnecessary todo comments 2021-11-10 00:59:53 -06:00
Matthias d3d17f9f8b Only allow min-stake adjustments of up to 30%
fix #5856
2021-11-10 06:57:22 +01:00
Matthias 23a566b478 validate_stake_amount should not be a private method 2021-11-10 06:38:24 +01:00
Sam Germain e713f5188f Merge branch 'funding-fee-dry-run' of https://github.com/samgermain/freqtrade into funding-fee-dry-run 2021-11-09 14:45:50 -06:00
Sam Germain 45e4354906 Merge branch 'feat/short' into funding-fee-dry-run 2021-11-09 14:45:10 -06:00
Matthias c9d974d210 Clarify performancefilter docs
closes #5870
2021-11-09 19:52:05 +01:00
Matthias 4a67b33cb3 Fix some formatting 2021-11-09 19:40:42 +01:00
Matthias e69a100c64 Merge branch 'feat/short' into pr/samgermain/5779 2021-11-09 19:34:57 +01:00
Matthias d5438ed0a8 Fix docstring indents 2021-11-09 19:22:29 +01:00
Matthias e8b4d44881 Add warning about telegram group usage 2021-11-09 15:16:51 +01:00
Matthias b676868ce6
Merge pull request #5868 from mapreal19/patch-1
docs: removes duplicated "without" in pairlists.md
2021-11-09 14:18:16 +01:00
Mario Pérez Alarcón 6f0a98229f
docs: removes duplicated "without" in pairlists.md 2021-11-09 12:27:38 +00:00
Matthias 6267678ca9 Use doublequotes for docstrings 2021-11-09 10:40:01 +00:00
Matthias f9e5a25b36 Add docstring style to Contributing 2021-11-09 07:48:25 +00:00
Sam Germain fbe9e73c5d better param for funding_fee_cutoff 2021-11-09 01:17:29 -06:00
Sam Germain 6c8501dadc Removed docstring indents 2021-11-09 01:00:57 -06:00
Matthias 2bfec7d549 Add small test-case confirming trade object copy 2021-11-08 20:14:32 +01:00
Matthias ae0e72a945 Provide strategy with copied objects
avoids accidental modification of crucial elements in a trade object
part of #5828
2021-11-08 19:59:29 +01:00
Matthias e4cca63163 Align sell_reason assignment location
trade mode sets it after "exit confirmation" - so should backtesting
detected in #5828
2021-11-08 19:32:13 +01:00
Matthias f2be820f73
Merge pull request #5855 from freqtrade/multi_ohlcv_calls
Provide more historic data in trade mode
2021-11-08 19:30:40 +01:00
Sam Germain d0b91b334e Merge branch 'feat/short' into funding-fee-dry-run 2021-11-08 04:44:57 -06:00
Matthias 63f4221f70 Fix broken documentation link 2021-11-08 11:29:10 +01:00
Sam Germain 090b3d29b7 Updated kraken._get_funding_fee docstring with notification that it won't work in the bot yet 2021-11-08 01:58:23 -06:00
Sam Germain 01229ad631 updated exchange.get_funding_fee_dates with better names 2021-11-08 01:58:23 -06:00
Sam Germain 7122cb2fe9 updated test_get_funding_fees to test for funding fees at beginning of trade also 2021-11-08 01:58:23 -06:00
Sam Germain bea37e5ea3 moved dry run check for funding fees to exchange 2021-11-08 01:58:09 -06:00
Matthias 84261237a0
Improve doc wording 2021-11-08 08:09:33 +01:00
Matthias bb2b8efef1
Merge pull request #5859 from freqtrade/dependabot/pip/develop/isort-5.10.0
Bump isort from 5.9.3 to 5.10.0
2021-11-08 08:07:40 +01:00
dependabot[bot] 3ce898e4a9
Bump isort from 5.9.3 to 5.10.0
Bumps [isort](https://github.com/pycqa/isort) from 5.9.3 to 5.10.0.
- [Release notes](https://github.com/pycqa/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pycqa/isort/compare/5.9.3...5.10.0)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-08 05:29:09 +00:00
Matthias bbd7c6e4fc
Merge pull request #5862 from freqtrade/dependabot/pip/develop/ccxt-1.60.68
Bump ccxt from 1.60.11 to 1.60.68
2021-11-08 06:24:50 +01:00
Matthias d003a2b7a3
Merge pull request #5863 from freqtrade/dependabot/pip/develop/numpy-1.21.4
Bump numpy from 1.21.3 to 1.21.4
2021-11-08 06:24:23 +01:00
Matthias 2b88b3b749
Merge pull request #5864 from freqtrade/dependabot/pip/develop/scipy-1.7.2
Bump scipy from 1.7.1 to 1.7.2
2021-11-08 06:23:51 +01:00
Matthias d80dda9caa
Merge pull request #5858 from freqtrade/dependabot/pip/develop/prompt-toolkit-3.0.22
Bump prompt-toolkit from 3.0.21 to 3.0.22
2021-11-08 06:23:35 +01:00
Matthias 3cfce605de
Merge pull request #5860 from freqtrade/dependabot/pip/develop/jsonschema-4.2.1
Bump jsonschema from 4.1.2 to 4.2.1
2021-11-08 06:23:18 +01:00
Matthias fdc6053633
Merge pull request #5861 from freqtrade/dependabot/pip/develop/coveralls-3.3.0
Bump coveralls from 3.2.0 to 3.3.0
2021-11-08 06:22:51 +01:00
dependabot[bot] b39794f8d2
Bump scipy from 1.7.1 to 1.7.2
Bumps [scipy](https://github.com/scipy/scipy) from 1.7.1 to 1.7.2.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.7.1...v1.7.2)

---
updated-dependencies:
- dependency-name: scipy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-08 03:01:38 +00:00
dependabot[bot] ab06584a3e
Bump numpy from 1.21.3 to 1.21.4
Bumps [numpy](https://github.com/numpy/numpy) from 1.21.3 to 1.21.4.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/HOWTO_RELEASE.rst.txt)
- [Commits](https://github.com/numpy/numpy/compare/v1.21.3...v1.21.4)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-08 03:01:32 +00:00
dependabot[bot] a2c12f15f1
Bump ccxt from 1.60.11 to 1.60.68
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.60.11 to 1.60.68.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.60.11...1.60.68)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-08 03:01:25 +00:00
dependabot[bot] d0199b6014
Bump coveralls from 3.2.0 to 3.3.0
Bumps [coveralls](https://github.com/TheKevJames/coveralls-python) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/TheKevJames/coveralls-python/releases)
- [Changelog](https://github.com/TheKevJames/coveralls-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TheKevJames/coveralls-python/compare/3.2.0...3.3.0)

---
updated-dependencies:
- dependency-name: coveralls
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-08 03:01:19 +00:00
dependabot[bot] dbc863bcdf
Bump jsonschema from 4.1.2 to 4.2.1
Bumps [jsonschema](https://github.com/Julian/jsonschema) from 4.1.2 to 4.2.1.
- [Release notes](https://github.com/Julian/jsonschema/releases)
- [Changelog](https://github.com/Julian/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/Julian/jsonschema/compare/v4.1.2...v4.2.1)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-08 03:01:14 +00:00
dependabot[bot] c54cf63bae
Bump prompt-toolkit from 3.0.21 to 3.0.22
Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.21 to 3.0.22.
- [Release notes](https://github.com/prompt-toolkit/python-prompt-toolkit/releases)
- [Changelog](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/CHANGELOG)
- [Commits](https://github.com/prompt-toolkit/python-prompt-toolkit/compare/3.0.21...3.0.22)

---
updated-dependencies:
- dependency-name: prompt-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-08 03:01:06 +00:00
Matthias c11e1a84e4 Fix wrong logging
detected in #5856
2021-11-07 15:41:04 +01:00
Matthias de4bc7204d Update documentation to clarify new behaviour 2021-11-07 15:36:43 +01:00
Matthias a08dd17bc1 Use startup_candle-count to determine call count 2021-11-07 13:10:40 +01:00
Matthias 9fa64c2647 Allow multiple calls to get more candles in live-run 2021-11-07 11:31:59 +01:00
Matthias fb6ba62158 Add default to "is_new_pair" 2021-11-07 11:08:30 +01:00
Matthias 1dd6872b80
Merge pull request #5843 from Theagainmen/patch-2
Update warning message open trades
2021-11-07 11:07:16 +01:00
Matthias 4595c1e73c Slightly reformat to simplify new change 2021-11-07 10:55:11 +01:00
Matthias 6cc3f65a83 Add --trading-mode parameter 2021-11-07 10:52:20 +01:00
Matthias 11b77cf94c Update test to new list-pairs format 2021-11-07 10:43:00 +01:00
Matthias bfe3760f68 Add tests for margin mode 2021-11-07 10:43:00 +01:00
Matthias 0dd9a277d3 improve market_is_tradable tests 2021-11-07 10:43:00 +01:00
Matthias 534b0a5911 Some tests for new market checking 2021-11-07 10:43:00 +01:00
Matthias 3fac5c5bcd Update list-markets to work for futures/margin as well 2021-11-07 10:43:00 +01:00
Matthias 8990097d6f Enrich markets mock with "type" and "spot" info 2021-11-07 10:43:00 +01:00
Matthias bfca9e7c09
Merge pull request #5853 from samgermain/okex
Added okex exchange class futures properties
2021-11-07 08:30:47 +01:00
Sam Germain 252e45ebf2 Merge branch 'feat/short' into funding-fee-dry-run 2021-11-06 22:46:00 -06:00
Sam Germain 04dc14a74c Added okex exchange class futures properties 2021-11-06 22:43:02 -06:00
Sam Germain 0c2501e11b Safer keys for funding_rate and mark_price dictionaries, based on rounding down the hour 2021-11-06 22:31:38 -06:00
Sam Germain 8bfcf4ee09 Fixed breaking exchange tests from _get_funding_fee_dates, and commented out kraken get_funding_fees tests 2021-11-06 22:05:38 -06:00
Sam Germain b88482b2e9 Fixed millisecond timestamp issue errors with funding fees 2021-11-06 21:45:35 -06:00
Sam Germain 48b34c8fd0 Fixed issues with funding-fee being miscalculated on trade objects in freqtradebot 2021-11-06 21:03:18 -06:00
Sam Germain f795288d90 Fixed timestamp/datetime issues for mark price, funding rate and _get_funding_fee_dates 2021-11-06 20:48:03 -06:00
Sam Germain 6e912c1053 Updated _get_funding_fee method names, added kraken._get_funding_fee 2021-11-06 17:39:21 -06:00
Matthias 25fcab0794 Enhance /show_config endpoint 2021-11-06 16:20:18 +01:00
Matthias fef7da03b2
Merge pull request #5850 from freqtrade/timeout_forcesell
multiple exit-timeouts can trigger emergencysell
2021-11-06 16:20:06 +01:00
Matthias 66220d6f9f
Merge pull request #5846 from Merinorus/5527-show_average_profit_in_overwiew
Add /weekly and /monthly to Telegram (#5527)
2021-11-06 15:43:34 +01:00
Matthias e3a368a74e
Merge pull request #5668 from samgermain/docs
Docs for leverage
2021-11-06 15:42:32 +01:00
Matthias 4f5c5b6982 Clarify timeout documentation 2021-11-06 15:29:05 +01:00
Matthias ebc38159b8 Merge branch 'develop' into feat/short 2021-11-06 15:24:52 +01:00
Antoine Merino d0e192e20f
Fix naive timezone for /daily command 2021-11-06 13:14:15 +01:00
Matthias f7dc47b1c8 Add test for exit_timeout_count 2021-11-06 13:10:41 +01:00
Antoine Merino d5acd979dc
Move dev-only requirement 2021-11-06 13:10:22 +01:00
Antoine Merino 3c33b48fd5
Fix naive timezones 2021-11-06 13:09:15 +01:00
Sam Germain cb97c6f388 Updated time to utc in test_update_funding_fees, some funding rate key errors because a timestamp is likely not in utc 2021-11-06 05:56:58 -06:00
Sam Germain fd63fa7dda Updated test_update_funding_fees to compile fine but the assertion is incorrect 2021-11-06 05:42:41 -06:00
Matthias 7a907a7636 Add Emergencyselling after X timeouts have been reached 2021-11-06 11:48:49 +01:00
Rokas Kupstys 98b475a00b Use lambdas instead of a static number of side-effects. 2021-11-06 10:23:46 +02:00
Antoine Merino da4344d216
Remove line breaks
Signed-off-by: Antoine Merino <antoine.merino.dev@gmail.com>
2021-11-05 22:52:04 +01:00
Antoine Merino 8eabdd659f
Fix missing CallbackQueryHandler
Signed-off-by: Antoine Merino <antoine.merino.dev@gmail.com>
2021-11-05 22:51:35 +01:00
Antoine Merino 77f3dabd15
Merge remote-tracking branch 'origin/5527-show_average_profit_in_overwiew' into 5527-show_average_profit_in_overwiew
# Conflicts:
#	freqtrade/rpc/rpc.py
#	requirements.txt
#	tests/rpc/test_rpc_telegram.py
2021-11-05 22:37:42 +01:00
Antoine Merino 70253258f0
Test /monthly & clean
Signed-off-by: Antoine Merino <antoine.merino.dev@gmail.com>
2021-11-05 22:33:06 +01:00
Antoine Merino 87634f0409
/weekly and /monthly documentation
Signed-off-by: Antoine Merino <antoine.merino.dev@gmail.com>
2021-11-05 21:07:29 +01:00
Antoine Merino 459ff9692d
Add /weekly and /monthly to Telegram RPC
/weekly now list weeks starting from monday instead of rolling weeks.
/monthly now list months starting from the 1st.

Signed-off-by: Antoine Merino <antoine.merino.dev@gmail.com>
2021-11-05 21:07:28 +01:00
Antoine Merino 5f40158c0b
WIP Add /weekly and /monthly to Telegram RPC
Related to "Show average profit in overview" (#5527)

Signed-off-by: Antoine Merino <antoine.merino.dev@gmail.com>
2021-11-05 21:07:19 +01:00
Antoine Merino a8651b0dcd
/weekly and /monthly documentation
Signed-off-by: Antoine Merino <antoine.merino.dev@gmail.com>
2021-11-05 20:44:01 +01:00
Antoine Merino 15616d75ad
Add /weekly and /monthly to Telegram RPC
/weekly now list weeks starting from monday instead of rolling weeks.
/monthly now list months starting from the 1st.

Signed-off-by: Antoine Merino <antoine.merino.dev@gmail.com>
2021-11-05 20:24:40 +01:00
Matthias d99eaccb5a Fix exception when using okex
closes #5842
2021-11-05 19:47:13 +01:00
Matthias ae3b53014d Add failing test for OKEX failure
part of #5842
2021-11-05 19:44:02 +01:00
Matthias 60a5ded532 Don't convert telegram chat_id
closes #5840
2021-11-05 19:27:54 +01:00
Theagainmen 2115a3ed12
Update warning message open trades
This shouldn't confuse user when just reloading their bot.
2021-11-05 18:49:10 +01:00
Sam Germain 7171975a4f Removed interest formulas from docs 2021-11-05 01:59:54 -06:00
Matthias ca2e888801 improve documentation formatting 2021-11-05 01:59:36 -06:00
Sam Germain b620d46958 Updated formatting leverage.md 2021-11-05 01:56:35 -06:00
Sam Germain b4de68e1bc Updated docs to include liquidation, own definitions 2021-11-05 01:56:16 -06:00
Sam Germain 68810eb4f3 Fixed warning 2021-11-05 01:56:16 -06:00
Sam Germain 4a0a215c45 moved lev docs to own file, updated config 2021-11-05 01:56:16 -06:00
Sam Germain 449710d662 Added collateral example 2021-11-05 01:56:16 -06:00
Sam Germain 2714c02842 Added docs for leverage and trading mode 2021-11-05 01:56:16 -06:00
Antoine Merino ffc2de8d33
WIP Add /weekly and /monthly to Telegram RPC
Related to "Show average profit in overview" (#5527)

Signed-off-by: Antoine Merino <antoine.merino.dev@gmail.com>
2021-11-04 23:02:13 +01:00
Matthias 781f8a059c
Merge pull request #5835 from freqtrade/okex_support
Add official Okex support
2021-11-04 20:03:19 +01:00
Matthias 26e5418519
Merge pull request #5834 from raph92/patch-4
Update optimize_reports
2021-11-04 16:56:21 +01:00
raphael ae2343db93
Update optimize_reports
Update show_backtest_reults() to preserve backwards compatibility by fixing KeyError: 'results_per_buy_tag' for older hyperopt result files.
2021-11-04 10:25:13 -04:00
Matthias eb280798d8
Merge pull request #5832 from samgermain/setup
setup.sh - Redhat
2021-11-04 15:23:48 +01:00
Sam Germain 10e839c17e
Update setup.sh
python versions 3.7 to 3.9
2021-11-04 07:26:17 -06:00
Sam Germain 5b9a168ca9 removed build-essential from redhat install 2021-11-04 00:44:58 -06:00
Matthias 17ecfda2e8
Merge pull request #5710 from theluxaz/freqtrade-development
Added SELL_TAG for trading, backtesting and telegram
2021-11-04 07:13:06 +01:00
Matthias c061b576a9 OKEX Notes 2021-11-04 06:22:31 +01:00
Sam Germain 8a4236198f Added test_update_funding_fees in freqtradebot, test currently fails 2021-11-03 22:52:37 -06:00
Matthias 431b96de98 Merge branch 'develop' into pr/theluxaz/5710 2021-11-03 19:43:36 +01:00
Matthias 048db4f509 Enhance "new exchange" documentation 2021-11-03 19:27:17 +01:00
Matthias 437e5f0645 Fix officially supported exchange list 2021-11-03 19:20:39 +01:00
Matthias 6fb0866350 Add OKEX to list of officially supported exchanges 2021-11-03 19:19:27 +01:00
Matthias a1e8878030
Merge pull request #5826 from Theagainmen/patch-1
[docs] Update RateLimit value [small]
2021-11-03 17:06:01 +01:00
Theagainmen ce597d12d9
Update exchanges.md
Fix 3100ms to 3.1s in docs, instead of the 0.2s
2021-11-03 15:04:45 +01:00
Matthias f60d101076 Some finetuning for OKEX 2021-11-03 07:12:42 +01:00
Matthias 1fefb132e0 Improve wording in documentation 2021-11-02 20:26:38 +01:00
Matthias 161a3fac15 Run exchange-enabled tests against okex 2021-11-02 20:08:56 +01:00
Matthias e78df59e30 Configure candle length for OKEX 2021-11-02 19:49:53 +01:00
Theagainmen f365e68706
[docs] Update RateLimit value [small]
## Summary
Fix very small mistake in docs, that might confuse people. Let me know if this is the correct value now, there is still another 3100 in there, which I think makes sense there and is correct.

## Quick changelog
Changed the `rateLimit` 3100 value to 200, to match the 200ms and thus 0.2s delay.
2021-11-01 23:07:16 +01:00
Matthias 7ae9b90174 Further clarify backtesting trailing stop logic
part of #5816
2021-11-01 20:12:34 +01:00
Matthias 3056be3a1d document prerequisites for exchange listing 2021-11-01 20:04:52 +01:00
Sam Germain 3de42da29a All funding fee test_exchange tests pass 2021-11-01 07:52:40 -06:00
Matthias 74e8b28991 Improve FAQ with outdated history message
closes #5819
2021-11-01 13:54:12 +01:00
Matthias a16328f372 Don't force timeframe in config in config generator 2021-11-01 13:44:26 +01:00
Sam Germain 863e0bf837 Adding 1am tests to funding_fee_dates 2021-11-01 06:40:20 -06:00
Sam Germain 74b6335acf Adding timezone utc to test__get_funding_fee_dates 2021-11-01 06:34:22 -06:00
Sam Germain ba95172d07 Finished test_calculate_funding_fees 2021-11-01 06:28:03 -06:00
Matthias 6623dfe7da Improve CORS documentation 2021-11-01 11:07:06 +01:00
Sam Germain 765ee5af50 Updated conftest funding_rate and mark_price 2021-11-01 02:51:59 -06:00
Matthias 4249fcefba
Merge pull request #5150 from cryptomeisternox/backtesting-filter
Adding command for Filtering and print trades
2021-11-01 09:43:49 +01:00
Matthias 6934f37d16
Merge pull request #5822 from freqtrade/dependabot/pip/develop/mkdocs-material-7.3.6
Bump mkdocs-material from 7.3.4 to 7.3.6
2021-11-01 08:26:10 +01:00
Sam Germain 33b0778c0a updated exchange.calculate_funding_fees to have default close_date 2021-11-01 01:13:37 -06:00
Sam Germain 8b9dfafdf4 Tests for _get_funding_fee_dates 2021-11-01 01:09:57 -06:00
Sam Germain edfc3377c5 Updated exchange._get_funding_fee_dates to use new method funding_fee_cutoff 2021-11-01 01:09:11 -06:00
Sam Germain 77d247e179 Created fixtures mark_ohlcv and funding_rate_history 2021-11-01 01:04:42 -06:00
Matthias 27dce9eeea
Merge pull request #5820 from freqtrade/dependabot/pip/develop/filelock-3.3.2
Bump filelock from 3.3.1 to 3.3.2
2021-11-01 07:55:09 +01:00
Matthias e34c62074b
Merge pull request #5824 from freqtrade/dependabot/pip/develop/scikit-learn-1.0.1
Bump scikit-learn from 1.0 to 1.0.1
2021-11-01 07:54:53 +01:00
Matthias 2b1373966f
Merge pull request #5821 from freqtrade/dependabot/pip/develop/ccxt-1.59.77
Bump ccxt from 1.59.2 to 1.59.77
2021-11-01 07:53:39 +01:00
Sam Germain 5c52b21346 Added tests for funding_fee_dry_run 2021-10-31 22:24:27 -06:00
dependabot[bot] 46d4418e85
Bump scikit-learn from 1.0 to 1.0.1
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.0 to 1.0.1.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.0...1.0.1)

---
updated-dependencies:
- dependency-name: scikit-learn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 03:01:23 +00:00
dependabot[bot] 45f7093e52
Bump mkdocs-material from 7.3.4 to 7.3.6
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.3.4 to 7.3.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.3.4...7.3.6)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 03:01:14 +00:00
dependabot[bot] e2041ddb70
Bump ccxt from 1.59.2 to 1.59.77
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.59.2 to 1.59.77.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.59.2...1.59.77)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 03:01:10 +00:00
dependabot[bot] 3d59289b09
Bump filelock from 3.3.1 to 3.3.2
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.3.1 to 3.3.2.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/py-filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.3.1...3.3.2)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 03:01:03 +00:00
Matthias 6b90b4a144 Test "get-signal" 2021-10-31 10:53:30 +01:00
Matthias dffe76f109 Don't double-loop to generate profits 2021-10-31 10:49:56 +01:00
Matthias c15f73aa1f Rename command to backtesting-show 2021-10-31 10:13:11 +01:00
Sam Germain f6924aca40 removed get_funding_rate_history from gateio 2021-10-31 01:24:02 -06:00
Sam Germain 2bfc812618 moved mark_ohlcv_price in _ft_has 2021-10-31 00:53:36 -06:00
Matthias c094ac5762 Merge branch 'develop' into feat/short 2021-10-30 19:45:19 +02:00
Matthias 20904f1ca4 Add tests for new command 2021-10-30 19:43:42 +02:00
Matthias 72ecb45d86 Add test for backtest_show logic 2021-10-30 16:53:48 +02:00
Matthias 650d6c276a Add documentation 2021-10-30 16:40:03 +02:00
Matthias e8f85aed6b
Merge pull request #5818 from freqtrade/fix/5816
Fix/5816
2021-10-30 16:36:46 +02:00
Matthias d60001e886 Stoploss cannot be below candle low
fix #5816
2021-10-30 16:14:13 +02:00
Matthias 459a2239ce Fix candle ranges in backtesting test 2021-10-30 16:13:04 +02:00
Matthias 6cf140f8fb FIx testcases 2021-10-30 16:07:10 +02:00
Matthias 851062ca46 Rename backtest-filter to backtest_show 2021-10-30 10:53:18 +02:00
Matthias f472709438 Add option to show sorted pairlist
Allows easy copy/pasting of the pairlist to a configuration
2021-10-30 10:50:40 +02:00
Matthias 0f3809345a Remove backtest-path parameter 2021-10-30 10:28:12 +02:00
Matthias 6f1e719216 Merge branch 'develop' into pr/cryptomeisternox/5150 2021-10-30 10:26:05 +02:00
Matthias c34b8a95d7
Merge pull request #5798 from incrementby1/personal-branch
Add function to unlock PairLocks by reason
2021-10-30 10:15:21 +02:00
Matthias c579fcfc19 Add tests and documentation for unlock_reason 2021-10-30 09:51:09 +02:00
Sam Germain 0ea8957ccc removed ftx get_mark_price_history, added variable mark_ohlcv_price, used fetch_ohlcv instead of fetch_mark_ohlcv inside get_mark_price_history 2021-10-29 20:07:24 -06:00
Sam Germain a4892654da Removed params from _get_mark_price_history 2021-10-29 19:37:02 -06:00
Matthias 201fe108bc
Merge pull request #5607 from TreborNamor/develop
a new hyperopt loss created that uses calmar ratio
2021-10-29 09:20:44 +02:00
Matthias 240923341b Reformat telegram test 2021-10-29 07:05:02 +02:00
Matthias 5cdae2ce3f Remove CalmarDaily hyperopt loss 2021-10-29 06:53:40 +02:00
incrementby1 e9d71f26b3 small changes 2021-10-29 00:03:20 +02:00
incrementby1 658006e7ee removed wrong use of map and filter function 2021-10-28 23:29:26 +02:00
Matthias dadf015c23
Merge pull request #5805 from freqtrade/new_release
New release 2021.10
2021-10-28 20:49:51 +02:00
theluxaz 560802c326 Added tests for the new rpc/telegram functions 2021-10-28 21:39:42 +03:00
Sam Germain 02ab3b1697 Switched mark_price endTime to until 2021-10-28 07:26:36 -06:00
Sam Germain 0b12107ef8 Updated error message in fetchFundingRateHistory 2021-10-28 07:22:47 -06:00
Sam Germain 44d9a07acd Fixed _get_funding_fee_dates method 2021-10-28 07:20:45 -06:00
Sam Germain 956352f041 Removed name_for_futures_market 2021-10-28 07:19:46 -06:00
incrementby1 02e69e1667 Changes to unlock_reason:
- introducing filter
	- replaced get_all_locks with a query for speed
	. removed logging in backtesting mode for speed
	. replaced for-loop with map-function for speed

Changes to models.py:
	- changed string representation of Pairlock to also contain reason and active-state
2021-10-28 15:16:07 +02:00
Matthias 335412a3a8 Improve wording of FAQ entry 2021-10-28 07:59:28 +02:00
Matthias f280397fd7 Add FAQ section about Fees
closes #5807
2021-10-28 07:51:32 +02:00
Matthias 98ed7edb11 Version bump to 2021.10 2021-10-28 06:21:40 +02:00
Matthias 8dd7d134f2 Merge branch 'stable' into new_release 2021-10-28 06:20:33 +02:00
incrementby1 dc605e29aa removed empty lines for flake8 2021-10-27 21:04:08 +02:00
Matthias 92130837a9 Improve and clarify informative pairs documentation 2021-10-27 19:58:29 +02:00
Matthias 892a1ca60c
Merge pull request #5804 from JackBananas/patch-1
Update data-download.md
2021-10-27 19:32:37 +02:00
JackBananas e2b64a750f
Update data-download.md
Minor change due to a misleading sentence
2021-10-27 17:14:26 +02:00
incrementby1 2e7d08612e Merge branch 'personal-branch' of https://github.com/incrementby1/freqtrade into personal-branch 2021-10-27 16:03:05 +02:00
incrementby1 2eb33707c9 Undo changes 2021-10-27 15:58:41 +02:00
incrementby1 a50bde10de Merge https://github.com/freqtrade/freqtrade into personal-branch 2021-10-27 15:52:10 +02:00
incrementby1 91b9e5ce68
Delete StackingDemo.py 2021-10-27 12:43:00 +02:00
incrementby1 c1b5dcd756
Delete freqtradebot.py 2021-10-27 12:42:18 +02:00
incrementby1 6b17094c6f
Delete configuration.py 2021-10-27 12:41:49 +02:00
incrementby1 51c925f9f3
Delete StackingConfig.json 2021-10-27 12:40:26 +02:00
Matthias f80d3d48e4 Add default to minimal_roi to avoid failures
closes #5796
2021-10-27 06:33:49 +02:00
theluxaz 21ab83163d Quick import/clarity fix 2021-10-27 01:35:47 +03:00
theluxaz e4e75d4861 Added test data for buy_tag/sell_reason testing 2021-10-27 01:29:19 +03:00
Sam Germain a2b1838c60 Merge branch 'feat/short' into funding-fee-dry-run 2021-10-25 22:00:09 -06:00
incrementby1 9c6cbc025a
Update StackingDemo.py 2021-10-26 00:34:01 +02:00
incrementby1 9f6e4c6c0e uncomment 2021-10-26 00:31:17 +02:00
incrementby1 ae06899694 removed commenting 2021-10-26 00:29:11 +02:00
incrementby1 c3f3bdaa2a Add "allow_position_stacking" value to config, which allows rebuys of a pair
Add function unlock_reason(str: pair) which removes all PairLocks with reason
Provide demo strategy that allows buying the same pair multiple times
2021-10-26 00:04:40 +02:00
theluxaz b51f946ee0 Fixed models and rpc performance functions, added skeletons for tests. 2021-10-25 23:43:22 +03:00
Matthias 20a61e03da
Merge pull request #5786 from SimonEbner/clean_up_file_handles
Clean up file handles
2021-10-25 19:49:07 +02:00
Sam Germain d1e2a53267 Added centOS support to setup.sh script 2021-10-25 03:20:41 -06:00
Sam Germain 7ff16997e9 Wrote echo block method for setup script 2021-10-25 03:19:49 -06:00
Robert Roman 88b96d5d1b
Update hyperopt_loss_calmar.py 2021-10-25 00:45:10 -05:00
Matthias 029ddd23c1
Merge pull request #5791 from freqtrade/dependabot/pip/develop/numpy-1.21.3
Bump numpy from 1.21.2 to 1.21.3
2021-10-25 07:20:06 +02:00
Matthias 262f186a37 . 2021-10-25 07:19:55 +02:00
Matthias 33d75e9963
Merge pull request #5790 from freqtrade/dependabot/pip/develop/arrow-1.2.1
Bump arrow from 1.2.0 to 1.2.1
2021-10-25 07:07:50 +02:00
Matthias cea251c83c Clarify documentation for /forcebuy
closes #5783
2021-10-25 06:46:02 +02:00
dependabot[bot] 4e88bd07fa
Bump numpy from 1.21.2 to 1.21.3
Bumps [numpy](https://github.com/numpy/numpy) from 1.21.2 to 1.21.3.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/HOWTO_RELEASE.rst.txt)
- [Commits](https://github.com/numpy/numpy/compare/v1.21.2...v1.21.3)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-25 04:40:30 +00:00
dependabot[bot] 538d9e8b37
Bump arrow from 1.2.0 to 1.2.1
Bumps [arrow](https://github.com/arrow-py/arrow) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/arrow-py/arrow/releases)
- [Changelog](https://github.com/arrow-py/arrow/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/arrow-py/arrow/compare/1.2.0...1.2.1)

---
updated-dependencies:
- dependency-name: arrow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-25 04:40:24 +00:00
Matthias 478013a306
Merge pull request #5792 from freqtrade/dependabot/pip/develop/ccxt-1.59.2
Bump ccxt from 1.58.47 to 1.59.2
2021-10-25 06:39:25 +02:00
Matthias 0e72a901cc
Merge pull request #5789 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.26
Bump sqlalchemy from 1.4.25 to 1.4.26
2021-10-25 06:39:01 +02:00
Matthias 2979679db4
Merge pull request #5793 from freqtrade/dependabot/pip/develop/jsonschema-4.1.2
Bump jsonschema from 4.1.0 to 4.1.2
2021-10-25 06:38:33 +02:00
Matthias 1a40e02ace
Merge pull request #5788 from freqtrade/dependabot/pip/develop/prompt-toolkit-3.0.21
Bump prompt-toolkit from 3.0.20 to 3.0.21
2021-10-25 06:38:15 +02:00
dependabot[bot] 826d4eb2f4
Bump jsonschema from 4.1.0 to 4.1.2
Bumps [jsonschema](https://github.com/Julian/jsonschema) from 4.1.0 to 4.1.2.
- [Release notes](https://github.com/Julian/jsonschema/releases)
- [Changelog](https://github.com/Julian/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/Julian/jsonschema/compare/v4.1.0...v4.1.2)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-25 03:01:33 +00:00
dependabot[bot] 3d90305f8e
Bump ccxt from 1.58.47 to 1.59.2
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.58.47 to 1.59.2.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.58.47...1.59.2)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-25 03:01:29 +00:00
dependabot[bot] b50b38f049
Bump sqlalchemy from 1.4.25 to 1.4.26
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.25 to 1.4.26.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-25 03:01:10 +00:00
dependabot[bot] 520c5687aa
Bump prompt-toolkit from 3.0.20 to 3.0.21
Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.20 to 3.0.21.
- [Release notes](https://github.com/prompt-toolkit/python-prompt-toolkit/releases)
- [Changelog](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/CHANGELOG)
- [Commits](https://github.com/prompt-toolkit/python-prompt-toolkit/commits)

---
updated-dependencies:
- dependency-name: prompt-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-25 03:01:05 +00:00
Simon Ebner f7926083ca Clean up unclosed file handles
Close all file handles that are left dangling to avoid warnings such as

```
ResourceWarning: unclosed file <_io.TextIOWrapper
name='...' mode='r' encoding='UTF-8'> params = json_load(filename.open('r'))
```
2021-10-24 23:15:05 +02:00
Matthias 4539170424
Merge pull request #5776 from SimonEbner/performance_decimalspace
Improve performance of decimalspace.py
2021-10-24 19:27:24 +02:00
Simon Ebner df033d92ef Improve performance of decimalspace.py
decimalspace.py is heavily used in the hyperoptimization. The following
benchmark code runs an optimization which is taken from optimizing a
real strategy (wtc).
The optimized version takes on my machine approx. 11/12s compared to the
original 32s. Results are equivalent in both cases.

```
import freqtrade.optimize.space
import numpy as np
import skopt
import timeit

def init():
    Decimal = freqtrade.optimize.space.decimalspace.SKDecimal
    Integer = skopt.space.space.Integer
    dimensions = [Decimal(low=-1.0,
        high=1.0,
        decimals=4,
        prior='uniform',
        transform='identity')] * 20

    return skopt.Optimizer(
        dimensions,
        base_estimator="ET",
        acq_optimizer="auto",
        n_initial_points=5,
        acq_optimizer_kwargs={'n_jobs': 96},
        random_state=0,
        model_queue_size=10,
    )

def test():
    opt = init()
    actual = opt.ask(n_points=2)
    expected = [[
        0.7515, -0.4723, -0.6941, -0.7988, 0.0448, 0.8605, -0.108, 0.5399,
        0.763, -0.2948, 0.8345, -0.7683, 0.7077, -0.2478, -0.333, 0.8575,
        0.6108, 0.4514, 0.5982, 0.3506
    ], [
        0.5563, 0.7386, -0.6407, 0.9073, -0.5211, -0.8167, -0.3771,
        -0.0318, 0.2861, 0.1176, 0.0943, -0.6077, -0.9317, -0.5372,
        -0.4934, -0.3637, -0.8035, -0.8627, -0.5399, 0.6036
    ]]

    absdiff = np.max(np.abs(np.asarray(expected) - np.asarray(actual)))
    assert absdiff < 1e-5

def time():
    opt = init()
    print('dt', timeit.timeit("opt.ask(n_points=20)", globals=locals()))

if __name__ == "__main__":
    test()
    time()
```
2021-10-24 18:14:24 +02:00
Matthias 22dd2ca003 Fix mypy type errors 2021-10-24 15:18:29 +02:00
Matthias 17432b2823 Improve some stylings 2021-10-24 09:15:05 +02:00
Matthias 5f309627ea Update tests for Calmar ratio 2021-10-24 09:01:13 +02:00
Matthias dffb4c5d53 Merge branch 'develop' into pr/TreborNamor/5607 2021-10-24 08:55:10 +02:00
Matthias 4966619f1d
Merge pull request #5773 from samgermain/gateio-futures
Gateio futures
2021-10-24 08:45:24 +02:00
Sam Germain 60478cb213 Add fill_leverage_brackets and get_max_leverage back in 2021-10-23 22:16:51 -06:00
Sam Germain d99e0dac7b Added name for futures market property 2021-10-23 21:59:47 -06:00
Sam Germain 3eda9455b9 Added dry run capability to funding-fee 2021-10-23 21:59:47 -06:00
Sam Germain 2533d3b420 Added get_funding_rate_history method to exchange 2021-10-23 21:59:41 -06:00
Sam Germain ef8b617eb2 gateio, ftx and binance all use same funding fee formula 2021-10-23 21:59:03 -06:00
Sam Germain badc0fa445 Adjusted _get_funding_fee_method 2021-10-23 21:58:57 -06:00
Sam Germain cba0a8cee6 adjusted funding fee formula binance 2021-10-23 21:58:17 -06:00
Sam Germain 2a26c6fbed Added backtesting methods back in 2021-10-23 21:33:37 -06:00
Sam Germain ed91516f90 Changed future to swap 2021-10-23 14:10:09 -06:00
Matthias b4bedc22d7
Merge pull request #5777 from SimonEbner/pathlib_stem
Use pathlib.stem instead of str(x).ends_with
2021-10-23 19:29:18 +02:00
Simon Ebner fde10f5395 Use pathlib.stem instead of str(x).ends_with 2021-10-23 12:26:07 +02:00
Sam Germain 1fa2600ee2 Added gateio to test__ccxt_config 2021-10-22 11:52:05 -06:00
Sam Germain 167f9aa8d9 Added gateio futures support, and added gatio to test_exchange exchanges variable 2021-10-22 11:52:05 -06:00
Sam Germain aed22f7dad Merge branch 'develop' into feat/short 2021-10-22 11:45:27 -06:00
Matthias 21141bdcb3
Merge pull request #5732 from samgermain/new-max-lev
New max lev
2021-10-22 19:30:58 +02:00
Sam Germain f07555fc84 removed binance constructor, added fill_leverage_brackets call to exchange constructor 2021-10-22 06:37:56 -06:00
Matthias 78724e304e Merge branch 'develop' into pr/theluxaz/5710 2021-10-21 17:46:39 +02:00
theluxaz 0e085298e9 Fixed test failures. 2021-10-21 17:25:38 +03:00
Matthias 96f99699e0
Merge pull request #4606 from rextea/add_days_breakdown_to_backtesting_summary
Add days breakdown table to backtesting
2021-10-21 13:56:30 +02:00
Matthias 053fb076e4 Add documentation for breakdown command 2021-10-21 10:57:23 +02:00
Matthias e458c9867a Styling fixes 2021-10-21 07:45:15 +02:00
Matthias 7b5346b984 Add test for breakdown-stats 2021-10-21 07:11:39 +02:00
Matthias fa028c2134 Support day/week/month breakdowns 2021-10-21 06:58:40 +02:00
Matthias 7197f4ce77 Don't show daily % profit (it's wrong) 2021-10-20 20:01:31 +02:00
Matthias de5497c766 backtest_days cannot be below 1 2021-10-20 19:39:37 +02:00
Matthias 1267374c8a Small fixes to tests 2021-10-20 19:21:38 +02:00
theluxaz 905f3a1a50 Removed exit_tag from Trade objects. 2021-10-20 17:58:50 +03:00
Matthias 028e5de935 Remove space after @ decorator in tests 2021-10-20 16:53:24 +02:00
Sam Germain 0329da1a57 updated get_max_leverage to use new ccxt unified property 2021-10-20 08:36:48 -06:00
Sam Germain 3fffc315ac Merge branch 'develop' into feat/short 2021-10-20 08:11:53 -06:00
Matthias 79a91dc31b
Merge pull request #5567 from samgermain/lev-freqtradebot
Lev freqtradebot
2021-10-20 15:48:07 +02:00
Matthias dd59b23b49
Merge pull request #5763 from samgermain/test-ccxt-config
Test ccxt config
2021-10-20 15:41:26 +02:00
Sam Germain 8c80fb46c8 test__ccxt_config 2021-10-20 05:33:09 -06:00
Matthias 5454460227 Revert initial_points to 30
closes #5760
2021-10-20 07:46:15 +02:00
theluxaz 1fdc4425dd Changed exit_tag to be represented as sell_reason 2021-10-20 01:26:15 +03:00
Matthias 55b0216180 Allow StaticPairlist in non-first position
closes #5754
2021-10-19 19:48:56 +02:00
Matthias 42a4dfed28 Reallow bitstamp
revert #1984, related to #1983
2021-10-19 19:12:35 +02:00
GluTbl 00406ea7d5
Update backtesting.py
Support for custom entry-prices and exit-prices during backtesting.
2021-10-19 17:15:45 +05:30
Matthias 2995f9a347
Merge pull request #5726 from daniila/patch-1
How to run multiple instances with docker
2021-10-19 11:43:12 +02:00
theluxaz 5ecdd1d112 Merge branch 'develop' into freqtrade-development 2021-10-19 00:00:15 +03:00
theluxaz 69a59cdf37 Fixed flake 8, changed sell_tag to exit_tag and fixed telegram functions 2021-10-18 23:56:41 +03:00
daniila f863f4fdfc
Update advanced-setup.md
A note on having to use different database files, ports and telegram configs for each bot.
2021-10-18 23:49:59 +03:00
daniila 5d2e374099
Update docs/advanced-setup.md
Co-authored-by: Matthias <xmatthias@outlook.com>
2021-10-18 23:38:45 +03:00
daniila f9b1667478
Update docs/advanced-setup.md
Co-authored-by: Matthias <xmatthias@outlook.com>
2021-10-18 23:36:47 +03:00
Matthias 0da5ef16e6 Remove unnecessary dependency 2021-10-18 19:16:56 +02:00
Matthias ddba4e32d7 Fully remove flake8-type-annotations 2021-10-18 16:04:24 +02:00
Matthias 52bd761111
Merge pull request #5749 from freqtrade/dependabot/pip/develop/types-filelock-3.2.1
Bump types-filelock from 3.2.0 to 3.2.1
2021-10-18 09:51:45 +02:00
Matthias 711897cffa
Merge pull request #5737 from freqtrade/dependabot/pip/develop/pytest-asyncio-0.16.0
Bump pytest-asyncio from 0.15.1 to 0.16.0
2021-10-18 09:51:15 +02:00
Matthias 1c6fc068c6
Merge pull request #5741 from freqtrade/dependabot/pip/develop/pandas-1.3.4
Bump pandas from 1.3.3 to 1.3.4
2021-10-18 09:30:25 +02:00
Matthias 925df4dfec
Merge pull request #5743 from freqtrade/dependabot/pip/develop/mkdocs-material-7.3.4
Bump mkdocs-material from 7.3.2 to 7.3.4
2021-10-18 09:29:59 +02:00
Sam Germain 57d7009fd9 Added trading mode and collateral to constants.py 2021-10-18 01:21:41 -06:00
Sam Germain faaa3ae9b1 Removed exit_short rpcmessagetype 2021-10-18 01:08:12 -06:00
dependabot[bot] 8a7ea65531
Bump types-filelock from 3.2.0 to 3.2.1
Bumps [types-filelock](https://github.com/python/typeshed) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-filelock
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 07:06:05 +00:00
Matthias 0ef20a5b04
Merge pull request #5744 from freqtrade/dependabot/pip/develop/types-tabulate-0.8.3
Bump types-tabulate from 0.8.2 to 0.8.3
2021-10-18 09:05:06 +02:00
Sam Germain 053aecf111 reformatted check_handle_timedout 2021-10-18 01:01:29 -06:00
dependabot[bot] 3af55cc8c7
Bump pandas from 1.3.3 to 1.3.4
Bumps [pandas](https://github.com/pandas-dev/pandas) from 1.3.3 to 1.3.4.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Changelog](https://github.com/pandas-dev/pandas/blob/master/RELEASE.md)
- [Commits](https://github.com/pandas-dev/pandas/compare/v1.3.3...v1.3.4)

---
updated-dependencies:
- dependency-name: pandas
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 06:58:47 +00:00
Matthias 0d7be62e62
Merge pull request #5752 from freqtrade/dependabot/pip/develop/ccxt-1.58.47
Bump ccxt from 1.57.94 to 1.58.47
2021-10-18 08:57:52 +02:00
dependabot[bot] 75e6a2d276
Bump mkdocs-material from 7.3.2 to 7.3.4
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.3.2 to 7.3.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.3.2...7.3.4)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 06:47:32 +00:00
Matthias e00a71a3db
Merge pull request #5751 from freqtrade/dependabot/pip/develop/mkdocs-1.2.3
Bump mkdocs from 1.2.2 to 1.2.3
2021-10-18 08:46:39 +02:00
Matthias ef70ea3997
Merge pull request #5748 from freqtrade/dependabot/pip/develop/progressbar2-3.55.0
Bump progressbar2 from 3.53.3 to 3.55.0
2021-10-18 08:40:55 +02:00
dependabot[bot] 618f0ffe68
Bump types-tabulate from 0.8.2 to 0.8.3
Bumps [types-tabulate](https://github.com/python/typeshed) from 0.8.2 to 0.8.3.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-tabulate
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 06:38:42 +00:00
Matthias 5320ddc382
Merge pull request #5746 from freqtrade/dependabot/pip/develop/types-cachetools-4.2.4
Bump types-cachetools from 4.2.2 to 4.2.4
2021-10-18 08:37:56 +02:00
Sam Germain e4682b78c5 updates suggested on github 2021-10-18 00:28:32 -06:00
dependabot[bot] 44e6e13429
Bump ccxt from 1.57.94 to 1.58.47
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.57.94 to 1.58.47.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.57.94...1.58.47)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 06:16:09 +00:00
dependabot[bot] 4b02749019
Bump mkdocs from 1.2.2 to 1.2.3
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.2.2 to 1.2.3.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.2.2...1.2.3)

---
updated-dependencies:
- dependency-name: mkdocs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 06:15:52 +00:00
Matthias ff3bfa3d52
Merge pull request #5747 from freqtrade/dependabot/pip/develop/python-rapidjson-1.5
Bump python-rapidjson from 1.4 to 1.5
2021-10-18 08:15:01 +02:00
Matthias dccce4855e
Merge pull request #5740 from freqtrade/dependabot/pip/develop/pyjwt-2.3.0
Bump pyjwt from 2.2.0 to 2.3.0
2021-10-18 07:40:20 +02:00
Matthias 733d254644
Merge pull request #5742 from freqtrade/dependabot/pip/develop/wrapt-1.13.2
Bump wrapt from 1.13.1 to 1.13.2
2021-10-18 07:39:54 +02:00
dependabot[bot] 82684f5de9
Bump progressbar2 from 3.53.3 to 3.55.0
Bumps [progressbar2](https://github.com/WoLpH/python-progressbar) from 3.53.3 to 3.55.0.
- [Release notes](https://github.com/WoLpH/python-progressbar/releases)
- [Changelog](https://github.com/WoLpH/python-progressbar/blob/develop/CHANGES.rst)
- [Commits](https://github.com/WoLpH/python-progressbar/compare/v3.53.3...v3.55.0)

---
updated-dependencies:
- dependency-name: progressbar2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 05:19:03 +00:00
Matthias bddbb474aa
Merge pull request #5739 from freqtrade/dependabot/pip/develop/filelock-3.3.1
Bump filelock from 3.3.0 to 3.3.1
2021-10-18 07:18:58 +02:00
dependabot[bot] 69c98c4141
Bump python-rapidjson from 1.4 to 1.5
Bumps [python-rapidjson](https://github.com/python-rapidjson/python-rapidjson) from 1.4 to 1.5.
- [Release notes](https://github.com/python-rapidjson/python-rapidjson/releases)
- [Changelog](https://github.com/python-rapidjson/python-rapidjson/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-rapidjson/python-rapidjson/compare/v1.4...v1.5)

---
updated-dependencies:
- dependency-name: python-rapidjson
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 05:18:47 +00:00
dependabot[bot] 035380d8a4
Bump types-cachetools from 4.2.2 to 4.2.4
Bumps [types-cachetools](https://github.com/python/typeshed) from 4.2.2 to 4.2.4.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 05:18:42 +00:00
Matthias e6bbfaefe5
Merge pull request #5736 from freqtrade/dependabot/pip/develop/types-requests-2.25.11
Bump types-requests from 2.25.9 to 2.25.11
2021-10-18 07:18:30 +02:00
Matthias c58126e9c5
Merge pull request #5738 from freqtrade/dependabot/pip/develop/flake8-4.0.1
Bump flake8 from 4.0.0 to 4.0.1
2021-10-18 07:18:06 +02:00
dependabot[bot] d7756efe8b
Bump wrapt from 1.13.1 to 1.13.2
Bumps [wrapt](https://github.com/GrahamDumpleton/wrapt) from 1.13.1 to 1.13.2.
- [Release notes](https://github.com/GrahamDumpleton/wrapt/releases)
- [Changelog](https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst)
- [Commits](https://github.com/GrahamDumpleton/wrapt/compare/1.13.1...1.13.2)

---
updated-dependencies:
- dependency-name: wrapt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 03:01:28 +00:00
dependabot[bot] b60371822f
Bump pyjwt from 2.2.0 to 2.3.0
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/jpadilla/pyjwt/commits)

---
updated-dependencies:
- dependency-name: pyjwt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 03:01:19 +00:00
dependabot[bot] e7a2672f07
Bump filelock from 3.3.0 to 3.3.1
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/py-filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.3.0...3.3.1)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 03:01:17 +00:00
dependabot[bot] 9b0171ef37
Bump flake8 from 4.0.0 to 4.0.1
Bumps [flake8](https://github.com/pycqa/flake8) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/pycqa/flake8/releases)
- [Commits](https://github.com/pycqa/flake8/compare/4.0.0...4.0.1)

---
updated-dependencies:
- dependency-name: flake8
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 03:01:14 +00:00
dependabot[bot] 12a041b466
Bump pytest-asyncio from 0.15.1 to 0.16.0
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.15.1 to 0.16.0.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.15.1...v0.16.0)

---
updated-dependencies:
- dependency-name: pytest-asyncio
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 03:01:10 +00:00
dependabot[bot] 6be40cb7c3
Bump types-requests from 2.25.9 to 2.25.11
Bumps [types-requests](https://github.com/python/typeshed) from 2.25.9 to 2.25.11.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 03:01:07 +00:00
Matthias 00fc38a5dc Update setup.sh to correctly exit if ta-lib fails
part of #5734
2021-10-17 19:24:09 +02:00
Matthias ad2c88b991 Reduce test-code duplication by importing functions 2021-10-17 17:00:25 +02:00
Matthias e09ec6e6b3
Merge pull request #5733 from freqtrade/download_all
Download all
2021-10-17 16:50:41 +02:00
Matthias 7d8cd736b8 Support days-breakdown also for hyperopt results 2021-10-17 16:49:39 +02:00
Matthias 47bba331c1 Merge branch 'develop' into pr/rextea/4606 2021-10-17 16:29:31 +02:00
Matthias 28483a7952 Fix doc-link in developer docs 2021-10-17 16:10:15 +02:00
Matthias d4d57f0002 Document expansion of `--pairs`, add download-inactive 2021-10-17 16:09:56 +02:00
Matthias 9bb2dd1851
Merge pull request #5694 from freqtrade/dependabot/pip/develop/fastapi-0.70.0
Bump fastapi from 0.68.1 to 0.70.0
2021-10-17 15:01:28 +02:00
Matthias e23eb99abf Disable ability to use lookahead-biased vwap
closes #5782
2021-10-17 11:23:58 +02:00
Matthias e8f98e473d Fix a few more tests 2021-10-17 11:08:54 +02:00
Matthias 198f3c5238 Merge branch 'feat/short' into pr/samgermain/5567 2021-10-17 10:41:03 +02:00
Matthias 69fdb8edfa Merge branch 'develop' into feat/short 2021-10-17 10:40:08 +02:00
Matthias abd5c4f278 Convert additional test to USDT 2021-10-17 10:39:53 +02:00
Matthias fb2c8f7621 Rollback after each request
This closes the transaction and avoids "sticking" transactions.
2021-10-17 10:30:06 +02:00
Matthias 41b5e5627b Update stoploss test 2021-10-17 09:54:38 +02:00
Matthias bc10b451fe Revert wrong condition 2021-10-17 09:46:39 +02:00
Matthias e19d95b63e Fix stoploss test 2021-10-17 09:00:10 +02:00
Matthias 29ad90f1e3
Merge pull request #5727 from Rikj000/docs/fix-mkdocs-darktheme-toggle
📝 `mkdocs.yml` - Fixed darktheme toggle
2021-10-17 08:37:34 +02:00
Rik Helsen f61dc6d95a 📝 `mkdocs.yml` - Fixed darktheme toggle 2021-10-17 00:14:09 +02:00
daniila 5a9983086a
How to run multiple instances with docker
Basic guide on how to run multiple instances using docker.
2021-10-17 00:24:00 +03:00
dependabot[bot] 89ca8abea9 Bump fastapi from 0.68.1 to 0.70.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.68.1 to 0.70.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.68.1...0.70.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-16 19:31:12 +02:00
Matthias b1ee56a5ce
Merge pull request #5724 from freqtrade/fix/5719
Make sure transactions are reset
2021-10-16 19:30:40 +02:00
Matthias 5ba1d66be7 Make sure transactions are reset
closes #5719
2021-10-16 17:57:51 +02:00
Matthias dcefb3eb9c Fix delete_Trade api test 2021-10-16 16:48:35 +02:00
Matthias 7f1080368b Commit mock-trades to avoid errors in tests 2021-10-16 16:48:19 +02:00
Matthias de5657a91b Fix test failing when UI is installed 2021-10-16 16:47:28 +02:00
Matthias f120e0d256
Merge pull request #5716 from freqtrade/setupsh_fix
Don't build ta-lib in parallel, this causes failures
2021-10-15 10:31:32 +02:00
Matthias fe9f597eab Don't build ta-lib in parallel, this causes failures 2021-10-15 10:11:25 +02:00
Matthias 794862a35a
Merge pull request #5670 from sergeykhliustin/develop
Added min_profit param to PerformanceFilter
2021-10-14 19:57:36 +02:00
Matthias c02a538187 Add documentation and log to PerformanceFilter 2021-10-14 19:36:34 +02:00
Sam Germain 962f63a19a fixed failing test_execute_trade_exit_custom_exit_price 2021-10-14 05:28:08 -06:00
Sam Germain 5fbe76cd7e isolated conditionals in interface stoploss method 2021-10-14 05:10:28 -06:00
Sam Germain 0afd76c183 Fixed failing test_execute_trade_exit_market_order 2021-10-14 04:45:48 -06:00
Sam Germain 2dc402fbf7 Fixed failing test_handle_trade 2021-10-14 04:05:50 -06:00
Sam Germain b0ce9612f8 Fixed sell_profit_only failing 2021-10-14 03:52:29 -06:00
Matthias 0e7d903a6f
Merge pull request #5644 from slyons/develop
Add ability to ignore unparameterized spaces
2021-10-14 08:07:07 +02:00
Matthias fe8374f2a4 Test for non-failing missing hyperopt space 2021-10-14 07:06:51 +02:00
Sam Germain bcbe8f229c Merge branch 'feat/short' into lev-freqtradebot 2021-10-13 19:02:57 -06:00
Sam Germain bd488cc086 Merge branch 'develop' into feat/short 2021-10-13 17:56:40 -06:00
theluxaz 0bb7ea10ab Fixed minor header for backtesting 2021-10-14 01:34:30 +03:00
theluxaz ed39b8dab0 fixed profit total calculation 2021-10-14 01:18:16 +03:00
theluxaz 8b2c14a6fa Readme fix 2021-10-14 01:15:43 +03:00
theluxaz d341d85079 Refixed some files for the pull request 2021-10-14 01:13:28 +03:00
theluxaz 96cab22a8c Fixed some bugs for live sell_tags. 2021-10-14 01:03:15 +03:00
Matthias 3279ea568c Add new parameter to hyperopt docs 2021-10-13 19:57:42 +02:00
Matthias aed919a05f Simplify "no-space-configured" error handling by moving it to hyperopt_auto 2021-10-13 19:54:35 +02:00
Matthias aed138ba03
Merge pull request #5377 from samgermain/funding-fee
Funding Fee (Futures)
2021-10-13 19:04:14 +02:00
Matthias 2c6290a100 Small updates to prevent random test failures 2021-10-13 07:04:21 +02:00
Sam Germain 0dbad19b40 trading_mode default null in models.Trade 2021-10-12 20:34:19 -06:00
Sam Germain 82742cd659 Merge branch 'funding-fee' of https://github.com/samgermain/freqtrade into funding-fee 2021-10-12 20:29:10 -06:00
Sam Germain 0fcc7eca62 Added more tests to test_update_funding_fees 2021-10-12 20:28:46 -06:00
theluxaz 7067c43ff4 Merge branch 'main' of https://github.com/theluxaz/freqtrade into main 2021-10-13 02:20:30 +03:00
theluxaz 0f670189eb quick typo fix 2021-10-13 02:14:07 +03:00
theluxaz 3ee9674bb7
Update README.md 2021-10-13 02:07:45 +03:00
theluxaz af74850e79
Update README.md 2021-10-13 02:07:23 +03:00
theluxaz b151cf032b Merge branch 'develop' of https://github.com/theluxaz/freqtrade into main
# Conflicts:
#	freqtrade/freqtradebot.py
#	freqtrade/optimize/backtesting.py
2021-10-13 02:01:26 +03:00
theluxaz 02243b1a2b minifix 2021-10-13 01:34:29 +03:00
theluxaz 80b71790bc Added some bigfixes for sell_tag 2021-10-13 01:22:53 +03:00
theluxaz c9edf3bf4a Updated the gitignore 2021-10-13 00:09:30 +03:00
theluxaz b898f86364 Added sell_tag and buy/sell telegram performance functions 2021-10-13 00:02:28 +03:00
Matthias 532a9341d2 Fix migration issue 2021-10-12 20:41:48 +02:00
Matthias 0926beaf73
Merge pull request #5632 from freqtrade/dependabot/pip/develop/scikit-learn-1.0
Bump scikit-learn from 0.24.2 to 1.0
2021-10-12 20:04:29 +02:00
Matthias f290ff5c9a Re-add schedule.run_pending 2021-10-12 19:10:38 +02:00
Matthias 8798ae5677 Version bump also scikit-optimize 2021-10-12 19:06:23 +02:00
Sam Germain 86cbd0039f Fixed bugs 2021-10-12 02:24:35 -06:00
Rokas Kupstys 437fadc258 Fix profitable trade registering as a loss due to fees. 2021-10-12 10:49:07 +03:00
Matthias 59ed11358f
Merge pull request #5708 from freqtrade/ui_version_specify
Add version argument to freqUI installer
2021-10-12 07:16:34 +02:00
Matthias ce9debe9fd Add version argument to freqUI installer 2021-10-12 06:44:07 +02:00
Matthias 952d83ad24 Reenable additional test 2021-10-11 20:36:08 +02:00
Matthias 7e958589b3
Merge pull request #5701 from freqtrade/dependabot/pip/develop/flake8-4.0.0
Bump flake8 from 3.9.2 to 4.0.0
2021-10-11 20:34:40 +02:00
Matthias 70000b5843 Use scheduler as Object, not the automatic Singleton 2021-10-11 20:28:23 +02:00
Matthias 396bc9b2e3 Version bump flake8-tidy-imports to 4.5.0 2021-10-11 20:00:53 +02:00
Sam Germain 2e7adb99da Fixed some breaking tests 2021-10-11 08:52:11 -06:00
Sam Germain bdad604fab Added persistence futures tests 2021-10-11 07:48:31 -06:00
Sam Germain 01a9e90057 Added futures tests to test_persistence.test_calc_profit 2021-10-11 07:03:14 -06:00
Sam Germain ae3688a18a Updated LocalTrade.calc_close_trade_value formula for shorting futures 2021-10-11 05:56:27 -06:00
Sam Germain d5a1385fdc Changes described on github 2021-10-11 04:14:59 -06:00
Matthias 7b1e81689a
Merge pull request #5704 from freqtrade/dependabot/pip/develop/mkdocs-material-7.3.2
Bump mkdocs-material from 7.3.1 to 7.3.2
2021-10-11 10:06:18 +02:00
Matthias 1649c00cb7
Merge pull request #5706 from freqtrade/dependabot/pip/develop/ccxt-1.57.94
Bump ccxt from 1.57.38 to 1.57.94
2021-10-11 10:05:53 +02:00
dependabot[bot] fa00b52c47
Bump scikit-learn from 0.24.2 to 1.0
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 0.24.2 to 1.0.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/0.24.2...1.0)

---
updated-dependencies:
- dependency-name: scikit-learn
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-11 07:41:16 +00:00
Matthias 7d629d45c3
Merge pull request #5705 from freqtrade/dependabot/pip/develop/joblib-1.1.0
Bump joblib from 1.0.1 to 1.1.0
2021-10-11 09:40:27 +02:00
Matthias f5a0e78c1b
Merge pull request #5692 from freqtrade/dependabot/pip/develop/jsonschema-4.1.0
Bump jsonschema from 4.0.1 to 4.1.0
2021-10-11 09:39:24 +02:00
Sam Germain 855b26f846 Parametrized more time machine tests in test_update_funding_fees 2021-10-11 01:31:21 -06:00
dependabot[bot] 802599bdc9
Bump ccxt from 1.57.38 to 1.57.94
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.57.38 to 1.57.94.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.57.38...1.57.94)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-11 06:15:32 +00:00
dependabot[bot] 29371b2f28
Bump joblib from 1.0.1 to 1.1.0
Bumps [joblib](https://github.com/joblib/joblib) from 1.0.1 to 1.1.0.
- [Release notes](https://github.com/joblib/joblib/releases)
- [Changelog](https://github.com/joblib/joblib/blob/master/CHANGES.rst)
- [Commits](https://github.com/joblib/joblib/compare/1.0.1...1.1.0)

---
updated-dependencies:
- dependency-name: joblib
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-11 06:15:03 +00:00
Matthias c4e967c003
Merge pull request #5696 from freqtrade/dependabot/pip/develop/jinja2-3.0.2
Bump jinja2 from 3.0.1 to 3.0.2
2021-10-11 08:14:59 +02:00
Matthias 8b2bad3366
Merge pull request #5698 from freqtrade/dependabot/pip/develop/arrow-1.2.0
Bump arrow from 1.1.1 to 1.2.0
2021-10-11 08:14:24 +02:00
Matthias acc2760512
Merge pull request #5703 from freqtrade/dependabot/pip/develop/pyjwt-2.2.0
Bump pyjwt from 2.1.0 to 2.2.0
2021-10-11 08:13:32 +02:00
dependabot[bot] 90ea3d4440
Bump mkdocs-material from 7.3.1 to 7.3.2
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.3.1 to 7.3.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.3.1...7.3.2)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-11 05:18:24 +00:00
Matthias 9cb20241d9
Merge pull request #5697 from freqtrade/dependabot/pip/develop/cryptography-35.0.0
Bump cryptography from 3.4.8 to 35.0.0
2021-10-11 07:17:20 +02:00
dependabot[bot] 4921a4caec
Bump jinja2 from 3.0.1 to 3.0.2
Bumps [jinja2](https://github.com/pallets/jinja) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.0.1...3.0.2)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-11 05:14:19 +00:00
dependabot[bot] 32174f8f90
Bump pyjwt from 2.1.0 to 2.2.0
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.1.0...2.2.0)

---
updated-dependencies:
- dependency-name: pyjwt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-11 05:14:08 +00:00
Matthias 01e7b08aa9
Merge pull request #5695 from freqtrade/dependabot/pip/develop/blosc-1.10.6
Bump blosc from 1.10.4 to 1.10.6
2021-10-11 07:13:07 +02:00
dependabot[bot] afc086f33c
Bump arrow from 1.1.1 to 1.2.0
Bumps [arrow](https://github.com/arrow-py/arrow) from 1.1.1 to 1.2.0.
- [Release notes](https://github.com/arrow-py/arrow/releases)
- [Changelog](https://github.com/arrow-py/arrow/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/arrow-py/arrow/commits)

---
updated-dependencies:
- dependency-name: arrow
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-11 05:05:30 +00:00
dependabot[bot] e467491dbe
Bump jsonschema from 4.0.1 to 4.1.0
Bumps [jsonschema](https://github.com/Julian/jsonschema) from 4.0.1 to 4.1.0.
- [Release notes](https://github.com/Julian/jsonschema/releases)
- [Changelog](https://github.com/Julian/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/Julian/jsonschema/compare/v4.0.1...v4.1.0)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-11 05:05:23 +00:00
dependabot[bot] 3fdc62d29c
Bump flake8 from 3.9.2 to 4.0.0
Bumps [flake8](https://github.com/pycqa/flake8) from 3.9.2 to 4.0.0.
- [Release notes](https://github.com/pycqa/flake8/releases)
- [Commits](https://github.com/pycqa/flake8/compare/3.9.2...4.0.0)

---
updated-dependencies:
- dependency-name: flake8
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-11 05:05:14 +00:00
Matthias a51084f7a7
Merge pull request #5693 from freqtrade/dependabot/pip/develop/wrapt-1.13.1
Bump wrapt from 1.12.1 to 1.13.1
2021-10-11 07:04:35 +02:00
dependabot[bot] 5fb0401dca
Bump cryptography from 3.4.8 to 35.0.0
Bumps [cryptography](https://github.com/pyca/cryptography) from 3.4.8 to 35.0.0.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/3.4.8...35.0.0)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-11 03:01:39 +00:00
dependabot[bot] 7323ffa25a
Bump blosc from 1.10.4 to 1.10.6
Bumps [blosc](https://github.com/blosc/python-blosc) from 1.10.4 to 1.10.6.
- [Release notes](https://github.com/blosc/python-blosc/releases)
- [Changelog](https://github.com/Blosc/python-blosc/blob/master/RELEASE_NOTES.rst)
- [Commits](https://github.com/blosc/python-blosc/compare/v1.10.4...v1.10.6)

---
updated-dependencies:
- dependency-name: blosc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-11 03:01:31 +00:00
dependabot[bot] 57095d7167
Bump wrapt from 1.12.1 to 1.13.1
Bumps [wrapt](https://github.com/GrahamDumpleton/wrapt) from 1.12.1 to 1.13.1.
- [Release notes](https://github.com/GrahamDumpleton/wrapt/releases)
- [Changelog](https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst)
- [Commits](https://github.com/GrahamDumpleton/wrapt/compare/1.12.1...1.13.1)

---
updated-dependencies:
- dependency-name: wrapt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-11 03:01:22 +00:00
Sam Germain 3b962433fb Switched shcedule to perform every 15 minutes 2021-10-10 02:55:04 -06:00
Sam Germain 81cf4653a9 Fixed failing test_process_trade_creation, test_order_book_depth_of_market, test_handle_stoploss_on_exchange_trailing 2021-10-09 17:35:57 -06:00
Sam Germain 94f0be1fa9 Added is_short=(signal == SignalDirection.SHORT) inside freqtradebot.create_trade 2021-10-09 16:32:22 -06:00
Sam Germain 9513650ffe Fixed failing test_handle_stoploss_on_exchange_trailing 2021-10-09 16:20:25 -06:00
Sam Germain 9a6ffff5eb Added cost to limit_sell_order_usdt_open, fixing some tests 2021-10-09 15:50:18 -06:00
Sam Germain 85e86ec09d Fixed failing test_check_handle_timedout_buy_usercustom 2021-10-09 15:14:33 -06:00
Sam Germain 4fc4007975 Fixed failing test_check_handle_timedout_buy 2021-10-09 14:57:10 -06:00
Sam Germain 729957572b updated strategy stop_loss_reached to work for shorts 2021-10-09 14:39:11 -06:00
Sam Germain d7e6b842ba Fixed failing tests test_cancel_all_open_orders, test_order_book_ask_strategy, test_order_book_depth_of_market, test_disable_ignore_roi_if_buy_signal 2021-10-09 14:12:17 -06:00
Sam Germain 95be5121ec Added bibox and hitbtc funding fee times 2021-10-09 13:14:41 -06:00
Sam Germain b83933a10a Added gateio and kucoin funding fee times 2021-10-09 13:09:11 -06:00
Sam Germain 057b048f31 Started added timezone offset stuff 2021-10-09 12:27:40 -06:00
Sam Germain 795d51b68c Switched scheduler to get funding fees every hour for any exchange 2021-10-09 11:27:26 -06:00
Sam Germain 39be675f1f Adjusted time to utc in schedule 2021-10-09 10:52:07 -06:00
Matthias 50439ac441
Merge pull request #5674 from jonny07/patch-4
Update docker_quickstart.md
2021-10-09 15:49:34 +02:00
Matthias 1a3b41ed97 Rephrase and simplify UI access section in docker quickstart 2021-10-09 15:35:39 +02:00
Matthias fa9484a06b Merge branch 'develop' into pr/jonny07/5674 2021-10-09 15:29:24 +02:00
Matthias cae8ff5949
Merge pull request #5623 from froggleston/rest_sysinfo
Add CPU,RAM sysinfo support to the REST API to help with bot system m…
2021-10-09 15:17:21 +02:00
Matthias 4d61e3866c
Merge pull request #5684 from SmartManoj/patch-1
pypi installation
2021-10-09 10:49:39 +02:00
Matthias 2c68342140 Move pypi installation to documentation 2021-10-09 10:37:33 +02:00
Matthias 91ceaef02f
Merge pull request #5678 from sidml/develop
Hyperopt loss function using max drawdown
2021-10-09 10:26:40 +02:00
Matthias 7b1c888665 Add FAQ entry for incomplete candles
closes #5687
2021-10-09 08:39:32 +02:00
sid 30bc96cf3f simplify expression 2021-10-09 06:36:23 +05:30
Matthias 11ec1d9b06 Revert previous commit 2021-10-08 20:22:07 +02:00
Matthias 482f4418c6 Clarify "required candle" message 2021-10-08 14:36:52 +02:00
மனோஜ்குமார் பழனிச்சாமி 1327c21d01
Update README.md 2021-10-07 19:12:09 +05:30
Robert Davey f07eeddda0
Update api_schemas.py
Fix api schema for cpu_pct float List.
2021-10-07 12:04:42 +01:00
Sam Germain 7f7f377a90 updated a test, put in TODO-lev 2021-10-07 05:03:38 -06:00
Sam Germain e367f84b06 Added more update_funding_fee tests, set exchange of default conf 2021-10-07 04:20:53 -06:00
Matthias a1be6124f2 Don't set bid_last_balance if None in tests
part of #5681
2021-10-07 07:15:09 +02:00
Matthias 45b7a0c837 Add Test and docs for MaxDrawDownHyperOptLoss 2021-10-07 07:12:45 +02:00
Matthias 29863ad2bf Fix error when ask_last_balance is not set
closes #5181
2021-10-07 06:51:29 +02:00
sid 46c320513a use profit_abs 2021-10-07 08:07:07 +05:30
sid 93e4cf4006 Merge remote-tracking branch 'upstream/develop' into develop 2021-10-07 08:04:40 +05:30
Matthias 526bdaa2dc Recommend using 0.0.0.0 as listen address for docker 2021-10-06 20:14:59 +02:00
Matthias 65d4df938d Improve docker port api 2021-10-06 20:09:08 +02:00
Matthias 992cef56e6 Add test for sysinfo endpoint 2021-10-06 19:36:51 +02:00
Matthias 57ef25789e Fix style errors 2021-10-06 19:36:41 +02:00
sid 6ba46b38bd fix formatting 2021-10-06 13:46:05 +05:30
sid c0d01dbc26 add max_drawdown loss 2021-10-06 13:24:27 +05:30
Matthias a4a5c1aad0 Fix scheduling test (a little bit) 2021-10-06 07:08:28 +02:00
jonny07 949d616082
Update docker_quickstart.md
Got help in the discord chat to get the UI running, I think most people will need this...
2021-10-05 21:33:15 +02:00
Sam Germain 362c29c315 Added patch_get_signal(freqtrade, enter_long=False, enter_short=True, exit_short=True) a bunch 2021-10-05 03:15:28 -06:00
Sam Germain d8ba3d8cde Added trade.is_short = is_short a lot 2021-10-05 02:16:17 -06:00
Sam Germain c72aac4356 Added trade.is_short = is_short a lot 2021-10-05 02:13:29 -06:00
Sam Germain 29e582c6d9 Fixed time format for schedule and update_funding_fees conf is mocked better 2021-10-05 01:42:46 -06:00
froggleston 0db5c07314 Fix issues with sysinfo rpc/API code, add SysInfo api_schema 2021-10-05 00:10:39 +01:00
Matthias 92f8f231af Remove ratelimit from kucoin template 2021-10-04 20:22:41 +02:00
Matthias 7f4baab420 Remove explicit rateLimits, improve docs 2021-10-04 20:14:22 +02:00
Matthias 60e28a30f4
Merge pull request #5664 from freqtrade/dependabot/pip/develop/ccxt-1.57.38
Bump ccxt from 1.57.3 to 1.57.38
2021-10-04 19:29:28 +02:00
Matthias f15922a168 Fix custom_stoploss in strategy template
closes #5658
2021-10-04 19:11:35 +02:00
Sergey Khliustin 07750518c3 Added min_profit param to PerformanceFilter 2021-10-04 18:49:57 +03:00
Sam Germain 928c4edace removed side from execute_trade_exit 2021-10-03 23:22:51 -06:00
Matthias 26d2b5b81f
Merge pull request #5666 from freqtrade/dependabot/pip/develop/pytest-cov-3.0.0
Bump pytest-cov from 2.12.1 to 3.0.0
2021-10-04 07:21:20 +02:00
Matthias ae46b516e6
Merge pull request #5665 from freqtrade/dependabot/pip/develop/mkdocs-material-7.3.1
Bump mkdocs-material from 7.3.0 to 7.3.1
2021-10-04 07:17:44 +02:00
Sam Germain 9046caa27c fixed test_update_trade_state_sell 2021-10-03 23:13:34 -06:00
Matthias 222a15922e
Merge pull request #5667 from freqtrade/dependabot/pip/develop/types-cachetools-4.2.2
Bump types-cachetools from 4.2.0 to 4.2.2
2021-10-04 07:02:20 +02:00
Matthias 6e1e1e00c2 Fix mock going into nirvana 2021-10-04 06:59:08 +02:00
dependabot[bot] f41fd4e88d
Bump mkdocs-material from 7.3.0 to 7.3.1
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.3.0 to 7.3.1.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.3.0...7.3.1)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 04:40:24 +00:00
Matthias 5e195bdc0f
Merge pull request #5661 from freqtrade/dependabot/pip/develop/pymdown-extensions-9.0
Bump pymdown-extensions from 8.2 to 9.0
2021-10-04 06:39:43 +02:00
dependabot[bot] 949f4fbbbf
Bump types-cachetools from 4.2.0 to 4.2.2
Bumps [types-cachetools](https://github.com/python/typeshed) from 4.2.0 to 4.2.2.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 04:36:11 +00:00
Matthias 8f4b598ee2
Merge pull request #5663 from freqtrade/dependabot/pip/develop/jsonschema-4.0.1
Bump jsonschema from 3.2.0 to 4.0.1
2021-10-04 06:35:34 +02:00
Matthias 9491564148
Merge pull request #5662 from freqtrade/dependabot/pip/develop/types-filelock-3.2.0
Bump types-filelock from 0.1.5 to 3.2.0
2021-10-04 06:34:58 +02:00
Matthias 2a4fb992c3
Merge pull request #5659 from freqtrade/dependabot/pip/develop/filelock-3.3.0
Bump filelock from 3.0.12 to 3.3.0
2021-10-04 06:34:31 +02:00
dependabot[bot] 2b41066ab7
Bump pytest-cov from 2.12.1 to 3.0.0
Bumps [pytest-cov](https://github.com/pytest-dev/pytest-cov) from 2.12.1 to 3.0.0.
- [Release notes](https://github.com/pytest-dev/pytest-cov/releases)
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v2.12.1...v3.0.0)

---
updated-dependencies:
- dependency-name: pytest-cov
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 03:01:29 +00:00
dependabot[bot] 0071d002b6
Bump ccxt from 1.57.3 to 1.57.38
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.57.3 to 1.57.38.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.57.3...1.57.38)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 03:01:22 +00:00
dependabot[bot] 35c4a0a188
Bump jsonschema from 3.2.0 to 4.0.1
Bumps [jsonschema](https://github.com/Julian/jsonschema) from 3.2.0 to 4.0.1.
- [Release notes](https://github.com/Julian/jsonschema/releases)
- [Changelog](https://github.com/Julian/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/Julian/jsonschema/compare/v3.2.0...v4.0.1)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 03:01:17 +00:00
dependabot[bot] ff45d52d49
Bump types-filelock from 0.1.5 to 3.2.0
Bumps [types-filelock](https://github.com/python/typeshed) from 0.1.5 to 3.2.0.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-filelock
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 03:01:14 +00:00
dependabot[bot] d220c55d40
Bump pymdown-extensions from 8.2 to 9.0
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 8.2 to 9.0.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/8.2...9.0)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 03:01:11 +00:00
dependabot[bot] 0d9beaa3f3
Bump filelock from 3.0.12 to 3.3.0
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.0.12 to 3.3.0.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Commits](https://github.com/tox-dev/py-filelock/compare/v3.0.12...3.3.0)

---
updated-dependencies:
- dependency-name: filelock
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 03:01:04 +00:00
Sam Germain 2a2b759419 patch_get_signal test updates 2021-10-03 17:41:01 -06:00
Matthias 1c63d01cec Prevent using market-orders on gateio
GateIo does not support market orders on spot markets
2021-10-03 14:14:16 +02:00
Sam Germain d75934ce92 'is_short' -> is_short: test_freqtradebot 2021-10-03 04:44:39 -06:00
Sam Germain 56ff0a95a7 Merge branch 'feat/short' into lev-freqtradebot 2021-10-03 02:26:41 -06:00
Sam Germain 70db228f24 Merge branch 'feat/short' into funding-fee 2021-10-03 02:15:54 -06:00
Sam Germain dcb9ce9513 isort 2021-10-03 02:14:52 -06:00
Sam Germain d3f7207fe6 Merge branch 'develop' into feat/short 2021-10-03 02:12:25 -06:00
Sam Germain 09ef0781a1 switching limit_buy_order_usdt and limit_sell_order_usdt to limit_order(enter_side[is_short]) and limit_order(exit_side[is_short]) 2021-10-03 01:52:58 -06:00
Matthias f5e5203388 Use "round" to 12 digits for TickSize mode
Avoids float rounding problems, fix #5652
2021-10-03 09:49:55 +02:00
Matthias e73f5ab480 Add test confirming #5652 2021-10-03 09:49:55 +02:00
Matthias ad6ca3773d
Merge pull request #5592 from samgermain/test-freqtradebot-usdt
Test freqtradebot usdt
2021-10-03 09:41:08 +02:00
Matthias 126c291988 Improve docs
closes #5654
2021-10-03 09:32:53 +02:00
Matthias 9e77a739fa Change usdt stake_amount to 60$ 2021-10-03 09:22:50 +02:00
Sam Germain 57d66cc0f7 Merge branch 'test-freqtradebot-usdt' into lev-freqtradebot 2021-10-02 20:51:50 -06:00
Sam Germain 058c7b3e99 Fixed odd test_execute_entry where the filled coins were higher than the amount 2021-10-02 20:43:32 -06:00
Sam Germain 908dee961d Changed test values in test_sell_profit_only to usdt like values 2021-10-02 20:37:05 -06:00
Sam Germain 93679db7c4 Removed ... TODOs 2021-10-02 20:33:46 -06:00
Sam Germain 057a187231 Removed uneccessary TODOs 2021-10-02 20:32:51 -06:00
Sam Germain 3823ca4162 Merge branch 'test-freqtradebot-usdt' into lev-freqtradebot 2021-10-02 20:26:52 -06:00
Matthias 3b5cc5f015 Improve dates used for hyperopt tests 2021-10-02 15:37:01 +02:00
Matthias 77388eb423 Improve generate_test_data to make it easier to use 2021-10-02 15:23:48 +02:00
Matthias 66e19f5775
Merge pull request #5651 from freqtrade/simplify_loss_Tests
Combine most hyperopt-loss tests to one
2021-10-02 14:44:46 +02:00
Matthias 5fdeca812d Combine most hyperopt-loss tests to one 2021-10-02 14:30:24 +02:00
Matthias 022839b728 remove unnecessary test 2021-10-02 13:17:10 +02:00
Matthias e5e1e49f53 Remove some unused test parameters 2021-10-02 13:01:33 +02:00
Sam Germain 87ff65d31e Fixed failing test_handle_protections 2021-10-02 04:06:22 -06:00
Sam Germain 72388d3376 tried to solve test_update_funding_fees: 2021-10-02 03:52:00 -06:00
Sam Germain b3656ddfc9 Merge branch 'feat/short' into lev-freqtradebot 2021-10-02 03:36:32 -06:00
Sam Germain e8b4cf6eaa Merge branch 'develop' into feat/short 2021-10-02 03:15:12 -06:00
Sam Germain 96d09b5615 Fixed breaking rpc tests 2021-10-02 01:44:30 -06:00
Sam Germain 6f8e66117b flake8 isort 2021-10-02 01:44:30 -06:00
Sam Germain 107fa911a5 Fixed test_tsl_on_exchange_compatible_with_edge 2021-10-02 01:44:30 -06:00
Rokas Kupstys c820db4c60 Fix couple more usdt tests which failed due to ticker prices causing roi being hit, but tests did not expect that to happen. 2021-10-02 01:44:30 -06:00
Rokas Kupstys 8961370269 Fix failing test due to not updated expected values. 2021-10-02 01:44:30 -06:00
Rokas Kupstys 2ee87f8c66 Fix failing USDT tests due to not enough open markets. 2021-10-02 01:44:30 -06:00
Sam Germain 43339f1660 A lot of the usdt freqtradebot tests pass now 2021-10-02 01:44:30 -06:00
Sam Germain ba5d78f005 swapped default_conf for default_conf_usdt and ticker for ticker_usdt 2021-10-02 01:44:30 -06:00
Sam Germain 7eebb6bb2d updated test_create_trade to use default_conf_usdt 2021-10-02 01:44:30 -06:00
Sam Germain 755cc9cda1 Updated test_check_available_stake_amount to use default_conf_usdt 2021-10-02 01:44:30 -06:00
Sam Germain 26fdad8468 Removed edge_conf_usdt 2021-10-02 01:44:30 -06:00
Sam Germain d0e0d0ee01 Removed init_persistence_usdt 2021-10-02 01:44:30 -06:00
Sam Germain 5ce09c7519 updated test_reupdate_enter_order_fees to usdt 2021-10-02 01:44:30 -06:00
Sam Germain ffa9a3ac7d changed default_conf_usdt stake_amount to 10 2021-10-02 01:44:30 -06:00
Sam Germain 6fdcf8cd73 created default_conf_usdt and init_persistence_usdt so that these tests pass: test_handle_stoploss_on_exchange_trailing, test_handle_stoploss_on_exchange_custom_stop, test_update_trade_state_withorderdict 2021-10-02 01:44:30 -06:00
Sam Germain d1e3d48075 changed test_update_trade_state_withorderdict to usdt 2021-10-02 01:44:30 -06:00
Sam Germain 8d7f75c4de Fixed a bunch of freqtradebot tests 2021-10-02 01:44:30 -06:00
Sam Germain dadd134200 changes some tests to use usdt values 2021-10-02 01:44:30 -06:00
Sam Germain 9ea2dd05d8 Removed space in retrier 2021-10-01 21:21:59 -06:00
Matthias f69cb39a17 Fix missing comma in kucoin template
closes #5646
2021-10-01 19:26:51 +02:00
Matthias bd7d9c0d33
Merge pull request #5648 from froggleston/patch-1
Fix pair_candles to point to correct API call
2021-10-01 19:25:22 +02:00
Robert Davey 15df5fd9c5
Fix pair_candles to point to correct API call
pair_candles pointed to available_pairs RPC call instead of pair_candles
2021-10-01 13:49:16 +01:00
Matthias 99e3450d30
Merge pull request #5642 from freqtrade/add_trade_conversion_command
Add trade conversion command
2021-10-01 06:38:42 +02:00
Sam Germain 77d3a8b457 Added bybit funding-fee times 2021-09-30 20:18:56 -06:00
Scott Lyons df45f467c6
Adding ability to ignore unparameterized spaces 2021-09-30 01:11:02 -07:00
Scott Lyons 95227376b6
Adding IUS to optimize args 2021-09-30 00:53:46 -07:00
Scott Lyons 08fcd1a0d4
Adding ignore space errors to Hyperopt CLI 2021-09-30 00:46:56 -07:00
Scott Lyons 5dd1088d8d
Adding ignore unparameterized spaces flag 2021-09-30 00:44:26 -07:00
Matthias 5f23af5802 Rename update_open_trades to clarify it's only called at startup 2021-09-30 07:24:16 +02:00
Sam Germain 6e86bdb820 Added test_update_funding_fees 2021-09-29 23:11:01 -06:00
Sam Germain ba60aad89d parameterized TradingMode in persistence 2021-09-29 22:59:09 -06:00
Matthias bd27993e79 Add documentation segment about indicator libraries 2021-09-30 06:42:42 +02:00
Sam Germain 157223f6ab datetime.utc -> datetime.now(timezone.utc) 2021-09-29 22:32:02 -06:00
Sam Germain af6afd0ac2 Revert "Replace datetime.utcnow with datetime.now(timezone.utc)"
This reverts commit c4ac876183.
2021-09-29 22:27:21 -06:00
Sam Germain 993dc672b4 timestamp * 1000 in get_funding_fees_from_exchange 2021-09-29 22:18:15 -06:00
Sam Germain c4ac876183 Replace datetime.utcnow with datetime.now(timezone.utc) 2021-09-29 22:16:44 -06:00
Matthias 178db516bf Add documentation for trade-to-ohlcv 2021-09-29 20:00:14 +02:00
Matthias 248c61bb26 Add test for trades-to-ohlcv 2021-09-29 19:39:29 +02:00
Matthias fc511aac44 don't use %default when no default is defined 2021-09-29 19:21:54 +02:00
Matthias 656526c007 Add trades-to-ohlcv command to simplify adding new timeframes 2021-09-29 16:50:05 +02:00
Matthias 51c6eb2014
Merge pull request #5640 from rokups/rk/tests-static-market
markets_static fixture
2021-09-29 16:20:18 +02:00
Rokas Kupstys e025576d8c Introduce markets_static fixture serving an immutable list of markets. Adapt pairlist/markets tests to use this new fixture.
This allows freely modifying markets in get_markets() without a need of updating pairlist/markets tests.
2021-09-29 10:15:05 +03:00
Matthias a0ee490957
Merge pull request #5636 from freqtrade/new_release
New release 2021.9
2021-09-28 19:21:42 +02:00
Robert Roman ca973c05d1
Merge branch 'freqtrade:develop' into develop 2021-09-28 10:16:36 -05:00
Sam Germain 545b62d746 Merge branch 'feat/short' into funding-fee 2021-09-27 23:34:09 -06:00
Sam Germain 1a132758d0 merged with feat/short 2021-09-27 23:26:20 -06:00
Matthias 5938514e5d Version bump to 2021.9 2021-09-28 07:03:26 +02:00
Matthias d73f5f75fc Merge branch 'stable' into new_release 2021-09-28 07:02:24 +02:00
Robert Roman 626a40252d
resolved mypy error
error: Signature of "hyperopt_loss_function" incompatible with supertype "IHyperOptLoss"
2021-09-27 17:33:29 -05:00
Robert Roman c3414c3b78
resolved mypy error
error: Signature of "hyperopt_loss_function" incompatible with supertype "IHyperOptLoss"
2021-09-27 17:32:49 -05:00
Matthias 5726886b06 Reduce backtest-noise from "pandas slice" warning 2021-09-27 20:52:19 +02:00
Matthias d7ce9b9f6d Rename sample short strategy 2021-09-27 19:17:19 +02:00
Robert Roman 67e9626da1
fixed isort issue 2021-09-27 12:16:57 -05:00
Matthias 949f469a7f
Merge pull request #5378 from samgermain/lev-strat
Lev-strat
2021-09-27 19:16:00 +02:00
Robert Roman a1566fe5d7
updated to latest constant.py file 2021-09-27 11:47:03 -05:00
Robert Roman bc86cb3280
updated to correct hyperopt.md file 2021-09-27 11:41:38 -05:00
Robert Roman 193b22475d
Merge branch 'freqtrade:develop' into develop 2021-09-27 11:35:34 -05:00
Matthias 3fbf716f85 Fix "sticking" timerange in webserver mode 2021-09-27 17:52:00 +02:00
Matthias 6a033bd01e
Merge pull request #5633 from freqtrade/dependabot/pip/develop/nbconvert-6.2.0
Bump nbconvert from 6.1.0 to 6.2.0
2021-09-27 12:20:02 +02:00
Matthias 5b7a1f8642 Validate config also in webserver mode 2021-09-27 07:12:40 +02:00
Matthias 6fb0d14f80 changed naming for signal variable 2021-09-27 07:07:49 +02:00
Matthias 37a1cd5d38
Merge pull request #5631 from freqtrade/dependabot/pip/develop/ccxt-1.57.3
Bump ccxt from 1.56.86 to 1.57.3
2021-09-27 07:02:18 +02:00
dependabot[bot] 78096c9eff
Bump nbconvert from 6.1.0 to 6.2.0
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Commits](https://github.com/jupyter/nbconvert/compare/6.1.0...6.2.0)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-27 04:32:26 +00:00
Matthias 29c6f182f6
Merge pull request #5630 from freqtrade/dependabot/pip/develop/types-requests-2.25.9
Bump types-requests from 2.25.8 to 2.25.9
2021-09-27 06:31:29 +02:00
dependabot[bot] 9059502303
Bump ccxt from 1.56.86 to 1.57.3
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.56.86 to 1.57.3.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.56.86...1.57.3)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-27 03:01:27 +00:00
dependabot[bot] 08b1f04ed5
Bump types-requests from 2.25.8 to 2.25.9
Bumps [types-requests](https://github.com/python/typeshed) from 2.25.8 to 2.25.9.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-27 03:01:18 +00:00
Robert Roman bdca3e2343
Merge branch 'freqtrade:develop' into develop 2021-09-26 15:37:09 -05:00
Matthias a926f54a25 Add "side" parameter to custom_stake_amount 2021-09-26 19:35:54 +02:00
Matthias 84e013de2d Update confirm_trade_entry to support "side" parameter 2021-09-26 19:33:22 +02:00
Matthias ec445776e9
Merge pull request #5601 from ferrants/parameterize-tests
parameterize some tests
2021-09-26 19:07:47 +02:00
Matthias 4d49f1a0c7 Reset columns by dropping instead of resetting 2021-09-26 15:39:34 +02:00
Matthias 4fd00db630 Use "combined" enter_tag column 2021-09-26 15:22:37 +02:00
Matthias 6319c104fe Fix unreliable backtest-result when using webserver mode 2021-09-26 15:07:48 +02:00
Robert Roman a77ca22026
Merge branch 'freqtrade:develop' into develop 2021-09-26 02:57:02 -05:00
Matthias 2a678bdbb4 Update buy_tag column to long_tag 2021-09-26 08:37:44 +02:00
Robert Roman e1036d6f58
Added Calmar Ratio Daily to hyperopt.md file 2021-09-25 16:40:02 -05:00
Robert Roman 89b7dfda0e
Added Calmar Ratio Daily 2021-09-25 16:34:41 -05:00
Robert Roman 24baad7884
Add Calmar Ratio Daily
This hyper opt loss calculates the daily Calmar ratio.
2021-09-25 16:28:36 -05:00
froggleston 097da448e2 Add CPU,RAM sysinfo support to the REST API to help with bot system monitoring 2021-09-25 15:48:42 +01:00
Matthias f4f204d849 Update test to use cost dict 2021-09-24 20:17:38 +02:00
Matthias 4c268847d4 Add pandas-ta to setup.py 2021-09-24 19:32:30 +02:00
Matthias 4d72632524
Merge pull request #5618 from freqtrade/dependabot/pip/develop/progressbar2-3.53.3
Bump progressbar2 from 3.53.2 to 3.53.3
2021-09-24 19:26:59 +02:00
Matthias b59906b117 Update minimum for tradable_balance_ratio to 0.0 2021-09-24 19:24:33 +02:00
Matthias 2431c9f195
Merge pull request #5615 from freqtrade/dependabot/pip/develop/ccxt-1.56.86
Bump ccxt from 1.56.30 to 1.56.86
2021-09-24 13:19:00 +02:00
Matthias 9657028633
Merge pull request #5614 from freqtrade/dependabot/pip/develop/mkdocs-material-7.3.0
Bump mkdocs-material from 7.2.6 to 7.3.0
2021-09-24 10:19:03 +02:00
Matthias c61b2a83c1
Merge pull request #5617 from freqtrade/dependabot/pip/develop/urllib3-1.26.7
Bump urllib3 from 1.26.6 to 1.26.7
2021-09-24 09:45:30 +02:00
dependabot[bot] 72a1e27fc6
Bump ccxt from 1.56.30 to 1.56.86
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.56.30 to 1.56.86.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.56.30...1.56.86)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-24 07:31:20 +00:00
Matthias a217d84e0f
Merge pull request #5616 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.25
Bump sqlalchemy from 1.4.23 to 1.4.25
2021-09-24 09:30:33 +02:00
Matthias 5da218e383
Merge pull request #5613 from freqtrade/dependabot/pip/develop/types-requests-2.25.8
Bump types-requests from 2.25.6 to 2.25.8
2021-09-24 08:42:26 +02:00
Matthias 954c468191 Add pandas-ta to requirements 2021-09-24 07:12:38 +02:00
dependabot[bot] 0353f070f9
Bump progressbar2 from 3.53.2 to 3.53.3
Bumps [progressbar2](https://github.com/WoLpH/python-progressbar) from 3.53.2 to 3.53.3.
- [Release notes](https://github.com/WoLpH/python-progressbar/releases)
- [Changelog](https://github.com/WoLpH/python-progressbar/blob/develop/CHANGES.rst)
- [Commits](https://github.com/WoLpH/python-progressbar/compare/v3.53.2...v3.53.3)

---
updated-dependencies:
- dependency-name: progressbar2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-24 05:06:24 +00:00
dependabot[bot] 90d5af9a35
Bump urllib3 from 1.26.6 to 1.26.7
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.6 to 1.26.7.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/1.26.7/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.6...1.26.7)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-24 05:06:20 +00:00
dependabot[bot] 766ef90b56
Bump sqlalchemy from 1.4.23 to 1.4.25
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.23 to 1.4.25.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/master/CHANGES)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-24 05:06:16 +00:00
dependabot[bot] e85dc63263
Bump mkdocs-material from 7.2.6 to 7.3.0
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.2.6 to 7.3.0.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.2.6...7.3.0)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-24 05:06:01 +00:00
dependabot[bot] 422d560189
Bump types-requests from 2.25.6 to 2.25.8
Bumps [types-requests](https://github.com/python/typeshed) from 2.25.6 to 2.25.8.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-24 05:05:55 +00:00
Robert Roman ca20e17d40
added CalmarHyperOpt to hyperopt.md
i added CalmarHyperOpt to hyperopt.md and gave a brief description inside the docs
2021-09-23 21:48:08 -05:00
Robert Roman b2ac039d5c
added CalmarHyperOptLoss to HYPEROPT_LOSS_BUILTIN
I added CalmarHyperOptLoss to HYPEROPT_LOSS_BUILTIN variable inside constants.py file
2021-09-23 21:46:07 -05:00
Robert Roman 0f29cbc882
added CalmarHyperOptLoss
I added CalmarHyperOptLoss to HYPEROPT_LOSS_BUILTIN variable inside constants.py file
2021-09-23 21:37:28 -05:00
Robert Roman 3b99c84b0a
resolved the total profit issue
I resolved the total profit issue and locally ran flak8 and isort
2021-09-23 21:31:33 -05:00
Matthias 9a6d8977de
Merge pull request #5605 from peterwilli/fix-sell-cancel-webhook-error
fixed webhook "unsupported format string passed to NoneType." error
2021-09-23 20:17:35 +02:00
Matthias ff9c8fe234
Merge pull request #5496 from LoveIsGrief/docs/performance-warning
Docs: Mention Performance Warning for strategies
2021-09-23 20:16:58 +02:00
Peter Willemsen 692e91a26d changed close date from datetime.utcnow() to datetime.now(timezone.utc) 2021-09-23 10:28:15 +02:00
Matthias d7903f012f Move PerformanceWarning to advanced section
rewrite to use strategy parameters instead of plain range
2021-09-23 07:25:11 +02:00
Matthias fcca637107
Merge pull request #5599 from freqtrade/notify_trigger_prot
Notify trigger protections
2021-09-23 07:17:26 +02:00
matt ferrante 2bf49445b7 add parameterized names 2021-09-22 16:11:27 -06:00
Matthias a0ef89d910 Also support column-transition for V1 strategies 2021-09-22 20:52:55 +02:00
Matthias 0e13d57e57 Update advise_* methods to entry/exit 2021-09-22 20:42:31 +02:00
Matthias 4c6b1cd55b Add very simple short logic to test-strategy 2021-09-22 20:36:03 +02:00
Matthias 5928ba9c88 Test and document leverage strategy callback 2021-09-22 20:14:52 +02:00
matt ferrante 30cc69c880 set all to eth for multi test 2021-09-22 11:28:42 -06:00
matt ferrante 8cfb6ddd51 fix long line 2021-09-22 10:48:13 -06:00
matt ferrante f768bdea50 cleanup based on feedback 2021-09-22 10:32:30 -06:00
Robert Roman c6b684603c
removed trade_count inside if statement
i removed trade_count inside if statement. Even though it helps overfitting, It is not useful when running hyperopt on small datasets.
2021-09-22 09:21:43 -05:00
Robert Roman b946f8e7f1
I sorted imports with isort 2021-09-22 09:18:17 -05:00
Robert Roman 3834bb86ff
updated line 42
I removed the minus sign on max drawdown.
2021-09-21 20:25:17 -05:00
Robert Roman 3845d55186
a new hyperopt loss created that uses calmar ratio
This is a new hyperopt loss file that uses the Calmar Ratio.

Calmar Ratio = average annual rate of return / maximum drawdown
2021-09-21 20:04:23 -05:00
Sam Germain 553c868d7f combined test_order_book_depth_of_market and test_order_book_depth_of_market_high_delta 2021-09-21 16:40:24 -06:00
Sam Germain 5113ceb6c8 added schedule to setup.py 2021-09-21 15:52:12 -06:00
Peter Willemsen b0de4d333e fixed webhook error 2021-09-21 23:20:40 +02:00
Matthias c791b95405 Use new TestStrategy (V3) by default in tests 2021-09-21 20:24:08 +02:00
matt ferrante 707d0ef795 remove trades_for_order3 2021-09-21 12:16:10 -06:00
Matthias 7a5c7e7020 Update some tests to use StrategyV3 2021-09-21 19:33:33 +02:00
matt ferrante 277828bf0e parameterize some tests 2021-09-21 07:56:16 -06:00
Matthias 6fc770d97d
Add warning about running with docker on windows 2021-09-21 15:12:35 +02:00
Matthias 4237acf5b6
Merge pull request #5598 from SeriousM/patch-1
Add docker troubleshooting information for win10/wsl
2021-09-21 14:54:31 +02:00
Bernhard Millauer abddb0db66
Fix header indention
Co-authored-by: Matthias <xmatthias@outlook.com>
2021-09-21 10:13:19 +02:00
Matthias 4b5cd891cd Add V3 test strategy 2021-09-21 07:12:46 +02:00
Sam Germain d6b36231e7 added schedule to environment.yml 2021-09-20 23:12:17 -06:00
Matthias cf2da3b45f Merge branch 'feat/short' into pr/samgermain/5378 2021-09-21 06:59:05 +02:00
Matthias 3ce05c0d54 Add "sane" defaults to protection triggers 2021-09-20 20:16:58 +02:00
Matthias fd23ab3d64 improve formatting, add tests 2021-09-20 19:50:56 +02:00
Matthias dd0db7ee5d Split protection-notification into global and per-pair 2021-09-20 19:23:40 +02:00
Matthias a0fb43c6ca Add pairlock-notification 2021-09-20 19:12:59 +02:00
Bernhard Millauer c91a9a92f2
Add troubleshooting information
The time in wsl docker container shifts over time. Added information how to fix this issue.
2021-09-20 14:22:24 +02:00
Sam Germain 6db2813850 merged with feat/short 2021-09-19 20:33:08 -06:00
Sam Germain 043bfcd5ad Fixed a lot of failing tests" 2021-09-19 20:24:22 -06:00
Sam Germain d7c7448632 merged lev-freqtradebot with lev-strat 2021-09-19 19:06:43 -06:00
Sam Germain 778f0d9d0a Merged feat/short into lev-strat 2021-09-19 17:44:12 -06:00
Sam Germain 60a678fea7 merged with feat/short 2021-09-19 17:02:09 -06:00
Sam Germain d8d6f245a7 Fixed breaking tests in test_freqtradebot.py 2021-09-19 16:44:02 -06:00
Sam Germain ee0ebdf0f2 merged with develop 2021-09-19 15:35:54 -06:00
Matthias 1da091dea3 ProtectionManager should return the lock just created 2021-09-19 19:41:19 +02:00
Matthias 879bf47b32 Refactor telegram.py to simplify send_msg 2021-09-19 19:25:36 +02:00
Matthias c46ef637c3
Merge pull request #5593 from samgermain/parametrized-test-freqtradebot
Parametrized test freqtradebot
2021-09-19 13:40:13 +02:00
Matthias ec03531771 Improve naming of variables 2021-09-19 13:29:09 +02:00
Matthias ab88217186 Improve /balance output to include starting balance and percentual change
closes #5503
2021-09-19 13:17:34 +02:00
Matthias 66c2034c3f
Merge pull request #5387 from samgermain/lev-exchange
Lev exchange
2021-09-19 13:00:38 +02:00
Sam Germain 2d679177e5 Added in lev prep before creating api order 2021-09-19 03:05:58 -06:00
Sam Germain fa74b95a01 reduced amount of code for leverage_brackets test 2021-09-19 02:33:28 -06:00
Sam Germain ddc203ca69 remove %s in test_exchange unix time 2021-09-19 02:26:59 -06:00
Sam Germain 835e0e69fc removed leverage from create order api call 2021-09-19 02:23:05 -06:00
Sam Germain 2b6d134294 Merge branch 'feat/short' into lev-exchange 2021-09-19 01:57:30 -06:00
Sam Germain ac4f5adfe2 switched since = int(since.timestamp()) from %s 2021-09-19 01:16:22 -06:00
Matthias b83689f9ea
Merge pull request #5541 from arunavo4/feat/short
[Feat/Short] Added Ftx Interest Calculation
2021-09-19 09:05:17 +02:00
Arunavo Ray 27bd30d266 fixed formatting issues 2021-09-19 11:42:29 +05:30
Arunavo Ray c54259b4c5 Added ftx interest formula tests 2021-09-19 11:35:29 +05:30
ARUNAVO RAY 91cc8212f6
Merge branch 'freqtrade:feat/short' into feat/short 2021-09-19 11:26:33 +05:30
Sam Germain cee4ed541b parametrized test_update_trade_state_withorderdict 2021-09-18 19:46:46 -06:00
Sam Germain ec9dbc550e parametrized test_create_trade_minimal_amount 2021-09-18 19:19:53 -06:00
Matthias c1895a0fc2 Remove warning related to legacy hyperopt 2021-09-18 15:30:33 +02:00
Matthias 73f044d1e2
Merge pull request #5281 from rokups/rk/helpers
A decorator for easy creation of informative pairs
2021-09-18 15:30:20 +02:00
Rokas Kupstys eab7f8f694 [SQUASH] Doh. 2021-09-18 15:44:21 +03:00
Rokas Kupstys 713e7819f7 [SQUASH] Remove mypy import. 2021-09-18 15:27:58 +03:00
Sam Germain 979c6f2f26 moved leverage_brackets.json to exchange/binance_leverage_brackets.json 2021-09-18 03:49:15 -06:00
Sam Germain 518a59ad41 parametrized test_edge_overrides_stoploss 2021-09-18 03:20:00 -06:00
Sam Germain 42a2fdc1c5 parametrized test_order_dict 2021-09-18 03:01:08 -06:00
Sam Germain 216f75bbb9 parametrized test_sell_profit_only , test__safe_exit_amount, test_order_book_bid_strategy1 2021-09-18 02:53:34 -06:00
Rokas Kupstys e4ca42faec [SQUASH] Update stoploss_from_absolute to behave more like stoploss_from_open and add a test for it. 2021-09-18 10:48:53 +03:00
Rokas Kupstys 7e6aa9390a [SQUASH] Unconditionally include quote currency when asset is explicitly specified. Added docs suggesting to use string formatting to make strategy independent of configured stake currency. 2021-09-18 10:48:53 +03:00
Rokas Kupstys e88c4701bb [SQUASH] Address PR comments. 2021-09-18 10:48:53 +03:00
Matthias bb6ae682fc Small simplifications 2021-09-18 10:48:53 +03:00
Rokas Kupstys 5dc78a0c66 [SQUASH] Get rid of _initialize() and fix informatives for dynamic pairlists. 2021-09-18 10:48:53 +03:00
Rokas Kupstys f81df19b93 [TMP] Make tests not fail for now. 2021-09-18 10:48:53 +03:00
Rokas Kupstys dfa61b7ad2 [SQUASH] Fix informatives for each pair not being created because dataprovider was not available.
Fix not being able to have informative dataframe of a pair in whitelist.
2021-09-18 10:48:53 +03:00
Rokas Kupstys f2a1d9d2fc [SQUASH] Address PR comments. 2021-09-18 10:48:18 +03:00
Rokas Kupstys 1fdb656334 Add a decorator which can be used to declare populate_indicators() functions for informative pairs. 2021-09-18 10:48:18 +03:00
Rokas Kupstys d84ef34740 A helper to calculate stoploss value from absolute price. 2021-09-18 10:48:18 +03:00
Matthias 11f08b0053
Merge pull request #5582 from sergeykhliustin/develop
Added days parameter to PerformanceFilter
2021-09-18 09:24:14 +02:00
Matthias a89c67787b Replace some more occurances of 'buy' 2021-09-18 09:23:53 +02:00
Matthias 56fb25c5e5 Add test for PerformanceFilter lookback 2021-09-18 09:10:37 +02:00
Matthias 564e0b9a1a Switch performanceFilter to use Minutes lookback resolution
closes #5060
2021-09-18 09:10:25 +02:00
Matthias 12c12d42df Add documentation for days parameter in PerformanceFilter 2021-09-18 08:30:44 +02:00
Matthias 853c3a4433
Merge pull request #5587 from raph92/patch-3
Update prepare_trials_columns() return type
2021-09-18 08:08:18 +02:00
Sam Germain 2c21bbfa0c Fixed create order margin call count tests and made _ccxt_config a computed property 2021-09-17 16:45:02 -06:00
Sergey Khliustin d7395e873b Removed unused OperationalException 2021-09-17 22:05:57 +03:00
raphael 4b2c1a9b8e
Remove trailing whitespace 2021-09-17 14:39:15 -04:00
raphael e715f2a253
Update formatting
Line 302 was too long
2021-09-17 14:23:26 -04:00
raphael 9525a5b96c
Add type to "trials" parameter 2021-09-17 14:10:37 -04:00
Matthias 9c50d0c250
Merge pull request #5589 from Ottavio97/develop
Include Raspberry Pi armv6 (0, 0W,...)
2021-09-17 19:54:35 +02:00
Matthias 4d558879e9 Merge branch 'feat/short' into pr/samgermain/5378 2021-09-17 19:33:35 +02:00
Matthias 6d1604d6fa
Merge pull request #5588 from raph92/patch-4
Update HyperoptTools.export_csv_file usage
2021-09-17 19:14:47 +02:00
Ottavio Miele fb6beb90e8
Include Raspberry Pi armv6 (0, 0W,...) 2021-09-17 18:03:54 +02:00
raphael 124e97f3b9
Remove ununsed variables from export_csv_file 2021-09-17 11:57:36 -04:00
raphael 5fc993231a
Update HyperoptTools.export_csv_file usage 2021-09-17 11:51:55 -04:00
raphael 3a98fb72a4
Update prepare_trials_columns() return type
Was returning str, updated to pd.DataFrame
2021-09-17 11:42:33 -04:00
sergeykhliustin 982deeedf0
Update freqtrade/persistence/models.py
Co-authored-by: Matthias <xmatthias@outlook.com>
2021-09-17 18:23:13 +03:00
Sergey Khliustin 54ef36a497 Updates after review to PerformanceFilter days param 2021-09-17 13:45:44 +03:00
Matthias d680fdf33a Merge branch 'develop' into feat/short 2021-09-17 11:16:37 +02:00
Matthias 4ce1375bf3
Merge pull request #5580 from freqtrade/hyperopt_diff_base_estimators
Hyperopt set diff base estimators
2021-09-17 10:32:47 +02:00
Sam Germain 2e8d00e877 temp commit message 2021-09-17 01:15:21 -06:00
Sam Germain 32e52cd460 Added leverage brackets dry run test 2021-09-17 00:41:00 -06:00
Sam Germain 798a0c9827 Tried to add call count to test_create_order 2021-09-17 00:10:53 -06:00
Sam Germain 0628790da9 merged lev-freqtradebot with feat/short 2021-09-16 23:49:43 -06:00
Sam Germain 8123579442 added trading mode to persistence tests 2021-09-16 23:47:44 -06:00
Sam Germain e78f38c7b6 Merge branch 'feat/short' into funding-fee 2021-09-16 23:32:44 -06:00
Sam Germain e7b6f3bfd1 removed changes to test_persistence 2021-09-16 23:32:23 -06:00
Sam Germain ff5b402f58 Merge branch 'feat/short' into lev-exchange 2021-09-16 23:27:44 -06:00
Sam Germain dced167ea2 fixed some stuff in the leverage brackets binance test 2021-09-16 23:23:36 -06:00
Sam Germain 57c7926515 leverage updates on exchange classes 2021-09-16 23:05:13 -06:00
Matthias 05e01847a0
Merge pull request #5579 from samgermain/paramatrize-test-persistence
Parametrize test persistence
2021-09-17 07:03:45 +02:00
Sam Germain 0ced05890a removed space between @ and pytest 2021-09-16 16:28:23 -06:00
Sam Germain dec2f377ff Removed utils, moved get_sides to conftest 2021-09-16 16:25:02 -06:00
Sergey Khliustin 457e738b4a Added days parameter to PerformanceFilter 2021-09-16 14:48:02 +03:00
Sam Germain a8657bb1ce Removed backtesting funding-fee code 2021-09-16 03:50:01 -06:00
Sam Germain 4c91126c49 some short freqtradebot parametrized tests 2021-09-16 03:23:45 -06:00
Sam Germain e827ba1388 finished up funding fee formulas 2021-09-15 23:51:21 -06:00
Matthias 994c3c3a4c Add some errorhandling for custom estimator 2021-09-16 07:13:25 +02:00
Sam Germain 98b00e8daf merged with feat/short 2021-09-15 22:28:10 -06:00
Sam Germain cbaf477bec changed kraken set lev implementation 2021-09-15 21:55:19 -06:00
Sam Germain 5fcb69a0b5 Parametrized test_persistence 2021-09-15 18:29:17 -06:00
Matthias c0811ae896 Add possibility to override estimator from within hyperopt 2021-09-15 21:36:53 +02:00
Matthias 90ad178932 Remove verbosity of edge 2021-09-15 21:04:25 +02:00
Matthias 57ea0c322f Rename indicator_space to buy_indicator_space 2021-09-15 20:20:31 +02:00
Matthias f7bae81d96 Dataframe should be copied after populate_indicator
Without that, PerformanceWarnings can appear throughout hyperopt which
are unnecessary and missleading for users

closes #5408
2021-09-15 19:56:12 +02:00
Matthias e4ec5679a1
Merge pull request #5574 from freqtrade/agefilter_cache
Agefilter cache
2021-09-15 06:33:36 +02:00
Sam Germain d604757056 Added is_short to conf tests 2021-09-14 21:10:38 -06:00
ARUNAVO RAY 9d21261d25
Merge branch 'freqtrade:feat/short' into feat/short 2021-09-15 06:46:33 +05:30
Sam Germain d3ab2f887f merged with feat/short 2021-09-14 18:32:08 -06:00
Sam Germain 47677ccd91 Merge branch 'feat/short' into lev-exchange 2021-09-14 18:27:51 -06:00
Sam Germain d77ab337bf merged with develop 2021-09-14 18:26:46 -06:00
Sam Germain 5f6384a961 Added tests to freqtradebot 2021-09-14 17:18:57 -06:00
Matthias 4e2b1764b8 ccxt_compat_tests must run with dry-run=False 2021-09-14 20:24:44 +02:00
Matthias 315ea1e116
Merge pull request #5566 from freqtrade/remove_hyperopt
Remove legacy hyperopt
2021-09-14 19:20:58 +02:00
Matthias 35eda8c8c7 Improve agefilter test 2021-09-14 07:07:20 +02:00
Matthias 3ce5197e8d Add Tests for AgeFilter caching
closes #5552
2021-09-14 06:45:26 +02:00
Matthias c9ba52d732 Expire cached pairs in age-filter once per day 2021-09-14 06:30:18 +02:00
Sam Germain 7e0eb0adcf merged with feat/short 2021-09-13 14:14:54 -06:00
Sam Germain 5225bd4a5b Merge branch 'develop' into feat/short 2021-09-13 14:02:23 -06:00
Matthias e8e8ef4872
Merge pull request #5572 from freqtrade/dependabot/pip/develop/ccxt-1.56.30
Bump ccxt from 1.55.83 to 1.56.30
2021-09-13 20:43:10 +02:00
Matthias a12c3ecc9b Remove credentials whenever dry-run is set from within the exchange 2021-09-13 20:27:32 +02:00
Matthias 8afb3c4b70 Move AgeFilter cache to instance level 2021-09-13 19:33:28 +02:00
Matthias 3cdd06f562 Add PeriodicCache 2021-09-13 19:32:51 +02:00
Sam Germain 17a5cc96fe Added set_margin_mode to create_order 2021-09-13 00:14:22 -06:00
Sam Germain 49acfc887f merged with lev-exchange 2021-09-13 00:00:22 -06:00
Sam Germain 2aaf60205e Merge branch 'feat/short' into lev-exchange 2021-09-12 23:41:34 -06:00
Sam Germain 83e1067af7 leverage to exchange.create_order 2021-09-12 23:39:08 -06:00
dependabot[bot] b13bd87625
Bump ccxt from 1.55.83 to 1.56.30
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.55.83 to 1.56.30.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.55.83...1.56.30)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-13 04:31:52 +00:00
Matthias 51643ed56c
Merge pull request #5571 from freqtrade/dependabot/pip/develop/progressbar2-3.53.2
Bump progressbar2 from 3.53.1 to 3.53.2
2021-09-13 06:31:00 +02:00
Matthias 22e0728ac2
Merge pull request #5569 from freqtrade/dependabot/pip/develop/pandas-1.3.3
Bump pandas from 1.3.2 to 1.3.3
2021-09-13 06:30:37 +02:00
dependabot[bot] 81039fce28
Bump progressbar2 from 3.53.1 to 3.53.2
Bumps [progressbar2](https://github.com/WoLpH/python-progressbar) from 3.53.1 to 3.53.2.
- [Release notes](https://github.com/WoLpH/python-progressbar/releases)
- [Changelog](https://github.com/WoLpH/python-progressbar/blob/develop/CHANGES.rst)
- [Commits](https://github.com/WoLpH/python-progressbar/compare/v3.53.1...v3.53.2)

---
updated-dependencies:
- dependency-name: progressbar2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-13 03:01:24 +00:00
dependabot[bot] d8f48cf0e3
Bump pandas from 1.3.2 to 1.3.3
Bumps [pandas](https://github.com/pandas-dev/pandas) from 1.3.2 to 1.3.3.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Changelog](https://github.com/pandas-dev/pandas/blob/master/RELEASE.md)
- [Commits](https://github.com/pandas-dev/pandas/compare/v1.3.2...v1.3.3)

---
updated-dependencies:
- dependency-name: pandas
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-13 03:01:14 +00:00
Sam Germain 1d7a8f667a Merge branch 'lev-exchange' into lev-freqtradebot 2021-09-12 03:15:32 -06:00
Sam Germain e070bdd161 set leverage more thorough tests 2021-09-12 03:09:51 -06:00
Sam Germain ad44048e29 customized set_leverage for different exchanges 2021-09-12 02:42:13 -06:00
Sam Germain bc102d57c9 Updated set leverage to check trading mode 2021-09-12 02:09:31 -06:00
Sam Germain 0c1e5afc91 Added set leverage to create_order 2021-09-12 02:02:10 -06:00
Sam Germain 09418938fe Updated kraken fill leverage brackets and set_leverage 2021-09-12 01:51:09 -06:00
Sam Germain 1344c9f7fc _apply_leverage_to_min_stake_amount 2021-09-12 01:31:15 -06:00
Matthias 236dc48000 Update CI to use new hyperopt interface 2021-09-12 08:18:17 +02:00
Matthias 0017b3438e Remove list-hyperopts 2021-09-12 08:18:17 +02:00
Matthias 3675df8344 Update documentation regarding Legacy Hyperopt 2021-09-12 08:18:17 +02:00
Matthias fd6bf591f8 Update some tests to remove explicit hyperopt interface 2021-09-12 08:18:13 +02:00
Matthias dad4a49e81 Remove legacy hyperopt interface from hyperopt.py 2021-09-12 08:18:13 +02:00
Matthias ebb0b8aa3f Remove new-hyperopt command 2021-09-12 08:18:13 +02:00
Matthias 432c3df17e Add documentation for Bittex/Gemini with VolumePairlist
closes #5565
2021-09-12 08:04:22 +02:00
Sam Germain 5b84298e03 kraken._apply_leverage_to_stake_amount 2021-09-12 00:03:02 -06:00
Matthias 50479d0b44
Merge pull request #5560 from freqtrade/fix/5548_1mdl
Don't blindly create coroutines, but fire them off in batches
2021-09-11 08:33:43 +02:00
Matthias a5f90a409c Small updates to async_history_fetch 2021-09-11 08:18:32 +02:00
Matthias a18bca640e
Merge pull request #5551 from samgermain/comments-todos-formatting-log-messages
Comments todos formatting log messages
2021-09-11 08:08:23 +02:00
Sam Germain b1067cee6c minor changes 2021-09-11 00:03:01 -06:00
Sam Germain 02521b4010 Merge branch 'lev-exchange' into lev-freqtradebot 2021-09-10 23:59:45 -06:00
Sam Germain 84c121652a Added more todos 2021-09-10 23:42:16 -06:00
Sam Germain 9de946fdac added collateral and trading mode to freqtradebot and leverage prep 2021-09-10 23:39:31 -06:00
Sam Germain 694460c8e0 merged with feat/short 2021-09-10 23:16:12 -06:00
Sam Germain 8e83cb4d64 temp commit message 2021-09-10 16:28:34 -06:00
Sam Germain b0e05b92d3 Added minor changes from lev-exchange review 2021-09-10 13:39:42 -06:00
Matthias 4c4604f837 Add explicit test for get_historic_ohlcv 2021-09-10 19:47:56 +02:00
Sam Germain cb155764eb Short side options in freqtradebot 2021-09-10 11:47:27 -06:00
Matthias 8c9159f596 Improve comments 2021-09-10 19:46:38 +02:00
Matthias a19c33ba54 Don't blindly create coroutines, but fire them off in batches 2021-09-10 19:37:07 +02:00
Matthias 7251a3ab19
Merge pull request #5544 from freqtrade/new_pair_download
New pair download improvement
2021-09-10 19:36:45 +02:00
Matthias 982534ddc7 Add gate.io to list of supported exchanges 2021-09-10 19:32:20 +02:00
Sam Germain 9f16464b12 Removed unnecessary TODOs 2021-09-10 10:32:46 -06:00
Sam Germain 83bd674ba7 Added side to execute_trade_exit 2021-09-10 03:25:54 -06:00
Sam Germain d582ccd2e6 merged with lev-exchange 2021-09-10 03:05:13 -06:00
Sam Germain 6486b904b5 merged with feat/short 2021-09-10 02:57:17 -06:00
Sam Germain 1fa318c52a Merge branch 'feat/short' into lev-exchange 2021-09-10 02:51:34 -06:00
Sam Germain 77aa372909 Fixed test_ftx patch 2021-09-10 02:09:27 -06:00
Sam Germain 77fc21a16b Patched test_fill_leverage_brackets_ftx so that exchange._leverage_brackets doesn't retain the values from binance 2021-09-09 23:58:10 -06:00
Sam Germain 063861ada3 Added todos for short stoploss 2021-09-09 15:47:49 -06:00
Sam Germain 2c7cf794f5 Test for short exchange.stoploss exchange.stoploss_adjust 2021-09-09 15:47:49 -06:00
Sam Germain 785b71aec1 formatting 2021-09-09 15:47:49 -06:00
Sam Germain 9f96b977f6 removed interest method from exchange, will create a separate interest PR 2021-09-09 15:47:49 -06:00
Sam Germain 93da13212c test_fill_leverage_brackets_kraken and test_get_max_leverage_binance now pass but test_fill_leverage_brackets_ftx does not if called after test_get_max_leverage_binance 2021-09-09 15:47:49 -06:00
Sam Germain 9e73d02663 Added validating checks for trading_mode and collateral on each exchange 2021-09-09 15:47:49 -06:00
Sam Germain d1c4030b88 fill_leverage_brackets usinge self.markets.items instead of self._api.markets.items 2021-09-09 15:47:49 -06:00
Sam Germain 619ecc9728 Added exceptions to exchange.interest_rate 2021-09-09 15:47:49 -06:00
Sam Germain 97d1306e34 Added retrier to exchange functions and reduced failing tests down to 2 2021-09-09 15:47:49 -06:00
Sam Germain cd33f69c7e Wrote failing test_fill_leverage_brackets_binance 2021-09-09 15:47:49 -06:00
Sam Germain 2b7d94a855 Rearranged tests at end of ftx to match other exchanges 2021-09-09 15:47:49 -06:00
Sam Germain 0232f0fa18 Added failing fill_leverage_brackets test to test_kraken 2021-09-09 15:47:49 -06:00
Sam Germain 8d74233aa5 ftx.fill_leverage_brackets test 2021-09-09 15:47:49 -06:00
Sam Germain 8264cc546d Wrote dummy tests for exchange.get_interest_rate 2021-09-09 15:47:49 -06:00
Sam Germain 607e403eb2 split test_get_max_leverage into separate exchange files 2021-09-09 15:47:49 -06:00
Sam Germain 5708fee0e6 Wrote failing tests for exchange.set_leverage and exchange.set_margin_mode 2021-09-09 15:47:49 -06:00
Sam Germain e6c9b8ffe5 completed set_margin_mode 2021-09-09 15:47:49 -06:00
Sam Germain 39fe381473 set margin mode exchange function 2021-09-09 15:47:49 -06:00
Sam Germain 3a4d247b64 Changed stoploss side on some tests 2021-09-09 15:47:49 -06:00
Sam Germain f950f039a8 added tests for min stake amount with leverage 2021-09-09 15:47:49 -06:00
Sam Germain 8a5bad7c3e exchange - kraken - minor changes 2021-09-09 15:47:49 -06:00
Sam Germain 5748c9bc13 Added short functionality to exchange stoplss methods 2021-09-09 15:47:49 -06:00
Sam Germain 4ef1f0a977 Changed ftx set_leverage implementation 2021-09-09 15:47:49 -06:00
Sam Germain 16db8d70a5 Added error handlers to api functions and made a logger warning in fill_leverage_brackets 2021-09-09 15:47:49 -06:00
Sam Germain c256dc3745 Removed some outdated TODOs and whitespace 2021-09-09 15:47:49 -06:00
Sam Germain 134a7ec59b Implemented fill_leverage_brackets get_max_leverage and set_leverage for binance, kraken and ftx. Wrote tests test_apply_leverage_to_stake_amount and test_get_max_leverage 2021-09-09 15:47:49 -06:00
Sam Germain 455bcf5389 Added TODOs to test files 2021-09-09 15:47:49 -06:00
Sam Germain add7e74632 Added set_leverage function to exchange 2021-09-09 15:47:49 -06:00
Sam Germain d262af35ca Removed setup leverage and transfer functions from exchange 2021-09-09 15:47:49 -06:00
Sam Germain f4e26a616f Exchange stoploss function takes side 2021-09-09 15:47:49 -06:00
Sam Germain ebf5310817 Added get_interest template method in exchange 2021-09-09 15:47:48 -06:00
Sam Germain 54dd9ce7ad Add prep functions to exchange 2021-09-09 15:47:48 -06:00
Matthias efd6c037d1
Merge pull request #5556 from samgermain/feat/short
Merged feat/short with develop
2021-09-09 22:41:37 +02:00
Sam Germain 1f38088d7b Merged with develop 2021-09-09 13:56:46 -06:00
Sam Germain e1a749a91e removed unnecessary caplog 2021-09-09 13:19:43 -06:00
Matthias 5844f5a7fa
Merge pull request #5546 from samgermain/clear-caplog-freqtradebot
freqtradebot-tests-caplog-clears
2021-09-09 21:18:54 +02:00
Sam Germain ee874f461c Removed TODO: change to exit-reason, exit_order_status 2021-09-09 13:14:48 -06:00
Sam Germain 366247dff3 removed caplog.clears at end of functions in test_freqtradebot 2021-09-09 02:17:41 -06:00
Sam Germain f5b01443ad buy/short -> entry order, sell/exit_short -> exit order 2021-09-09 02:10:12 -06:00
Sam Germain 232d10f300 removed leverage/funding_fees 2021-09-09 01:45:57 -06:00
Sam Germain dfb9937436 Added tests and docstring to exchange funding_fee methods, removed utils 2021-09-09 01:43:55 -06:00
Sam Germain d54117990b Added funding_fee method headers to exchange, and implemented some of the methods 2021-09-09 01:19:34 -06:00
Matthias fb376153a2
Merge pull request #5549 from samgermain/name-changes
Name changes
2021-09-09 07:40:39 +02:00
Sam Germain d559b6d6c6 changed add_funding_fees template 2021-09-08 19:34:54 -06:00
Sam Germain 3eb0e6ac09 removed leverage/funding_fees 2021-09-08 19:31:27 -06:00
Sam Germain 36b8c87fb6 Added funding fee calculation methods to exchange classes 2021-09-08 19:31:04 -06:00
Sam Germain cdefd15b28 separated hours_to_time to utils folder 2021-09-08 14:54:48 -06:00
Sam Germain 8bcd444775 real-time updates to funding-fee in freqtradebot 2021-09-08 14:15:25 -06:00
Sam Germain 2f4b566d99 reverted back exchange.get_funding_fees method 2021-09-08 13:46:52 -06:00
Sam Germain af4a6effb7 added pair to fetch_funding_rate 2021-09-08 13:44:59 -06:00
Sam Germain baaf516aa6 Added funding_times property to exchange 2021-09-08 13:44:42 -06:00
Sam Germain 695a8fc73b comment updates, formatting, TODOs 2021-09-08 03:09:39 -06:00
Sam Germain 1379ec7402 Updated log messages for freqtradebot 2021-09-08 03:04:01 -06:00
Sam Germain b2f289e404 Fixed freqtradebot failing tests 2021-09-08 02:16:25 -06:00
Sam Germain a1c9a4d619 freqtradebot local name changes 2021-09-08 02:09:36 -06:00
Sam Germain 362dc20406 notify_buy -> notify_enter, notify_sell -> notify_exit 2021-09-08 02:06:01 -06:00
Sam Germain e1f846f22f sell_lock -> exit_lock 2021-09-08 02:04:31 -06:00
Sam Germain e0092a85e9 handle_cancel_buy/sell -> handle_cancel_enter/exit 2021-09-08 02:04:20 -06:00
Sam Germain be93c75e44 reupdate_buy_order_fees -> reupdate_enter_order_fees 2021-09-08 02:03:40 -06:00
Sam Germain aac05029e1 safe_sell_amount -> safe_exit_amount 2021-09-08 02:03:24 -06:00
Sam Germain 5dda227342 comment change 2021-09-08 01:53:42 -06:00
Sam Germain 53006db2b7 Updated log messages for freqtradebot 2021-09-08 01:48:22 -06:00
Sam Germain 3057a5b9b8 freqtradebot local name changes 2021-09-08 01:40:22 -06:00
Sam Germain f1a8b81896 sorted test interfac 2021-09-08 01:27:08 -06:00
Sam Germain 786dcb50eb safe_sell_amount -> safe_exit_amount 2021-09-08 01:20:52 -06:00
Sam Germain 323683d44f some more TODOs 2021-09-08 01:18:53 -06:00
Sam Germain 8ad53e99ce reupdate_buy_order_fees -> reupdate_enter_order_fees 2021-09-08 01:14:16 -06:00
Sam Germain 3656625747 comment updates, formatting, TODOs 2021-09-08 01:12:08 -06:00
Sam Germain 88a5a30a50 handle_cancel_buy/sell -> handle_cancel_enter/exit 2021-09-08 00:53:09 -06:00
Sam Germain 528d1438c9 sell_lock -> exit_lock 2021-09-08 00:49:04 -06:00
Sam Germain 8f38d6276f notify_buy -> notify_enter, notify_sell -> notify_exit 2021-09-08 00:45:55 -06:00
Sam Germain 763a6af224 sample strategy has short 2021-09-08 00:24:32 -06:00
Sam Germain d811a73ec0 new rpc message types 2021-09-08 00:20:40 -06:00
Sam Germain f8248f3771 comments, formatting 2021-09-08 00:19:21 -06:00
Sam Germain e13b0414d8 Merge branch 'lev-strat' into lev-freqtradebot 2021-09-08 00:00:53 -06:00
Sam Germain dc83e04f9b Merge branch 'feat/short' into lev-exchange 2021-09-07 22:13:20 -06:00
Sam Germain ff790e8fd3 merged with caplog-clear-freqtradebot 2021-09-07 22:12:49 -06:00
Sam Germain 93fcaac19f Merge branch 'develop' into clear-caplog-freqtradebot 2021-09-07 21:55:00 -06:00
Sam Germain 79ca6135a2 added caplog clears to freqtradebot tests 2021-09-07 21:53:38 -06:00
Matthias 2d66987ac7 Add test for "pair-startdate" detection 2021-09-07 20:27:49 +02:00
Matthias 8c83c258a5 Move "first-pair_getting" to binance subclass 2021-09-07 19:32:32 +02:00
Arunavo Ray 6da26f90aa Merge remote-tracking branch 'origin/feat/short' into feat/short 2021-09-07 12:28:38 +05:30
Arunavo Ray d07c7f7f27 Added Ftx interest rate calculation 2021-09-07 12:28:23 +05:30
Arunavo Ray 5d3261e92f Added Ftx interest rate calculation 2021-09-07 12:24:39 +05:30
Matthias 71ff214adf Support "initial_call" for download-data of new pairs 2021-09-07 07:14:40 +02:00
Matthias 880474594e have ftuser use `/bin/bash` in dockerfile 2021-09-07 06:51:31 +02:00
Sam Germain f5248be043 Changed funding fee tracking method, need to get funding_rate and open prices at multiple candles 2021-09-06 15:47:24 -06:00
Matthias 10d0987f49 Fix docs for custom hyperopt space 2021-09-06 19:55:04 +02:00
Matthias 6bd495a32a Fix 0Exception error
happens when wrong stake-currency is selected and /profit
is called
2021-09-06 19:55:04 +02:00
Matthias fb78caf801
Merge pull request #5538 from EnzovdWetering/patch-1
Update edge.md
2021-09-06 19:22:38 +02:00
EnzovdWetering a04875eb55
Update edge.md
Typo fix
2021-09-06 17:53:44 +02:00
Matthias 3f0032498e
Merge pull request #5537 from freqtrade/dependabot/pip/develop/mkdocs-material-7.2.6
Bump mkdocs-material from 7.2.5 to 7.2.6
2021-09-06 06:44:16 +02:00
Matthias 76a59bf2b6
Merge pull request #5536 from freqtrade/dependabot/pip/develop/ccxt-1.55.83
Bump ccxt from 1.55.56 to 1.55.83
2021-09-06 06:43:47 +02:00
Matthias 8347219990
Merge pull request #5534 from freqtrade/dependabot/pip/develop/pytest-6.2.5
Bump pytest from 6.2.4 to 6.2.5
2021-09-06 06:43:25 +02:00
Matthias 64ec1b6f8c
Merge pull request #5535 from freqtrade/dependabot/pip/develop/plotly-5.3.1
Bump plotly from 5.3.0 to 5.3.1
2021-09-06 06:43:08 +02:00
Sam Germain 8822b73f9c test_fill_leverage_brackets_kraken and test_get_max_leverage_binance now pass but test_fill_leverage_brackets_ftx does not if called after test_get_max_leverage_binance 2021-09-05 22:27:14 -06:00
dependabot[bot] 765e72715b
Bump mkdocs-material from 7.2.5 to 7.2.6
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.2.5 to 7.2.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.2.5...7.2.6)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-06 03:01:28 +00:00
dependabot[bot] 44f8d7abf2
Bump ccxt from 1.55.56 to 1.55.83
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.55.56 to 1.55.83.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.55.56...1.55.83)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-06 03:01:23 +00:00
dependabot[bot] 771193cbe4
Bump plotly from 5.3.0 to 5.3.1
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.3.0 to 5.3.1.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.3.0...v5.3.1)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-06 03:01:19 +00:00
dependabot[bot] 4daa4b9e63
Bump pytest from 6.2.4 to 6.2.5
Bumps [pytest](https://github.com/pytest-dev/pytest) from 6.2.4 to 6.2.5.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/6.2.4...6.2.5)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-06 03:01:10 +00:00
Matthias 01b5fe9f97
Merge pull request #5532 from lazydroid/patch-2
case insensitive blacklist
2021-09-05 19:53:39 +02:00
lenik terenin 1d24d3d5ee
case insensitive blacklist
Allow "btc/usdt" pairs in blacklist to match to "BTC/USDT" pairs that come from the exchange.
2021-09-05 22:41:58 +09:00
Matthias c519ecf8df Exclude more untestable sections from coverage 2021-09-05 15:40:21 +02:00
Matthias a8f28ffb11 Increase test coverage 2021-09-05 15:34:57 +02:00
Matthias b752516f65 Edge should use new columns, too 2021-09-05 15:23:27 +02:00
Matthias ea5c7e7ed6
Merge pull request #5531 from freqtrade/exclude_coverage
Exclude some parts from coverage that can't really be tested
2021-09-05 10:01:07 +02:00
Matthias 2173ff0133 Update PR template to not link to issues in changelog 2021-09-05 09:16:19 +02:00
Matthias 4e049f65f2 Exclude some parts from coverage that can't really be tested 2021-09-05 09:14:44 +02:00
Matthias 68b75af08e Fix bug with inversed sell signals in backtesting 2021-09-05 08:59:18 +02:00
Matthias 49350f2a8e Fix backtesting test 2021-09-05 08:36:22 +02:00
Sam Germain 23ba49fec2 Added validating checks for trading_mode and collateral on each exchange 2021-09-04 22:02:08 -06:00
Sam Germain 7eab855476 Merge branch 'feat/short' into lev-exchange 2021-09-04 20:15:36 -06:00
Sam Germain d4389eb07d fill_leverage_brackets usinge self.markets.items instead of self._api.markets.items 2021-09-04 19:58:42 -06:00
Sam Germain 6ec2e40736 Added exceptions to exchange.interest_rate 2021-09-04 19:47:04 -06:00
Sam Germain 61fdf74ad9 Added retrier to exchange functions and reduced failing tests down to 2 2021-09-04 19:16:17 -06:00
Sam Germain 92e630eb69 Added get_funding_fees method to exchange 2021-09-04 16:40:53 -06:00
Sam Germain d6d5bae2a1 New funding fee methods 2021-09-04 16:33:06 -06:00
Sam Germain b854350e8d Changed funding fee implementation 2021-09-04 16:31:09 -06:00
Sam Germain 194bb24a55 Miscellaneous funding fee changes. Abandoning for a new method of tracking funding fee 2021-09-04 16:20:25 -06:00
Sam Germain b7891485b3 Created FundingFee class and added funding_fee to LocalTrade and freqtradebot 2021-09-04 16:20:07 -06:00
Matthias 2e50948699 Fix some tests 2021-09-04 20:23:51 +02:00
Matthias ca44d2e092 Merge branch 'feat/short' into pr/samgermain/5378 2021-09-04 19:54:34 +02:00
Matthias 63f2494936
Merge pull request #5530 from freqtrade/fix_uvicorn
Fix uvicorn not working properly on windows
2021-09-04 08:22:11 +02:00
Matthias 35267de88a
Merge pull request #5529 from Rikj000/setup/use-build-helpers-install-ta-lib-script
 `setup.sh` - Use `build_helpers/install_ta-lib.sh` for TA-Lib insta…
2021-09-04 08:15:19 +02:00
Sam Germain aac1094078 Wrote failing test_fill_leverage_brackets_binance 2021-09-03 20:30:52 -06:00
Sam Germain 95bd0721ae Rearranged tests at end of ftx to match other exchanges 2021-09-03 20:30:19 -06:00
Sam Germain c5d97d07a8 Added failing fill_leverage_brackets test to test_kraken 2021-09-03 20:29:46 -06:00
Sam Germain 01263663be ftx.fill_leverage_brackets test 2021-09-03 19:56:53 -06:00
Sam Germain 9d398924c6 Wrote dummy tests for exchange.get_interest_rate 2021-09-03 19:56:13 -06:00
Sam Germain 9b953f6e60 split test_get_max_leverage into separate exchange files 2021-09-03 19:25:16 -06:00
Sam Germain 1b20b4f3c7 Wrote failing tests for exchange.set_leverage and exchange.set_margin_mode 2021-09-03 19:00:04 -06:00
Sam Germain c7a2e6c2c6 completed set_margin_mode 2021-09-03 18:11:39 -06:00
Rik Helsen eb0362c29e ️ ️`install_ta-lib.sh` - Run `ldconfig` after `make install` 2021-09-03 23:52:40 +02:00
Matthias 493fb35073 Fix uvicorn not working properly on windows 2021-09-03 22:05:40 +02:00
Matthias 91779ee0cc
Merge pull request #5524 from freqtrade/kucoin_tif
Improve generated configuration templates, support kucoin TIF
2021-09-03 19:46:58 +02:00
Rikj000 103a8e827e `setup.sh` - Use `build_helpers/install_ta-lib.sh` for TA-Lib installation 2021-09-03 16:37:36 +02:00
Matthias 2f92838c39 Properly close parenteses in exchange doc 2021-09-03 16:19:27 +02:00
Matthias b4130dfabb Use volumePairlist instead of staticPairlist in generated config 2021-09-03 09:23:26 +02:00
Matthias c489e6825c Simplify binance blacklist 2021-09-03 09:18:15 +02:00
Matthias 68f13173bc Update new-config templates to use USDT by default 2021-09-03 08:59:43 +02:00
Matthias e64ccd8fc1 Add new_config section for kucoin 2021-09-03 08:57:53 +02:00
Matthias 19ad165483 Add time_in_force for kucoin 2021-09-03 08:48:53 +02:00
Matthias 93c1dff71b Allow adding new additional headers 2021-09-02 21:02:45 +02:00
Sam Germain 073426f25c set margin mode exchange function 2021-09-01 23:40:32 -06:00
Matthias 5184cc7749 Merge branch 'develop' into feat/short 2021-09-02 07:03:14 +02:00
Matthias f59ba92920
Merge pull request #5413 from freqtrade/feat/backtest_detail
Add backtest-detail to allow intra-candle backtests
2021-09-01 19:48:12 +02:00
Matthias ab5e63cbdd
Merge pull request #5520 from freqtrade/dependabot/docker/python-3.9.7-slim-buster
Bump python from 3.9.6-slim-buster to 3.9.7-slim-buster
2021-09-01 13:40:54 +02:00
Matthias b65a15d8b4
Merge pull request #5501 from pan-long/hdf5-path
Export HDF5 and CBLOSC paths.
2021-09-01 07:06:28 +02:00
dependabot[bot] 87fa49d529
Bump python from 3.9.6-slim-buster to 3.9.7-slim-buster
Bumps python from 3.9.6-slim-buster to 3.9.7-slim-buster.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-01 03:01:49 +00:00
Matthias b0c4f079c2 Merge branch 'develop' into feat/backtest_detail 2021-08-31 20:16:42 +02:00
Matthias 1cbe303434 Add documentation for --detail-timeframe 2021-08-31 19:58:08 +02:00
Matthias 525aa234dc
Merge pull request #5516 from yehya-dev/patch-1
Update bot-basics.md
2021-08-31 16:58:01 +02:00
Matthias da5f8c87ae Add stake_currency to strategy interface
allows type-completion in editors
2021-08-31 07:18:57 +02:00
Yehya 4cc1f2b4a4
Update bot-basics.md
Term usage mistake (The first in the pair is the base and second is the quote)
2021-08-31 10:48:09 +05:30
Matthias ab9a4375cc
Merge pull request #5504 from pan-long/unlimited-quote
Surround "unlimited" by double quotes in build config.
2021-08-30 20:33:21 +02:00
Matthias 2a0c95a2e7
Update freqtrade/commands/build_config_commands.py 2021-08-30 20:00:52 +02:00
Matthias b25a161e22
Merge pull request #5507 from freqtrade/dependabot/pip/develop/plotly-5.3.0
Bump plotly from 5.2.1 to 5.3.0
2021-08-30 06:42:01 +02:00
Matthias 7f13eec5d3
Merge pull request #5510 from freqtrade/dependabot/pip/develop/mkdocs-material-7.2.5
Bump mkdocs-material from 7.2.4 to 7.2.5
2021-08-30 06:34:03 +02:00
Matthias bf1e78fcc8
Merge pull request #5509 from freqtrade/dependabot/pip/develop/fastapi-0.68.1
Bump fastapi from 0.68.0 to 0.68.1
2021-08-30 06:33:39 +02:00
Matthias 89d7e36d64
Merge pull request #5506 from freqtrade/dependabot/pip/develop/cryptography-3.4.8
Bump cryptography from 3.4.7 to 3.4.8
2021-08-30 06:32:58 +02:00
Matthias 6682d44f05
Merge pull request #5508 from freqtrade/dependabot/pip/develop/ccxt-1.55.56
Bump ccxt from 1.55.28 to 1.55.56
2021-08-30 06:32:33 +02:00
dependabot[bot] 45c6f90691
Bump mkdocs-material from 7.2.4 to 7.2.5
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.2.4 to 7.2.5.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.2.4...7.2.5)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-30 03:01:24 +00:00
dependabot[bot] 9e0ab9c2ca
Bump fastapi from 0.68.0 to 0.68.1
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.68.0 to 0.68.1.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.68.0...0.68.1)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-30 03:01:19 +00:00
dependabot[bot] 26451e8c01
Bump ccxt from 1.55.28 to 1.55.56
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.55.28 to 1.55.56.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.55.28...1.55.56)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-30 03:01:14 +00:00
dependabot[bot] d0504c47ef
Bump plotly from 5.2.1 to 5.3.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.2.1 to 5.3.0.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.2.1...v5.3.0)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-30 03:01:09 +00:00
dependabot[bot] c64ebeb6e2
Bump cryptography from 3.4.7 to 3.4.8
Bumps [cryptography](https://github.com/pyca/cryptography) from 3.4.7 to 3.4.8.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/3.4.7...3.4.8)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-30 03:01:05 +00:00
LoveIsGrief c17595b314
Docs: Mention Performance Warning for strategies
Related to #5408
2021-08-29 20:00:59 +02:00
Pan Long 20878290a0 Surround "unlimited" by double quotes in build config. 2021-08-30 01:02:48 +08:00
Pan Long c14d8ea827 Export HDF5 and CBLOSC paths.
This is needed if homebrew isn't installed in the standard path, say,
/usr/local/.
2021-08-29 16:34:01 +08:00
Matthias a6b4b8bfd9
Merge pull request #5500 from freqtrade/clarify_exchange_error
Clarify exception on load when markets could not be loaded
2021-08-29 09:42:17 +02:00
Matthias 1895230afe Clarify exception on load when markets could not be loaded
closes #5498
2021-08-29 09:18:46 +02:00
Matthias 89581ad25c Fix typo in protections hyperopt doc
closes #5499
2021-08-29 08:24:31 +02:00
Matthias 0a52d7c24f
Merge pull request #5495 from LoveIsGrief/docs/minor-fixes
Docs: Minor grammar fixes
2021-08-28 20:09:24 +02:00
LoveIsGrief f79b30e886
Docs: Minor fixes 2021-08-28 18:51:43 +02:00
Matthias 19b3e8a8c5
Merge pull request #5493 from pan-long/develop
Remove extra comma after the last element in binance pair_blacklist.
2021-08-28 16:20:26 +02:00
Pan Long 482e65453f Remove extra comma after the last element in binance pair_blacklist. 2021-08-28 21:57:54 +08:00
Matthias b4d869e8c4
Merge pull request #5491 from freqtrade/new_release
New release 2021.8
2021-08-28 11:45:59 +02:00
Matthias ac0dada962 Update Version to develop again 2021-08-28 10:43:49 +02:00
Matthias c6f38bc2f3
Merge pull request #5487 from freqtrade/new_release
New release 2021.8
2021-08-28 10:38:48 +02:00
Matthias a38b72af91 Merge branch 'develop' into new_release 2021-08-27 20:18:37 +02:00
Matthias 6b2bcd9bdc
Merge pull request #5490 from freqtrade/expired_timeout
Add expired to list of canceled statuses
2021-08-27 20:18:03 +02:00
Matthias ef9c1addcf Add expired to list of canceled statuses 2021-08-27 19:54:53 +02:00
Matthias b3a4b0fbde Version bump to 2021.8 2021-08-27 07:10:13 +02:00
Matthias 3e10f7e2d8 Merge branch 'stable' into new_release 2021-08-27 07:09:59 +02:00
Matthias 07ce6bf3a6
Merge pull request #5484 from freqtrade/small_refactorings
Small refactorings
2021-08-26 20:14:38 +02:00
Matthias 2ce458810b rename default_hyperopt_loss file 2021-08-26 19:39:57 +02:00
Matthias 07d71f014f Rename defaultStrategy file 2021-08-26 19:38:41 +02:00
Matthias 6d96b11279 Rename DefaultStrategy 2021-08-26 07:25:53 +02:00
Matthias df1c0540ab Rename Hyperopt Test Class 2021-08-26 07:20:05 +02:00
Matthias 0d8e105a33 Rename legacystrategy file 2021-08-26 07:14:49 +02:00
Matthias 58ecb34a66 Allow DefaultHyperopts as hyperopt name 2021-08-26 07:13:18 +02:00
Matthias fbf8eb4526 Rename test-legacy strategy 2021-08-26 07:04:33 +02:00
Matthias 1f3ccc2587 DefaultStrategy does not need to be limited 2021-08-26 07:00:15 +02:00
Matthias c4be52d1c3 rename execute_sell to execute_trade_exit 2021-08-26 06:53:42 +02:00
Matthias 63844d39f6 Rename execute_buy to execute_entry 2021-08-26 06:48:26 +02:00
Matthias b61735937c Replace Patch_get_signal with proper calls 2021-08-25 21:05:55 +02:00
Matthias 053d6d8ee1 Merge branch 'feat/short' into pr/samgermain/5378 2021-08-25 20:34:52 +02:00
Matthias e1c3b7fd8c Merge branch 'develop' into feat/short 2021-08-25 20:31:40 +02:00
Matthias 7fb570cc58 hyperopt Fallback methods should not be used. 2021-08-25 20:28:55 +02:00
Matthias 68dd349094 Update hyperopt docs regarding protections 2021-08-25 20:04:10 +02:00
Matthias 3745966c6c Update help-docstring for hyperopt 2021-08-25 20:01:00 +02:00
Matthias 23d21d8ace Fix wrong message if protection-space is missing
closes #5480
2021-08-25 19:57:10 +02:00
Matthias 4b36276e4f Improve has_space test 2021-08-25 19:54:26 +02:00
Matthias 8a9407bac9 Don't hard-fail when fetch_ticker doesn't return a value
closes #5477
2021-08-25 07:13:59 +02:00
Matthias cb4889398b Fix backtesting bug 2021-08-25 07:03:48 +02:00
Matthias 6b93c71d15 Small refactorings, use only enter_long columns 2021-08-25 06:49:06 +02:00
Matthias b951f59f89 Fix patch_get_signal 2021-08-24 21:03:13 +02:00
Matthias c004942588 Merge branch 'feat/short' into pr/samgermain/5378 2021-08-24 20:53:45 +02:00
Matthias f4242106d9 Merge branch 'develop' into feat/short 2021-08-24 20:53:21 +02:00
Matthias 60b476611c Simplify a number of tests by relying on default arguments 2021-08-24 20:51:59 +02:00
Matthias 6524edbb4e Simplify should_exit interface 2021-08-24 20:47:54 +02:00
Matthias f3b6a0a797 Fix some type errors 2021-08-24 20:40:35 +02:00
Matthias f9f32a15bb Update plotting tests for new strategy interface 2021-08-24 20:30:42 +02:00
Matthias 9a03cb96f5 Update get_signal 2021-08-24 20:24:51 +02:00
Matthias 46285cd77e Fix some namings in freqtradebot 2021-08-24 20:07:39 +02:00
Matthias b40f985b13 Add short-exit logic to backtesting 2021-08-24 20:02:40 +02:00
Matthias eb71ee847c Rename backtest index constants 2021-08-24 06:56:06 +02:00
Matthias 11bd8e912e Fix some tests 2021-08-24 06:52:28 +02:00
Matthias 7a977a8eaf Merge branch 'feat/short' into pr/samgermain/5378 2021-08-24 06:28:16 +02:00
Matthias 957551ea97 Merge branch 'develop' into feat/short 2021-08-24 06:25:06 +02:00
Matthias faf5cfa66d Update some tests for updated backtest interface 2021-08-23 21:35:28 +02:00
Matthias 7373b39015 Initial support for backtesting with short 2021-08-23 21:16:26 +02:00
Matthias 3e8164bfca Use proper exchange name in backtesting 2021-08-23 21:13:47 +02:00
Matthias 9add3bf808 Add enter_long compatibility layer 2021-08-23 21:12:46 +02:00
Matthias 9691563066
Merge pull request #5472 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.23
Bump sqlalchemy from 1.4.22 to 1.4.23
2021-08-23 19:26:44 +02:00
Sam Germain 07de5d11ca Removed a bug causing errors from freqtradebot 2021-08-23 00:25:08 -06:00
Sam Germain 317a454c0e Removed shorting from tests/optimize/hyperopts/default_hyperopt.py and created another tests/optimize/hyperopts/short_hyperopt.py with long and shorting 2021-08-23 00:24:49 -06:00
Sam Germain 61ad38500a Reverted freqtrade/templates/*hyperopt* files back to no shorting 2021-08-23 00:18:15 -06:00
Sam Germain 53b51ce8cf Reverted freqtrade/templates/sample_strategy back to no shorting, and created a separate sample short strategy 2021-08-23 00:17:20 -06:00
Sam Germain 0afeb269ad Removed unnecessary TODOs 2021-08-23 00:15:35 -06:00
Sam Germain 9f6b6f04b4 Added False to self.strategy.get_signal 2021-08-22 23:55:34 -06:00
Sam Germain e5b2b64a3f Changed stoploss side on some tests 2021-08-22 23:36:36 -06:00
Sam Germain 0a624e70ee added tests for min stake amount with leverage 2021-08-22 23:28:03 -06:00
Matthias aafb868cc4
Merge pull request #5471 from freqtrade/dependabot/pip/develop/prompt-toolkit-3.0.20
Bump prompt-toolkit from 3.0.19 to 3.0.20
2021-08-23 07:07:50 +02:00
Matthias c2b7577e94
Merge pull request #5469 from freqtrade/dependabot/pip/develop/ccxt-1.55.28
Bump ccxt from 1.55.20 to 1.55.28
2021-08-23 06:41:47 +02:00
Matthias 3e296dee24
Merge pull request #5470 from freqtrade/dependabot/pip/develop/types-cachetools-4.2.0
Bump types-cachetools from 0.1.10 to 4.2.0
2021-08-23 06:39:43 +02:00
Sam Germain 8644449c33 Removed changes from tests/strategy/strats that hyperopted short parameters, because these are supposed to be legacy tests 2021-08-22 21:47:02 -06:00
Sam Germain 5ca3f49cb5 merged with feat/short after feat/short added styling and comment changes PR 2021-08-22 21:37:20 -06:00
dependabot[bot] 345c7ab64b
Bump sqlalchemy from 1.4.22 to 1.4.23
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.22 to 1.4.23.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/master/CHANGES)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-23 03:01:42 +00:00
dependabot[bot] 90f1845eaf
Bump prompt-toolkit from 3.0.19 to 3.0.20
Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.19 to 3.0.20.
- [Release notes](https://github.com/prompt-toolkit/python-prompt-toolkit/releases)
- [Changelog](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/CHANGELOG)
- [Commits](https://github.com/prompt-toolkit/python-prompt-toolkit/compare/3.0.19...3.0.20)

---
updated-dependencies:
- dependency-name: prompt-toolkit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-23 03:01:33 +00:00
dependabot[bot] 0f9bfcf8b0
Bump types-cachetools from 0.1.10 to 4.2.0
Bumps [types-cachetools](https://github.com/python/typeshed) from 0.1.10 to 4.2.0.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-23 03:01:28 +00:00
dependabot[bot] 4ee467f857
Bump ccxt from 1.55.20 to 1.55.28
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.55.20 to 1.55.28.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.55.20...1.55.28)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-23 03:01:26 +00:00
Sam Germain 488d729574 Merge branch 'feat/short' into lev-exchange 2021-08-22 20:59:33 -06:00
Sam Germain 70ebf09871 exchange - kraken - minor changes 2021-08-22 20:58:22 -06:00
Matthias 3026583ed4 Reduce verbosity of "is in blacklist" logging 2021-08-22 19:40:43 +02:00
Matthias 5582737093
Merge pull request #5467 from JoeSchr/patch-6
Update strategy-advanced.md
2021-08-22 19:29:16 +02:00
JoeSchr 04b4deab58
Update strategy-advanced.md
Add `` for consistency
2021-08-22 20:14:36 +03:00
Matthias 56759cea7b Add "high fee rate" blocker to fees from trades
part of #5415 (potentially fixing this)
2021-08-22 14:37:45 +02:00
Matthias d03444e5f8
Merge pull request #5447 from samgermain/lev-strat-name-changes
Lev strat name changes
2021-08-22 13:56:57 +02:00
Sam Germain 6ac0ab0233 Added short functionality to exchange stoplss methods 2021-08-21 21:10:03 -06:00
Sam Germain a5be535cc9 strategy interface: removed some changes 2021-08-21 17:06:04 -06:00
Sam Germain 4ac2237937 Changed ftx set_leverage implementation 2021-08-21 16:26:04 -06:00
Sam Germain f5fd8dcc05 Added error handlers to api functions and made a logger warning in fill_leverage_brackets 2021-08-21 01:13:51 -06:00
Matthias 34456b9798
Merge pull request #5456 from mablue/download_process
Download-data log process added
2021-08-21 07:12:04 +02:00
Sam Germain 84bc4dd740 Removed some outdated TODOs and whitespace 2021-08-20 18:50:02 -06:00
Sam Germain 97bb555d41 Implemented fill_leverage_brackets get_max_leverage and set_leverage for binance, kraken and ftx. Wrote tests test_apply_leverage_to_stake_amount and test_get_max_leverage 2021-08-20 18:23:21 -06:00
Masoud Azizi 127f470bc3 .* ADDED 2021-08-20 19:29:33 +02:00
Masoud Azizi 40ad451019 Download-data log process added
Download-data log process added

pytest assert solved
2021-08-20 14:52:56 +00:00
Matthias 695a1e21bf Set gate.io download limit to 1000 candles 2021-08-20 06:51:04 +02:00
Matthias ba5abb20bd Run compat ci for gate.io 2021-08-20 06:30:27 +02:00
Matthias 19158ba7da
Merge pull request #5450 from topscoder/patch-1
Fix typo
2021-08-19 06:44:41 +02:00
Sam Germain 55c070f1bb Added interface leverage method 2021-08-18 16:52:34 -06:00
Sam Germain dc4090234d Added interface leverage method 2021-08-18 16:52:34 -06:00
Sam Germain 092780df9d condensed strategy methods down to 2 2021-08-18 16:52:34 -06:00
Sam Germain d4a7d2d444 Added short and exit_short to strategy 2021-08-18 16:52:20 -06:00
Sam Germain 314359dd6e strategy interface changes to comments to mention shorting 2021-08-18 13:23:04 -06:00
Sam Germain e2d5299116 Name changes for strategy 2021-08-18 13:22:54 -06:00
Matthias f7087feeb1
Merge pull request #5347 from Axel-CH/custom_order_price
Custom order price
2021-08-18 20:59:40 +02:00
topscoder dc0b4d07d4
Fix typo
Reseting -> Resetting
2021-08-18 20:52:11 +02:00
Matthias 9951f51079 Update test to ensure direction of movement is correct 2021-08-18 20:24:19 +02:00
Matthias d97fc1e484
Update docs/strategy-advanced.md 2021-08-18 19:55:11 +02:00
axel ffd60f392b add custom price max distance ratio option in configuration.md 2021-08-18 05:22:45 -04:00
axel 9469c6dfa9 small cosmetic changes in doc related to custom entry and exit exemple 2021-08-18 05:10:29 -04:00
axel 2fb9f6e2f4 rename custom price max distance option in config, update formula and test associated 2021-08-18 05:07:37 -04:00
Matthias acb00cd072 Use realistic threshold for "get_fee" test 2021-08-18 06:25:52 +02:00
Matthias 6e41add40e Version bump ccxt
closes #5437
2021-08-18 06:25:30 +02:00
Matthias 9871268529
Merge pull request #5443 from freqtrade/fiat_convert_duplicate_symbols
Simplify fiat_convert and handle multi-mappings
2021-08-17 21:07:45 +02:00
Matthias 4164f93853 Simplify fiat_convert and handle multi-mappings 2021-08-17 20:50:52 +02:00
Matthias 81715d0b9d
Merge pull request #5434 from freqtrade/fix_asyncio_exception
Fix no-event-loop available
2021-08-17 07:10:22 +02:00
Matthias 37e3d20357 Fix no-event-loop available
closes #5433
2021-08-17 06:54:10 +02:00
Matthias 9758bed250 Fix refresh_latest_ohlcv bug 2021-08-17 06:44:36 +02:00
Matthias f471915828 Add test for refresh_latest_ohlcv caching 2021-08-17 06:44:36 +02:00
axel 6ab99369f2 Merge branch 'develop' of https://github.com/freqtrade/freqtrade into custom_order_price 2021-08-16 23:26:29 -04:00
axel f08d673a52 add details and exemple of custom_price_max_distance_percent usage in doc 2021-08-16 23:26:08 -04:00
axel 17daba321b add custom_price_max_distance_percent config option in constants 2021-08-16 23:09:30 -04:00
axel faff40577a fix test_execute_buy In case of custom entry price 2021-08-16 15:33:05 -04:00
axel 3ea4b2ba00 add custom_price_max_distance_percent security to get_valid_price, update tests 2021-08-16 15:18:57 -04:00
Matthias cf80cabc84
Merge pull request #5430 from slowy07/minor-fixing
fix: typo spelling grammar
2021-08-16 21:15:12 +02:00
Matthias 3cc510f1a8
Merge pull request #5422 from freqtrade/dependabot/pip/develop/uvicorn-0.15.0
Bump uvicorn from 0.14.0 to 0.15.0
2021-08-16 20:17:28 +02:00
Matthias 0264d77d86 Fix test for fixed typo 2021-08-16 20:02:25 +02:00
slowy07 f24a951ec5 fix: typo spelling grammar 2021-08-16 19:16:24 +07:00
Matthias 4115121c24 Fix missing return statement in is_Relative_to 2021-08-16 07:26:58 +02:00
Matthias 4b65206e6b Add compat code for is_relative_to 2021-08-16 07:09:05 +02:00
Matthias 4a75f9bb5b
Merge pull request #5425 from freqtrade/dependabot/pip/develop/pandas-1.3.2
Bump pandas from 1.3.1 to 1.3.2
2021-08-16 06:49:53 +02:00
Matthias 6b2ef36a56 Prevent directory traversal in UI Serving
Checking for directory base

closes #5427
2021-08-16 06:47:53 +02:00
Matthias abddb3ef25 Add test for directory traversal 2021-08-16 06:45:23 +02:00
Matthias c6af4f6c6b
Merge pull request #5424 from freqtrade/dependabot/pip/develop/plotly-5.2.1
Bump plotly from 5.1.0 to 5.2.1
2021-08-16 06:31:01 +02:00
dependabot[bot] 108a6cb897
Bump pandas from 1.3.1 to 1.3.2
Bumps [pandas](https://github.com/pandas-dev/pandas) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Changelog](https://github.com/pandas-dev/pandas/blob/master/RELEASE.md)
- [Commits](https://github.com/pandas-dev/pandas/compare/v1.3.1...v1.3.2)

---
updated-dependencies:
- dependency-name: pandas
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-16 04:28:42 +00:00
Matthias a058737c72
Merge pull request #5421 from freqtrade/dependabot/pip/develop/mkdocs-material-7.2.4
Bump mkdocs-material from 7.2.2 to 7.2.4
2021-08-16 06:22:01 +02:00
Matthias c08bbcb16d
Merge pull request #5426 from freqtrade/dependabot/pip/develop/numpy-1.21.2
Bump numpy from 1.21.1 to 1.21.2
2021-08-16 06:14:07 +02:00
Matthias d644c12a55
Merge pull request #5420 from freqtrade/dependabot/pip/develop/ccxt-1.55.6
Bump ccxt from 1.54.74 to 1.55.6
2021-08-16 06:13:07 +02:00
Matthias 6da3c07c2d
Merge pull request #5423 from freqtrade/dependabot/pip/develop/flake8-tidy-imports-4.4.1
Bump flake8-tidy-imports from 4.3.0 to 4.4.1
2021-08-16 06:11:17 +02:00
dependabot[bot] 3878e5186e
Bump numpy from 1.21.1 to 1.21.2
Bumps [numpy](https://github.com/numpy/numpy) from 1.21.1 to 1.21.2.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/HOWTO_RELEASE.rst.txt)
- [Commits](https://github.com/numpy/numpy/compare/v1.21.1...v1.21.2)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-16 03:01:34 +00:00
dependabot[bot] a10fd66906
Bump plotly from 5.1.0 to 5.2.1
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.1.0 to 5.2.1.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.1.0...v5.2.1)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-16 03:01:21 +00:00
dependabot[bot] d8607b2ce8
Bump flake8-tidy-imports from 4.3.0 to 4.4.1
Bumps [flake8-tidy-imports](https://github.com/adamchainz/flake8-tidy-imports) from 4.3.0 to 4.4.1.
- [Release notes](https://github.com/adamchainz/flake8-tidy-imports/releases)
- [Changelog](https://github.com/adamchainz/flake8-tidy-imports/blob/main/HISTORY.rst)
- [Commits](https://github.com/adamchainz/flake8-tidy-imports/compare/4.3.0...4.4.1)

---
updated-dependencies:
- dependency-name: flake8-tidy-imports
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-16 03:01:18 +00:00
dependabot[bot] 7125793249
Bump uvicorn from 0.14.0 to 0.15.0
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.14.0 to 0.15.0.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.14.0...0.15.0)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-16 03:01:16 +00:00
dependabot[bot] e7b6a996df
Bump mkdocs-material from 7.2.2 to 7.2.4
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.2.2 to 7.2.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.2.2...7.2.4)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-16 03:01:10 +00:00
dependabot[bot] 37d4545123
Bump ccxt from 1.54.74 to 1.55.6
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.54.74 to 1.55.6.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.54.74...1.55.6)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-16 03:01:06 +00:00
Matthias dda8276589 Update documentation for sell_profit_offset
As highlighed in #5393
2021-08-15 20:01:54 +02:00
Matthias 322ea2481e Add log-message for edge-case 2021-08-15 19:28:36 +02:00
Matthias ed6776c5cd Fix disappearing pairlist bug 2021-08-15 17:06:16 +02:00
Matthias 4f10a88529 Reduce verbosity when incompatible pairs are detected 2021-08-15 15:14:57 +02:00
Matthias fa4ec9f83e Add explicit test for get_sell_trade_entry 2021-08-15 14:52:24 +02:00
Matthias 3406b889b6 First test 2021-08-14 17:06:28 +02:00
Matthias 8405ccc15e Seperate detail data loading from regular backest-data loading 2021-08-14 16:33:01 +02:00
Matthias 88172fab82 Allow "detailed" backtesting timeframe to look into the candle 2021-08-14 16:04:23 +02:00
Matthias 123971d271 Don't change passed in parameter variable 2021-08-14 16:02:31 +02:00
Matthias c456cfc312 Merge branch 'develop' into pr/Axel-CH/5347 2021-08-14 09:13:30 +02:00
Matthias 0f7ddabec8 Slightly reword documentation 2021-08-14 09:05:03 +02:00
Matthias bb472ff98b Improve new-exchange documentation 2021-08-14 08:47:14 +02:00
Matthias db5a944396 Cleanup GHA node after building images 2021-08-14 08:46:19 +02:00
Matthias c7147311f8 Fix json syntax error in config template 2021-08-13 17:14:38 +02:00
axel 0a6c0c429a add a note concerning default custom entry or exit price in documentation 2021-08-13 11:12:33 -04:00
axel 20cc60bfde update get_valid_price function and test cases to handle inputs with try catch 2021-08-13 11:06:15 -04:00
axel dbf7f34ecb add unit test to function get_valid_price 2021-08-12 15:30:49 -04:00
axel b098ce4e76 add function get_valid_price to validate type of custom entry or exit price and use default proposed price if invalid 2021-08-12 15:13:14 -04:00
axel ae11be3970 manage None or string value returned by custom_entry_price and add unit test for those cases 2021-08-12 14:47:01 -04:00
Matthias e03784d98d Fix filled exception
closes #5404
2021-08-12 05:02:56 +00:00
Matthias bfc3968ab3
Merge pull request #5400 from freqtrade/limit_dry_market_slippage
Add max-slippage limiting for dry-run orders to avoid insane market o…
2021-08-12 06:54:55 +02:00
Matthias fad253ad51 Version bump ccxt to 1.54.74
closes #5401
2021-08-12 06:53:55 +02:00
Matthias bdbac37be7
Merge pull request #5399 from rokups/rk/fix-buy-tag-backtest
Fix buy_tag not being saved to trade object.
2021-08-12 06:36:33 +02:00
Rokas Kupstys f6267c7514 Fix buy_tag not being saved to trade object.
Column is mistakenly excluded because advise_buy() creating this column runs after code detecting presence of buy_tag column.
2021-08-11 15:21:23 +03:00
Matthias 4e83d5c4c6
Merge pull request #5398 from ipqhjjybj/develop
The list is changed during running!
2021-08-11 12:38:44 +02:00
Matthias 61c076563f Add max-slippage limiting for dry-run orders to avoid insane market order fills 2021-08-11 12:11:29 +02:00
Sam Germain 180d92f879 Merge branch 'feat/short' into lev-exchange 2021-08-11 01:46:41 -06:00
ipqhjjybj 65d025923d add code 2021-08-11 14:35:16 +08:00
Matthias 0b6aedbc4c
Merge pull request #5395 from freqtrade/fix/hyperopt-show
Stream hyperopt-result in small batches
2021-08-10 19:54:02 +02:00
Matthias 039d6384ed Stream hyperopt-result in small batches
Avoiding memory-exhaustion on huge hyperopt results

closes #5305
closes #5149
2021-08-10 10:12:57 +02:00
Matthias 124e9519e4
Merge pull request #5394 from freqtrade/backtest_provide_first_cancdle
Cache dataframe before cutting the first candle
2021-08-10 10:04:23 +02:00
Matthias 3f160c7144 Cache dataframe before cutting the first candle
This allows providing the "current closed" candle in all cases.
2021-08-10 09:14:29 +02:00
Matthias cf27968b97 Properly preserve trade's low during backtesting 2021-08-09 19:38:56 +02:00
Matthias 5bfb9edf02 Only query date once from list 2021-08-09 15:42:17 +02:00
Matthias 8bb42a07ce
Merge pull request #5391 from freqtrade/fix/get_analyzed_pair
Fix recently introduced lookahead bias in backtesting
2021-08-09 15:25:12 +02:00
Matthias 58e4255ae3
Merge pull request #5389 from pcassimans/patch-1
Update README.md
2021-08-09 15:08:14 +02:00
Matthias 895b912c71 Fix recently introduced lookahead bias in backtesting
closes #5388
2021-08-09 14:54:47 +02:00
Matthias a5f796bc97 refactor ohlcvdata_to_dataframe to advise_all_indicators 2021-08-09 14:53:18 +02:00
Matthias 519c256b88 Fix kucoin typo in index.md as well 2021-08-09 14:43:35 +02:00
pcassimans 927ac24f82
Update README.md
Fix Typo of Kukoin to Kucoin
2021-08-09 14:21:59 +02:00
Matthias 98fe3e73de
Merge pull request #5381 from samgermain/interest-change
Changed interest implementation (Margin)
2021-08-09 11:58:08 +02:00
Matthias 599ae15460 Parametrize tests 2021-08-09 11:35:27 +02:00
Matthias f17942b68f Fix random test failure 2021-08-09 11:18:18 +02:00
Matthias f3c603073e
Merge pull request #5386 from freqtrade/dependabot/pip/develop/types-requests-2.25.6
Bump types-requests from 2.25.1 to 2.25.6
2021-08-09 10:43:35 +02:00
Sam Germain de4b0d1f7c Merged with feat/short 2021-08-09 00:24:25 -06:00
Sam Germain 06206335d9 Added tests for interest_function 2021-08-09 00:00:50 -06:00
Sam Germain 0733d69cda Added TODOs to test files 2021-08-08 23:24:38 -06:00
dependabot[bot] 5919992ad2
Bump types-requests from 2.25.1 to 2.25.6
Bumps [types-requests](https://github.com/python/typeshed) from 2.25.1 to 2.25.6.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-09 05:24:31 +00:00
Sam Germain 53a6ce881c Added set_leverage function to exchange 2021-08-08 23:24:03 -06:00
Sam Germain 4ca1d25db1 Removed setup leverage and transfer functions from exchange 2021-08-08 23:24:03 -06:00
Sam Germain 2c0077abc7 Exchange stoploss function takes side 2021-08-08 23:24:03 -06:00
Sam Germain b48b768757 Added get_interest template method in exchange 2021-08-08 23:24:03 -06:00
Sam Germain 120cad88af Add prep functions to exchange 2021-08-08 23:24:03 -06:00
Matthias 9e6ed5ada0
Merge pull request #5382 from freqtrade/dependabot/pip/develop/types-filelock-0.1.5
Bump types-filelock from 0.1.4 to 0.1.5
2021-08-09 07:10:46 +02:00
Matthias 47f641d12f Remove hyperopt-pickle result support 2021-08-09 07:04:18 +02:00
dependabot[bot] b89a993890
Bump types-filelock from 0.1.4 to 0.1.5
Bumps [types-filelock](https://github.com/python/typeshed) from 0.1.4 to 0.1.5.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-filelock
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-09 04:47:41 +00:00
Matthias b3ca2d0c57
Merge pull request #5380 from samgermain/mg-to-lev
Replaced the term margin with leverage when it should say leverage (All comments)
2021-08-09 06:37:14 +02:00
Matthias 6a227fe9eb
Merge pull request #5383 from freqtrade/dependabot/pip/develop/types-cachetools-0.1.10
Bump types-cachetools from 0.1.9 to 0.1.10
2021-08-09 06:20:28 +02:00
Matthias 70f8bff8ce
Merge pull request #5384 from freqtrade/dependabot/pip/develop/ccxt-1.54.62
Bump ccxt from 1.54.24 to 1.54.62
2021-08-09 06:16:35 +02:00
Matthias d2d5590252
Merge pull request #5385 from freqtrade/dependabot/pip/develop/types-tabulate-0.8.2
Bump types-tabulate from 0.1.1 to 0.8.2
2021-08-09 06:16:05 +02:00
dependabot[bot] 59626b4ffc
Bump types-tabulate from 0.1.1 to 0.8.2
Bumps [types-tabulate](https://github.com/python/typeshed) from 0.1.1 to 0.8.2.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-tabulate
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-09 03:01:27 +00:00
dependabot[bot] bad25b753c
Bump ccxt from 1.54.24 to 1.54.62
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.54.24 to 1.54.62.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.54.24...1.54.62)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-09 03:01:25 +00:00
dependabot[bot] 32e8e3b242
Bump types-cachetools from 0.1.9 to 0.1.10
Bumps [types-cachetools](https://github.com/python/typeshed) from 0.1.9 to 0.1.10.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-09 03:01:19 +00:00
Sam Germain 8e941e6836 Changed interest implementation 2021-08-08 17:09:17 -06:00
Sam Germain 0545a0ed3c Replaced the term margin with leverage when it should say leverage 2021-08-08 17:04:24 -06:00
Matthias 756112c84d
Merge pull request #5374 from freqtrade/rem_legacy_hyperopt
Remove legacy hyperopt
2021-08-08 12:42:52 +02:00
Matthias 3bd0c3d009 Remove legacy code from export to csv 2021-08-08 11:02:54 +02:00
Matthias be240566ba Fix random test failure 2021-08-08 10:57:20 +02:00
Matthias faf16a64e5 Remove legacy hyperopt file support 2021-08-08 10:22:45 +02:00
Matthias 0ae4eccea5 Refactor Hyperopt-list and hyperopt-show to reduce some duplicate code 2021-08-08 10:06:35 +02:00
Matthias 7eaadb2630 Add custom-* methods to bot-basics
closes #5370
2021-08-08 09:50:50 +02:00
Matthias ecdecb02fa
Merge pull request #5365 from samgermain/enums
Added leverage enums
2021-08-08 09:48:11 +02:00
Sam Germain 4630f69830 Removed short, exit_short from enums 2021-08-08 01:36:59 -06:00
Sam Germain 658f138e30 Added short_tag to SignalTagType 2021-08-07 20:08:52 -06:00
Sam Germain 71963e65f1 Removed ExchangeName Enum 2021-08-07 18:47:03 -06:00
Matthias cf70b34ff0 Add min_value to all volumepairlist samples 2021-08-07 16:15:42 +02:00
Matthias 5393c55b51 Document min_value for VolumePairList
closes #5260
2021-08-07 16:01:20 +02:00
Sam Germain 7e6b281b75 Merge branch 'feat/short' of https://github.com/freqtrade/freqtrade into feat/short 2021-08-07 01:43:56 -06:00
Matthias 92ed7c0bf8 Merge branch 'develop' into feat/short 2021-08-07 09:42:25 +02:00
Matthias 6532aba765
Merge pull request #5360 from freqtrade/hyperopt_protections
Hyperopt protections and Boolean parameter
2021-08-07 09:42:05 +02:00
Matthias 66de30f042
Merge pull request #5368 from samgermain/autopep8-formatted
Autopep8 formatting
2021-08-07 09:29:58 +02:00
Sam Germain 9988c293b5 Merge branch 'enums' into feat/short 2021-08-06 19:30:31 -06:00
Sam Germain 9b58c58609 Merge branch 'develop' into feat/short 2021-08-06 18:12:53 -06:00
Sam Germain b9356a5564 Autopep8 formatting 2021-08-06 16:35:39 -06:00
Sam Germain aec82b4647 Added empty everage/__init__.py 2021-08-06 01:37:34 -06:00
Sam Germain 50d185ccd8 Added exchange_name variables to exchange classes 2021-08-06 01:23:55 -06:00
Sam Germain 241bfc409f Added leverage enums 2021-08-05 23:29:26 -06:00
axel 612b88e993 Merge branch 'develop' of https://github.com/freqtrade/freqtrade into custom_order_price 2021-08-05 18:21:31 -04:00
axel 0985b11267 add doc for custom exit price 2021-08-05 18:16:16 -04:00
axel 84d082033b fix default retval for strategy custom_entry_price 2021-08-05 18:00:31 -04:00
axel 0aeebc9d53 add test for custom exit price 2021-08-05 17:57:45 -04:00
Matthias 90c194de1f Align Readme and documentation index in supported exchange lists 2021-08-05 19:27:38 +02:00
Matthias 4d28f0ed59
Merge pull request #5363 from kamontat/patch-1
Update README link
2021-08-05 19:27:00 +02:00
Kamontat Chantrachirathumrong eee5f174fc
update link 2021-08-05 20:33:15 +07:00
axel cb3b0cf311 add custom_exit_price in interface and freqtradebot 2021-08-04 23:09:40 -04:00
axel f243ad4af0 add custom_exit_price in strategy interface 2021-08-04 19:09:55 -04:00
axel f9f519fd3c add custom_exit_price function to interface 2021-08-04 18:54:17 -04:00
axel d9b9eecd4d remove entry price reached method 2021-08-04 18:47:14 -04:00
axel 2cf781f3dd add freqtradebot execute_buy test in custom entry price case 2021-08-04 18:32:39 -04:00
Matthias ad0e4a8567 Add BooleanParameter 2021-08-04 20:52:56 +02:00
Matthias b73768acd1 Fix bug in property overwriting prevention 2021-08-04 20:21:56 +02:00
Matthias 3c41223333 Add test for protections-hyperopt 2021-08-04 20:01:28 +02:00
Matthias a661e0db6e Deprecate protections from config 2021-08-04 19:43:16 +02:00
Matthias ceed3c663b Document using protections 2021-08-04 07:17:35 +02:00
Matthias a6454cfc39 Autoenable protections when protection-space is selected 2021-08-04 07:17:29 +02:00
Matthias 797d7e5ce6
Merge pull request #5157 from samgermain/margin-db
Margin db
2021-08-04 06:57:36 +02:00
Matthias 091bf7c4d2 Output protection space 2021-08-04 06:50:14 +02:00
Matthias 544e0da6c2 Add protection parameter space 2021-08-04 06:50:14 +02:00
Matthias 800b2eeaf0 Load protections as part of backtest()
this enables different values in hyperopt per epoch
2021-08-04 06:50:14 +02:00
Matthias 74a5cb3c21 Remove protections from full config
They are supposed to be configured in the strategy
2021-08-04 06:49:53 +02:00
Matthias 6410a6528b Add missing methods to advanced strategy template 2021-08-04 06:46:21 +02:00
axel bc3e6deb1c remove specific test for buy with custom entry 2021-08-03 17:09:52 -04:00
axel b644233ead rename custom_entry_price kwarg to align it to the interface 2021-08-03 17:03:27 -04:00
axel b3dafb378e remove use_custom_entry_price as a config option 2021-08-03 16:54:28 -04:00
axel 16146357b3 reuse buy_limit_requested as rate input for custom entry price 2021-08-03 16:39:35 -04:00
axel 42e24d8b4b remove price change cancel reason in contants, will be added in another PR 2021-08-03 16:35:16 -04:00
axel 00939b63f2 flake 8 fixes 2021-08-03 16:25:18 -04:00
axel 53fb8b05e7 remove short logic in entry_price_reached function 2021-08-03 16:19:29 -04:00
axel d9c9b7d7fc restore interface test file 2021-08-03 16:02:10 -04:00
axel 3d8c3ffd38 fix syntax error in unit test 2021-08-03 15:57:23 -04:00
axel 5284112b69 fix in custom entry function output,remove changes related to outdated prices, doc exemple minor changes 2021-08-03 15:57:23 -04:00
axel f11f5d17e9 add feature custom entry price for live 2021-08-03 15:57:23 -04:00
Matthias 07673ef47f
Update Migrations to use the latest added columns 2021-08-03 10:25:59 +02:00
Sam Germain 5b6dbbd750 Changed order of buy_tag in migrations 2021-08-03 00:23:21 -06:00
Sam Germain d88e2ae603 Merge branch 'develop' into margin-db 2021-08-02 23:58:44 -06:00
Matthias dfc17f2bd1 Fix ci failure 2021-08-03 07:21:11 +02:00
Matthias 4ab03f7e37 Don't load fallback methods for autohyperopt 2021-08-02 21:17:56 +02:00
Matthias e70a742005 Reorder space methods in hyperopt 2021-08-02 21:12:10 +02:00
Matthias adb33e763b
Merge pull request #5350 from freqtrade/environment_vars
Add environment variable support
2021-08-02 20:48:23 +02:00
Matthias c981641441 Don't fail if strategy doesn't contain sell signal 2021-08-02 20:30:46 +02:00
Matthias d8d8261f1b
Merge pull request #5318 from samgermain/combined_exchange_buy_sell
combined exchange.buy and exchange.sell
2021-08-02 20:11:09 +02:00
Matthias 3c5f06d5c0
Update tests/exchange/test_exchange.py 2021-08-02 08:31:33 +02:00
Matthias 5ead95b06b
Merge pull request #5245 from sauces1313/RangeStabilityFilterMax
Range stability filter max
2021-08-02 08:06:36 +02:00
Matthias 3e5659b32f
Merge pull request #5355 from freqtrade/dependabot/pip/develop/scipy-1.7.1
Bump scipy from 1.7.0 to 1.7.1
2021-08-02 08:03:44 +02:00
Matthias b63eda3a2b Some minor cleanup and improved test coverage 2021-08-02 07:15:09 +02:00
Matthias 8485964bb7
Merge pull request #5357 from freqtrade/dependabot/pip/develop/mkdocs-material-7.2.2
Bump mkdocs-material from 7.2.1 to 7.2.2
2021-08-02 06:31:22 +02:00
Matthias eeee92275b
Merge pull request #5356 from freqtrade/dependabot/pip/develop/types-requests-2.25.1
Bump types-requests from 2.25.0 to 2.25.1
2021-08-02 06:30:14 +02:00
Matthias d4fa50c605
Merge pull request #5353 from freqtrade/dependabot/pip/develop/ccxt-1.54.24
Bump ccxt from 1.53.72 to 1.54.24
2021-08-02 06:29:57 +02:00
Matthias ae48012831
Merge pull request #5354 from freqtrade/dependabot/pip/develop/fastapi-0.68.0
Bump fastapi from 0.67.0 to 0.68.0
2021-08-02 06:29:42 +02:00
Matthias 5b4931897d
Merge pull request #5352 from freqtrade/dependabot/pip/develop/isort-5.9.3
Bump isort from 5.9.2 to 5.9.3
2021-08-02 06:29:09 +02:00
dependabot[bot] 3a19e1610d
Bump mkdocs-material from 7.2.1 to 7.2.2
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.2.1 to 7.2.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.2.1...7.2.2)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 03:01:38 +00:00
dependabot[bot] 7fd3fc98c0
Bump types-requests from 2.25.0 to 2.25.1
Bumps [types-requests](https://github.com/python/typeshed) from 2.25.0 to 2.25.1.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 03:01:35 +00:00
dependabot[bot] 849b8197a9
Bump scipy from 1.7.0 to 1.7.1
Bumps [scipy](https://github.com/scipy/scipy) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.7.0...v1.7.1)

---
updated-dependencies:
- dependency-name: scipy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 03:01:30 +00:00
dependabot[bot] 4afcea9a1c
Bump fastapi from 0.67.0 to 0.68.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.67.0 to 0.68.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.67.0...0.68.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 03:01:25 +00:00
dependabot[bot] 4f05d31b94
Bump ccxt from 1.53.72 to 1.54.24
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.53.72 to 1.54.24.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.53.72...1.54.24)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 03:01:19 +00:00
dependabot[bot] b3f057e7c0
Bump isort from 5.9.2 to 5.9.3
Bumps [isort](https://github.com/pycqa/isort) from 5.9.2 to 5.9.3.
- [Release notes](https://github.com/pycqa/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pycqa/isort/compare/5.9.2...5.9.3)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 03:01:13 +00:00
sauces1313 059c32b067 Check for and default to 'None' 2021-08-02 02:49:49 +00:00
Matthias 056bc93bc6 backtesting needs startup_candle_count
fixes informative-pair loading  being different between --strategy-list and
--strategy.
2021-08-01 19:17:52 +02:00
Matthias e78be75e8c
Merge pull request #5351 from samgermain/persistence-tests-usdt
Changed tests in tests/test_persistence.py to use usdt prices
2021-08-01 13:36:40 +02:00
Sam Germain 047df0c212 Removed leverage references 2021-08-01 03:01:47 -06:00
Matthias e9ef9a6d28 Use .view() to convert dates to enums
part of #5314 - fixing deprecation warning.
2021-08-01 10:31:35 +02:00
Sam Germain 90a61b1765 Changed tests in tests/test_persistence.py to use usdt prices 2021-07-31 20:44:49 -06:00
Matthias 6f8519d0a3 Add environment variable support 2021-07-31 19:26:56 +02:00
Matthias c5e3348b89 Migrations for indexes should run in a seperate session
closes #5349
2021-07-31 16:36:28 +02:00
Matthias 1ccc89d1e9 Store fully analyzed dataframe 2021-07-31 10:00:24 +02:00
Sam Germain ef429afb6f Removed is_oeing_trade is_closing_trade 2021-07-31 01:22:48 -06:00
Sam Germain d6ffd23865 Merged with remote 2021-07-31 01:19:11 -06:00
Sam Germain bc42516f68 test_update_limit_order has both a buy and sell leverage short order 2021-07-31 01:05:37 -06:00
Matthias b1cbc75e93 Properly cache pair dataframe in backtesting (without startup-range). 2021-07-31 08:45:04 +02:00
Matthias 6abd352c0f Add test for backtesting dataframe cache 2021-07-31 08:44:09 +02:00
Sam Germain 26be620f71 Removed LocalTrade.set_is_short 2021-07-31 00:20:25 -06:00
Sam Germain fadb0de7c7 Removed excess modes stop_loss method, removed models.is_opening_side models.is_closing_side 2021-07-31 00:12:53 -06:00
Matthias ab3c753415 Fix develop_plot building 2021-07-30 21:23:09 +02:00
Matthias 499af5c42b Update webservermode docs
closes #5345
2021-07-30 21:04:04 +02:00
Matthias 35bf2a59a8 Improve test reliability (fix fluky test) 2021-07-30 21:02:55 +02:00
Matthias 138b126d03
Merge pull request #5299 from kevinjulian/feat/kevinjulian/add-buy-signal-name
Add buy signal name
2021-07-30 08:23:11 +02:00
Matthias aa34889c04 Don't run migrations twice 2021-07-30 07:14:35 +02:00
Matthias 71838dc51a
Merge pull request #5285 from freqtrade/backtest_startup_afte_populates
Remove startup-candles after populating buy/sell signals
2021-07-30 07:01:26 +02:00
Matthias dad98d43be
Merge pull request #5287 from GeorgeMurAlkh/develop
Dataprovider caching and trimming of historical informative.
2021-07-29 20:43:40 +02:00
Matthias a599645b03
Merge pull request #5338 from freqtrade/new_release
New release 2021.7
2021-07-29 20:35:10 +02:00
Matthias 03064731ac Version bump 2021.7 2021-07-29 19:49:19 +02:00
Matthias d0528a6213 Merge branch 'stable' into new_release 2021-07-29 19:49:04 +02:00
Matthias 6490b82ad6 Update docker-documentation for multiarch builds 2021-07-29 19:48:36 +02:00
Matthias 8768df647a
Merge pull request #5312 from raph92/patch-3
Fix code to get Bittrex US-restricted markets
2021-07-29 07:13:42 +02:00
Matthias cf4d1875dd Use prohibitedIn instead of isRestricted 2021-07-29 06:56:37 +02:00
Sam Germain 25c527ee67 combined exchange.buy and exchange.sell, Adding dummy mock to create_order in tests in test_freqtradebot 2021-07-28 14:55:06 -06:00
Sam Germain 3fb7f983f8 Added is_short and leverage to __repr__ 2021-07-28 12:25:56 -06:00
Sam Germain 195badeb80 Changed liquidation_price to isolated_liq 2021-07-28 12:25:56 -06:00
Sam Germain 6ad9b535a9 persistence all to one test file, use more regular values like 2.0 for persistence tests 2021-07-28 12:25:56 -06:00
Sam Germain a900570f1a Added enter_side and exit_side computed variables to persistence 2021-07-28 12:25:56 -06:00
Sam Germain b801eaaa54 Changed the name of a test to match it's equivelent
Removed test-analysis-lev
2021-07-28 12:25:56 -06:00
Matthias 317f4ebce0 Boolean sqlite fix for orders table 2021-07-28 12:25:56 -06:00
Matthias 071f6309cc Try fix migration tests 2021-07-28 12:25:56 -06:00
Sam Germain af8875574c updated mkdocs and leverage docs
Added tests for set_liquidation_price and set_stop_loss
updated params in interestmode enum
2021-07-28 12:25:56 -06:00
Sam Germain 256160740e Updated interest and ratio calculations to correct functions 2021-07-28 12:25:56 -06:00
Sam Germain 8e52a3a29c updated ratio_calc_profit function 2021-07-28 12:25:55 -06:00
Sam Germain 006a60e5a4 Added docstrings to methods 2021-07-28 12:25:55 -06:00
Sam Germain b0476ebd3e All persistence margin tests pass
Flake8 compliant, passed mypy, ran isort .
2021-07-28 12:25:55 -06:00
Sam Germain 52def4e826 Changed InterestMode enum implementation 2021-07-28 12:25:55 -06:00
Sam Germain 60572c9e0d Took liquidation price out of order completely 2021-07-28 12:25:55 -06:00
Sam Germain 0fc9d6b6ac Moved leverage and is_short variables out of trade constructors and into conftest 2021-07-28 12:25:55 -06:00
Sam Germain b7b6d87c27 Pass all but one test, because sqalchemy messes up 2021-07-28 12:25:55 -06:00
Sam Germain 737a62be52 set initial_stop_loss in stoploss helper 2021-07-28 12:25:55 -06:00
Sam Germain f566d83839 Tried to add liquidation price to order object, caused a test to fail 2021-07-28 12:25:55 -06:00
Sam Germain 31fa6f9c25 updated timezone.utc time 2021-07-28 12:25:55 -06:00
Sam Germain b1098f0120 Added liquidation_price check to test_stoploss_reinitialization_short 2021-07-28 12:25:55 -06:00
Sam Germain 811cea288d Added checks for making sure stop_loss doesn't go below liquidation_price 2021-07-28 12:25:55 -06:00
Sam Germain 0bd71f87d0 made leveraged test names unique
test_adjust_stop_loss_short, test_update_market_order_shortpasses
2021-07-28 12:25:55 -06:00
Sam Germain 286427c04a Moved interest calculation to an enum 2021-07-28 12:25:55 -06:00
Sam Germain 6787461d68 updated leverage.md 2021-07-28 12:25:55 -06:00
Sam Germain be3a9390fe Switched migrations.py check for stake_currency back to open_rate, because stake_currency is no longer a variable 2021-07-28 12:25:55 -06:00
Sam Germain 5fc587c225 Removed exchange file modifications 2021-07-28 12:25:55 -06:00
Sam Germain a4403c0814 fixed rpc_apiserver test fails, changed test_persistence_long to test_persistence_leverage 2021-07-28 12:25:55 -06:00
Sam Germain 0ffc85fed9 Set default leverage to 1.0 2021-07-28 12:25:55 -06:00
Sam Germain 78708b27f2 Updated tests to new persistence 2021-07-28 12:25:55 -06:00
Matthias e0d42d2eb7 Fix migrations, revert some parts related to amount properties 2021-07-28 12:25:55 -06:00
Sam Germain e4d4d1d1f1 Wrote all tests for shorting 2021-07-28 12:25:55 -06:00
Sam Germain f194673001 Updated ratio calculation, updated short tests 2021-07-28 12:25:55 -06:00
Sam Germain 5ac03762f0 Kraken interest test comes really close to passing
Added more trades to conftest_trades
2021-07-28 12:25:55 -06:00
Sam Germain df360fb281 Made borrowed a computed property 2021-07-28 12:25:55 -06:00
Sam Germain 68d3699c19 Turned amount into a computed property 2021-07-28 12:25:55 -06:00
Sam Germain efcc2adacf About 15 margin tests pass 2021-07-28 12:25:55 -06:00
Sam Germain f5d7deedf4 added exception checks to LocalTrade.leverage and LocalTrade.borrowed 2021-07-28 12:25:55 -06:00
Sam Germain 34073135b7 Added types to setters 2021-07-28 12:25:55 -06:00
Sam Germain d07fe1586c Set leverage and borowed to computed properties 2021-07-28 12:25:55 -06:00
Sam Germain c24ec89dc4 Started some pytests for short and leverage
1 short test passes
2021-07-28 12:25:55 -06:00
Sam Germain b80f8ca0af Created interest function 2021-07-28 12:25:55 -06:00
Sam Germain 000932eed0 Adding templates for leverage/short tests
All previous pytests pass
2021-07-28 12:25:55 -06:00
Sam Germain 10979361c1 Added changes suggested in pull request, fixed breaking changes,
can run the bot again
2021-07-28 12:25:55 -06:00
Sam Germain 741ca0e58c Added changed to persistance/migrations 2021-07-28 12:25:55 -06:00
Sam Germain 7823a33cbb Updated Trade class 2021-07-28 12:25:55 -06:00
Sam Germain c7e8439c76 Updated LocalTrade and Order classes 2021-07-28 12:25:55 -06:00
Matthias a7b8de92a3
Merge pull request #5309 from faustogut/patch-1
Fix configuration.md typos
2021-07-27 20:01:41 +02:00
Matthias d8298a295b
Merge pull request #5329 from freqtrade/dependabot/pip/develop/ccxt-1.53.72
Bump ccxt from 1.53.25 to 1.53.72
2021-07-27 19:27:11 +02:00
Matthias b1feabc816
Merge pull request #5319 from Rikj000/docs/strategy-advanced/add-current_time-to-confirm_trade_entry-exit
Docs - StrategyAdvanced - Added `current_time` to `confirm_trade_entry/exit()` examples
2021-07-27 19:26:50 +02:00
Matthias 7480b5cd0f
Merge pull request #5322 from freqtrade/dependabot/pip/develop/mkdocs-material-7.2.1
Bump mkdocs-material from 7.1.11 to 7.2.1
2021-07-27 19:24:24 +02:00
Matthias ce3e81ae5f
Merge pull request #5323 from freqtrade/dependabot/pip/develop/fastapi-0.67.0
Bump fastapi from 0.66.0 to 0.67.0
2021-07-27 08:37:37 +02:00
dependabot[bot] a451a97274
Bump ccxt from 1.53.25 to 1.53.72
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.53.25 to 1.53.72.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.53.25...1.53.72)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-27 05:39:35 +00:00
Matthias a0b1157a10
Merge pull request #5327 from freqtrade/dependabot/pip/develop/pandas-1.3.1
Bump pandas from 1.3.0 to 1.3.1
2021-07-27 07:38:42 +02:00
Sam Germain 10d214ccad Added is_short and leverage to __repr__ 2021-07-26 23:09:47 -06:00
Sam Germain 4fcae0d927 Changed liquidation_price to isolated_liq 2021-07-26 23:09:47 -06:00
Sam Germain 1918304c5b persistence all to one test file, use more regular values like 2.0 for persistence tests 2021-07-26 23:09:47 -06:00
Sam Germain 35fd8d6a02 Added enter_side and exit_side computed variables to persistence 2021-07-26 23:09:47 -06:00
Sam Germain 4b81fb31fb Changed the name of a test to match it's equivelent
Removed test-analysis-lev
2021-07-26 23:09:47 -06:00
Matthias 3d7a74551f Boolean sqlite fix for orders table 2021-07-26 23:09:47 -06:00
Matthias 9a03cae920 Try fix migration tests 2021-07-26 23:09:47 -06:00
Sam Germain 0d06d7e108 updated mkdocs and leverage docs
Added tests for set_liquidation_price and set_stop_loss
updated params in interestmode enum
2021-07-26 23:09:47 -06:00
Sam Germain f1dc6b54ad Updated interest and ratio calculations to correct functions 2021-07-26 23:09:47 -06:00
Sam Germain 358f0303b9 updated ratio_calc_profit function 2021-07-26 23:09:47 -06:00
Sam Germain 546a7353df Added docstrings to methods 2021-07-26 23:09:47 -06:00
Sam Germain 7f75c978a0 All persistence margin tests pass
Flake8 compliant, passed mypy, ran isort .
2021-07-26 23:09:47 -06:00
Sam Germain a368dfa7b5 Changed InterestMode enum implementation 2021-07-26 23:09:47 -06:00
Sam Germain 86888dbbf0 Took liquidation price out of order completely 2021-07-26 23:09:47 -06:00
Sam Germain a19466c085 Moved leverage and is_short variables out of trade constructors and into conftest 2021-07-26 23:09:47 -06:00
Sam Germain 150df3eb88 Pass all but one test, because sqalchemy messes up 2021-07-26 23:09:46 -06:00
Sam Germain 98acb0f4ff set initial_stop_loss in stoploss helper 2021-07-26 23:09:46 -06:00
Sam Germain dd6cc1153b Tried to add liquidation price to order object, caused a test to fail 2021-07-26 23:09:46 -06:00
Sam Germain 1414df5e27 updated timezone.utc time 2021-07-26 23:09:46 -06:00
Sam Germain bb2a44735b Added liquidation_price check to test_stoploss_reinitialization_short 2021-07-26 23:09:46 -06:00
Sam Germain 2aa2b5bcff Added checks for making sure stop_loss doesn't go below liquidation_price 2021-07-26 23:09:46 -06:00
Sam Germain 3328707a1d made leveraged test names unique
test_adjust_stop_loss_short, test_update_market_order_shortpasses
2021-07-26 23:09:46 -06:00
Sam Germain 1b202ca22e Moved interest calculation to an enum 2021-07-26 23:09:46 -06:00
Sam Germain d48f1083b0 updated leverage.md 2021-07-26 23:09:46 -06:00
Sam Germain b6c8b60e65 Switched migrations.py check for stake_currency back to open_rate, because stake_currency is no longer a variable 2021-07-26 23:09:46 -06:00
Sam Germain ffadc7426c Removed exchange file modifications 2021-07-26 23:09:46 -06:00
Sam Germain c5ce8c6dd8 fixed rpc_apiserver test fails, changed test_persistence_long to test_persistence_leverage 2021-07-26 23:09:46 -06:00
Sam Germain 0d5749c508 Set default leverage to 1.0 2021-07-26 23:09:46 -06:00
Sam Germain 9ddb6981dd Updated tests to new persistence 2021-07-26 23:09:46 -06:00
Matthias 75b2c9ca1b Fix migrations, revert some parts related to amount properties 2021-07-26 23:09:46 -06:00
Sam Germain 25ff726921 Wrote all tests for shorting 2021-07-26 23:09:46 -06:00
Sam Germain 4d057b8047 Updated ratio calculation, updated short tests 2021-07-26 23:09:46 -06:00
Sam Germain 3a8a9eb255 Kraken interest test comes really close to passing
Added more trades to conftest_trades
2021-07-26 23:09:46 -06:00
Sam Germain 876386d2db Made borrowed a computed property 2021-07-26 23:09:46 -06:00
Sam Germain 2a50f4ff7b Turned amount into a computed property 2021-07-26 23:09:46 -06:00
Sam Germain da81be9050 About 15 margin tests pass 2021-07-26 23:09:46 -06:00
Sam Germain 6f6deae376 added exception checks to LocalTrade.leverage and LocalTrade.borrowed 2021-07-26 23:09:46 -06:00
Sam Germain c68a0f05d8 Added types to setters 2021-07-26 23:09:46 -06:00
Sam Germain 691a042e29 Set leverage and borowed to computed properties 2021-07-26 23:09:46 -06:00
Sam Germain 692c55088a Started some pytests for short and leverage
1 short test passes
2021-07-26 23:09:46 -06:00
Sam Germain b6cc3f02bf Created interest function 2021-07-26 23:09:46 -06:00
Sam Germain 613eecf16a Adding templates for leverage/short tests
All previous pytests pass
2021-07-26 23:09:46 -06:00
Sam Germain 67341aa4f2 Added changes suggested in pull request, fixed breaking changes,
can run the bot again
2021-07-26 23:09:46 -06:00
Sam Germain 20dcd9a1a2 Added changed to persistance/migrations 2021-07-26 23:09:46 -06:00
Sam Germain 69e81100e4 Updated Trade class 2021-07-26 23:09:46 -06:00
Sam Germain a27171b371 Updated LocalTrade and Order classes 2021-07-26 23:09:46 -06:00
Matthias 27fe6e0a1b
Merge pull request #5325 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.22
Bump sqlalchemy from 1.4.21 to 1.4.22
2021-07-26 18:17:50 +02:00
Matthias d2d21baa04
Merge pull request #5326 from freqtrade/dependabot/pip/develop/coveralls-3.2.0
Bump coveralls from 3.1.0 to 3.2.0
2021-07-26 18:16:46 +02:00
Matthias 5c011cba73
Merge pull request #5317 from samgermain/fix-spammy-console
Log level set to debug on exchange.get_rate
2021-07-26 18:12:36 +02:00
dependabot[bot] 0fac9c9cf2
Bump pandas from 1.3.0 to 1.3.1
Bumps [pandas](https://github.com/pandas-dev/pandas) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Changelog](https://github.com/pandas-dev/pandas/blob/master/RELEASE.md)
- [Commits](https://github.com/pandas-dev/pandas/compare/v1.3.0...v1.3.1)

---
updated-dependencies:
- dependency-name: pandas
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-26 03:01:25 +00:00
dependabot[bot] 6a3838ea4b
Bump coveralls from 3.1.0 to 3.2.0
Bumps [coveralls](https://github.com/TheKevJames/coveralls-python) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/TheKevJames/coveralls-python/releases)
- [Changelog](https://github.com/TheKevJames/coveralls-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TheKevJames/coveralls-python/compare/3.1.0...3.2.0)

---
updated-dependencies:
- dependency-name: coveralls
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-26 03:01:20 +00:00
dependabot[bot] 0f82174c52
Bump sqlalchemy from 1.4.21 to 1.4.22
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.21 to 1.4.22.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/master/CHANGES)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-26 03:01:16 +00:00
dependabot[bot] 7d428f9cb9
Bump fastapi from 0.66.0 to 0.67.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.66.0 to 0.67.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.66.0...0.67.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-26 03:01:05 +00:00
dependabot[bot] 11937fd1bf
Bump mkdocs-material from 7.1.11 to 7.2.1
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.1.11 to 7.2.1.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.1.11...7.2.1)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-26 03:00:57 +00:00
Sam Germain 05f74bdf53 Changed log ouput to debug in exchange.get_rate 2021-07-25 16:13:04 -06:00
Rik Helsen 1e32a3ca09 📝 Docs - StrategyAdvanced - Added `current_time` to `confirm_trade_entry/exit()` examples 2021-07-25 15:54:49 +02:00
sauces1313 4675d85b90
Merge branch 'freqtrade:develop' into RangeStabilityFilterMax 2021-07-25 02:37:56 -05:00
sauces1313 34c8a5afaf remove second filter, add max option 2021-07-25 07:24:55 +00:00
Sam Germain b42afb9dae get_rate checks if side is buy for some console output 2021-07-24 17:14:54 -06:00
raphael 06e7f379b3
Fix code to get Bittrex US-restricted markets
Old code was no longer working
2021-07-23 16:32:30 -04:00
kevinjulian b7ba2f115e retrigger checks 2021-07-23 21:20:32 +07:00
kevinjulian 0fcbe097c0 remove blankspace 2021-07-23 21:06:38 +07:00
kevinjulian 7a0cb95ffb fix testcase 2021-07-23 20:43:27 +07:00
kevinjulian b9c2489b73 remove SN 2021-07-23 18:41:29 +07:00
kevinjulian ba0fa1120a revert rename naming 2021-07-23 18:39:18 +07:00
kevinjulian acfaa39e54 revert back test_rpc_api_server 2021-07-23 18:34:18 +07:00
kevinjulian 8032257fdf revert test_pairlist 2021-07-23 18:30:25 +07:00
kevinjulian aea5da0c73 changes testcase 2021-07-23 11:42:43 +07:00
kevinjulian 65fc094c9f add to webhook-config 2021-07-23 09:31:51 +07:00
kevinjulian 5fe18be4b5 add note buy_tag and split 3 assignment for get_signal 2021-07-23 01:25:15 +07:00
Matthias b84a1d0c92 Don't crash when *_params is not defined in strategy
closes #5407
2021-07-22 20:21:04 +02:00
Kevin Julian dd923c3471
Update docs/strategy-advanced.md
Co-authored-by: Matthias <xmatthias@outlook.com>
2021-07-23 01:16:24 +07:00
Kevin Julian 65b4705b67
Update docs/strategy-advanced.md
Co-authored-by: Matthias <xmatthias@outlook.com>
2021-07-23 01:16:10 +07:00
Fausto Gutierrez 986aafcdf9
Fix configuration.md typos 2021-07-22 14:16:50 +02:00
kevinjulian b01daa8bbc expose buy_tag to api 2021-07-22 13:09:05 +07:00
kevinjulian dd809f756b run mypy 2021-07-22 02:34:20 +07:00
kevinjulian 643b6b950e run flake8 2021-07-22 02:23:34 +07:00
kevinjulian 25e329623f change signature 2021-07-22 02:11:54 +07:00
kevinjulian 46f2a20a98 run flake8 2021-07-22 02:00:51 +07:00
kevinjulian 235c1afd09 add buy_tag on telegram 2021-07-22 01:53:15 +07:00
kevinjulian f5a660f845 caps BUY_TAG_IDX 2021-07-21 20:19:56 +07:00
kevinjulian 49886874aa rename to buy_tag 2021-07-21 20:05:35 +07:00
GeorgeMurAlkh 759a350d73
Merge branch 'freqtrade:develop' into develop 2021-07-21 00:09:35 +03:00
George Muravei-Alkhavoi 1ea29a918a Fix webserver timerange problem. 2021-07-21 00:09:09 +03:00
kevinjulian db1e676639 retrigger checks 2021-07-21 00:48:03 +07:00
kevinjulian 66a7070170 run linter 2021-07-20 23:56:03 +07:00
kevinjulian 5d04d6ffa7 fix edge testcase 2021-07-20 23:40:32 +07:00
kevinjulian cbfedf8b29 fix backtest testcase 2021-07-20 23:25:00 +07:00
kevinjulian c558fc0b17 fix feedback 2021-07-20 20:40:32 +07:00
kevinjulian 3d8b2d601d fix test persistance 2021-07-20 20:23:47 +07:00
Kevin Julian edf9c08f06
Merge branch 'develop' into feat/kevinjulian/add-buy-signal-name 2021-07-20 19:19:46 +07:00
kevinjulian ed30c023cd fix some testcase 2021-07-20 19:08:14 +07:00
kevinjulian d31d38a85f add doc 2021-07-20 16:39:20 +07:00
kevinjulian ec526b3f96 fix testcase 2021-07-20 16:22:04 +07:00
kevinjulian 7d04005218 add test and migration 2021-07-20 16:14:48 +07:00
Matthias f870c0099b
Merge pull request #5300 from samgermain/ubuntu-setup-fix
Fixed setup for python3.9 on ubuntu
2021-07-20 07:04:08 +02:00
Matthias e4b42b2b5b
Merge pull request #5284 from samgermain/merge_get_buy_sell_rate
Merge get_buy_rate and get_sell_rate
2021-07-20 06:54:47 +02:00
Sam Germain 550a9de097 Fixed setup for python3.9 on ubuntu 2021-07-19 16:25:36 -06:00
kevinjulian 104711a9bf get_signal signature 2021-07-20 05:04:25 +07:00
kevinjulian 9e63bdbac9 feat: add buy signal name 2021-07-20 04:58:20 +07:00
Matthias 1f5504975c
Merge pull request #5289 from freqtrade/dependabot/pip/develop/ta-lib-0.4.21
Bump ta-lib from 0.4.20 to 0.4.21
2021-07-19 20:08:34 +02:00
Sam Germain b0bfbb6558 removed buy and sell merge, updated strategy name, removed default side for get_rate 2021-07-19 11:37:52 -06:00
Matthias d13524f7c1 Update ta-lib wheels 2021-07-19 19:36:24 +02:00
Matthias 59916d0e8b
Merge pull request #5288 from freqtrade/dependabot/pip/develop/mkdocs-1.2.2
Bump mkdocs from 1.2.1 to 1.2.2
2021-07-19 08:06:23 +02:00
Matthias cd9341a116
Merge pull request #5295 from freqtrade/dependabot/pip/develop/numpy-1.21.1
Bump numpy from 1.21.0 to 1.21.1
2021-07-19 07:01:48 +02:00
dependabot[bot] fe8de98832
Bump mkdocs from 1.2.1 to 1.2.2
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.2.1...1.2.2)

---
updated-dependencies:
- dependency-name: mkdocs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-19 04:47:28 +00:00
Matthias 55f3877ee6
Merge pull request #5290 from freqtrade/dependabot/pip/develop/mkdocs-material-7.1.11
Bump mkdocs-material from 7.1.10 to 7.1.11
2021-07-19 06:46:36 +02:00
Matthias c434d99b4f
Merge pull request #5291 from freqtrade/dependabot/pip/develop/requests-2.26.0
Bump requests from 2.25.1 to 2.26.0
2021-07-19 06:46:21 +02:00
Matthias 31b19b9a58
Merge pull request #5294 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.21
Bump sqlalchemy from 1.4.20 to 1.4.21
2021-07-19 06:44:32 +02:00
dependabot[bot] bff353a299
Bump numpy from 1.21.0 to 1.21.1
Bumps [numpy](https://github.com/numpy/numpy) from 1.21.0 to 1.21.1.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/HOWTO_RELEASE.rst.txt)
- [Commits](https://github.com/numpy/numpy/compare/v1.21.0...v1.21.1)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-19 04:41:25 +00:00
Matthias 56c3e0c3ba
Merge pull request #5293 from freqtrade/dependabot/pip/develop/questionary-1.10.0
Bump questionary from 1.9.0 to 1.10.0
2021-07-19 06:40:54 +02:00
Matthias 3a3ef4f35d
Merge pull request #5292 from freqtrade/dependabot/pip/develop/ccxt-1.53.25
Bump ccxt from 1.52.83 to 1.53.25
2021-07-19 06:40:35 +02:00
dependabot[bot] b7c951eacc
Bump sqlalchemy from 1.4.20 to 1.4.21
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.20 to 1.4.21.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/master/CHANGES)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-19 03:01:19 +00:00
dependabot[bot] 7efad98e47
Bump questionary from 1.9.0 to 1.10.0
Bumps [questionary](https://github.com/tmbo/questionary) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/tmbo/questionary/releases)
- [Commits](https://github.com/tmbo/questionary/compare/1.9.0...1.10.0)

---
updated-dependencies:
- dependency-name: questionary
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-19 03:01:13 +00:00
dependabot[bot] 4a26889743
Bump ccxt from 1.52.83 to 1.53.25
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.52.83 to 1.53.25.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.52.83...1.53.25)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-19 03:01:10 +00:00
dependabot[bot] 31b3b49999
Bump requests from 2.25.1 to 2.26.0
Bumps [requests](https://github.com/psf/requests) from 2.25.1 to 2.26.0.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/master/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.25.1...v2.26.0)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-19 03:01:04 +00:00
dependabot[bot] c1f1dfb36e
Bump mkdocs-material from 7.1.10 to 7.1.11
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.1.10 to 7.1.11.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.1.10...7.1.11)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-19 03:01:00 +00:00
dependabot[bot] e9d9668e8a
Bump ta-lib from 0.4.20 to 0.4.21
Bumps [ta-lib](https://github.com/mrjbq7/ta-lib) from 0.4.20 to 0.4.21.
- [Release notes](https://github.com/mrjbq7/ta-lib/releases)
- [Changelog](https://github.com/mrjbq7/ta-lib/blob/master/CHANGELOG)
- [Commits](https://github.com/mrjbq7/ta-lib/compare/TA_Lib-0.4.20...TA_Lib-0.4.21)

---
updated-dependencies:
- dependency-name: ta-lib
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-19 03:00:56 +00:00
George Muravei-Alkhavoi ab786abf7f Fix intendation. 2021-07-19 00:47:51 +03:00
George Muravei-Alkhavoi f705293353 Dataprovider caching and trimming to timerange of historical informative. 2021-07-19 00:25:24 +03:00
Matthias ffeff9c0f7 Update ARM image building 2021-07-18 19:33:25 +02:00
Matthias 365479f5e0 Remove startup-candles after populating buy/sell signals
closes #5242
2021-07-18 11:06:41 +02:00
Matthias adef5d89f3 Fix failing test after webserver merge 2021-07-18 11:06:14 +02:00
Matthias 7b7d9c02d7
Merge pull request #5243 from freqtrade/feat/webservermode_progress
Introduce webserver mode subcommand
2021-07-18 10:48:55 +02:00
Matthias 0282d13221 Fix PI image caching 2021-07-18 10:25:24 +02:00
Matthias 51cc903248 Run ci on selfhosted runner 2021-07-18 10:25:24 +02:00
Sam Germain 44df5eeacf Adjusted docstring, and conditional near end of buy_rate 2021-07-18 00:00:18 -06:00
Sam Germain 7c27525bd8 Merge get_buy_rate and get_sell_rate 2021-07-17 22:51:20 -06:00
Matthias 03a4ae4674
Merge pull request #5279 from rokups/patch-3
Honor skip_pair_validation setting when downloading pairs.
2021-07-17 08:44:22 +02:00
Rokas Kupstys 53a8c693b8
Honor skip_pair_validation setting when downloading pairs. 2021-07-17 09:21:03 +03:00
Matthias d652e6fcc4 Don't log from wallet in backtest mode 2021-07-16 19:57:49 +02:00
Matthias 4899b06b31
Merge pull request #5273 from freqtrade/fix/profit_calc
fix calculation logic for /profit
2021-07-16 19:19:28 +02:00
Matthias 3bc36cd650
Merge pull request #5275 from samgermain/example_json_filename_extensions
Example json filename extensions
2021-07-16 12:08:37 +02:00
Sam Germain a1ab8066f2 Merge branch 'example_json_filename_extensions' of https://github.com/samgermain/freqtrade into example_json_filename_extensions 2021-07-16 02:08:44 -06:00
Sam Germain 804bc8134f Merge branch 'develop' into example_json_filename_extensions 2021-07-16 02:05:08 -06:00
Sam Germain b7dc2989e7 flake8 adjustments 2021-07-16 02:03:25 -06:00
Matthias 2e95df4d8d Update docs for /profit output 2021-07-15 20:12:44 +02:00
Matthias 2928ee22ce Remove compose file for devcontainer 2021-07-15 19:48:16 +02:00
Matthias 708d5691b0
Merge pull request #5271 from samgermain/setup-mac-fix
setup.sh mac fix
2021-07-15 12:13:47 +02:00
Sam Germain 07e3f82400 Changed to python3.8 installing first, removed test_and_fix_python_on_mac 2021-07-15 01:03:32 -06:00
Sam Germain 65ce7c9838 Added echo python3.* line back in 2021-07-14 20:01:43 -06:00
Sam Germain 74d7497a47 Setup script tries to install python3.9 instead of 3.8 with this fix, python versions are also checked for in a loop instead of copy and pasted code 2021-07-14 19:25:51 -06:00
Sam Germain cde041f702 install hdf5 and c-blosc on mac if using python3.9 2021-07-14 19:20:12 -06:00
Matthias 697bf92f6f Add test for get_starting_balance method 2021-07-14 21:10:25 +02:00
Matthias 02d716a8be Fix api test 2021-07-14 21:03:57 +02:00
Matthias c9c7f84e8c Calculate relative profit based on assumed starting balance 2021-07-14 20:55:11 +02:00
Matthias f5c47767cb Provide available capital to api 2021-07-14 20:51:42 +02:00
Matthias 288c92301f Improve docs wording 2021-07-14 06:50:14 +02:00
Matthias 3451687135
Merge pull request #5255 from freqtrade/improve_dynamic_stake
Improve dynamic stake with multiple bots on the same exchange
2021-07-14 06:45:48 +02:00
Sam Germain 362436f7d2 Renamed example config files so they are .json so that syntax highlighting is all correct. Explicitly listed each one in .gitignore to prevent a real config file from being uploaded accidently 2021-07-13 19:39:23 -06:00
Matthias 29e2b858ca Improve wording in docs 2021-07-13 20:40:06 +02:00
Sam Germain 2bf7705f2c Renamed example config files so they are .json so that syntax highlighting is all correct. Explicitly listed each one in .gitignore to prevent a real config file from being uploaded accidently 2021-07-12 23:05:35 -06:00
Matthias a261b188da
Merge pull request #5265 from anasyusef/censor_db_pwd_logs
Censor DB password when outputting to logs
2021-07-12 20:48:41 +02:00
anasyusef 08a4da6f51 Merge branch 'censor_db_pwd_logs' of https://github.com/anasyusef/freqtrade into censor_db_pwd_logs 2021-07-12 13:24:38 +00:00
anasyusef 91e5562ae0 style: apply flake8 formatting 2021-07-12 13:22:36 +00:00
Matthias 3c001dfcf6
Merge pull request #5264 from freqtrade/dependabot/pip/develop/isort-5.9.2
Bump isort from 5.9.1 to 5.9.2
2021-07-12 15:10:36 +02:00
anasyusef 8def18b002 style: apply flake8 formatting 2021-07-12 12:31:13 +00:00
anasyusef 313cf6a013 test: add test for parsing db uri 2021-07-12 12:28:34 +00:00
anasyusef c78b2075d8 feat: add one additional asterisk 2021-07-12 12:27:59 +00:00
anasyusef 6a53e2c764 feat: apply censoring to logging 2021-07-12 12:08:01 +00:00
anasyusef f94dbcd085 feat: censor password from logs 2021-07-12 12:02:10 +00:00
Matthias 40db424363 Add documentation for available capital setting 2021-07-12 07:11:56 +02:00
Matthias 6a8e8875a2 Test new behaviour 2021-07-12 06:54:06 +02:00
Matthias 7863746904 Add available_capital parameter 2021-07-12 06:54:06 +02:00
Matthias b41c234440 Extract Closed profit calculation to trade object 2021-07-12 06:54:06 +02:00
Matthias ed77889d6b Add explicit tests for _validate_stake_amount 2021-07-12 06:52:59 +02:00
Matthias c583452a5a
Merge pull request #5263 from freqtrade/dependabot/pip/develop/mkdocs-material-7.1.10
Bump mkdocs-material from 7.1.9 to 7.1.10
2021-07-12 06:40:10 +02:00
Matthias 5f94c3f81b
Merge pull request #5262 from freqtrade/dependabot/pip/develop/ccxt-1.52.83
Bump ccxt from 1.52.40 to 1.52.83
2021-07-12 06:38:01 +02:00
dependabot[bot] 81c50aca01
Bump isort from 5.9.1 to 5.9.2
Bumps [isort](https://github.com/pycqa/isort) from 5.9.1 to 5.9.2.
- [Release notes](https://github.com/pycqa/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pycqa/isort/compare/5.9.1...5.9.2)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-12 03:01:38 +00:00
dependabot[bot] 21ef08d9a8
Bump mkdocs-material from 7.1.9 to 7.1.10
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.1.9 to 7.1.10.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.1.9...7.1.10)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-12 03:01:34 +00:00
dependabot[bot] f4caf9b93c
Bump ccxt from 1.52.40 to 1.52.83
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.52.40 to 1.52.83.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.52.40...1.52.83)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-12 03:01:29 +00:00
Matthias 8b78a3bde2 Quick fix for trades opening below min-trade amount 2021-07-11 21:01:12 +02:00
Matthias 38296e8689
Merge pull request #5189 from rokups/rk/custom-stake
Implement strategy-controlled stake sizes
2021-07-11 19:45:43 +02:00
Matthias 7ea0a74c53 Default to proposed stake 2021-07-11 14:11:41 +02:00
Rokas Kupstys 0e4466ca1e Implement strategy-controlled stake sizes. Expose `self.wallet` to a strategy. 2021-07-11 12:38:58 +03:00
Matthias f658cfa349 Remove Slack
As the community is mostly active on discord, there's little point in
linking people to Slack as well
2021-07-11 11:13:27 +02:00
Matthias 52ae95b2a5 Improve naming of apiserver variables 2021-07-10 11:20:21 +02:00
Matthias ad26b0dad0 Don't void backtest object when not necessary 2021-07-10 10:59:00 +02:00
Matthias 72a103f32d Properly test webserver startup in standalone mode 2021-07-10 10:21:25 +02:00
Matthias e4e2340f91 Fix bug where currencies are duplicated
in case there is dust
2021-07-10 10:02:05 +02:00
Matthias cf6f706078
Don't build for feat branches
that breaks CI for PR's
2021-07-10 10:01:15 +02:00
Matthias 6129c5ca9e Fix deprecation warnings from pandas 1.3.0
closes #5251
2021-07-09 20:46:38 +02:00
Matthias 2f33b97b95 Validate startup candles for backtesting correctly
closes #5250
2021-07-09 07:20:43 +02:00
Matthias fb25130588
Merge pull request #5244 from octaviusgus/develop
fix daily profit data bug and daily profit curve example
2021-07-09 07:06:14 +02:00
Matthias d96d6024f4
Merge pull request #5252 from kevinjulian/agefilter-max-days-listed
Fix Agefilter cannot appear on startup messages
2021-07-08 20:29:06 +02:00
Matthias 03861945a3 Update documentation page too. 2021-07-08 20:04:47 +02:00
kevinjulian 2a4a980855 Merge branch 'agefilter-max-days-listed' of https://github.com/kevinjulian/freqtrade into agefilter-max-days-listed 2021-07-08 19:25:32 +07:00
kevinjulian 863391122f fix short desc not appear 2021-07-08 13:42:52 +07:00
Matthias 225522762b
Merge pull request #5231 from nightshift2k/enhancement/range-based-volumefilter
Range based VolumeFilter
2021-07-08 07:22:37 +02:00
Matthias 8be0241573 Build images for feat/** branches 2021-07-08 07:07:56 +02:00
Matthias e5da7ff6db Fix typos and improve wording in docs 2021-07-08 07:02:40 +02:00
Matthias 76e51cddba
Merge pull request #5246 from nightshift2k/feature/offsetfilter
new filter OffsetFilter for offsetting incoming pairlists
2021-07-07 21:06:23 +02:00
nightshift2k 7dc826d6b3 warning for range based lookback performance
more readable formatting of examples
2021-07-07 20:43:37 +02:00
nightshift2k 5a2bc192d4
Update docs/includes/pairlists.md
Co-authored-by: Matthias <xmatthias@outlook.com>
2021-07-07 20:29:55 +02:00
nightshift2k 4d4ed82db8
Update docs/includes/pairlists.md
Co-authored-by: Matthias <xmatthias@outlook.com>
2021-07-07 20:29:52 +02:00
Matthias 62f2597f7a
Merge pull request #5228 from kevinjulian/agefilter-max-days-listed
feat(agefilter): add max_days_listed
2021-07-07 20:22:04 +02:00
Matthias 682f880630 Slightly simplify if statement, add additional test 2021-07-07 20:05:56 +02:00
kevinjulian 8248d1acd1 run flake8 2021-07-07 22:10:22 +07:00
kevinjulian 00a1931f40 fix test 2021-07-07 21:24:44 +07:00
nightshift2k c44e87cd30 added tests for `OffsetFilter
to `test_pairlist.py`
2021-07-07 12:06:55 +02:00
nightshift2k 6cea0ef2d7 documentation for `OffsetFilter` 2021-07-07 11:48:26 +02:00
nightshift2k f30e300f18 adjusted `test_pairlist.py` for fixed rolling sum 2021-07-07 11:28:35 +02:00
sauces1313 8b0a02db8e Correct exception messages 2021-07-07 08:11:13 +00:00
sauces1313 8b485d197a Update Plugins doc 2021-07-07 07:54:17 +00:00
nightshift2k 3c3772703b changed quoteVolume to be built over a
rolling period using lookback_period
to avoid pair_candles being larger
than requested lookback_period
2021-07-07 09:46:05 +02:00
user 638bed3dac Add RangeStabilityFilterMax pairlist filter 2021-07-07 06:46:51 +00:00
octaviusgus d1104bd434 fix daily profit data and daily profit curve example 2021-07-06 22:47:39 +02:00
Matthias b7a9853d9a Increase test coverage 2021-07-06 21:04:52 +02:00
Matthias a4bd862323 Fix fluky test 2021-07-06 20:29:04 +02:00
Matthias 36d4a15d24 quickly document webserver mode 2021-07-06 19:48:28 +02:00
Matthias 005da97183 extract backtesting abort functionality 2021-07-06 19:48:28 +02:00
Matthias 5474d5ee64 Move webserver start command to seperate file 2021-07-06 19:48:28 +02:00
Matthias e5b1657ab3 Properly remove rpc handler 2021-07-06 19:48:28 +02:00
Matthias 2ec22f1d97 Add Sorting to available pair list 2021-07-06 19:48:28 +02:00
Matthias 830b2548bc Add backtest stopping 2021-07-06 19:48:28 +02:00
Matthias 129c7b02d0 Not all config values are mandatory in webserver mode 2021-07-06 19:48:28 +02:00
Matthias 17b3cc2097 Return numeric value, not empty string 2021-07-06 19:48:28 +02:00
Matthias b44d215b90 Add test for backtest via APII 2021-07-06 19:48:28 +02:00
Matthias 804d99cce9 Move backtesting api to it's own file 2021-07-06 19:48:28 +02:00
Matthias 8566306010 Add test for start_websever 2021-07-06 19:48:28 +02:00
Matthias 134c61126e Properly track bt progress ... 2021-07-06 19:48:28 +02:00
Matthias 03140a0ecb Run webserver in main thread when using webserver mode 2021-07-06 19:48:28 +02:00
Matthias 37b15e830a Add trade count to progress 2021-07-06 19:48:28 +02:00
Matthias 048008756f Add progress tracking for backtesting 2021-07-06 19:48:28 +02:00
Matthias 06b6726029 Support compounding key 2021-07-06 19:48:28 +02:00
Matthias f96d7dfe6d Allow backtesting to reuse data
Allow activating / deactivating protections dynamically
2021-07-06 19:48:28 +02:00
Matthias edb8c4f0e5 Fix tests for webserver mode 2021-07-06 19:48:28 +02:00
Matthias 5c18c8726d Implement backtesting with fastapi 2021-07-06 19:48:28 +02:00
Matthias df55259737 Add start_trading endpoint 2021-07-06 19:48:28 +02:00
Matthias 02b84bd018 Introduce webserver mode for fastapi 2021-07-06 19:48:28 +02:00
Matthias 800e314bfd Store backtesting results in backtest instance 2021-07-06 19:48:28 +02:00
Matthias 97e8ec91f0 Save configuration file paths 2021-07-06 19:48:28 +02:00
Matthias ef137546fe Add webserver entrypoint 2021-07-06 19:48:28 +02:00
Kevin Julian 0f3d34eaf4
Merge branch 'develop' into agefilter-max-days-listed 2021-07-06 19:47:18 +07:00
kevinjulian 502c69dce3 change short desc 2021-07-06 19:36:42 +07:00
Matthias dec523eef0 Display verison of installed FreqUI 2021-07-06 07:20:05 +02:00
nightshift2k 1e87225e91 added `test_VolumePairList_range` to test_pairlist.py 2021-07-05 20:59:27 +02:00
Matthias baf6bca34e
Merge pull request #5240 from freqtrade/dependabot/pip/develop/pandas-1.3.0
Bump pandas from 1.2.5 to 1.3.0
2021-07-05 19:56:03 +02:00
Matthias 10998eb0fa Remove further usages of int(int_timestamp) 2021-07-05 19:51:14 +02:00
Matthias 1682578a39
Merge pull request #5234 from nightshift2k/fixups/pairlists
fixup pairlist filters, change  float_timestamp to int_timestamp
2021-07-05 19:45:35 +02:00
nightshift2k 346d66748b first version of OffsetFilter 2021-07-05 12:50:56 +02:00
nightshift2k 5626ca5a06 removed unnecessary casting to int() 2021-07-05 10:39:22 +02:00
Matthias 70a41a0f67
Merge pull request #5239 from freqtrade/dependabot/pip/develop/python-telegram-bot-13.7
Bump python-telegram-bot from 13.6 to 13.7
2021-07-05 07:06:28 +02:00
Matthias eb3ead4930
Merge pull request #5229 from kevinjulian/telegram-balance
compact low balance currencies
2021-07-05 06:56:35 +02:00
dependabot[bot] ac7598ff14
Bump python-telegram-bot from 13.6 to 13.7
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 13.6 to 13.7.
- [Release notes](https://github.com/python-telegram-bot/python-telegram-bot/releases)
- [Changelog](https://github.com/python-telegram-bot/python-telegram-bot/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-telegram-bot/python-telegram-bot/compare/v13.6...v13.7)

---
updated-dependencies:
- dependency-name: python-telegram-bot
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-05 04:31:00 +00:00
dependabot[bot] 0c8afea382
Bump pandas from 1.2.5 to 1.3.0
Bumps [pandas](https://github.com/pandas-dev/pandas) from 1.2.5 to 1.3.0.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Changelog](https://github.com/pandas-dev/pandas/blob/master/RELEASE.md)
- [Commits](https://github.com/pandas-dev/pandas/compare/v1.2.5...v1.3.0)

---
updated-dependencies:
- dependency-name: pandas
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-05 04:30:54 +00:00
Matthias 94ec9d2366
Merge pull request #5237 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.20
Bump sqlalchemy from 1.4.19 to 1.4.20
2021-07-05 06:29:58 +02:00
Matthias 6c789e4130
Merge pull request #5236 from freqtrade/dependabot/pip/develop/ccxt-1.52.40
Bump ccxt from 1.52.4 to 1.52.40
2021-07-05 06:29:39 +02:00
Matthias 1e696c4a20
Merge pull request #5235 from freqtrade/dependabot/pip/develop/plotly-5.1.0
Bump plotly from 5.0.0 to 5.1.0
2021-07-05 06:29:19 +02:00
Matthias d146697297
Merge pull request #5238 from freqtrade/dependabot/pip/develop/fastapi-0.66.0
Bump fastapi from 0.65.2 to 0.66.0
2021-07-05 06:28:56 +02:00
dependabot[bot] d1555a1095
Bump fastapi from 0.65.2 to 0.66.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.65.2 to 0.66.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.65.2...0.66.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-05 03:01:28 +00:00
dependabot[bot] 7ae5f47242
Bump sqlalchemy from 1.4.19 to 1.4.20
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.19 to 1.4.20.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/master/CHANGES)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-05 03:01:24 +00:00
dependabot[bot] 2f97846bd8
Bump ccxt from 1.52.4 to 1.52.40
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.52.4 to 1.52.40.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.52.4...1.52.40)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-05 03:01:18 +00:00
dependabot[bot] 0d787fde58
Bump plotly from 5.0.0 to 5.1.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.0.0...v5.1.0)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-05 03:01:11 +00:00
nightshift2k 7ac55e5415 AgeFilter, RangeStabilityFilter, VolatilityFilter
changed `float_timestamp` to `int_timestamp`
2021-07-04 21:08:42 +02:00
nightshift2k 85c7b55750 improvements:
- `float_timestamp` switched to `int_timestamp`
- added documentation to pairlists.md
2021-07-04 20:46:24 +02:00
Matthias d758b0ccab
Merge pull request #5232 from octaviusgus/patch-1
Daily profit plotting / equity curve
2021-07-04 20:00:44 +02:00
Matthias c5489d530a Reexport File to docs to have this available as documentation too 2021-07-04 19:50:44 +02:00
kevinjulian c3cf71bba8 sort import 2021-07-04 22:04:39 +07:00
kevinjulian 2d5ced7801 fix testcase 2021-07-04 21:59:59 +07:00
kevinjulian 9e548657e0 fix testcase 2021-07-04 21:08:46 +07:00
octaviusgus 558bcc7959 Jupyter notebook snippet: Plotting daily profit / equity line 2021-07-04 15:56:55 +02:00
octaviusgus 4aa2ae37bd
add daily_profit_list
added extra key daily_profit in return of optimize_reports.generate_daily_stats
this allows us to analyze and plot a daily profit chart / equity line using snippet below inside jupyter notebook

```
# Plotting equity line (starting with 0 on day 1 and adding daily profit for each backtested day)

from freqtrade.configuration import Configuration
from freqtrade.data.btanalysis import load_backtest_data, load_backtest_stats
import plotly.express as px
import pandas as pd

# strategy = 'Strat'
# config = Configuration.from_files(["user_data/config.json"])
# backtest_dir = config["user_data_dir"] / "backtest_results"

stats = load_backtest_stats(backtest_dir)
strategy_stats = stats['strategy'][strategy]

equity = 0
equity_daily = []
for dp in strategy_stats['daily_profit']:
    equity_daily.append(equity)
    equity += float(dp)

dates = pd.date_range(strategy_stats['backtest_start'], strategy_stats['backtest_end'])

df = pd.DataFrame({'dates':dates,'equity_daily':equity_daily})

fig = px.line(df, x="dates", y="equity_daily")
fig.show()

```
2021-07-04 14:38:17 +02:00
Matthias 791dfd9ba3 Fix some doc typos 2021-07-04 14:02:11 +02:00
Matthias 898bef1837
Merge pull request #5219 from freqtrade/hyperopt_paramfile
automatic Hyperopt paramfile
2021-07-04 13:56:52 +02:00
nightshift2k 9919061c78 PEP8 compliance 2021-07-04 11:40:45 +02:00
nightshift2k 348dbeff3f added meaningful logging of used lookback range 2021-07-04 11:16:33 +02:00
Matthias 77293b1f1e Remove Zero duration Trades
after the recent backtesting fixes, this metric no longer makes sense, as it can't really be 0 any longer.
2021-07-04 10:50:10 +02:00
Matthias a4096318e0 Provide full backtest-statistics to Hyperopt loss functions
closes #5223
2021-07-04 10:15:19 +02:00
kevinjulian 7efa228d73 add dust balance 2021-07-04 03:08:29 +07:00
kevinjulian dbdd7f38a8 add plural 2021-07-04 02:56:05 +07:00
kevinjulian b722e12350 compact low balance currencies 2021-07-04 02:44:48 +07:00
kevinjulian f6511c3e3f fix typo and add blocker 2021-07-04 02:20:53 +07:00
kevinjulian b72bbebccb fix flake8 2021-07-04 01:46:51 +07:00
kevinjulian 3d9f3eeb07 feat(agefilter): add max_days_listed 2021-07-03 23:58:04 +07:00
Matthias e9dbd57da4
Merge pull request #5221 from rokups/patch-2
Add range property to CategoricalParameter.
2021-07-03 16:00:24 +02:00
Matthias dc8abd77df Fix import order 2021-07-03 15:45:00 +02:00
Rokas Kupstys 3686efa08a Add range property to CategoricalParameter and DecimalParameter, add their tests.
At the moment we can keep a single code path when using IntParameter, but we have to make a special hyperopt case for CategoricalParameter/DecimalParameter. Range property solves this.
2021-07-03 16:02:45 +03:00
nightshift2k 53f963dd73 fixed `self._tf_in_secs` to `self._tf_in_sec` 2021-07-03 11:49:05 +02:00
nightshift2k 62da4b452c code cleanup and comments 2021-07-03 11:47:17 +02:00
nightshift2k 055229a44a first iteration of volume pairlist with range lookback 2021-07-03 11:39:14 +02:00
Matthias 9d6860337f
Merge pull request #5212 from rokups/rk/trailing-stop-2
Trailing stoploss in backtesting v2
2021-07-03 08:39:30 +02:00
Matthias 3503fdb4ec Improve tests for newly added methods 2021-07-03 08:38:55 +02:00
Matthias fbd91cd3f8 Improve formatting to avoid backslash newlines 2021-07-03 08:22:21 +02:00
Matthias b25ad68c44 Fix np.bool_ not outputting correctly 2021-07-02 20:52:25 +02:00
Matthias 849f01e6b7 FIx doc typo 2021-07-02 06:45:52 +02:00
Matthias 7acbc9a554
Merge pull request #5220 from freqtrade/dependabot/docker/python-3.9.6-slim-buster
Bump python from 3.9.5-slim-buster to 3.9.6-slim-buster
2021-07-01 06:17:49 +02:00
dependabot[bot] 99bc6bbb8f
Bump python from 3.9.5-slim-buster to 3.9.6-slim-buster
Bumps python from 3.9.5-slim-buster to 3.9.6-slim-buster.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-01 03:02:05 +00:00
Matthias e034f11dcc Improve test for hyperopt_show 2021-06-30 20:21:33 +02:00
Matthias b8de3270fa Plotting: Fix hover mode options after plotly update
closes #5209
2021-06-30 20:11:11 +02:00
Matthias 60b7f6edff Improve documentation 2021-06-30 19:53:36 +02:00
Matthias 15e36a20e1 Improve naming of default hyperopt serializer 2021-06-30 19:48:34 +02:00
Rokas Kupstys bc0742ae67 Fix extremely optimistic results when using a combination of custom_stoploss and trailing_stop. 2021-06-30 09:10:50 +03:00
Matthias 0809225a0a Update documentation to mention parameter strategy files 2021-06-30 07:05:20 +02:00
Matthias 645da51b5f Add test for parameter loading 2021-06-30 06:55:10 +02:00
Matthias dcf53ac3ff Add test for try_eport_params 2021-06-30 06:33:40 +02:00
Matthias ff61b8a2e7 Disable parameter export from tests 2021-06-29 20:57:16 +02:00
Matthias 84703080b8 Extract hyperopt_defaults_serializer to hyperopt_tools 2021-06-29 20:51:29 +02:00
Matthias 55f032b18e Catch trying to read faulty parameter file 2021-06-29 20:51:29 +02:00
Matthias 62cdbdc26a Automatically export hyperopt parameters 2021-06-29 20:51:25 +02:00
Matthias af04c8e2da
Merge pull request #5205 from barisengez/develop
Added timerange and max open trades info above multiple strategy backtest result summary table
2021-06-29 16:49:17 +02:00
barbarius a8117c6e0b Refactored to use results variable from for loop 2021-06-29 11:24:49 +02:00
Matthias a2ccc1526e Load parameters from file 2021-06-29 07:07:34 +02:00
Matthias 8ca0076332 Fix small typos 2021-06-29 06:50:47 +02:00
Matthias d4514f5f16 Introduce File versions to hyperopt result files 2021-06-29 06:50:47 +02:00
Matthias a7e9e362b7 Simplify printing logic for non-optimized parameters 2021-06-29 06:50:47 +02:00
Matthias 8b7010fc9a Update pprint name 2021-06-29 06:50:47 +02:00
Matthias aa5181ca81 Properly export non-optimized parameters 2021-06-29 06:50:47 +02:00
Matthias ef14359d31 Add some tests for paramfile writing 2021-06-29 06:50:47 +02:00
Matthias e97de4643f Move tests to hyperopttools test file 2021-06-29 06:50:47 +02:00
Matthias 34e6ce431f Print non-optimized parameters (also stop / roi) 2021-06-29 06:50:47 +02:00
Matthias 2310deec53 Update name to get non-optimized parameters 2021-06-29 06:50:47 +02:00
Matthias 8cdd1e3aef Fix some type errors 2021-06-29 06:50:47 +02:00
Matthias 2bf17f71e7 Dump parameters from hyperopt-show 2021-06-29 06:50:47 +02:00
Matthias 750c780293 Support loading parameters from json file 2021-06-29 06:50:47 +02:00
Matthias eb5cee4934
Merge pull request #5210 from eschava/profit_best_pair
"/profit N" command should print best pair for the same period of time, not for all trades
2021-06-29 06:39:46 +02:00
Eugene Schava d54de72471 "/profit N" command should print best pair for the same period of time, not for all trades 2021-06-28 23:42:09 +03:00
Matthias 65d7e74888 Add note about ldconfig
#2087
2021-06-28 19:44:15 +02:00
Matthias 0907a572df
Merge pull request #5201 from freqtrade/dependabot/pip/develop/plotly-5.0.0
Bump plotly from 4.14.3 to 5.0.0
2021-06-28 19:44:07 +02:00
Matthias 534083c665
Merge pull request #5197 from freqtrade/dependabot/pip/develop/mkdocs-material-7.1.9
Bump mkdocs-material from 7.1.8 to 7.1.9
2021-06-28 19:28:23 +02:00
barbarius a0f28f4a15 Added max open trades to strategy summary first line 2021-06-28 17:05:12 +02:00
Matthias 5af04c1a66
Merge pull request #5193 from freqtrade/dependabot/pip/develop/mypy-0.910
Bump mypy from 0.902 to 0.910
2021-06-28 13:45:48 +02:00
dependabot[bot] 8a0523885e
Bump mypy from 0.902 to 0.910
Bumps [mypy](https://github.com/python/mypy) from 0.902 to 0.910.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.902...v0.910)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 11:19:46 +00:00
Matthias a92b332550
Merge pull request #5195 from freqtrade/dependabot/pip/develop/nbconvert-6.1.0
Bump nbconvert from 6.0.7 to 6.1.0
2021-06-28 13:18:54 +02:00
Matthias d1b0964c03
Merge pull request #5203 from freqtrade/dependabot/pip/develop/pandas-1.2.5
Bump pandas from 1.2.4 to 1.2.5
2021-06-28 13:18:40 +02:00
barbarius 2e5b719de8 Added timerange above multiple strategy backtest result summary table 2021-06-28 10:54:54 +02:00
barbarius c99ae3b419 Added timerange above multiple strategy backtest result summary table 2021-06-28 10:20:34 +02:00
dependabot[bot] 3215232691
Bump pandas from 1.2.4 to 1.2.5
Bumps [pandas](https://github.com/pandas-dev/pandas) from 1.2.4 to 1.2.5.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Changelog](https://github.com/pandas-dev/pandas/blob/master/RELEASE.md)
- [Commits](https://github.com/pandas-dev/pandas/compare/v1.2.4...v1.2.5)

---
updated-dependencies:
- dependency-name: pandas
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 08:07:05 +00:00
Matthias f3684e0051
Merge pull request #5196 from freqtrade/dependabot/pip/develop/sqlalchemy-1.4.19
Bump sqlalchemy from 1.4.18 to 1.4.19
2021-06-28 10:05:41 +02:00
Matthias 0f586bec2d
Merge pull request #5202 from freqtrade/dependabot/pip/develop/ccxt-1.52.4
Bump ccxt from 1.51.77 to 1.52.4
2021-06-28 10:05:24 +02:00
dependabot[bot] 91bb378207
Bump nbconvert from 6.0.7 to 6.1.0
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 6.0.7 to 6.1.0.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Commits](https://github.com/jupyter/nbconvert/compare/6.0.7...6.1.0)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 08:04:03 +00:00
Matthias 6dbebe2634
Merge pull request #5199 from freqtrade/dependabot/pip/develop/urllib3-1.26.6
Bump urllib3 from 1.26.5 to 1.26.6
2021-06-28 10:03:31 +02:00
Matthias 86e8ab6bf3
Merge pull request #5200 from freqtrade/dependabot/pip/develop/isort-5.9.1
Bump isort from 5.8.0 to 5.9.1
2021-06-28 10:03:00 +02:00
Matthias 82677f4235
Merge pull request #5204 from freqtrade/dependabot/pip/develop/types-requests-2.25.0
Bump types-requests from 0.1.13 to 2.25.0
2021-06-28 10:02:29 +02:00
dependabot[bot] 06829c8400
Bump ccxt from 1.51.77 to 1.52.4
Bumps [ccxt](https://github.com/ccxt/ccxt) from 1.51.77 to 1.52.4.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/exchanges.cfg)
- [Commits](https://github.com/ccxt/ccxt/compare/1.51.77...1.52.4)

---
updated-dependencies:
- dependency-name: ccxt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 04:52:20 +00:00
dependabot[bot] 694f30d0f8
Bump types-requests from 0.1.13 to 2.25.0
Bumps [types-requests](https://github.com/python/typeshed) from 0.1.13 to 2.25.0.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 04:52:05 +00:00
Matthias 22c6d18cd8
Merge pull request #5194 from freqtrade/dependabot/pip/develop/numpy-1.21.0
Bump numpy from 1.20.3 to 1.21.0
2021-06-28 06:51:30 +02:00
Matthias 6a769c9d59
Merge pull request #5198 from freqtrade/dependabot/pip/develop/python-rapidjson-1.4
Bump python-rapidjson from 1.0 to 1.4
2021-06-28 06:49:11 +02:00
dependabot[bot] 157ff82197
Bump urllib3 from 1.26.5 to 1.26.6
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.5 to 1.26.6.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/1.26.6/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.5...1.26.6)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 04:48:44 +00:00
dependabot[bot] 6824e64dcd
Bump sqlalchemy from 1.4.18 to 1.4.19
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 1.4.18 to 1.4.19.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/master/CHANGES)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

---
updated-dependencies:
- dependency-name: sqlalchemy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 04:48:41 +00:00
dependabot[bot] 9e09b271e7
Bump isort from 5.8.0 to 5.9.1
Bumps [isort](https://github.com/pycqa/isort) from 5.8.0 to 5.9.1.
- [Release notes](https://github.com/pycqa/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pycqa/isort/compare/5.8.0...5.9.1)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 04:48:13 +00:00
Matthias 30557c28bb
Merge pull request #5192 from freqtrade/dependabot/pip/develop/arrow-1.1.1
Bump arrow from 1.1.0 to 1.1.1
2021-06-28 06:47:55 +02:00
dependabot[bot] 281c18badc
Bump plotly from 4.14.3 to 5.0.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 4.14.3 to 5.0.0.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v4.14.3...v5.0.0)

---
updated-dependencies:
- dependency-name: plotly
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 04:47:43 +00:00
Matthias 6ce58601f7
Merge pull request #5191 from freqtrade/dependabot/pip/develop/types-cachetools-0.1.9
Bump types-cachetools from 0.1.8 to 0.1.9
2021-06-28 06:47:15 +02:00
dependabot[bot] 3026c340ca
Bump python-rapidjson from 1.0 to 1.4
Bumps [python-rapidjson](https://github.com/python-rapidjson/python-rapidjson) from 1.0 to 1.4.
- [Release notes](https://github.com/python-rapidjson/python-rapidjson/releases)
- [Changelog](https://github.com/python-rapidjson/python-rapidjson/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-rapidjson/python-rapidjson/compare/v1.0...v1.4)

---
updated-dependencies:
- dependency-name: python-rapidjson
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 03:01:33 +00:00
dependabot[bot] d41218c97e
Bump mkdocs-material from 7.1.8 to 7.1.9
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.1.8 to 7.1.9.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.1.8...7.1.9)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 03:01:30 +00:00
dependabot[bot] 738fe45b4b
Bump numpy from 1.20.3 to 1.21.0
Bumps [numpy](https://github.com/numpy/numpy) from 1.20.3 to 1.21.0.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/HOWTO_RELEASE.rst.txt)
- [Commits](https://github.com/numpy/numpy/compare/v1.20.3...v1.21.0)

---
updated-dependencies:
- dependency-name: numpy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 03:01:17 +00:00
dependabot[bot] d810c262e4
Bump arrow from 1.1.0 to 1.1.1
Bumps [arrow](https://github.com/arrow-py/arrow) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/arrow-py/arrow/releases)
- [Changelog](https://github.com/arrow-py/arrow/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/arrow-py/arrow/compare/1.1.0...1.1.1)

---
updated-dependencies:
- dependency-name: arrow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 03:01:09 +00:00
dependabot[bot] d09b712458
Bump types-cachetools from 0.1.8 to 0.1.9
Bumps [types-cachetools](https://github.com/python/typeshed) from 0.1.8 to 0.1.9.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 03:01:06 +00:00
Matthias ab07fb5b3f
Merge pull request #5188 from freqtrade/move_config_settings
Move ask_strategy config settings to root level
2021-06-27 11:30:50 +02:00
Matthias 34448fb87c Expose default currency precision to API 2021-06-26 20:46:54 +02:00
Matthias 00a7097b9e Reduce verbosity of getting sell-rate from orderbook 2021-06-26 20:09:52 +02:00
Matthias 3f669147f1 Simplify strategy-resolver moving 2021-06-26 17:55:31 +02:00
Matthias 158cb415a9 Add settings interface to have types available 2021-06-26 17:28:37 +02:00
Matthias ce69abc06e Update docs and tests for newly deprectated settings 2021-06-26 17:11:15 +02:00
Matthias b7f01a08f3 Update sequence of process_deprecated_setting parameters 2021-06-26 17:03:51 +02:00
Matthias 0235868c66 Update tests for new config structure 2021-06-26 16:39:01 +02:00
Matthias 1067a9f356 Move strategy-override signals to top-level of the config
closes #2867
2021-06-26 16:06:13 +02:00
Matthias 60c7308126
Merge pull request #5183 from freqtrade/remove_order_book_max
Remove order book max
2021-06-26 14:56:10 +02:00
Matthias fa72ed10b6 Add Kukoin to community tested exchanges 2021-06-26 14:44:51 +02:00
Matthias c62fad0088 Pricing strategies should default to use orderbook pricing 2021-06-26 08:19:37 +02:00
Matthias 0ecf456d7f
Update Deprecation date 2021-06-26 08:13:31 +02:00
Matthias 59a33d0fa9 Add test for ask_orderbook validation 2021-06-25 20:52:34 +02:00
Matthias 8c542e4028 Update tests for removed order_book_max option 2021-06-25 20:45:53 +02:00
Matthias ae6a5c908e Update documentation to reflect new setting for sell price 2021-06-25 20:37:17 +02:00
Matthias d59a38665c Remove support for order_book_max 2021-06-25 20:36:39 +02:00
Cryptomeister Nox 85979c3176 * Adding command for Filtering
* Read latest Backtest file and print trades
2021-06-17 20:35:02 +02:00
rextea 76a02ff70a fix indentations 2021-03-26 18:49:17 +03:00
rextea 2bed41da5d Add days breakdown table to backtesting 2021-03-26 18:40:50 +03:00
512 changed files with 93280 additions and 19211 deletions

View File

@ -1,13 +1,24 @@
{
"name": "freqtrade Develop",
"dockerComposeFile": [
"docker-compose.yml"
"build": {
"dockerfile": "Dockerfile",
"context": ".."
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [
8080
],
"mounts": [
"source=freqtrade-bashhistory,target=/home/ftuser/commandhistory,type=volume"
],
"workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/freqtrade,type=bind,consistency=cached",
// Uncomment to connect as a non-root user if you've added one. See https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "ftuser",
"service": "ft_vscode",
"onCreateCommand": "pip install --user -e .",
"postCreateCommand": "freqtrade create-userdir --userdir user_data/",
"workspaceFolder": "/freqtrade/",
"workspaceFolder": "/workspaces/freqtrade",
"settings": {
"terminal.integrated.shell.linux": "/bin/bash",
@ -25,20 +36,6 @@
"ms-python.vscode-pylance",
"davidanson.vscode-markdownlint",
"ms-azuretools.vscode-docker",
"vscode-icons-team.vscode-icons",
],
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Uncomment the next line if you want start specific services in your Docker Compose config.
// "runServices": [],
// Uncomment the next line if you want to keep your containers running after VS Code shuts down.
// "shutdownAction": "none",
// Uncomment the next line to run commands after the container is created - for example installing curl.
// "postCreateCommand": "sudo apt-get update && apt-get install -y git",
// Uncomment to connect as a non-root user if you've added one. See https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "ftuser"
}

View File

@ -1,24 +0,0 @@
---
version: '3'
services:
ft_vscode:
build:
context: ..
dockerfile: ".devcontainer/Dockerfile"
volumes:
# Allow git usage within container
- "${HOME}/.ssh:/home/ftuser/.ssh:ro"
- "${HOME}/.gitconfig:/home/ftuser/.gitconfig:ro"
- ..:/freqtrade:cached
# Persist bash-history
- freqtrade-vscode-server:/home/ftuser/.vscode-server
- freqtrade-bashhistory:/home/ftuser/commandhistory
# Expose API port
ports:
- "127.0.0.1:8080:8080"
command: /bin/sh -c "while sleep 1000; do :; done"
volumes:
freqtrade-vscode-server:
freqtrade-bashhistory:

3
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,3 @@
# These are supported funding model platforms
github: [xmatthias]

View File

@ -9,7 +9,7 @@ assignees: ''
<!--
Have you searched for similar issues before posting it?
If you have discovered a bug in the bot, please [search our issue tracker](https://github.com/freqtrade/freqtrade/issues?q=is%3Aissue).
If you have discovered a bug in the bot, please [search the issue tracker](https://github.com/freqtrade/freqtrade/issues?q=is%3Aissue).
If it hasn't been reported, please create a new issue.
Please do not use bug reports to request new features.
@ -20,7 +20,7 @@ Please do not use bug reports to request new features.
* Operating system: ____
* Python Version: _____ (`python -V`)
* CCXT version: _____ (`pip freeze | grep ccxt`)
* Freqtrade Version: ____ (`freqtrade -V` or `docker-compose run --rm freqtrade -V` for Freqtrade running in docker)
* Freqtrade Version: ____ (`freqtrade -V` or `docker compose run --rm freqtrade -V` for Freqtrade running in docker)
Note: All issues other than enhancement requests will be closed without further comment if the above template is deleted or not filled out.

View File

@ -18,10 +18,9 @@ Have you search for this feature before requesting it? It's highly likely that a
* Operating system: ____
* Python Version: _____ (`python -V`)
* CCXT version: _____ (`pip freeze | grep ccxt`)
* Freqtrade Version: ____ (`freqtrade -V` or `docker-compose run --rm freqtrade -V` for Freqtrade running in docker)
* Freqtrade Version: ____ (`freqtrade -V` or `docker compose run --rm freqtrade -V` for Freqtrade running in docker)
## Describe the enhancement
*Explain the enhancement you would like*

View File

@ -18,8 +18,8 @@ Please do not use the question template to report bugs or to request new feature
* Operating system: ____
* Python Version: _____ (`python -V`)
* CCXT version: _____ (`pip freeze | grep ccxt`)
* Freqtrade Version: ____ (`freqtrade -V` or `docker-compose run --rm freqtrade -V` for Freqtrade running in docker)
* Freqtrade Version: ____ (`freqtrade -V` or `docker compose run --rm freqtrade -V` for Freqtrade running in docker)
## Your question
*Ask the question you have not been able to find an answer in our [Documentation](https://www.freqtrade.io/en/latest/)*
*Ask the question you have not been able to find an answer in the [Documentation](https://www.freqtrade.io/en/latest/)*

View File

@ -1,15 +1,17 @@
Thank you for sending your pull request. But first, have you included
<!-- Thank you for sending your pull request. But first, have you included
unit tests, and is your code PEP8 conformant? [More details](https://github.com/freqtrade/freqtrade/blob/develop/CONTRIBUTING.md)
-->
## Summary
Explain in one sentence the goal of this PR
<!-- Explain in one sentence the goal of this PR -->
Solve the issue: #___
## Quick changelog
- <change log #1>
- <change log #2>
- <change log 1>
- <change log 1>
## What's new?
*Explain in details what this PR solve or improve. You can include visuals.*
<!-- Explain in details what this PR solve or improve. You can include visuals. -->

View File

@ -5,9 +5,17 @@ updates:
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: pip
directory: "/"
schedule:
interval: weekly
open-pull-requests-limit: 10
target-branch: develop
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 10
target-branch: develop

View File

@ -3,9 +3,9 @@ name: Freqtrade CI
on:
push:
branches:
- master
- stable
- develop
- ci/*
tags:
release:
types: [published]
@ -13,33 +13,38 @@ on:
schedule:
- cron: '0 5 * * 4'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
repository-projects: read
jobs:
build_linux:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-18.04, ubuntu-20.04 ]
python-version: [3.7, 3.8, 3.9]
os: [ ubuntu-20.04, ubuntu-22.04 ]
python-version: ["3.8", "3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Cache_dependencies
uses: actions/cache@v2
uses: actions/cache@v3
id: cache
with:
path: ~/dependencies/
key: ${{ runner.os }}-dependencies
- name: pip cache (linux)
uses: actions/cache@v2
if: startsWith(matrix.os, 'ubuntu')
uses: actions/cache@v3
if: runner.os == 'Linux'
with:
path: ~/.cache/pip
key: test-${{ matrix.os }}-${{ matrix.python-version }}-pip
@ -50,8 +55,9 @@ jobs:
cd build_helpers && ./install_ta-lib.sh ${HOME}/dependencies/; cd ..
- name: Installation - *nix
if: runner.os == 'Linux'
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade pip wheel
export LD_LIBRARY_PATH=${HOME}/dependencies/lib:$LD_LIBRARY_PATH
export TA_LIBRARY_PATH=${HOME}/dependencies/lib
export TA_INCLUDE_PATH=${HOME}/dependencies/include
@ -61,15 +67,9 @@ jobs:
- name: Tests
run: |
pytest --random-order --cov=freqtrade --cov-config=.coveragerc
if: matrix.python-version != '3.9'
- name: Tests incl. ccxt compatibility tests
run: |
pytest --random-order --cov=freqtrade --cov-config=.coveragerc --longrun
if: matrix.python-version == '3.9'
- name: Coveralls
if: (startsWith(matrix.os, 'ubuntu-20') && matrix.python-version == '3.8')
if: (runner.os == 'Linux' && matrix.python-version == '3.10' && matrix.os == 'ubuntu-22.04')
env:
# Coveralls token. Not used as secret due to github not providing secrets to forked repositories
COVERALLS_REPO_TOKEN: 6D1m0xupS3FgutfuGao8keFf9Hc0FpIXu
@ -77,66 +77,65 @@ jobs:
# Allow failure for coveralls
coveralls || true
- name: Backtesting
- name: Backtesting (multi)
run: |
cp config_bittrex.json.example config.json
cp config_examples/config_bittrex.example.json config.json
freqtrade create-userdir --userdir user_data
freqtrade backtesting --datadir tests/testdata --strategy SampleStrategy
freqtrade new-strategy -s AwesomeStrategy
freqtrade new-strategy -s AwesomeStrategyMin --template minimal
freqtrade backtesting --datadir tests/testdata --strategy-list AwesomeStrategy AwesomeStrategyMin -i 5m
- name: Hyperopt
run: |
cp config_bittrex.json.example config.json
cp config_examples/config_bittrex.example.json config.json
freqtrade create-userdir --userdir user_data
freqtrade hyperopt --datadir tests/testdata -e 5 --strategy SampleStrategy --hyperopt SampleHyperOpt --hyperopt-loss SharpeHyperOptLossDaily --print-all
- name: Flake8
run: |
flake8
freqtrade hyperopt --datadir tests/testdata -e 6 --strategy SampleStrategy --hyperopt-loss SharpeHyperOptLossDaily --print-all
- name: Sort imports (isort)
run: |
isort --check .
- name: Run Ruff
run: |
ruff check --format=github .
- name: Mypy
run: |
mypy freqtrade scripts
mypy freqtrade scripts tests
- name: Slack Notification
uses: lazy-actions/slatify@v3.0.0
- name: Discord notification
uses: rjstone/discord-webhook-notify@v1
if: failure() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
with:
type: ${{ job.status }}
job_name: '*Freqtrade CI ${{ matrix.os }}*'
mention: 'here'
mention_if: 'failure'
channel: '#notifications'
url: ${{ secrets.SLACK_WEBHOOK }}
severity: error
details: Freqtrade CI failed on ${{ matrix.os }}
webhookUrl: ${{ secrets.DISCORD_WEBHOOK }}
build_macos:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ macos-latest ]
python-version: [3.7, 3.8, 3.9]
python-version: ["3.8", "3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Cache_dependencies
uses: actions/cache@v2
uses: actions/cache@v3
id: cache
with:
path: ~/dependencies/
key: ${{ runner.os }}-dependencies
- name: pip cache (macOS)
uses: actions/cache@v2
if: startsWith(matrix.os, 'macOS')
uses: actions/cache@v3
if: runner.os == 'macOS'
with:
path: ~/Library/Caches/pip
key: test-${{ matrix.os }}-${{ matrix.python-version }}-pip
@ -147,10 +146,24 @@ jobs:
cd build_helpers && ./install_ta-lib.sh ${HOME}/dependencies/; cd ..
- name: Installation - macOS
if: runner.os == 'macOS'
run: |
brew update
# homebrew fails to update python due to unlinking failures
# https://github.com/actions/runner-images/issues/6817
rm /usr/local/bin/2to3 || true
rm /usr/local/bin/2to3-3.11 || true
rm /usr/local/bin/idle3 || true
rm /usr/local/bin/idle3.11 || true
rm /usr/local/bin/pydoc3 || true
rm /usr/local/bin/pydoc3.11 || true
rm /usr/local/bin/python3 || true
rm /usr/local/bin/python3.11 || true
rm /usr/local/bin/python3-config || true
rm /usr/local/bin/python3.11-config || true
brew install hdf5 c-blosc
python -m pip install --upgrade pip
python -m pip install --upgrade pip wheel
export LD_LIBRARY_PATH=${HOME}/dependencies/lib:$LD_LIBRARY_PATH
export TA_LIBRARY_PATH=${HOME}/dependencies/lib
export TA_INCLUDE_PATH=${HOME}/dependencies/include
@ -159,52 +172,40 @@ jobs:
- name: Tests
run: |
pytest --random-order --cov=freqtrade --cov-config=.coveragerc
- name: Coveralls
if: (startsWith(matrix.os, 'ubuntu-20') && matrix.python-version == '3.8')
env:
# Coveralls token. Not used as secret due to github not providing secrets to forked repositories
COVERALLS_REPO_TOKEN: 6D1m0xupS3FgutfuGao8keFf9Hc0FpIXu
run: |
# Allow failure for coveralls
coveralls -v || true
pytest --random-order
- name: Backtesting
run: |
cp config_bittrex.json.example config.json
cp config_examples/config_bittrex.example.json config.json
freqtrade create-userdir --userdir user_data
freqtrade backtesting --datadir tests/testdata --strategy SampleStrategy
freqtrade new-strategy -s AwesomeStrategyAdv --template advanced
freqtrade backtesting --datadir tests/testdata --strategy AwesomeStrategyAdv
- name: Hyperopt
run: |
cp config_bittrex.json.example config.json
cp config_examples/config_bittrex.example.json config.json
freqtrade create-userdir --userdir user_data
freqtrade hyperopt --datadir tests/testdata -e 5 --strategy SampleStrategy --hyperopt SampleHyperOpt --hyperopt-loss SharpeHyperOptLossDaily --print-all
- name: Flake8
run: |
flake8
freqtrade hyperopt --datadir tests/testdata -e 5 --strategy SampleStrategy --hyperopt-loss SharpeHyperOptLossDaily --print-all
- name: Sort imports (isort)
run: |
isort --check .
- name: Run Ruff
run: |
ruff check --format=github .
- name: Mypy
run: |
mypy freqtrade scripts
- name: Slack Notification
uses: lazy-actions/slatify@v3.0.0
- name: Discord notification
uses: rjstone/discord-webhook-notify@v1
if: failure() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
with:
type: ${{ job.status }}
job_name: '*Freqtrade CI ${{ matrix.os }}*'
mention: 'here'
mention_if: 'failure'
channel: '#notifications'
url: ${{ secrets.SLACK_WEBHOOK }}
severity: info
details: Test Succeeded!
webhookUrl: ${{ secrets.DISCORD_WEBHOOK }}
build_windows:
@ -212,19 +213,18 @@ jobs:
strategy:
matrix:
os: [ windows-latest ]
python-version: [3.7, 3.8]
python-version: ["3.8", "3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Pip cache (Windows)
uses: actions/cache@preview
if: startsWith(runner.os, 'Windows')
uses: actions/cache@v3
with:
path: ~\AppData\Local\pip\Cache
key: ${{ matrix.os }}-${{ matrix.python-version }}-pip
@ -235,52 +235,74 @@ jobs:
- name: Tests
run: |
pytest --random-order --cov=freqtrade --cov-config=.coveragerc
pytest --random-order
- name: Backtesting
run: |
cp config_bittrex.json.example config.json
cp config_examples/config_bittrex.example.json config.json
freqtrade create-userdir --userdir user_data
freqtrade backtesting --datadir tests/testdata --strategy SampleStrategy
- name: Hyperopt
run: |
cp config_bittrex.json.example config.json
cp config_examples/config_bittrex.example.json config.json
freqtrade create-userdir --userdir user_data
freqtrade hyperopt --datadir tests/testdata -e 5 --strategy SampleStrategy --hyperopt SampleHyperOpt --hyperopt-loss SharpeHyperOptLossDaily --print-all
freqtrade hyperopt --datadir tests/testdata -e 5 --strategy SampleStrategy --hyperopt-loss SharpeHyperOptLossDaily --print-all
- name: Flake8
- name: Run Ruff
run: |
flake8
ruff check --format=github .
- name: Mypy
run: |
mypy freqtrade scripts
mypy freqtrade scripts tests
- name: Slack Notification
uses: lazy-actions/slatify@v3.0.0
- name: Discord notification
uses: rjstone/discord-webhook-notify@v1
if: failure() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
with:
type: ${{ job.status }}
job_name: '*Freqtrade CI windows*'
mention: 'here'
mention_if: 'failure'
channel: '#notifications'
url: ${{ secrets.SLACK_WEBHOOK }}
severity: error
details: Test Failed
webhookUrl: ${{ secrets.DISCORD_WEBHOOK }}
mypy_version_check:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: pre-commit dependencies
run: |
pip install pyaml
python build_helpers/pre_commit_update.py
pre-commit:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
- uses: pre-commit/action@v3.0.0
docs_check:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Documentation syntax
run: |
./tests/test_docs.sh
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: 3.8
python-version: "3.10"
- name: Documentation build
run: |
@ -288,28 +310,78 @@ jobs:
pip install mkdocs
mkdocs build
- name: Slack Notification
uses: lazy-actions/slatify@v3.0.0
- name: Discord notification
uses: rjstone/discord-webhook-notify@v1
if: failure() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
with:
type: ${{ job.status }}
job_name: '*Freqtrade Docs*'
channel: '#notifications'
url: ${{ secrets.SLACK_WEBHOOK }}
severity: error
details: Freqtrade doc test failed!
webhookUrl: ${{ secrets.DISCORD_WEBHOOK }}
cleanup-prior-runs:
runs-on: ubuntu-20.04
build_linux_online:
# Run pytest with "live" checks
runs-on: ubuntu-22.04
steps:
- name: Cleanup previous runs on this branch
uses: rokroskar/workflow-run-cleanup-action@v0.3.3
if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/stable' && github.repository == 'freqtrade/freqtrade'"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v3
# Notify on slack only once - when CI completes (and after deploy) in case it's successfull
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.9"
- name: Cache_dependencies
uses: actions/cache@v3
id: cache
with:
path: ~/dependencies/
key: ${{ runner.os }}-dependencies
- name: pip cache (linux)
uses: actions/cache@v3
if: runner.os == 'Linux'
with:
path: ~/.cache/pip
key: test-${{ matrix.os }}-${{ matrix.python-version }}-pip
- name: TA binary *nix
if: steps.cache.outputs.cache-hit != 'true'
run: |
cd build_helpers && ./install_ta-lib.sh ${HOME}/dependencies/; cd ..
- name: Installation - *nix
if: runner.os == 'Linux'
run: |
python -m pip install --upgrade pip wheel
export LD_LIBRARY_PATH=${HOME}/dependencies/lib:$LD_LIBRARY_PATH
export TA_LIBRARY_PATH=${HOME}/dependencies/lib
export TA_INCLUDE_PATH=${HOME}/dependencies/include
pip install -r requirements-dev.txt
pip install -e .
- name: Tests incl. ccxt compatibility tests
env:
CI_WEB_PROXY: http://152.67.78.211:13128
run: |
pytest --random-order --cov=freqtrade --cov-config=.coveragerc --longrun
# Notify only once - when CI completes (and after deploy) in case it's successfull
notify-complete:
needs: [ build_linux, build_macos, build_windows, docs_check ]
runs-on: ubuntu-20.04
needs: [
build_linux,
build_macos,
build_windows,
docs_check,
mypy_version_check,
pre-commit,
build_linux_online
]
runs-on: ubuntu-22.04
# Discord notification can't handle schedule events
if: (github.event_name != 'schedule')
permissions:
repository-projects: read
steps:
- name: Check user permission
@ -320,27 +392,27 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Slack Notification
uses: lazy-actions/slatify@v3.0.0
- name: Discord notification
uses: rjstone/discord-webhook-notify@v1
if: always() && steps.check.outputs.has-permission && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
with:
type: ${{ job.status }}
job_name: '*Freqtrade CI*'
channel: '#notifications'
url: ${{ secrets.SLACK_WEBHOOK }}
severity: info
details: Test Completed!
webhookUrl: ${{ secrets.DISCORD_WEBHOOK }}
deploy:
needs: [ build_linux, build_macos, build_windows, docs_check ]
runs-on: ubuntu-20.04
needs: [ build_linux, build_macos, build_windows, docs_check, mypy_version_check, pre-commit ]
runs-on: ubuntu-22.04
if: (github.event_name == 'push' || github.event_name == 'schedule' || github.event_name == 'release') && github.repository == 'freqtrade/freqtrade'
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: 3.8
python-version: "3.9"
- name: Extract branch name
shell: bash
@ -353,7 +425,7 @@ jobs:
python setup.py sdist bdist_wheel
- name: Publish to PyPI (Test)
uses: pypa/gh-action-pypi-publish@master
uses: pypa/gh-action-pypi-publish@v1.8.5
if: (github.event_name == 'release')
with:
user: __token__
@ -361,7 +433,7 @@ jobs:
repository_url: https://test.pypi.org/legacy/
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@master
uses: pypa/gh-action-pypi-publish@v1.8.5
if: (github.event_name == 'release')
with:
user: __token__
@ -384,7 +456,7 @@ jobs:
- name: Set up Docker Buildx
id: buildx
uses: crazy-max/ghaction-docker-buildx@v1
uses: crazy-max/ghaction-docker-buildx@v3.3.1
with:
buildx-version: latest
qemu-version: latest
@ -394,20 +466,45 @@ jobs:
- name: Build and test and push docker images
env:
IMAGE_NAME: freqtradeorg/freqtrade
BRANCH_NAME: ${{ steps.extract_branch.outputs.branch }}
run: |
build_helpers/publish_docker_multi.sh
deploy_arm:
permissions:
packages: write
needs: [ deploy ]
# Only run on 64bit machines
runs-on: [self-hosted, linux, ARM64]
if: (github.event_name == 'push' || github.event_name == 'schedule' || github.event_name == 'release') && github.repository == 'freqtrade/freqtrade'
- name: Slack Notification
uses: lazy-actions/slatify@v3.0.0
if: always() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
steps:
- uses: actions/checkout@v3
- name: Extract branch name
shell: bash
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF##*/})"
id: extract_branch
- name: Dockerhub login
env:
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
run: |
echo "${DOCKER_PASSWORD}" | docker login --username ${DOCKER_USERNAME} --password-stdin
- name: Build and test and push docker images
env:
BRANCH_NAME: ${{ steps.extract_branch.outputs.branch }}
GHCR_USERNAME: ${{ github.actor }}
GHCR_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
build_helpers/publish_docker_arm64.sh
- name: Discord notification
uses: rjstone/discord-webhook-notify@v1
if: always() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false) && (github.event_name != 'schedule')
with:
type: ${{ job.status }}
job_name: '*Freqtrade CI Deploy*'
mention: 'here'
mention_if: 'failure'
channel: '#notifications'
url: ${{ secrets.SLACK_WEBHOOK }}
severity: info
details: Deploy Succeeded!
webhookUrl: ${{ secrets.DISCORD_WEBHOOK }}

View File

@ -8,11 +8,10 @@ jobs:
dockerHubDescription:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v3
- name: Docker Hub Description
uses: peter-evans/dockerhub-description@v2.1.0
uses: peter-evans/dockerhub-description@v3
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
DOCKERHUB_REPOSITORY: freqtradeorg/freqtrade

17
.gitignore vendored
View File

@ -1,14 +1,24 @@
# Freqtrade rules
config*.json
*.sqlite
*.sqlite-shm
*.sqlite-wal
logfile.txt
user_data/*
!user_data/strategy/sample_strategy.py
!user_data/notebooks
!user_data/models
!user_data/freqaimodels
user_data/freqaimodels/*
user_data/models/*
user_data/notebooks/*
freqtrade-plot.html
freqtrade-profit-plot.html
freqtrade/rpc/api_server/ui/*
build_helpers/ta-lib/*
# Macos related
.DS_Store
# Byte-compiled / optimized / DLL files
__pycache__/
@ -75,6 +85,8 @@ instance/
# Sphinx documentation
docs/_build/
# Mkdocs documentation
site/
# PyBuilder
target/
@ -95,3 +107,8 @@ target/
#exceptions
!*.gitkeep
!config_examples/config_binance.example.json
!config_examples/config_bittrex.example.json
!config_examples/config_full.example.json
!config_examples/config_kraken.example.json
!config_examples/config_freqai.example.json

55
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,55 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pycqa/flake8
rev: "6.0.0"
hooks:
- id: flake8
# stages: [push]
- repo: https://github.com/pre-commit/mirrors-mypy
rev: "v1.0.1"
hooks:
- id: mypy
exclude: build_helpers
additional_dependencies:
- types-cachetools==5.3.0.5
- types-filelock==3.2.7
- types-requests==2.28.11.17
- types-tabulate==0.9.0.2
- types-python-dateutil==2.8.19.12
- SQLAlchemy==2.0.9
# stages: [push]
- repo: https://github.com/pycqa/isort
rev: "5.12.0"
hooks:
- id: isort
name: isort (python)
# stages: [push]
- repo: https://github.com/charliermarsh/ruff-pre-commit
# Ruff version.
rev: 'v0.0.255'
hooks:
- id: ruff
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: end-of-file-fixer
exclude: |
(?x)^(
tests/.*|
.*\.svg|
.*\.yml|
.*\.json
)$
- id: mixed-line-ending
- id: debug-statements
- id: check-ast
- id: trailing-whitespace
exclude: |
(?x)^(
.*\.md
)$

View File

@ -7,4 +7,3 @@ ignore=vendor
[TYPECHECK]
ignored-modules=numpy,talib,talib.abstract

View File

@ -1,55 +0,0 @@
os:
- linux
dist: bionic
language: python
python:
- 3.8
services:
- docker
env:
global:
- IMAGE_NAME=freqtradeorg/freqtrade
install:
- cd build_helpers && ./install_ta-lib.sh ${HOME}/dependencies; cd ..
- export LD_LIBRARY_PATH=${HOME}/dependencies/lib:$LD_LIBRARY_PATH
- export TA_LIBRARY_PATH=${HOME}/dependencies/lib
- export TA_INCLUDE_PATH=${HOME}/dependencies/include
- pip install -r requirements-dev.txt
- pip install -e .
jobs:
include:
- stage: tests
script:
- pytest --random-order --cov=freqtrade --cov-config=.coveragerc
# Allow failure for coveralls
# - coveralls || true
name: pytest
- script:
- cp config_bittrex.json.example config.json
- freqtrade create-userdir --userdir user_data
- freqtrade backtesting --datadir tests/testdata --strategy SampleStrategy
name: backtest
- script:
- cp config_bittrex.json.example config.json
- freqtrade create-userdir --userdir user_data
- freqtrade hyperopt --datadir tests/testdata -e 5 --strategy SampleStrategy --hyperopt SampleHyperOpt --hyperopt-loss SharpeHyperOptLossDaily
name: hyperopt
- script: flake8
name: flake8
- script:
# Test Documentation boxes -
# !!! <TYPE>: is not allowed!
# !!! <TYPE> "title" - Title needs to be quoted!
- grep -Er '^!{3}\s\S+:|^!{3}\s\S+\s[^"]' docs/*; test $? -ne 0
name: doc syntax
- script: mypy freqtrade scripts
name: mypy
notifications:
slack:
secure: bKLXmOrx8e2aPZl7W8DA5BdPAXWGpI5UzST33oc1G/thegXcDVmHBTJrBs4sZak6bgAclQQrdZIsRd2eFYzHLalJEaw6pk7hoAw8SvLnZO0ZurWboz7qg2+aZZXfK4eKl/VUe4sM9M4e/qxjkK+yWG7Marg69c4v1ypF7ezUi1fPYILYw8u0paaiX0N5UX8XNlXy+PBlga2MxDjUY70MuajSZhPsY2pDUvYnMY1D/7XN3cFW0g+3O8zXjF0IF4q1Z/1ASQe+eYjKwPQacE+O8KDD+ZJYoTOFBAPllrtpO1jnOPFjNGf3JIbVMZw4bFjIL0mSQaiSUaUErbU3sFZ5Or79rF93XZ81V7uEZ55vD8KMfR2CB1cQJcZcj0v50BxLo0InkFqa0Y8Nra3sbpV4fV5Oe8pDmomPJrNFJnX6ULQhQ1gTCe0M5beKgVms5SITEpt4/Y0CmLUr6iHDT0CUiyMIRWAXdIgbGh1jfaWOMksybeRevlgDsIsNBjXmYI1Sw2ZZR2Eo2u4R6zyfyjOMLwYJ3vgq9IrACv2w5nmf0+oguMWHf6iWi2hiOqhlAN1W74+3HsYQcqnuM3LGOmuCnPprV1oGBqkPXjIFGpy21gNx4vHfO1noLUyJnMnlu2L7SSuN1CdLsnjJ1hVjpJjPfqB4nn8g12x87TqM1bOm+3Q=
cache:
pip: True
directories:
- $HOME/dependencies

View File

@ -12,7 +12,7 @@ Few pointers for contributions:
- New features need to contain unit tests, must conform to PEP8 (max-line-length = 100) and should be documented with the introduction PR.
- PR's can be declared as `[WIP]` - which signify Work in Progress Pull Requests (which are not finished).
If you are unsure, discuss the feature on our [discord server](https://discord.gg/p7nuUNVfP7), on [Slack](https://join.slack.com/t/highfrequencybot/shared_invite/zt-mm786y93-Fxo37glxMY9g8OQC5AoOIw) or in a [issue](https://github.com/freqtrade/freqtrade/issues) before a PR.
If you are unsure, discuss the feature on our [discord server](https://discord.gg/p7nuUNVfP7) or in a [issue](https://github.com/freqtrade/freqtrade/issues) before a Pull Request.
## Getting started
@ -45,16 +45,24 @@ pytest tests/test_<file_name>.py::test_<method_name>
### 2. Test if your code is PEP8 compliant
#### Run Flake8
#### Run Ruff
```bash
flake8 freqtrade tests scripts
ruff .
```
We receive a lot of code that fails the `flake8` checks.
We receive a lot of code that fails the `ruff` checks.
To help with that, we encourage you to install the git pre-commit
hook that will warn you when you try to commit code that fails these checks.
Guide for installing them is [here](http://flake8.pycqa.org/en/latest/user/using-hooks.html).
you can manually run pre-commit with `pre-commit run -a`.
##### Additional styles applied
* Have docstrings on all public methods
* Use double-quotes for docstrings
* Multiline docstrings should be indented to the level of the first quote
* Doc-strings should follow the reST format (`:param xxx: ...`, `:return: ...`, `:raises KeyError: ... `)
### 3. Test if all type-hints are correct

View File

@ -1,4 +1,4 @@
FROM python:3.9.5-slim-buster as base
FROM python:3.10.11-slim-bullseye as base
# Setup env
ENV LANG C.UTF-8
@ -11,9 +11,9 @@ ENV FT_APP_ENV="docker"
# Prepare environment
RUN mkdir /freqtrade \
&& apt-get update \
&& apt-get -y install sudo libatlas3-base curl sqlite3 libhdf5-serial-dev \
&& apt-get -y install sudo libatlas3-base curl sqlite3 libhdf5-serial-dev libgomp1 \
&& apt-get clean \
&& useradd -u 1000 -G sudo -U -m ftuser \
&& useradd -u 1000 -G sudo -U -m -s /bin/bash ftuser \
&& chown ftuser:ftuser /freqtrade \
# Allow sudoers
&& echo "ftuser ALL=(ALL) NOPASSWD: /bin/chown" >> /etc/sudoers

View File

@ -2,5 +2,6 @@ include LICENSE
include README.md
recursive-include freqtrade *.py
recursive-include freqtrade/templates/ *.j2 *.ipynb
include freqtrade/exchange/binance_leverage_tiers.json
include freqtrade/rpc/api_server/ui/fallback_file.html
include freqtrade/rpc/api_server/ui/favicon.ico

View File

@ -1,11 +1,12 @@
# ![freqtrade](https://raw.githubusercontent.com/freqtrade/freqtrade/develop/docs/assets/freqtrade_poweredby.svg)
[![Freqtrade CI](https://github.com/freqtrade/freqtrade/workflows/Freqtrade%20CI/badge.svg)](https://github.com/freqtrade/freqtrade/actions/)
[![DOI](https://joss.theoj.org/papers/10.21105/joss.04864/status.svg)](https://doi.org/10.21105/joss.04864)
[![Coverage Status](https://coveralls.io/repos/github/freqtrade/freqtrade/badge.svg?branch=develop&service=github)](https://coveralls.io/github/freqtrade/freqtrade?branch=develop)
[![Documentation](https://readthedocs.org/projects/freqtrade/badge/)](https://www.freqtrade.io)
[![Maintainability](https://api.codeclimate.com/v1/badges/5737e6d668200b7518ff/maintainability)](https://codeclimate.com/github/freqtrade/freqtrade/maintainability)
Freqtrade is a free and open source crypto trading bot written in Python. It is designed to support all major exchanges and be controlled via Telegram. It contains backtesting, plotting and money management tools as well as strategy optimization by machine learning.
Freqtrade is a free and open source crypto trading bot written in Python. It is designed to support all major exchanges and be controlled via Telegram or webUI. It contains backtesting, plotting and money management tools as well as strategy optimization by machine learning.
![freqtrade](https://raw.githubusercontent.com/freqtrade/freqtrade/develop/docs/assets/freqtrade-screenshot.png)
@ -26,50 +27,57 @@ hesitate to read the source code and understand the mechanism of this bot.
Please read the [exchange specific notes](docs/exchanges.md) to learn about eventual, special configurations needed for each exchange.
- [X] [Binance](https://www.binance.com/)
- [X] [Bittrex](https://bittrex.com/)
- [X] [Binance](https://www.binance.com/) ([*Note for binance users](docs/exchanges.md#blacklists))
- [X] [Gate.io](https://www.gate.io/ref/6266643)
- [X] [Huobi](http://huobi.com/)
- [X] [Kraken](https://kraken.com/)
- [X] [FTX](https://ftx.com)
- [X] [OKX](https://okx.com/) (Former OKEX)
- [ ] [potentially many others](https://github.com/ccxt/ccxt/). _(We cannot guarantee they will work)_
### Supported Futures Exchanges (experimental)
- [X] [Binance](https://www.binance.com/)
- [X] [Gate.io](https://www.gate.io/ref/6266643)
- [X] [OKX](https://okx.com/)
- [X] [Bybit](https://bybit.com/)
Please make sure to read the [exchange specific notes](docs/exchanges.md), as well as the [trading with leverage](docs/leverage.md) documentation before diving in.
### Community tested
Exchanges confirmed working by the community:
- [X] [Bitvavo](https://bitvavo.com/)
- [X] [Kucoin](https://www.kucoin.com/)
## Documentation
We invite you to read the bot documentation to ensure you understand how the bot is working.
Please find the complete documentation on our [website](https://www.freqtrade.io).
Please find the complete documentation on the [freqtrade website](https://www.freqtrade.io).
## Features
- [x] **Based on Python 3.7+**: For botting on any operating system - Windows, macOS and Linux.
- [x] **Based on Python 3.8+**: For botting on any operating system - Windows, macOS and Linux.
- [x] **Persistence**: Persistence is achieved through sqlite.
- [x] **Dry-run**: Run the bot without paying money.
- [x] **Backtesting**: Run a simulation of your buy/sell strategy.
- [x] **Strategy Optimization by machine learning**: Use machine learning to optimize your buy/sell strategy parameters with real exchange data.
- [x] **Edge position sizing** Calculate your win rate, risk reward ratio, the best stoploss and adjust your position size before taking a position for each specific market. [Learn more](https://www.freqtrade.io/en/latest/edge/).
- [X] **Adaptive prediction modeling**: Build a smart strategy with FreqAI that self-trains to the market via adaptive machine learning methods. [Learn more](https://www.freqtrade.io/en/stable/freqai/)
- [x] **Edge position sizing** Calculate your win rate, risk reward ratio, the best stoploss and adjust your position size before taking a position for each specific market. [Learn more](https://www.freqtrade.io/en/stable/edge/).
- [x] **Whitelist crypto-currencies**: Select which crypto-currency you want to trade or use dynamic whitelists.
- [x] **Blacklist crypto-currencies**: Select which crypto-currency you want to avoid.
- [x] **Builtin WebUI**: Builtin web UI to manage your bot.
- [x] **Manageable via Telegram**: Manage the bot with Telegram.
- [x] **Display profit/loss in fiat**: Display your profit/loss in 33 fiat.
- [x] **Daily summary of profit/loss**: Provide a daily summary of your profit/loss.
- [x] **Display profit/loss in fiat**: Display your profit/loss in fiat currency.
- [x] **Performance status report**: Provide a performance status of your current trades.
## Quick start
Freqtrade provides a Linux/macOS script to install all dependencies and help you to configure the bot.
Please refer to the [Docker Quickstart documentation](https://www.freqtrade.io/en/stable/docker_quickstart/) on how to get started quickly.
```bash
git clone -b develop https://github.com/freqtrade/freqtrade.git
cd freqtrade
./setup.sh --install
```
For any other type of installation please refer to [Installation doc](https://www.freqtrade.io/en/latest/installation/).
For further (native) installation methods, please refer to the [Installation documentation page](https://www.freqtrade.io/en/stable/installation/).
## Basic Usage
@ -77,22 +85,22 @@ For any other type of installation please refer to [Installation doc](https://ww
```
usage: freqtrade [-h] [-V]
{trade,create-userdir,new-config,new-hyperopt,new-strategy,download-data,convert-data,convert-trade-data,backtesting,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-hyperopts,list-markets,list-pairs,list-strategies,list-timeframes,show-trades,test-pairlist,plot-dataframe,plot-profit}
{trade,create-userdir,new-config,new-strategy,download-data,convert-data,convert-trade-data,list-data,backtesting,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-hyperopts,list-markets,list-pairs,list-strategies,list-timeframes,show-trades,test-pairlist,install-ui,plot-dataframe,plot-profit,webserver}
...
Free, open source crypto trading bot
positional arguments:
{trade,create-userdir,new-config,new-hyperopt,new-strategy,download-data,convert-data,convert-trade-data,backtesting,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-hyperopts,list-markets,list-pairs,list-strategies,list-timeframes,show-trades,test-pairlist,plot-dataframe,plot-profit}
{trade,create-userdir,new-config,new-strategy,download-data,convert-data,convert-trade-data,list-data,backtesting,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-hyperopts,list-markets,list-pairs,list-strategies,list-timeframes,show-trades,test-pairlist,install-ui,plot-dataframe,plot-profit,webserver}
trade Trade module.
create-userdir Create user-data directory.
new-config Create new config
new-hyperopt Create new hyperopt
new-strategy Create new strategy
download-data Download backtesting data.
convert-data Convert candle (OHLCV) data from one format to
another.
convert-trade-data Convert trade data from one format to another.
list-data List downloaded data.
backtesting Backtesting module.
edge Edge module.
hyperopt Hyperopt module.
@ -106,8 +114,10 @@ positional arguments:
list-timeframes Print available timeframes for the exchange.
show-trades Show trades.
test-pairlist Test your pairlist configuration.
install-ui Install FreqUI
plot-dataframe Plot candles with indicators.
plot-profit Generate plot showing profits.
webserver Webserver module.
optional arguments:
-h, --help show this help message and exit
@ -117,14 +127,15 @@ optional arguments:
### Telegram RPC commands
Telegram is not mandatory. However, this is a great way to control your bot. More details and the full command list on our [documentation](https://www.freqtrade.io/en/latest/telegram-usage/)
Telegram is not mandatory. However, this is a great way to control your bot. More details and the full command list on the [documentation](https://www.freqtrade.io/en/latest/telegram-usage/)
- `/start`: Starts the trader.
- `/stop`: Stops the trader.
- `/stopbuy`: Stop entering new trades.
- `/stopentry`: Stop entering new trades.
- `/status <trade_id>|[table]`: Lists all or specific open trades.
- `/profit [<n>]`: Lists cumulative profit from all finished trades, over the last n days.
- `/forcesell <trade_id>|all`: Instantly sells the given trade (Ignoring `minimum_roi`).
- `/forceexit <trade_id>|all`: Instantly exits the given trade (Ignoring `minimum_roi`).
- `/fx <trade_id>|all`: Alias to `/forceexit`
- `/performance`: Show performance of each finished trade grouped by pair
- `/balance`: Show account balance per currency.
- `/daily <n>`: Shows profit or loss per day, over the last n days.
@ -141,23 +152,23 @@ The project is currently setup in two main branches:
## Support
### Help / Discord / Slack
### Help / Discord
For any questions not covered by the documentation or for further information about the bot, or to simply engage with like-minded individuals, we encourage you to join our slack channel.
Please check out our [discord server](https://discord.gg/p7nuUNVfP7).
You can also join our [Slack channel](https://join.slack.com/t/highfrequencybot/shared_invite/zt-mm786y93-Fxo37glxMY9g8OQC5AoOIw).
For any questions not covered by the documentation or for further information about the bot, or to simply engage with like-minded individuals, we encourage you to join the Freqtrade [discord server](https://discord.gg/p7nuUNVfP7).
### [Bugs / Issues](https://github.com/freqtrade/freqtrade/issues?q=is%3Aissue)
If you discover a bug in the bot, please
[search our issue tracker](https://github.com/freqtrade/freqtrade/issues?q=is%3Aissue)
[search the issue tracker](https://github.com/freqtrade/freqtrade/issues?q=is%3Aissue)
first. If it hasn't been reported, please
[create a new issue](https://github.com/freqtrade/freqtrade/issues/new/choose) and
ensure you follow the template guide so that our team can assist you as
ensure you follow the template guide so that the team can assist you as
quickly as possible.
For every [issue](https://github.com/freqtrade/freqtrade/issues/new/choose) created, kindly follow up and mark satisfaction or reminder to close issue when equilibrium ground is reached.
--Maintain github's [community policy](https://docs.github.com/en/site-policy/github-terms/github-community-code-of-conduct)--
### [Feature Requests](https://github.com/freqtrade/freqtrade/labels/enhancement)
Have you a great idea to improve the bot you want to share? Please,
@ -169,16 +180,16 @@ in the bug reports.
### [Pull Requests](https://github.com/freqtrade/freqtrade/pulls)
Feel like our bot is missing a feature? We welcome your pull requests!
Feel like the bot is missing a feature? We welcome your pull requests!
Please read our
Please read the
[Contributing document](https://github.com/freqtrade/freqtrade/blob/develop/CONTRIBUTING.md)
to understand the requirements before sending your pull-requests.
Coding is not a necessity to contribute - maybe start with improving our documentation?
Coding is not a necessity to contribute - maybe start with improving the documentation?
Issues labeled [good first issue](https://github.com/freqtrade/freqtrade/labels/good%20first%20issue) can be good first contributions, and will help get you familiar with the codebase.
**Note** before starting any major new feature work, *please open an issue describing what you are planning to do* or talk to us on [discord](https://discord.gg/p7nuUNVfP7) or [Slack](https://join.slack.com/t/highfrequencybot/shared_invite/zt-mm786y93-Fxo37glxMY9g8OQC5AoOIw). This will ensure that interested parties can give valuable feedback on the feature, and let others know that you are working on it.
**Note** before starting any major new feature work, *please open an issue describing what you are planning to do* or talk to us on [discord](https://discord.gg/p7nuUNVfP7) (please use the #dev channel for this). This will ensure that interested parties can give valuable feedback on the feature, and let others know that you are working on it.
**Important:** Always create your PR against the `develop` branch, not `stable`.
@ -188,7 +199,7 @@ Issues labeled [good first issue](https://github.com/freqtrade/freqtrade/labels/
The clock must be accurate, synchronized to a NTP server very frequently to avoid problems with communication to the exchanges.
### Min hardware required
### Minimum hardware required
To run this bot we recommend you a cloud instance with a minimum of:
@ -196,7 +207,7 @@ To run this bot we recommend you a cloud instance with a minimum of:
### Software requirements
- [Python 3.7.x](http://docs.python-guide.org/en/latest/starting/installation/)
- [Python >= 3.8](http://docs.python-guide.org/en/latest/starting/installation/)
- [pip](https://pip.pypa.io/en/stable/installing/)
- [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
- [TA-Lib](https://mrjbq7.github.io/ta-lib/install.html)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -4,17 +4,31 @@ else
INSTALL_LOC=${1}
fi
echo "Installing to ${INSTALL_LOC}"
if [ ! -f "${INSTALL_LOC}/lib/libta_lib.a" ]; then
if [ -n "$2" ] || [ ! -f "${INSTALL_LOC}/lib/libta_lib.a" ]; then
tar zxvf ta-lib-0.4.0-src.tar.gz
cd ta-lib \
&& sed -i.bak "s|0.00000001|0.000000000000000001 |g" src/ta_func/ta_utility.h \
&& curl 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD' -o config.guess \
&& curl 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD' -o config.sub \
&& curl 'https://raw.githubusercontent.com/gcc-mirror/gcc/master/config.guess' -o config.guess \
&& curl 'https://raw.githubusercontent.com/gcc-mirror/gcc/master/config.sub' -o config.sub \
&& ./configure --prefix=${INSTALL_LOC}/ \
&& make -j$(nproc) \
&& which sudo && sudo make install || make install \
&& cd ..
&& make
if [ $? -ne 0 ]; then
echo "Failed building ta-lib."
cd .. && rm -rf ./ta-lib/
exit 1
fi
if [ -z "$2" ]; then
which sudo && sudo make install || make install
if [ -x "$(command -v apt-get)" ]; then
echo "Updating library path using ldconfig"
sudo ldconfig
fi
else
# Don't install with sudo
make install
fi
cd .. && rm -rf ./ta-lib/
else
echo "TA-lib already installed, skipping installation"
fi
# && sed -i.bak "s|0.00000001|0.000000000000000001 |g" src/ta_func/ta_utility.h \

View File

@ -1,16 +1,21 @@
# Downloads don't work automatically, since the URL is regenerated via javascript.
# Downloaded from https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib
python -m pip install --upgrade pip
python -m pip install --upgrade pip wheel
$pyv = python -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')"
if ($pyv -eq '3.7') {
pip install build_helpers\TA_Lib-0.4.20-cp37-cp37m-win_amd64.whl
}
if ($pyv -eq '3.8') {
pip install build_helpers\TA_Lib-0.4.20-cp38-cp38-win_amd64.whl
pip install build_helpers\TA_Lib-0.4.25-cp38-cp38-win_amd64.whl
}
if ($pyv -eq '3.9') {
pip install build_helpers\TA_Lib-0.4.25-cp39-cp39-win_amd64.whl
}
if ($pyv -eq '3.10') {
pip install build_helpers\TA_Lib-0.4.25-cp310-cp310-win_amd64.whl
}
if ($pyv -eq '3.11') {
pip install build_helpers\TA_Lib-0.4.25-cp311-cp311-win_amd64.whl
}
pip install -r requirements-dev.txt
pip install -e .

View File

@ -0,0 +1,47 @@
# File used in CI to ensure pre-commit dependencies are kept uptodate.
import sys
from pathlib import Path
import yaml
pre_commit_file = Path('.pre-commit-config.yaml')
require_dev = Path('requirements-dev.txt')
require = Path('requirements.txt')
with require_dev.open('r') as rfile:
requirements = rfile.readlines()
with require.open('r') as rfile:
requirements.extend(rfile.readlines())
# Extract types only
type_reqs = [r.strip('\n') for r in requirements if r.startswith(
'types-') or r.startswith('SQLAlchemy')]
with pre_commit_file.open('r') as file:
f = yaml.load(file, Loader=yaml.FullLoader)
mypy_repo = [repo for repo in f['repos'] if repo['repo']
== 'https://github.com/pre-commit/mirrors-mypy']
hooks = mypy_repo[0]['hooks'][0]['additional_dependencies']
errors = []
for hook in hooks:
if hook not in type_reqs:
errors.append(f"{hook} is missing in requirements-dev.txt.")
for req in type_reqs:
if req not in hooks:
errors.append(f"{req} is missing in pre-config file.")
if errors:
for e in errors:
print(e)
sys.exit(1)
sys.exit(0)

View File

@ -0,0 +1,119 @@
#!/bin/sh
# Use BuildKit, otherwise building on ARM fails
export DOCKER_BUILDKIT=1
IMAGE_NAME=freqtradeorg/freqtrade
CACHE_IMAGE=freqtradeorg/freqtrade_cache
GHCR_IMAGE_NAME=ghcr.io/freqtrade/freqtrade
# Replace / with _ to create a valid tag
TAG=$(echo "${BRANCH_NAME}" | sed -e "s/\//_/g")
TAG_PLOT=${TAG}_plot
TAG_FREQAI=${TAG}_freqai
TAG_FREQAI_RL=${TAG_FREQAI}rl
TAG_FREQAI_TORCH=${TAG_FREQAI}torch
TAG_PI="${TAG}_pi"
TAG_ARM=${TAG}_arm
TAG_PLOT_ARM=${TAG_PLOT}_arm
TAG_FREQAI_ARM=${TAG_FREQAI}_arm
TAG_FREQAI_RL_ARM=${TAG_FREQAI_RL}_arm
echo "Running for ${TAG}"
# Add commit and commit_message to docker container
echo "${GITHUB_SHA}" > freqtrade_commit
if [ "${GITHUB_EVENT_NAME}" = "schedule" ]; then
echo "event ${GITHUB_EVENT_NAME}: full rebuild - skipping cache"
# Build regular image
docker build -t freqtrade:${TAG_ARM} .
else
echo "event ${GITHUB_EVENT_NAME}: building with cache"
# Build regular image
docker pull ${IMAGE_NAME}:${TAG_ARM}
docker build --cache-from ${IMAGE_NAME}:${TAG_ARM} -t freqtrade:${TAG_ARM} .
fi
if [ $? -ne 0 ]; then
echo "failed building multiarch images"
return 1
fi
docker build --build-arg sourceimage=freqtrade --build-arg sourcetag=${TAG_ARM} -t freqtrade:${TAG_PLOT_ARM} -f docker/Dockerfile.plot .
docker build --build-arg sourceimage=freqtrade --build-arg sourcetag=${TAG_ARM} -t freqtrade:${TAG_FREQAI_ARM} -f docker/Dockerfile.freqai .
docker build --build-arg sourceimage=freqtrade --build-arg sourcetag=${TAG_FREQAI_ARM} -t freqtrade:${TAG_FREQAI_RL_ARM} -f docker/Dockerfile.freqai_rl .
# Tag image for upload and next build step
docker tag freqtrade:$TAG_ARM ${CACHE_IMAGE}:$TAG_ARM
docker tag freqtrade:$TAG_PLOT_ARM ${CACHE_IMAGE}:$TAG_PLOT_ARM
docker tag freqtrade:$TAG_FREQAI_ARM ${CACHE_IMAGE}:$TAG_FREQAI_ARM
docker tag freqtrade:$TAG_FREQAI_RL_ARM ${CACHE_IMAGE}:$TAG_FREQAI_RL_ARM
# Run backtest
docker run --rm -v $(pwd)/config_examples/config_bittrex.example.json:/freqtrade/config.json:ro -v $(pwd)/tests:/tests freqtrade:${TAG_ARM} backtesting --datadir /tests/testdata --strategy-path /tests/strategy/strats/ --strategy StrategyTestV3
if [ $? -ne 0 ]; then
echo "failed running backtest"
return 1
fi
docker images
docker push ${CACHE_IMAGE}:$TAG_PLOT_ARM
docker push ${CACHE_IMAGE}:$TAG_FREQAI_ARM
docker push ${CACHE_IMAGE}:$TAG_FREQAI_RL_ARM
docker push ${CACHE_IMAGE}:$TAG_ARM
# Create multi-arch image
# Make sure that all images contained here are pushed to github first.
# Otherwise installation might fail.
echo "create manifests"
docker manifest create ${IMAGE_NAME}:${TAG} ${CACHE_IMAGE}:${TAG} ${CACHE_IMAGE}:${TAG_ARM} ${IMAGE_NAME}:${TAG_PI}
docker manifest push -p ${IMAGE_NAME}:${TAG}
docker manifest create ${IMAGE_NAME}:${TAG_PLOT} ${CACHE_IMAGE}:${TAG_PLOT} ${CACHE_IMAGE}:${TAG_PLOT_ARM}
docker manifest push -p ${IMAGE_NAME}:${TAG_PLOT}
docker manifest create ${IMAGE_NAME}:${TAG_FREQAI} ${CACHE_IMAGE}:${TAG_FREQAI} ${CACHE_IMAGE}:${TAG_FREQAI_ARM}
docker manifest push -p ${IMAGE_NAME}:${TAG_FREQAI}
docker manifest create ${IMAGE_NAME}:${TAG_FREQAI_RL} ${CACHE_IMAGE}:${TAG_FREQAI_RL} ${CACHE_IMAGE}:${TAG_FREQAI_RL_ARM}
docker manifest push -p ${IMAGE_NAME}:${TAG_FREQAI_RL}
# Create special Torch tag - which is identical to the RL tag.
docker manifest create ${IMAGE_NAME}:${TAG_FREQAI_TORCH} ${CACHE_IMAGE}:${TAG_FREQAI_RL} ${CACHE_IMAGE}:${TAG_FREQAI_RL_ARM}
docker manifest push -p ${IMAGE_NAME}:${TAG_FREQAI_TORCH}
# copy images to ghcr.io
alias crane="docker run --rm -i -v $(pwd)/.crane:/home/nonroot/.docker/ gcr.io/go-containerregistry/crane"
mkdir .crane
chmod a+rwx .crane
echo "${GHCR_TOKEN}" | crane auth login ghcr.io -u "${GHCR_USERNAME}" --password-stdin
crane copy ${IMAGE_NAME}:${TAG_FREQAI_RL} ${GHCR_IMAGE_NAME}:${TAG_FREQAI_RL}
crane copy ${IMAGE_NAME}:${TAG_FREQAI_RL} ${GHCR_IMAGE_NAME}:${TAG_FREQAI_TORCH}
crane copy ${IMAGE_NAME}:${TAG_FREQAI} ${GHCR_IMAGE_NAME}:${TAG_FREQAI}
crane copy ${IMAGE_NAME}:${TAG_PLOT} ${GHCR_IMAGE_NAME}:${TAG_PLOT}
crane copy ${IMAGE_NAME}:${TAG} ${GHCR_IMAGE_NAME}:${TAG}
# Tag as latest for develop builds
if [ "${TAG}" = "develop" ]; then
echo 'Tagging image as latest'
docker manifest create ${IMAGE_NAME}:latest ${CACHE_IMAGE}:${TAG_ARM} ${IMAGE_NAME}:${TAG_PI} ${CACHE_IMAGE}:${TAG}
docker manifest push -p ${IMAGE_NAME}:latest
crane copy ${IMAGE_NAME}:latest ${GHCR_IMAGE_NAME}:latest
fi
docker images
rm -rf .crane
# Cleanup old images from arm64 node.
docker image prune -a --force --filter "until=24h"

View File

@ -2,14 +2,18 @@
# The below assumes a correctly setup docker buildx environment
IMAGE_NAME=freqtradeorg/freqtrade
CACHE_IMAGE=freqtradeorg/freqtrade_cache
# Replace / with _ to create a valid tag
TAG=$(echo "${BRANCH_NAME}" | sed -e "s/\//_/g")
TAG_PLOT=${TAG}_plot
TAG_FREQAI=${TAG}_freqai
TAG_FREQAI_RL=${TAG_FREQAI}rl
TAG_PI="${TAG}_pi"
PI_PLATFORM="linux/arm/v7"
echo "Running for ${TAG}"
CACHE_TAG=freqtradeorg/freqtrade_cache:${TAG}_cache
CACHE_TAG=${CACHE_IMAGE}:${TAG_PI}_cache
# Add commit and commit_message to docker container
echo "${GITHUB_SHA}" > freqtrade_commit
@ -23,7 +27,10 @@ if [ "${GITHUB_EVENT_NAME}" = "schedule" ]; then
--cache-to=type=registry,ref=${CACHE_TAG} \
-f docker/Dockerfile.armhf \
--platform ${PI_PLATFORM} \
-t ${IMAGE_NAME}:${TAG_PI} --push .
-t ${IMAGE_NAME}:${TAG_PI} \
--push \
--provenance=false \
.
else
echo "event ${GITHUB_EVENT_NAME}: building with cache"
# Build regular image
@ -32,12 +39,16 @@ else
# Pull last build to avoid rebuilding the whole image
# docker pull --platform ${PI_PLATFORM} ${IMAGE_NAME}:${TAG}
# disable provenance due to https://github.com/docker/buildx/issues/1509
docker buildx build \
--cache-from=type=registry,ref=${CACHE_TAG} \
--cache-to=type=registry,ref=${CACHE_TAG} \
-f docker/Dockerfile.armhf \
--platform ${PI_PLATFORM} \
-t ${IMAGE_NAME}:${TAG_PI} --push .
-t ${IMAGE_NAME}:${TAG_PI} \
--push \
--provenance=false \
.
fi
if [ $? -ne 0 ]; then
@ -45,14 +56,18 @@ if [ $? -ne 0 ]; then
return 1
fi
# Tag image for upload and next build step
docker tag freqtrade:$TAG ${IMAGE_NAME}:$TAG
docker tag freqtrade:$TAG ${CACHE_IMAGE}:$TAG
docker build --cache-from freqtrade:${TAG} --build-arg sourceimage=${TAG} -t freqtrade:${TAG_PLOT} -f docker/Dockerfile.plot .
docker build --build-arg sourceimage=freqtrade --build-arg sourcetag=${TAG} -t freqtrade:${TAG_PLOT} -f docker/Dockerfile.plot .
docker build --build-arg sourceimage=freqtrade --build-arg sourcetag=${TAG} -t freqtrade:${TAG_FREQAI} -f docker/Dockerfile.freqai .
docker build --build-arg sourceimage=freqtrade --build-arg sourcetag=${TAG_FREQAI} -t freqtrade:${TAG_FREQAI_RL} -f docker/Dockerfile.freqai_rl .
docker tag freqtrade:$TAG_PLOT ${IMAGE_NAME}:$TAG_PLOT
docker tag freqtrade:$TAG_PLOT ${CACHE_IMAGE}:$TAG_PLOT
docker tag freqtrade:$TAG_FREQAI ${CACHE_IMAGE}:$TAG_FREQAI
docker tag freqtrade:$TAG_FREQAI_RL ${CACHE_IMAGE}:$TAG_FREQAI_RL
# Run backtest
docker run --rm -v $(pwd)/config_bittrex.json.example:/freqtrade/config.json:ro -v $(pwd)/tests:/tests freqtrade:${TAG} backtesting --datadir /tests/testdata --strategy-path /tests/strategy/strats/ --strategy DefaultStrategy
docker run --rm -v $(pwd)/config_examples/config_bittrex.example.json:/freqtrade/config.json:ro -v $(pwd)/tests:/tests freqtrade:${TAG} backtesting --datadir /tests/testdata --strategy-path /tests/strategy/strats/ --strategy StrategyTestV3
if [ $? -ne 0 ]; then
echo "failed running backtest"
@ -61,23 +76,10 @@ fi
docker images
docker push ${IMAGE_NAME}
docker push ${IMAGE_NAME}:$TAG_PLOT
docker push ${IMAGE_NAME}:$TAG
# Create multiarch image
# Make sure that all images contained here are pushed to github first.
# Otherwise installation might fail.
docker manifest create freqtradeorg/freqtrade:${TAG} ${IMAGE_NAME}:${TAG} ${IMAGE_NAME}:${TAG_PI}
docker manifest push freqtradeorg/freqtrade:${TAG}
# Tag as latest for develop builds
if [ "${TAG}" = "develop" ]; then
docker manifest create freqtradeorg/freqtrade:latest ${IMAGE_NAME}:${TAG} ${IMAGE_NAME}:${TAG_PI}
docker manifest push freqtradeorg/freqtrade:latest
fi
docker push ${CACHE_IMAGE}:$TAG
docker push ${CACHE_IMAGE}:$TAG_PLOT
docker push ${CACHE_IMAGE}:$TAG_FREQAI
docker push ${CACHE_IMAGE}:$TAG_FREQAI_RL
docker images

View File

@ -8,34 +8,32 @@
"dry_run": true,
"cancel_open_orders_on_exit": false,
"unfilledtimeout": {
"buy": 10,
"sell": 30
"entry": 10,
"exit": 10,
"exit_timeout_count": 0,
"unit": "minutes"
},
"bid_strategy": {
"ask_last_balance": 0.0,
"use_order_book": false,
"entry_pricing": {
"price_side": "same",
"use_order_book": true,
"order_book_top": 1,
"price_last_balance": 0.0,
"check_depth_of_market": {
"enabled": false,
"bids_to_ask_delta": 1
}
},
"ask_strategy": {
"use_order_book": false,
"order_book_min": 1,
"order_book_max": 1,
"use_sell_signal": true,
"sell_profit_only": false,
"ignore_roi_if_buy_signal": false
"exit_pricing": {
"price_side": "same",
"use_order_book": true,
"order_book_top": 1
},
"exchange": {
"name": "binance",
"key": "your_exchange_key",
"secret": "your_exchange_secret",
"ccxt_config": {"enableRateLimit": true},
"ccxt_config": {},
"ccxt_async_config": {
"enableRateLimit": true,
"rateLimit": 200
},
"pair_whitelist": [
"ALGO/BTC",
@ -55,26 +53,12 @@
"XTZ/BTC"
],
"pair_blacklist": [
"BNB/BTC"
"BNB/.*"
]
},
"pairlists": [
{"method": "StaticPairList"}
],
"edge": {
"enabled": false,
"process_throttle_secs": 3600,
"calculate_since_number_of_days": 7,
"allowed_risk": 0.01,
"stoploss_range_min": -0.01,
"stoploss_range_max": -0.1,
"stoploss_range_step": -0.01,
"minimum_winrate": 0.60,
"minimum_expectancy": 0.20,
"min_trade_number": 10,
"max_trade_duration_minute": 1440,
"remove_pumps": false
},
"telegram": {
"enabled": false,
"token": "your_telegram_token",
@ -92,7 +76,7 @@
},
"bot_name": "freqtrade",
"initial_state": "running",
"forcebuy_enable": false,
"force_entry_enable": false,
"internals": {
"process_throttle_secs": 5
}

View File

@ -8,25 +8,25 @@
"dry_run": true,
"cancel_open_orders_on_exit": false,
"unfilledtimeout": {
"buy": 10,
"sell": 30
"entry": 10,
"exit": 10,
"exit_timeout_count": 0,
"unit": "minutes"
},
"bid_strategy": {
"use_order_book": false,
"ask_last_balance": 0.0,
"entry_pricing": {
"price_side": "same",
"use_order_book": true,
"order_book_top": 1,
"price_last_balance": 0.0,
"check_depth_of_market": {
"enabled": false,
"bids_to_ask_delta": 1
}
},
"ask_strategy":{
"use_order_book": false,
"order_book_min": 1,
"order_book_max": 1,
"use_sell_signal": true,
"sell_profit_only": false,
"ignore_roi_if_buy_signal": false
"exit_pricing":{
"price_side": "same",
"use_order_book": true,
"order_book_top": 1
},
"exchange": {
"name": "bittrex",
@ -56,20 +56,6 @@
"pairlists": [
{"method": "StaticPairList"}
],
"edge": {
"enabled": false,
"process_throttle_secs": 3600,
"calculate_since_number_of_days": 7,
"allowed_risk": 0.01,
"stoploss_range_min": -0.01,
"stoploss_range_max": -0.1,
"stoploss_range_step": -0.01,
"minimum_winrate": 0.60,
"minimum_expectancy": 0.20,
"min_trade_number": 10,
"max_trade_duration_minute": 1440,
"remove_pumps": false
},
"telegram": {
"enabled": false,
"token": "your_telegram_token",
@ -87,7 +73,7 @@
},
"bot_name": "freqtrade",
"initial_state": "running",
"forcebuy_enable": false,
"force_entry_enable": false,
"internals": {
"process_throttle_secs": 5
}

View File

@ -0,0 +1,90 @@
{
"trading_mode": "futures",
"margin_mode": "isolated",
"max_open_trades": 5,
"stake_currency": "USDT",
"stake_amount": 200,
"tradable_balance_ratio": 1,
"fiat_display_currency": "USD",
"dry_run": true,
"timeframe": "3m",
"dry_run_wallet": 1000,
"cancel_open_orders_on_exit": true,
"unfilledtimeout": {
"entry": 10,
"exit": 30
},
"exchange": {
"name": "binance",
"key": "",
"secret": "",
"ccxt_config": {},
"ccxt_async_config": {},
"pair_whitelist": [
"1INCH/USDT:USDT",
"ALGO/USDT:USDT"
],
"pair_blacklist": []
},
"entry_pricing": {
"price_side": "same",
"use_order_book": true,
"order_book_top": 1,
"price_last_balance": 0.0,
"check_depth_of_market": {
"enabled": false,
"bids_to_ask_delta": 1
}
},
"exit_pricing": {
"price_side": "other",
"use_order_book": true,
"order_book_top": 1
},
"pairlists": [
{
"method": "StaticPairList"
}
],
"freqai": {
"enabled": true,
"purge_old_models": 2,
"train_period_days": 15,
"backtest_period_days": 7,
"live_retrain_hours": 0,
"identifier": "uniqe-id",
"feature_parameters": {
"include_timeframes": [
"3m",
"15m",
"1h"
],
"include_corr_pairlist": [
"BTC/USDT:USDT",
"ETH/USDT:USDT"
],
"label_period_candles": 20,
"include_shifted_candles": 2,
"DI_threshold": 0.9,
"weight_factor": 0.9,
"principal_component_analysis": false,
"use_SVM_to_remove_outliers": true,
"indicator_periods_candles": [
10,
20
],
"plot_feature_importances": 0
},
"data_split_parameters": {
"test_size": 0.33,
"random_state": 1
},
"model_training_parameters": {}
},
"bot_name": "",
"force_entry_enable": true,
"initial_state": "running",
"internals": {
"process_throttle_secs": 5
}
}

View File

@ -5,15 +5,24 @@
"tradable_balance_ratio": 0.99,
"fiat_display_currency": "USD",
"amount_reserve_percent": 0.05,
"available_capital": 1000,
"amend_last_stake_amount": false,
"last_stake_amount_min_ratio": 0.5,
"dry_run": true,
"dry_run_wallet": 1000,
"cancel_open_orders_on_exit": false,
"timeframe": "5m",
"trailing_stop": false,
"trailing_stop_positive": 0.005,
"trailing_stop_positive_offset": 0.0051,
"trailing_only_offset_is_reached": false,
"use_exit_signal": true,
"exit_profit_only": false,
"exit_profit_offset": 0.0,
"ignore_roi_if_entry_signal": false,
"ignore_buying_expired_candle_after": 300,
"trading_mode": "spot",
"margin_mode": "",
"minimal_roi": {
"40": 0.0,
"30": 0.01,
@ -22,43 +31,42 @@
},
"stoploss": -0.10,
"unfilledtimeout": {
"buy": 10,
"sell": 30,
"entry": 10,
"exit": 10,
"exit_timeout_count": 0,
"unit": "minutes"
},
"bid_strategy": {
"price_side": "bid",
"use_order_book": false,
"ask_last_balance": 0.0,
"entry_pricing": {
"price_side": "same",
"use_order_book": true,
"order_book_top": 1,
"price_last_balance": 0.0,
"check_depth_of_market": {
"enabled": false,
"bids_to_ask_delta": 1
}
},
"ask_strategy":{
"price_side": "ask",
"use_order_book": false,
"order_book_min": 1,
"order_book_max": 1,
"use_sell_signal": true,
"sell_profit_only": false,
"sell_profit_offset": 0.0,
"ignore_roi_if_buy_signal": false
"exit_pricing":{
"price_side": "same",
"use_order_book": true,
"order_book_top": 1,
"price_last_balance": 0.0
},
"order_types": {
"buy": "limit",
"sell": "limit",
"emergencysell": "market",
"forcesell": "market",
"forcebuy": "market",
"entry": "limit",
"exit": "limit",
"emergency_exit": "market",
"force_exit": "market",
"force_entry": "market",
"stoploss": "market",
"stoploss_on_exchange": false,
"stoploss_on_exchange_interval": 60
"stoploss_price_type": "last",
"stoploss_on_exchange_interval": 60,
"stoploss_on_exchange_limit_ratio": 0.99
},
"order_time_in_force": {
"buy": "gtc",
"sell": "gtc"
"entry": "GTC",
"exit": "GTC"
},
"pairlists": [
{"method": "StaticPairList"},
@ -79,45 +87,16 @@
"refresh_period": 1440
}
],
"protections": [
{
"method": "StoplossGuard",
"lookback_period_candles": 60,
"trade_limit": 4,
"stop_duration_candles": 60,
"only_per_pair": false
},
{
"method": "CooldownPeriod",
"stop_duration_candles": 20
},
{
"method": "MaxDrawdown",
"lookback_period_candles": 200,
"trade_limit": 20,
"stop_duration_candles": 10,
"max_allowed_drawdown": 0.2
},
{
"method": "LowProfitPairs",
"lookback_period_candles": 360,
"trade_limit": 1,
"stop_duration_candles": 2,
"required_profit": 0.02
}
],
"exchange": {
"name": "binance",
"sandbox": false,
"key": "your_exchange_key",
"secret": "your_exchange_secret",
"password": "",
"ccxt_config": {"enableRateLimit": true},
"ccxt_async_config": {
"enableRateLimit": true,
"rateLimit": 500,
"aiohttp_trust_env": false
},
"log_responses": false,
// "unknown_fee_rate": 1,
"ccxt_config": {},
"ccxt_async_config": {},
"pair_whitelist": [
"ALGO/BTC",
"ATOM/BTC",
@ -163,21 +142,24 @@
"status": "on",
"warning": "on",
"startup": "on",
"buy": "on",
"buy_fill": "on",
"sell": {
"entry": "on",
"entry_fill": "on",
"exit": {
"roi": "off",
"emergency_sell": "off",
"force_sell": "off",
"sell_signal": "off",
"emergency_exit": "off",
"force_exit": "off",
"exit_signal": "off",
"trailing_stop_loss": "off",
"stop_loss": "off",
"stoploss_on_exchange": "off",
"custom_sell": "off"
"custom_exit": "off"
},
"sell_fill": "on",
"buy_cancel": "on",
"sell_cancel": "on"
"exit_fill": "on",
"entry_cancel": "on",
"exit_cancel": "on",
"protection_trigger": "off",
"protection_trigger_global": "on",
"show_candle": "off"
},
"reload": true,
"balance_dust_level": 0.01
@ -191,19 +173,39 @@
"jwt_secret_key": "somethingrandom",
"CORS_origins": [],
"username": "freqtrader",
"password": "SuperSecurePassword"
"password": "SuperSecurePassword",
"ws_token": "secret_ws_t0ken."
},
"external_message_consumer": {
"enabled": false,
"producers": [
{
"name": "default",
"host": "127.0.0.2",
"port": 8080,
"ws_token": "secret_ws_t0ken."
}
],
"wait_timeout": 300,
"ping_timeout": 10,
"sleep_time": 10,
"remove_entry_exit_signals": false,
"message_size_limit": 8
},
"bot_name": "freqtrade",
"db_url": "sqlite:///tradesv3.sqlite",
"initial_state": "running",
"forcebuy_enable": false,
"force_entry_enable": false,
"internals": {
"process_throttle_secs": 5,
"heartbeat_interval": 60
},
"disable_dataframe_checks": false,
"strategy": "DefaultStrategy",
"strategy": "SampleStrategy",
"strategy_path": "user_data/strategies/",
"recursive_strategy_search": false,
"add_config_files": [],
"reduce_df_footprint": false,
"dataformat_ohlcv": "json",
"dataformat_trades": "jsongz"
}

View File

@ -8,34 +8,32 @@
"dry_run": true,
"cancel_open_orders_on_exit": false,
"unfilledtimeout": {
"buy": 10,
"sell": 30
"entry": 10,
"exit": 10,
"exit_timeout_count": 0,
"unit": "minutes"
},
"bid_strategy": {
"use_order_book": false,
"ask_last_balance": 0.0,
"entry_pricing": {
"price_side": "same",
"use_order_book": true,
"order_book_top": 1,
"price_last_balance": 0.0,
"check_depth_of_market": {
"enabled": false,
"bids_to_ask_delta": 1
}
},
"ask_strategy":{
"use_order_book": false,
"order_book_min": 1,
"order_book_max": 1,
"use_sell_signal": true,
"sell_profit_only": false,
"ignore_roi_if_buy_signal": false
"exit_pricing":{
"price_side": "same",
"use_order_book": true,
"order_book_top": 1
},
"exchange": {
"name": "kraken",
"key": "your_exchange_key",
"secret": "your_exchange_key",
"ccxt_config": {"enableRateLimit": true},
"ccxt_config": {},
"ccxt_async_config": {
"enableRateLimit": true,
"rateLimit": 1000
},
"pair_whitelist": [
"ADA/EUR",
@ -66,20 +64,6 @@
"pairlists": [
{"method": "StaticPairList"}
],
"edge": {
"enabled": false,
"process_throttle_secs": 3600,
"calculate_since_number_of_days": 7,
"allowed_risk": 0.01,
"stoploss_range_min": -0.01,
"stoploss_range_max": -0.1,
"stoploss_range_step": -0.01,
"minimum_winrate": 0.60,
"minimum_expectancy": 0.20,
"min_trade_number": 10,
"max_trade_duration_minute": 1440,
"remove_pumps": false
},
"telegram": {
"enabled": false,
"token": "your_telegram_token",
@ -97,7 +81,7 @@
},
"bot_name": "freqtrade",
"initial_state": "running",
"forcebuy_enable": false,
"force_entry_enable": false,
"internals": {
"process_throttle_secs": 5
},

View File

@ -1,99 +0,0 @@
{
"max_open_trades": 3,
"stake_currency": "USD",
"stake_amount": 50,
"tradable_balance_ratio": 0.99,
"fiat_display_currency": "USD",
"timeframe": "5m",
"dry_run": true,
"cancel_open_orders_on_exit": false,
"unfilledtimeout": {
"buy": 10,
"sell": 30
},
"bid_strategy": {
"ask_last_balance": 0.0,
"use_order_book": false,
"order_book_top": 1,
"check_depth_of_market": {
"enabled": false,
"bids_to_ask_delta": 1
}
},
"ask_strategy": {
"use_order_book": false,
"order_book_min": 1,
"order_book_max": 1,
"use_sell_signal": true,
"sell_profit_only": false,
"ignore_roi_if_buy_signal": false
},
"exchange": {
"name": "ftx",
"key": "your_exchange_key",
"secret": "your_exchange_secret",
"ccxt_config": {"enableRateLimit": true},
"ccxt_async_config": {
"enableRateLimit": true,
"rateLimit": 50
},
"pair_whitelist": [
"BTC/USD",
"ETH/USD",
"BNB/USD",
"USDT/USD",
"LTC/USD",
"SRM/USD",
"SXP/USD",
"XRP/USD",
"DOGE/USD",
"1INCH/USD",
"CHZ/USD",
"MATIC/USD",
"LINK/USD",
"OXY/USD",
"SUSHI/USD"
],
"pair_blacklist": [
"FTT/USD"
]
},
"pairlists": [
{"method": "StaticPairList"}
],
"edge": {
"enabled": false,
"process_throttle_secs": 3600,
"calculate_since_number_of_days": 7,
"allowed_risk": 0.01,
"stoploss_range_min": -0.01,
"stoploss_range_max": -0.1,
"stoploss_range_step": -0.01,
"minimum_winrate": 0.60,
"minimum_expectancy": 0.20,
"min_trade_number": 10,
"max_trade_duration_minute": 1440,
"remove_pumps": false
},
"telegram": {
"enabled": false,
"token": "your_telegram_token",
"chat_id": "your_telegram_chat_id"
},
"api_server": {
"enabled": false,
"listen_ip_address": "127.0.0.1",
"listen_port": 8080,
"verbosity": "error",
"jwt_secret_key": "somethingrandom",
"CORS_origins": [],
"username": "freqtrader",
"password": "SuperSecurePassword"
},
"bot_name": "freqtrade",
"initial_state": "running",
"forcebuy_enable": false,
"internals": {
"process_throttle_secs": 5
}
}

View File

@ -15,10 +15,10 @@ services:
volumes:
- "./user_data:/freqtrade/user_data"
# Expose api on port 8080 (localhost only)
# Please read the https://www.freqtrade.io/en/latest/rest-api/ documentation
# Please read the https://www.freqtrade.io/en/stable/rest-api/ documentation
# before enabling this.
# ports:
# - "127.0.0.1:8080:8080"
ports:
- "127.0.0.1:8080:8080"
# Default command used when running `docker compose up`
command: >
trade

View File

@ -1,4 +1,4 @@
FROM python:3.7.10-slim-buster as base
FROM python:3.9.16-slim-bullseye as base
# Setup env
ENV LANG C.UTF-8
@ -11,7 +11,7 @@ ENV FT_APP_ENV="docker"
# Prepare environment
RUN mkdir /freqtrade \
&& apt-get update \
&& apt-get -y install sudo libatlas3-base curl sqlite3 libhdf5-dev \
&& apt-get -y install sudo libatlas3-base curl sqlite3 libhdf5-dev libutf8proc-dev libsnappy-dev \
&& apt-get clean \
&& useradd -u 1000 -G sudo -U -m ftuser \
&& chown ftuser:ftuser /freqtrade \
@ -37,6 +37,7 @@ ENV LD_LIBRARY_PATH /usr/local/lib
COPY --chown=ftuser:ftuser requirements.txt /freqtrade/
USER ftuser
RUN pip install --user --no-cache-dir numpy \
&& pip install --user /tmp/pyarrow-*.whl \
&& pip install --user --no-cache-dir -r requirements.txt
# Copy dependencies to runtime-image

View File

@ -7,4 +7,5 @@ FROM freqtradeorg/freqtrade:develop
# The below dependency - pyti - serves as an example. Please use whatever you need!
RUN pip install --user pyti
# Switch back to user (only if you required root above)
# USER ftuser

8
docker/Dockerfile.freqai Normal file
View File

@ -0,0 +1,8 @@
ARG sourceimage=freqtradeorg/freqtrade
ARG sourcetag=develop
FROM ${sourceimage}:${sourcetag}
# Install dependencies
COPY requirements-freqai.txt /freqtrade/
RUN pip install -r requirements-freqai.txt --user --no-cache-dir

View File

@ -0,0 +1,8 @@
ARG sourceimage=freqtradeorg/freqtrade
ARG sourcetag=develop_freqai
FROM ${sourceimage}:${sourcetag}
# Install dependencies
COPY requirements-freqai.txt requirements-freqai-rl.txt /freqtrade/
RUN pip install -r requirements-freqai-rl.txt --user --no-cache-dir

View File

@ -1,7 +1,8 @@
FROM freqtradeorg/freqtrade:develop_plot
RUN pip install jupyterlab --user --no-cache-dir
# Pin jupyter-client to avoid tornado version conflict
RUN pip install jupyterlab jupyter-client==7.3.4 --user --no-cache-dir
# Empty the ENTRYPOINT to allow all commands
ENTRYPOINT []

View File

@ -1,5 +1,6 @@
ARG sourceimage=develop
FROM freqtradeorg/freqtrade:${sourceimage}
ARG sourceimage=freqtradeorg/freqtrade
ARG sourcetag=develop
FROM ${sourceimage}:${sourcetag}
# Install dependencies
COPY requirements-plot.txt /freqtrade/

View File

@ -10,7 +10,7 @@ services:
ports:
- "127.0.0.1:8888:8888"
volumes:
- "./user_data:/freqtrade/user_data"
- "../user_data:/freqtrade/user_data"
# Default command used when running `docker compose up`
command: >
jupyter lab --port=8888 --ip 0.0.0.0 --allow-root

View File

@ -0,0 +1,117 @@
# Advanced Backtesting Analysis
## Analyze the buy/entry and sell/exit tags
It can be helpful to understand how a strategy behaves according to the buy/entry tags used to
mark up different buy conditions. You might want to see more complex statistics about each buy and
sell condition above those provided by the default backtesting output. You may also want to
determine indicator values on the signal candle that resulted in a trade opening.
!!! Note
The following buy reason analysis is only available for backtesting, *not hyperopt*.
We need to run backtesting with the `--export` option set to `signals` to enable the exporting of
signals **and** trades:
``` bash
freqtrade backtesting -c <config.json> --timeframe <tf> --strategy <strategy_name> --timerange=<timerange> --export=signals
```
This will tell freqtrade to output a pickled dictionary of strategy, pairs and corresponding
DataFrame of the candles that resulted in buy signals. Depending on how many buys your strategy
makes, this file may get quite large, so periodically check your `user_data/backtest_results`
folder to delete old exports.
Before running your next backtest, make sure you either delete your old backtest results or run
backtesting with the `--cache none` option to make sure no cached results are used.
If all goes well, you should now see a `backtest-result-{timestamp}_signals.pkl` file in the
`user_data/backtest_results` folder.
To analyze the entry/exit tags, we now need to use the `freqtrade backtesting-analysis` command
with `--analysis-groups` option provided with space-separated arguments (default `0 1 2`):
``` bash
freqtrade backtesting-analysis -c <config.json> --analysis-groups 0 1 2 3 4 5
```
This command will read from the last backtesting results. The `--analysis-groups` option is
used to specify the various tabular outputs showing the profit fo each group or trade,
ranging from the simplest (0) to the most detailed per pair, per buy and per sell tag (4):
* 1: profit summaries grouped by enter_tag
* 2: profit summaries grouped by enter_tag and exit_tag
* 3: profit summaries grouped by pair and enter_tag
* 4: profit summaries grouped by pair, enter_ and exit_tag (this can get quite large)
* 5: profit summaries grouped by exit_tag
More options are available by running with the `-h` option.
### Using export-filename
Normally, `backtesting-analysis` uses the latest backtest results, but if you wanted to go
back to a previous backtest output, you need to supply the `--export-filename` option.
You can supply the same parameter to `backtest-analysis` with the name of the final backtest
output file. This allows you to keep historical versions of backtest results and re-analyse
them at a later date:
``` bash
freqtrade backtesting -c <config.json> --timeframe <tf> --strategy <strategy_name> --timerange=<timerange> --export=signals --export-filename=/tmp/mystrat_backtest.json
```
You should see some output similar to below in the logs with the name of the timestamped
filename that was exported:
```
2022-06-14 16:28:32,698 - freqtrade.misc - INFO - dumping json to "/tmp/mystrat_backtest-2022-06-14_16-28-32.json"
```
You can then use that filename in `backtesting-analysis`:
```
freqtrade backtesting-analysis -c <config.json> --export-filename=/tmp/mystrat_backtest-2022-06-14_16-28-32.json
```
### Tuning the buy tags and sell tags to display
To show only certain buy and sell tags in the displayed output, use the following two options:
```
--enter-reason-list : Space-separated list of enter signals to analyse. Default: "all"
--exit-reason-list : Space-separated list of exit signals to analyse. Default: "all"
```
For example:
```bash
freqtrade backtesting-analysis -c <config.json> --analysis-groups 0 2 --enter-reason-list enter_tag_a enter_tag_b --exit-reason-list roi custom_exit_tag_a stop_loss
```
### Outputting signal candle indicators
The real power of `freqtrade backtesting-analysis` comes from the ability to print out the indicator
values present on signal candles to allow fine-grained investigation and tuning of buy signal
indicators. To print out a column for a given set of indicators, use the `--indicator-list`
option:
```bash
freqtrade backtesting-analysis -c <config.json> --analysis-groups 0 2 --enter-reason-list enter_tag_a enter_tag_b --exit-reason-list roi custom_exit_tag_a stop_loss --indicator-list rsi rsi_1h bb_lowerband ema_9 macd macdsignal
```
The indicators have to be present in your strategy's main DataFrame (either for your main
timeframe or for informative timeframes) otherwise they will simply be ignored in the script
output.
### Filtering the trade output by date
To show only trades between dates within your backtested timerange, supply the usual `timerange` option in `YYYYMMDD-[YYYYMMDD]` format:
```
--timerange : Timerange to filter output trades, start date inclusive, end date exclusive. e.g. 20220101-20221231
```
For example, if your backtest timerange was `20220101-20221231` but you only want to output trades in January:
```bash
freqtrade backtesting-analysis -c <config.json> --timerange 20220101-20220201
```

View File

@ -13,10 +13,11 @@ A sample of this can be found below, which is identical to the Default Hyperopt
``` python
from datetime import datetime
from typing import Dict
from typing import Any, Dict
from pandas import DataFrame
from freqtrade.constants import Config
from freqtrade.optimize.hyperopt import IHyperOptLoss
TARGET_TRADES = 600
@ -31,7 +32,8 @@ class SuperDuperHyperOptLoss(IHyperOptLoss):
@staticmethod
def hyperopt_loss_function(results: DataFrame, trade_count: int,
min_date: datetime, max_date: datetime,
config: Dict, processed: Dict[str, DataFrame],
config: Config, processed: Dict[str, DataFrame],
backtest_stats: Dict[str, Any],
*args, **kwargs) -> float:
"""
Objective function, returns smaller number for better results
@ -53,35 +55,155 @@ class SuperDuperHyperOptLoss(IHyperOptLoss):
Currently, the arguments are:
* `results`: DataFrame containing the result
* `results`: DataFrame containing the resulting trades.
The following columns are available in results (corresponds to the output-file of backtesting when used with `--export trades`):
`pair, profit_ratio, profit_abs, open_date, open_rate, fee_open, close_date, close_rate, fee_close, amount, trade_duration, is_open, sell_reason, stake_amount, min_rate, max_rate, stop_loss_ratio, stop_loss_abs`
`pair, profit_ratio, profit_abs, open_date, open_rate, fee_open, close_date, close_rate, fee_close, amount, trade_duration, is_open, exit_reason, stake_amount, min_rate, max_rate, stop_loss_ratio, stop_loss_abs`
* `trade_count`: Amount of trades (identical to `len(results)`)
* `min_date`: Start date of the timerange used
* `min_date`: End date of the timerange used
* `config`: Config object used (Note: Not all strategy-related parameters will be updated here if they are part of a hyperopt space).
* `processed`: Dict of Dataframes with the pair as keys containing the data used for backtesting.
* `backtest_stats`: Backtesting statistics using the same format as the backtesting file "strategy" substructure. Available fields can be seen in `generate_strategy_stats()` in `optimize_reports.py`.
This function needs to return a floating point number (`float`). Smaller numbers will be interpreted as better results. The parameters and balancing for this is up to you.
!!! Note
This function is called once per iteration - so please make sure to have this as optimized as possible to not slow hyperopt down unnecessarily.
This function is called once per epoch - so please make sure to have this as optimized as possible to not slow hyperopt down unnecessarily.
!!! Note
Please keep the arguments `*args` and `**kwargs` in the interface to allow us to extend this interface later.
!!! Note "`*args` and `**kwargs`"
Please keep the arguments `*args` and `**kwargs` in the interface to allow us to extend this interface in the future.
## Overriding pre-defined spaces
To override a pre-defined space (`roi_space`, `generate_roi_table`, `stoploss_space`, `trailing_space`), define a nested class called Hyperopt and define the required spaces as follows:
To override a pre-defined space (`roi_space`, `generate_roi_table`, `stoploss_space`, `trailing_space`, `max_open_trades_space`), define a nested class called Hyperopt and define the required spaces as follows:
```python
from freqtrade.optimize.space import Categorical, Dimension, Integer, SKDecimal
class MyAwesomeStrategy(IStrategy):
class HyperOpt:
# Define a custom stoploss space.
def stoploss_space():
return [SKDecimal(-0.05, -0.01, decimals=3, name='stoploss')]
# Define custom ROI space
def roi_space() -> List[Dimension]:
return [
Integer(10, 120, name='roi_t1'),
Integer(10, 60, name='roi_t2'),
Integer(10, 40, name='roi_t3'),
SKDecimal(0.01, 0.04, decimals=3, name='roi_p1'),
SKDecimal(0.01, 0.07, decimals=3, name='roi_p2'),
SKDecimal(0.01, 0.20, decimals=3, name='roi_p3'),
]
def generate_roi_table(params: Dict) -> Dict[int, float]:
roi_table = {}
roi_table[0] = params['roi_p1'] + params['roi_p2'] + params['roi_p3']
roi_table[params['roi_t3']] = params['roi_p1'] + params['roi_p2']
roi_table[params['roi_t3'] + params['roi_t2']] = params['roi_p1']
roi_table[params['roi_t3'] + params['roi_t2'] + params['roi_t1']] = 0
return roi_table
def trailing_space() -> List[Dimension]:
# All parameters here are mandatory, you can only modify their type or the range.
return [
# Fixed to true, if optimizing trailing_stop we assume to use trailing stop at all times.
Categorical([True], name='trailing_stop'),
SKDecimal(0.01, 0.35, decimals=3, name='trailing_stop_positive'),
# 'trailing_stop_positive_offset' should be greater than 'trailing_stop_positive',
# so this intermediate parameter is used as the value of the difference between
# them. The value of the 'trailing_stop_positive_offset' is constructed in the
# generate_trailing_params() method.
# This is similar to the hyperspace dimensions used for constructing the ROI tables.
SKDecimal(0.001, 0.1, decimals=3, name='trailing_stop_positive_offset_p1'),
Categorical([True, False], name='trailing_only_offset_is_reached'),
]
# Define a custom max_open_trades space
def max_open_trades_space(self) -> List[Dimension]:
return [
Integer(-1, 10, name='max_open_trades'),
]
```
!!! Note
All overrides are optional and can be mixed/matched as necessary.
### Dynamic parameters
Parameters can also be defined dynamically, but must be available to the instance once the * [`bot_start()` callback](strategy-callbacks.md#bot-start) has been called.
``` python
class MyAwesomeStrategy(IStrategy):
def bot_start(self, **kwargs) -> None:
self.buy_adx = IntParameter(20, 30, default=30, optimize=True)
# ...
```
!!! Warning
Parameters created this way will not show up in the `list-strategies` parameter count.
### Overriding Base estimator
You can define your own estimator for Hyperopt by implementing `generate_estimator()` in the Hyperopt subclass.
```python
class MyAwesomeStrategy(IStrategy):
class HyperOpt:
# Define a custom stoploss space.
def stoploss_space(self):
return [SKDecimal(-0.05, -0.01, decimals=3, name='stoploss')]
def generate_estimator(dimensions: List['Dimension'], **kwargs):
return "RF"
```
Possible values are either one of "GP", "RF", "ET", "GBRT" (Details can be found in the [scikit-optimize documentation](https://scikit-optimize.github.io/)), or "an instance of a class that inherits from `RegressorMixin` (from sklearn) and where the `predict` method has an optional `return_std` argument, which returns `std(Y | x)` along with `E[Y | x]`".
Some research will be necessary to find additional Regressors.
Example for `ExtraTreesRegressor` ("ET") with additional parameters:
```python
class MyAwesomeStrategy(IStrategy):
class HyperOpt:
def generate_estimator(dimensions: List['Dimension'], **kwargs):
from skopt.learning import ExtraTreesRegressor
# Corresponds to "ET" - but allows additional parameters.
return ExtraTreesRegressor(n_estimators=100)
```
The `dimensions` parameter is the list of `skopt.space.Dimension` objects corresponding to the parameters to be optimized. It can be used to create isotropic kernels for the `skopt.learning.GaussianProcessRegressor` estimator. Here's an example:
```python
class MyAwesomeStrategy(IStrategy):
class HyperOpt:
def generate_estimator(dimensions: List['Dimension'], **kwargs):
from skopt.utils import cook_estimator
from skopt.learning.gaussian_process.kernels import (Matern, ConstantKernel)
kernel_bounds = (0.0001, 10000)
kernel = (
ConstantKernel(1.0, kernel_bounds) *
Matern(length_scale=np.ones(len(dimensions)), length_scale_bounds=[kernel_bounds for d in dimensions], nu=2.5)
)
kernel += (
ConstantKernel(1.0, kernel_bounds) *
Matern(length_scale=np.ones(len(dimensions)), length_scale_bounds=[kernel_bounds for d in dimensions], nu=1.5)
)
return cook_estimator("GP", space=dimensions, kernel=kernel, n_restarts_optimizer=2)
```
!!! Note
While custom estimators can be provided, it's up to you as User to do research on possible parameters and analyze / understand which ones should be used.
If you're unsure about this, best use one of the Defaults (`"ET"` has proven to be the most versatile) without further parameters.
## Space options
For the additional spaces, scikit-optimize (in combination with Freqtrade) provides the following space types:
@ -103,281 +225,3 @@ from freqtrade.optimize.space import Categorical, Dimension, Integer, SKDecimal,
Assuming the definition of a rather small space (`SKDecimal(0.10, 0.15, decimals=2, name='xxx')`) - SKDecimal will have 5 possibilities (`[0.10, 0.11, 0.12, 0.13, 0.14, 0.15]`).
A corresponding real space `Real(0.10, 0.15 name='xxx')` on the other hand has an almost unlimited number of possibilities (`[0.10, 0.010000000001, 0.010000000002, ... 0.014999999999, 0.01500000000]`).
---
## Legacy Hyperopt
This Section explains the configuration of an explicit Hyperopt file (separate to the strategy).
!!! Warning "Deprecated / legacy mode"
Since the 2021.4 release you no longer have to write a separate hyperopt class, but all strategies can be hyperopted.
Please read the [main hyperopt page](hyperopt.md) for more details.
### Prepare hyperopt file
Configuring an explicit hyperopt file is similar to writing your own strategy, and many tasks will be similar.
!!! Tip "About this page"
For this page, we will be using a fictional strategy called `AwesomeStrategy` - which will be optimized using the `AwesomeHyperopt` class.
#### Create a Custom Hyperopt File
The simplest way to get started is to use the following command, which will create a new hyperopt file from a template, which will be located under `user_data/hyperopts/AwesomeHyperopt.py`.
Let assume you want a hyperopt file `AwesomeHyperopt.py`:
``` bash
freqtrade new-hyperopt --hyperopt AwesomeHyperopt
```
#### Legacy Hyperopt checklist
Checklist on all tasks / possibilities in hyperopt
Depending on the space you want to optimize, only some of the below are required:
* fill `buy_strategy_generator` - for buy signal optimization
* fill `indicator_space` - for buy signal optimization
* fill `sell_strategy_generator` - for sell signal optimization
* fill `sell_indicator_space` - for sell signal optimization
!!! Note
`populate_indicators` needs to create all indicators any of thee spaces may use, otherwise hyperopt will not work.
Optional in hyperopt - can also be loaded from a strategy (recommended):
* `populate_indicators` - fallback to create indicators
* `populate_buy_trend` - fallback if not optimizing for buy space. should come from strategy
* `populate_sell_trend` - fallback if not optimizing for sell space. should come from strategy
!!! Note
You always have to provide a strategy to Hyperopt, even if your custom Hyperopt class contains all methods.
Assuming the optional methods are not in your hyperopt file, please use `--strategy AweSomeStrategy` which contains these methods so hyperopt can use these methods instead.
Rarely you may also need to override:
* `roi_space` - for custom ROI optimization (if you need the ranges for the ROI parameters in the optimization hyperspace that differ from default)
* `generate_roi_table` - for custom ROI optimization (if you need the ranges for the values in the ROI table that differ from default or the number of entries (steps) in the ROI table which differs from the default 4 steps)
* `stoploss_space` - for custom stoploss optimization (if you need the range for the stoploss parameter in the optimization hyperspace that differs from default)
* `trailing_space` - for custom trailing stop optimization (if you need the ranges for the trailing stop parameters in the optimization hyperspace that differ from default)
#### Defining a buy signal optimization
Let's say you are curious: should you use MACD crossings or lower Bollinger
Bands to trigger your buys. And you also wonder should you use RSI or ADX to
help with those buy decisions. If you decide to use RSI or ADX, which values
should I use for them? So let's use hyperparameter optimization to solve this
mystery.
We will start by defining a search space:
```python
def indicator_space() -> List[Dimension]:
"""
Define your Hyperopt space for searching strategy parameters
"""
return [
Integer(20, 40, name='adx-value'),
Integer(20, 40, name='rsi-value'),
Categorical([True, False], name='adx-enabled'),
Categorical([True, False], name='rsi-enabled'),
Categorical(['bb_lower', 'macd_cross_signal'], name='trigger')
]
```
Above definition says: I have five parameters I want you to randomly combine
to find the best combination. Two of them are integer values (`adx-value` and `rsi-value`) and I want you test in the range of values 20 to 40.
Then we have three category variables. First two are either `True` or `False`.
We use these to either enable or disable the ADX and RSI guards.
The last one we call `trigger` and use it to decide which buy trigger we want to use.
So let's write the buy strategy generator using these values:
```python
@staticmethod
def buy_strategy_generator(params: Dict[str, Any]) -> Callable:
"""
Define the buy strategy parameters to be used by Hyperopt.
"""
def populate_buy_trend(dataframe: DataFrame, metadata: dict) -> DataFrame:
conditions = []
# GUARDS AND TRENDS
if 'adx-enabled' in params and params['adx-enabled']:
conditions.append(dataframe['adx'] > params['adx-value'])
if 'rsi-enabled' in params and params['rsi-enabled']:
conditions.append(dataframe['rsi'] < params['rsi-value'])
# TRIGGERS
if 'trigger' in params:
if params['trigger'] == 'bb_lower':
conditions.append(dataframe['close'] < dataframe['bb_lowerband'])
if params['trigger'] == 'macd_cross_signal':
conditions.append(qtpylib.crossed_above(
dataframe['macd'], dataframe['macdsignal']
))
# Check that volume is not 0
conditions.append(dataframe['volume'] > 0)
if conditions:
dataframe.loc[
reduce(lambda x, y: x & y, conditions),
'buy'] = 1
return dataframe
return populate_buy_trend
```
Hyperopt will now call `populate_buy_trend()` many times (`epochs`) with different value combinations.
It will use the given historical data and make buys based on the buy signals generated with the above function.
Based on the results, hyperopt will tell you which parameter combination produced the best results (based on the configured [loss function](#loss-functions)).
!!! Note
The above setup expects to find ADX, RSI and Bollinger Bands in the populated indicators.
When you want to test an indicator that isn't used by the bot currently, remember to
add it to the `populate_indicators()` method in your strategy or hyperopt file.
#### Sell optimization
Similar to the buy-signal above, sell-signals can also be optimized.
Place the corresponding settings into the following methods
* Inside `sell_indicator_space()` - the parameters hyperopt shall be optimizing.
* Within `sell_strategy_generator()` - populate the nested method `populate_sell_trend()` to apply the parameters.
The configuration and rules are the same than for buy signals.
To avoid naming collisions in the search-space, please prefix all sell-spaces with `sell-`.
### Execute Hyperopt
Once you have updated your hyperopt configuration you can run it.
Because hyperopt tries a lot of combinations to find the best parameters it will take time to get a good result. More time usually results in better results.
We strongly recommend to use `screen` or `tmux` to prevent any connection loss.
```bash
freqtrade hyperopt --config config.json --hyperopt <hyperoptname> --hyperopt-loss <hyperoptlossname> --strategy <strategyname> -e 500 --spaces all
```
Use `<hyperoptname>` as the name of the custom hyperopt used.
The `-e` option will set how many evaluations hyperopt will do. Since hyperopt uses Bayesian search, running too many epochs at once may not produce greater results. Experience has shown that best results are usually not improving much after 500-1000 epochs.
Doing multiple runs (executions) with a few 1000 epochs and different random state will most likely produce different results.
The `--spaces all` option determines that all possible parameters should be optimized. Possibilities are listed below.
!!! Note
Hyperopt will store hyperopt results with the timestamp of the hyperopt start time.
Reading commands (`hyperopt-list`, `hyperopt-show`) can use `--hyperopt-filename <filename>` to read and display older hyperopt results.
You can find a list of filenames with `ls -l user_data/hyperopt_results/`.
#### Running Hyperopt using methods from a strategy
Hyperopt can reuse `populate_indicators`, `populate_buy_trend`, `populate_sell_trend` from your strategy, assuming these methods are **not** in your custom hyperopt file, and a strategy is provided.
```bash
freqtrade hyperopt --hyperopt AwesomeHyperopt --hyperopt-loss SharpeHyperOptLossDaily --strategy AwesomeStrategy
```
### Understand the Hyperopt Result
Once Hyperopt is completed you can use the result to create a new strategy.
Given the following result from hyperopt:
```
Best result:
44/100: 135 trades. Avg profit 0.57%. Total profit 0.03871918 BTC (0.7722%). Avg duration 180.4 mins. Objective: 1.94367
Buy hyperspace params:
{ 'adx-value': 44,
'rsi-value': 29,
'adx-enabled': False,
'rsi-enabled': True,
'trigger': 'bb_lower'}
```
You should understand this result like:
* The buy trigger that worked best was `bb_lower`.
* You should not use ADX because `adx-enabled: False`)
* You should **consider** using the RSI indicator (`rsi-enabled: True` and the best value is `29.0` (`rsi-value: 29.0`)
You have to look inside your strategy file into `buy_strategy_generator()`
method, what those values match to.
So for example you had `rsi-value: 29.0` so we would look at `rsi`-block, that translates to the following code block:
```python
(dataframe['rsi'] < 29.0)
```
Translating your whole hyperopt result as the new buy-signal would then look like:
```python
def populate_buy_trend(self, dataframe: DataFrame) -> DataFrame:
dataframe.loc[
(
(dataframe['rsi'] < 29.0) & # rsi-value
dataframe['close'] < dataframe['bb_lowerband'] # trigger
),
'buy'] = 1
return dataframe
```
### Validate backtesting results
Once the optimized parameters and conditions have been implemented into your strategy, you should backtest the strategy to make sure everything is working as expected.
To achieve same results (number of trades, their durations, profit, etc.) than during Hyperopt, please use same configuration and parameters (timerange, timeframe, ...) used for hyperopt `--dmmp`/`--disable-max-market-positions` and `--eps`/`--enable-position-stacking` for Backtesting.
Should results don't match, please double-check to make sure you transferred all conditions correctly.
Pay special care to the stoploss (and trailing stoploss) parameters, as these are often set in configuration files, which override changes to the strategy.
You should also carefully review the log of your backtest to ensure that there were no parameters inadvertently set by the configuration (like `stoploss` or `trailing_stop`).
### Sharing methods with your strategy
Hyperopt classes provide access to the Strategy via the `strategy` class attribute.
This can be a great way to reduce code duplication if used correctly, but will also complicate usage for inexperienced users.
``` python
from pandas import DataFrame
from freqtrade.strategy.interface import IStrategy
import freqtrade.vendor.qtpylib.indicators as qtpylib
class MyAwesomeStrategy(IStrategy):
buy_params = {
'rsi-value': 30,
'adx-value': 35,
}
def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
return self.buy_strategy_generator(self.buy_params, dataframe, metadata)
@staticmethod
def buy_strategy_generator(params, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe.loc[
(
qtpylib.crossed_above(dataframe['rsi'], params['rsi-value']) &
dataframe['adx'] > params['adx-value']) &
dataframe['volume'] > 0
)
, 'buy'] = 1
return dataframe
class MyAwesomeHyperOpt(IHyperOpt):
...
@staticmethod
def buy_strategy_generator(params: Dict[str, Any]) -> Callable:
"""
Define the buy strategy parameters to be used by Hyperopt.
"""
def populate_buy_trend(dataframe: DataFrame, metadata: dict) -> DataFrame:
# Call strategy's buy strategy generator
return self.StrategyClass.buy_strategy_generator(params, dataframe, metadata)
return populate_buy_trend
```

View File

@ -52,6 +52,71 @@ freqtrade trade -c MyConfigUSDT.json -s MyCustomStrategy --db-url sqlite:///user
For more information regarding usage of the sqlite databases, for example to manually enter or remove trades, please refer to the [SQL Cheatsheet](sql_cheatsheet.md).
### Multiple instances using docker
To run multiple instances of freqtrade using docker you will need to edit the docker-compose.yml file and add all the instances you want as separate services. Remember, you can separate your configuration into multiple files, so it's a good idea to think about making them modular, then if you need to edit something common to all bots, you can do that in a single config file.
``` yml
---
version: '3'
services:
freqtrade1:
image: freqtradeorg/freqtrade:stable
# image: freqtradeorg/freqtrade:develop
# Use plotting image
# image: freqtradeorg/freqtrade:develop_plot
# Build step - only needed when additional dependencies are needed
# build:
# context: .
# dockerfile: "./docker/Dockerfile.custom"
restart: always
container_name: freqtrade1
volumes:
- "./user_data:/freqtrade/user_data"
# Expose api on port 8080 (localhost only)
# Please read the https://www.freqtrade.io/en/latest/rest-api/ documentation
# before enabling this.
ports:
- "127.0.0.1:8080:8080"
# Default command used when running `docker compose up`
command: >
trade
--logfile /freqtrade/user_data/logs/freqtrade1.log
--db-url sqlite:////freqtrade/user_data/tradesv3_freqtrade1.sqlite
--config /freqtrade/user_data/config.json
--config /freqtrade/user_data/config.freqtrade1.json
--strategy SampleStrategy
freqtrade2:
image: freqtradeorg/freqtrade:stable
# image: freqtradeorg/freqtrade:develop
# Use plotting image
# image: freqtradeorg/freqtrade:develop_plot
# Build step - only needed when additional dependencies are needed
# build:
# context: .
# dockerfile: "./docker/Dockerfile.custom"
restart: always
container_name: freqtrade2
volumes:
- "./user_data:/freqtrade/user_data"
# Expose api on port 8080 (localhost only)
# Please read the https://www.freqtrade.io/en/latest/rest-api/ documentation
# before enabling this.
ports:
- "127.0.0.1:8081:8080"
# Default command used when running `docker compose up`
command: >
trade
--logfile /freqtrade/user_data/logs/freqtrade2.log
--db-url sqlite:////freqtrade/user_data/tradesv3_freqtrade2.sqlite
--config /freqtrade/user_data/config.json
--config /freqtrade/user_data/config.freqtrade2.json
--strategy SampleStrategy
```
You can use whatever naming convention you want, freqtrade1 and 2 are arbitrary. Note, that you will need to use different database files, port mappings and telegram configurations for each instance, as mentioned above.
## Configure the bot running as a systemd service
Copy the `freqtrade.service` file to your systemd user directory (usually `~/.config/systemd/user`) and update `WorkingDirectory` and `ExecStart` to match your setup.
@ -111,12 +176,15 @@ Log messages are send to `syslog` with the `user` facility. So you can see them
On many systems `syslog` (`rsyslog`) fetches data from `journald` (and vice versa), so both `--logfile syslog` or `--logfile journald` can be used and the messages be viewed with both `journalctl` and a syslog viewer utility. You can combine this in any way which suites you better.
For `rsyslog` the messages from the bot can be redirected into a separate dedicated log file. To achieve this, add
```
if $programname startswith "freqtrade" then -/var/log/freqtrade.log
```
to one of the rsyslog configuration files, for example at the end of the `/etc/rsyslog.d/50-default.conf`.
For `syslog` (`rsyslog`), the reduction mode can be switched on. This will reduce the number of repeating messages. For instance, multiple bot Heartbeat messages will be reduced to a single message when nothing else happens with the bot. To achieve this, set in `/etc/rsyslog.conf`:
```
# Filter duplicated messages
$RepeatedMsgReduction on
@ -124,7 +192,7 @@ $RepeatedMsgReduction on
### Logging to journald
This needs the `systemd` python package installed as the dependency, which is not available on Windows. Hence, the whole journald logging functionality is not available for a bot running on Windows.
This needs the `cysystemd` python package installed as dependency (`pip install cysystemd`), which is not available on Windows. Hence, the whole journald logging functionality is not available for a bot running on Windows.
To send Freqtrade log messages to `journald` system service use the `--logfile` command line option with the value in the following format:

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
docs/assets/freqai_DI.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 KiB

BIN
docs/assets/freqai_algo.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

BIN
docs/assets/frequi_url.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 143 KiB

BIN
docs/assets/tensorboard.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

View File

@ -18,18 +18,22 @@ usage: freqtrade backtesting [-h] [-v] [--logfile FILE] [-V] [-c PATH]
[-p PAIRS [PAIRS ...]] [--eps] [--dmmp]
[--enable-protections]
[--dry-run-wallet DRY_RUN_WALLET]
[--timeframe-detail TIMEFRAME_DETAIL]
[--strategy-list STRATEGY_LIST [STRATEGY_LIST ...]]
[--export {none,trades}] [--export-filename PATH]
[--export {none,trades,signals}]
[--export-filename PATH]
[--breakdown {day,week,month} [{day,week,month} ...]]
[--cache {none,day,week,month}]
optional arguments:
-h, --help show this help message and exit
-i TIMEFRAME, --timeframe TIMEFRAME, --ticker-interval TIMEFRAME
-i TIMEFRAME, --timeframe TIMEFRAME
Specify timeframe (`1m`, `5m`, `30m`, `1h`, `1d`).
--timerange TIMERANGE
Specify what timerange of data to use.
--data-format-ohlcv {json,jsongz,hdf5}
Storage format for downloaded candle (OHLCV) data.
(default: `None`).
(default: `json`).
--max-open-trades INT
Override the value of the `max_open_trades`
configuration setting.
@ -55,21 +59,27 @@ optional arguments:
--dry-run-wallet DRY_RUN_WALLET, --starting-balance DRY_RUN_WALLET
Starting balance, used for backtesting / hyperopt and
dry-runs.
--timeframe-detail TIMEFRAME_DETAIL
Specify detail timeframe for backtesting (`1m`, `5m`,
`30m`, `1h`, `1d`).
--strategy-list STRATEGY_LIST [STRATEGY_LIST ...]
Provide a space-separated list of strategies to
backtest. Please note that ticker-interval needs to be
set either in config or via command line. When using
this together with `--export trades`, the strategy-
name is injected into the filename (so `backtest-
data.json` becomes `backtest-data-
DefaultStrategy.json`
--export {none,trades}
backtest. Please note that timeframe needs to be set
either in config or via command line. When using this
together with `--export trades`, the strategy-name is
injected into the filename (so `backtest-data.json`
becomes `backtest-data-SampleStrategy.json`
--export {none,trades,signals}
Export backtest results (default: trades).
--export-filename PATH
Save backtest results to the file with this filename.
Requires `--export` to be set as well. Example:
`--export-filename=user_data/backtest_results/backtest
_today.json`
--export-filename PATH, --backtest-filename PATH
Use this filename for backtest results.Requires
`--export` to be set as well. Example: `--export-filen
ame=user_data/backtest_results/backtest_today.json`
--breakdown {day,week,month} [{day,week,month} ...]
Show backtesting breakdown per [day, week, month].
--cache {none,day,week,month}
Load a cached backtest result no older than specified
age (default: day).
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
@ -97,7 +107,7 @@ Strategy arguments:
## Test your strategy with Backtesting
Now you have good Buy and Sell strategies and some historic data, you want to test it against
Now you have good Entry and exit strategies and some historic data, you want to test it against
real data. This is what we call [backtesting](https://en.wikipedia.org/wiki/Backtesting).
Backtesting will use the crypto-currencies (pairs) from your config file and load historical candle (OHLCV) data from `user_data/data/<exchange>` by default.
@ -109,7 +119,7 @@ The result of backtesting will confirm if your bot has better odds of making a p
All profit calculations include fees, and freqtrade will use the exchange's default fees for the calculation.
!!! Warning "Using dynamic pairlists for backtesting"
Using dynamic pairlists is possible, however it relies on the current market conditions - which will not reflect the historic status of the pairlist.
Using dynamic pairlists is possible (not all of the handlers are allowed to be used in backtest mode), however it relies on the current market conditions - which will not reflect the historic status of the pairlist.
Also, when using pairlists other than StaticPairlist, reproducibility of backtesting-results cannot be guaranteed.
Please read the [pairlists documentation](plugins.md#pairlists) for more information.
@ -205,7 +215,7 @@ Sometimes your account has certain fee rebates (fee reductions starting with a c
To account for this in backtesting, you can use the `--fee` command line option to supply this value to backtesting.
This fee must be a ratio, and will be applied twice (once for trade entry, and once for trade exit).
For example, if the buying and selling commission fee is 0.1% (i.e., 0.001 written as ratio), then you would run backtesting as the following:
For example, if the commission fee per order is 0.1% (i.e., 0.001 written as ratio), then you would run backtesting as the following:
```bash
freqtrade backtesting --fee 0.001
@ -242,9 +252,9 @@ The most important in the backtesting is to understand the result.
A backtesting result will look like that:
```
========================================================= BACKTESTING REPORT ==========================================================
| Pair | Buys | Avg Profit % | Cum Profit % | Tot Profit BTC | Tot Profit % | Avg Duration | Wins Draws Loss Win% |
|:---------|-------:|---------------:|---------------:|-----------------:|---------------:|:-------------|-------------------------:|
========================================================= BACKTESTING REPORT =========================================================
| Pair | Entries | Avg Profit % | Cum Profit % | Tot Profit BTC | Tot Profit % | Avg Duration | Wins Draws Loss Win% |
|:---------|--------:|---------------:|---------------:|-----------------:|---------------:|:-------------|-------------------------:|
| ADA/BTC | 35 | -0.11 | -3.88 | -0.00019428 | -1.94 | 4:35:00 | 14 0 21 40.0 |
| ARK/BTC | 11 | -0.41 | -4.52 | -0.00022647 | -2.26 | 2:03:00 | 3 0 8 27.3 |
| BTS/BTC | 32 | 0.31 | 9.78 | 0.00048938 | 4.89 | 5:05:00 | 18 0 14 56.2 |
@ -264,22 +274,23 @@ A backtesting result will look like that:
| XRP/BTC | 35 | 0.66 | 22.96 | 0.00114897 | 11.48 | 3:49:00 | 12 0 23 34.3 |
| ZEC/BTC | 22 | -0.46 | -10.18 | -0.00050971 | -5.09 | 2:22:00 | 7 0 15 31.8 |
| TOTAL | 429 | 0.36 | 152.41 | 0.00762792 | 76.20 | 4:12:00 | 186 0 243 43.4 |
========================================================= SELL REASON STATS ==========================================================
| Sell Reason | Sells | Wins | Draws | Losses |
|:-------------------|--------:|------:|-------:|--------:|
| trailing_stop_loss | 205 | 150 | 0 | 55 |
| stop_loss | 166 | 0 | 0 | 166 |
| sell_signal | 56 | 36 | 0 | 20 |
| force_sell | 2 | 0 | 0 | 2 |
====================================================== LEFT OPEN TRADES REPORT ======================================================
| Pair | Buys | Avg Profit % | Cum Profit % | Tot Profit BTC | Tot Profit % | Avg Duration | Win Draw Loss Win% |
|:---------|-------:|---------------:|---------------:|-----------------:|---------------:|:---------------|--------------------:|
| Pair | Entries | Avg Profit % | Cum Profit % | Tot Profit BTC | Tot Profit % | Avg Duration | Win Draw Loss Win% |
|:---------|---------:|---------------:|---------------:|-----------------:|---------------:|:---------------|--------------------:|
| ADA/BTC | 1 | 0.89 | 0.89 | 0.00004434 | 0.44 | 6:00:00 | 1 0 0 100 |
| LTC/BTC | 1 | 0.68 | 0.68 | 0.00003421 | 0.34 | 2:00:00 | 1 0 0 100 |
| TOTAL | 2 | 0.78 | 1.57 | 0.00007855 | 0.78 | 4:00:00 | 2 0 0 100 |
=============== SUMMARY METRICS ===============
==================== EXIT REASON STATS ====================
| Exit Reason | Exits | Wins | Draws | Losses |
|:-------------------|--------:|------:|-------:|--------:|
| trailing_stop_loss | 205 | 150 | 0 | 55 |
| stop_loss | 166 | 0 | 0 | 166 |
| exit_signal | 56 | 36 | 0 | 20 |
| force_exit | 2 | 0 | 0 | 2 |
================== SUMMARY METRICS ==================
| Metric | Value |
|-----------------------+---------------------|
|-----------------------------+---------------------|
| Backtesting from | 2019-01-01 00:00:00 |
| Backtesting to | 2019-05-01 00:00:00 |
| Max open trades | 3 |
@ -289,10 +300,21 @@ A backtesting result will look like that:
| Final balance | 0.01762792 BTC |
| Absolute profit | 0.00762792 BTC |
| Total profit % | 76.2% |
| Trades per day | 3.575 |
| CAGR % | 460.87% |
| Sortino | 1.88 |
| Sharpe | 2.97 |
| Calmar | 6.29 |
| Profit factor | 1.11 |
| Expectancy | -0.15 |
| Avg. stake amount | 0.001 BTC |
| Total trade volume | 0.429 BTC |
| | |
| Long / Short | 352 / 77 |
| Total profit Long % | 1250.58% |
| Total profit Short % | -15.02% |
| Absolute profit Long | 0.00838792 BTC |
| Absolute profit Short | -0.00076 BTC |
| | |
| Best Pair | LSK/BTC 26.26% |
| Worst Pair | ZEC/BTC -10.18% |
| Best Trade | LSK/BTC 4.25% |
@ -302,19 +324,23 @@ A backtesting result will look like that:
| Days win/draw/lose | 12 / 82 / 25 |
| Avg. Duration Winners | 4:23:00 |
| Avg. Duration Loser | 6:55:00 |
| Zero Duration Trades | 4.6% (20) |
| Rejected Buy signals | 3089 |
| Rejected Entry signals | 3089 |
| Entry/Exit Timeouts | 0 / 0 |
| Canceled Trade Entries | 34 |
| Canceled Entry Orders | 123 |
| Replaced Entry Orders | 89 |
| | |
| Min balance | 0.00945123 BTC |
| Max balance | 0.01846651 BTC |
| Drawdown | 50.63% |
| Max % of account underwater | 25.19% |
| Absolute Drawdown (Account) | 13.33% |
| Drawdown | 0.0015 BTC |
| Drawdown high | 0.0013 BTC |
| Drawdown low | -0.0002 BTC |
| Drawdown Start | 2019-02-15 14:10:00 |
| Drawdown End | 2019-04-11 18:15:00 |
| Market change | -5.88% |
===============================================
=====================================================
```
### Backtesting report table
@ -335,9 +361,9 @@ The column `Avg Profit %` shows the average profit for all trades made while the
The column `Tot Profit %` shows instead the total profit % in relation to the starting balance.
In the above results, we have a starting balance of 0.01 BTC and an absolute profit of 0.00762792 BTC - so the `Tot Profit %` will be `(0.00762792 / 0.01) * 100 ~= 76.2%`.
Your strategy performance is influenced by your buy strategy, your sell strategy, and also by the `minimal_roi` and `stop_loss` you have set.
Your strategy performance is influenced by your entry strategy, your exit strategy, and also by the `minimal_roi` and `stop_loss` you have set.
For example, if your `minimal_roi` is only `"0": 0.01` you cannot expect the bot to make more profit than 1% (because it will sell every time a trade reaches 1%).
For example, if your `minimal_roi` is only `"0": 0.01` you cannot expect the bot to make more profit than 1% (because it will exit every time a trade reaches 1%).
```json
"minimal_roi": {
@ -349,14 +375,14 @@ On the other hand, if you set a too high `minimal_roi` like `"0": 0.55`
(55%), there is almost no chance that the bot will ever reach this profit.
Hence, keep in mind that your performance is an integral mix of all different elements of the strategy, your configuration, and the crypto-currency pairs you have set up.
### Sell reasons table
### Exit reasons table
The 2nd table contains a recap of sell reasons.
This table can tell you which area needs some additional work (e.g. all or many of the `sell_signal` trades are losses, so you should work on improving the sell signal, or consider disabling it).
The 2nd table contains a recap of exit reasons.
This table can tell you which area needs some additional work (e.g. all or many of the `exit_signal` trades are losses, so you should work on improving the exit signal, or consider disabling it).
### Left open trades table
The 3rd table contains all trades the bot had to `forcesell` at the end of the backtesting period to present you the full picture.
The 3rd table contains all trades the bot had to `force_exit` at the end of the backtesting period to present you the full picture.
This is necessary to simulate realistic behavior, since the backtest period has to end at some point, while realistically, you could leave the bot running forever.
These trades are also included in the first table, but are also shown separately in this table for clarity.
@ -366,9 +392,9 @@ The last element of the backtest report is the summary metrics table.
It contains some useful key metrics about performance of your strategy on backtesting data.
```
=============== SUMMARY METRICS ===============
================== SUMMARY METRICS ==================
| Metric | Value |
|-----------------------+---------------------|
|-----------------------------+---------------------|
| Backtesting from | 2019-01-01 00:00:00 |
| Backtesting to | 2019-05-01 00:00:00 |
| Max open trades | 3 |
@ -378,9 +404,21 @@ It contains some useful key metrics about performance of your strategy on backte
| Final balance | 0.01762792 BTC |
| Absolute profit | 0.00762792 BTC |
| Total profit % | 76.2% |
| CAGR % | 460.87% |
| Sortino | 1.88 |
| Sharpe | 2.97 |
| Calmar | 6.29 |
| Profit factor | 1.11 |
| Expectancy | -0.15 |
| Avg. stake amount | 0.001 BTC |
| Total trade volume | 0.429 BTC |
| | |
| Long / Short | 352 / 77 |
| Total profit Long % | 1250.58% |
| Total profit Short % | -15.02% |
| Absolute profit Long | 0.00838792 BTC |
| Absolute profit Short | -0.00076 BTC |
| | |
| Best Pair | LSK/BTC 26.26% |
| Worst Pair | ZEC/BTC -10.18% |
| Best Trade | LSK/BTC 4.25% |
@ -390,19 +428,23 @@ It contains some useful key metrics about performance of your strategy on backte
| Days win/draw/lose | 12 / 82 / 25 |
| Avg. Duration Winners | 4:23:00 |
| Avg. Duration Loser | 6:55:00 |
| Zero Duration Trades | 4.6% (20) |
| Rejected Buy signals | 3089 |
| Rejected Entry signals | 3089 |
| Entry/Exit Timeouts | 0 / 0 |
| Canceled Trade Entries | 34 |
| Canceled Entry Orders | 123 |
| Replaced Entry Orders | 89 |
| | |
| Min balance | 0.00945123 BTC |
| Max balance | 0.01846651 BTC |
| Drawdown | 50.63% |
| Max % of account underwater | 25.19% |
| Absolute Drawdown (Account) | 13.33% |
| Drawdown | 0.0015 BTC |
| Drawdown high | 0.0013 BTC |
| Drawdown low | -0.0002 BTC |
| Drawdown Start | 2019-02-15 14:10:00 |
| Drawdown End | 2019-04-11 18:15:00 |
| Market change | -5.88% |
===============================================
=====================================================
```
@ -413,6 +455,11 @@ It contains some useful key metrics about performance of your strategy on backte
- `Final balance`: Final balance - starting balance + absolute profit.
- `Absolute profit`: Profit made in stake currency.
- `Total profit %`: Total profit. Aligned to the `TOTAL` row's `Tot Profit %` from the first table. Calculated as `(End capital Starting capital) / Starting capital`.
- `CAGR %`: Compound annual growth rate.
- `Sortino`: Annualized Sortino ratio.
- `Sharpe`: Annualized Sharpe ratio.
- `Calmar`: Annualized Calmar ratio.
- `Profit factor`: profit / loss.
- `Avg. stake amount`: Average stake amount, either `stake_amount` or the average when using dynamic stake amount.
- `Total trade volume`: Volume generated on the exchange to reach the above profit.
- `Best Pair` / `Worst Pair`: Best and worst performing pair, and it's corresponding `Cum Profit %`.
@ -420,49 +467,145 @@ It contains some useful key metrics about performance of your strategy on backte
- `Best day` / `Worst day`: Best and worst day based on daily profit.
- `Days win/draw/lose`: Winning / Losing days (draws are usually days without closed trade).
- `Avg. Duration Winners` / `Avg. Duration Loser`: Average durations for winning and losing trades.
- `Zero Duration Trades`: A number of trades that completed within same candle as they opened and had `trailing_stop_loss` sell reason. A significant amount of such trades may indicate that strategy is exploiting trailing stoploss behavior in backtesting and produces unrealistic results.
- `Rejected Buy signals`: Buy signals that could not be acted upon due to max_open_trades being reached.
- `Rejected Entry signals`: Trade entry signals that could not be acted upon due to `max_open_trades` being reached.
- `Entry/Exit Timeouts`: Entry/exit orders which did not fill (only applicable if custom pricing is used).
- `Canceled Trade Entries`: Number of trades that have been canceled by user request via `adjust_entry_price`.
- `Canceled Entry Orders`: Number of entry orders that have been canceled by user request via `adjust_entry_price`.
- `Replaced Entry Orders`: Number of entry orders that have been replaced by user request via `adjust_entry_price`.
- `Min balance` / `Max balance`: Lowest and Highest Wallet balance during the backtest period.
- `Drawdown`: Maximum drawdown experienced. For example, the value of 50% means that from highest to subsequent lowest point, a 50% drop was experienced).
- `Max % of account underwater`: Maximum percentage your account has decreased from the top since the simulation started.
Calculated as the maximum of `(Max Balance - Current Balance) / (Max Balance)`.
- `Absolute Drawdown (Account)`: Maximum Account Drawdown experienced. Calculated as `(Absolute Drawdown) / (DrawdownHigh + startingBalance)`.
- `Drawdown`: Maximum, absolute drawdown experienced. Difference between Drawdown High and Subsequent Low point.
- `Drawdown high` / `Drawdown low`: Profit at the beginning and end of the largest drawdown period. A negative low value means initial capital lost.
- `Drawdown Start` / `Drawdown End`: Start and end datetime for this largest drawdown (can also be visualized via the `plot-dataframe` sub-command).
- `Market change`: Change of the market during the backtest period. Calculated as average of all pairs changes from the first to the last candle using the "close" column.
- `Long / Short`: Split long/short values (Only shown when short trades were made).
- `Total profit Long %` / `Absolute profit Long`: Profit long trades only (Only shown when short trades were made).
- `Total profit Short %` / `Absolute profit Short`: Profit short trades only (Only shown when short trades were made).
### Assumptions made by backtesting
### Daily / Weekly / Monthly breakdown
You can get an overview over daily / weekly or monthly results by using the `--breakdown <>` switch.
To visualize daily and weekly breakdowns, you can use the following:
``` bash
freqtrade backtesting --strategy MyAwesomeStrategy --breakdown day week
```
``` output
======================== DAY BREAKDOWN =========================
| Day | Tot Profit USDT | Wins | Draws | Losses |
|------------+-------------------+--------+---------+----------|
| 03/07/2021 | 200.0 | 2 | 0 | 0 |
| 04/07/2021 | -50.31 | 0 | 0 | 2 |
| 05/07/2021 | 220.611 | 3 | 2 | 0 |
| 06/07/2021 | 150.974 | 3 | 0 | 2 |
| 07/07/2021 | -70.193 | 1 | 0 | 2 |
| 08/07/2021 | 212.413 | 2 | 0 | 3 |
```
The output will show a table containing the realized absolute Profit (in stake currency) for the given timeperiod, as well as wins, draws and losses that materialized (closed) on this day. Below that there will be a second table for the summarized values of weeks indicated by the date of the closing Sunday. The same would apply to a monthly breakdown indicated by the last day of the month.
### Backtest result caching
To save time, by default backtest will reuse a cached result from within the last day when the backtested strategy and config match that of a previous backtest. To force a new backtest despite existing result for an identical run specify `--cache none` parameter.
!!! Warning
Caching is automatically disabled for open-ended timeranges (`--timerange 20210101-`), as freqtrade cannot ensure reliably that the underlying data didn't change. It can also use cached results where it shouldn't if the original backtest had missing data at the end, which was fixed by downloading more data.
In this instance, please use `--cache none` once to force a fresh backtest.
### Further backtest-result analysis
To further analyze your backtest results, you can [export the trades](#exporting-trades-to-file).
You can then load the trades to perform further analysis as shown in the [data analysis](data-analysis.md#backtesting) backtesting section.
## Assumptions made by backtesting
Since backtesting lacks some detailed information about what happens within a candle, it needs to take a few assumptions:
- Buys happen at open-price
- Exchange [trading limits](#trading-limits-in-backtesting) are respected
- Entries happen at open-price
- All orders are filled at the requested price (no slippage, no unfilled orders)
- Sell-signal sells happen at open-price of the consecutive candle
- Sell-signal is favored over Stoploss, because sell-signals are assumed to trigger on candle's open
- Exit-signal exits happen at open-price of the consecutive candle
- Exit-signal is favored over Stoploss, because exit-signals are assumed to trigger on candle's open
- ROI
- sells are compared to high - but the ROI value is used (e.g. ROI = 2%, high=5% - so the sell will be at 2%)
- sells are never "below the candle", so a ROI of 2% may result in a sell at 2.4% if low was at 2.4% profit
- Forcesells caused by `<N>=-1` ROI entries use low as sell value, unless N falls on the candle open (e.g. `120: -1` for 1h candles)
- Stoploss sells happen exactly at stoploss price, even if low was lower, but the loss will be `2 * fees` higher than the stoploss price
- Stoploss is evaluated before ROI within one candle. So you can often see more trades with the `stoploss` sell reason comparing to the results obtained with the same strategy in the Dry Run/Live Trade modes
- exits are compared to high - but the ROI value is used (e.g. ROI = 2%, high=5% - so the exit will be at 2%)
- exits are never "below the candle", so a ROI of 2% may result in a exit at 2.4% if low was at 2.4% profit
- Force-exits caused by `<N>=-1` ROI entries use low as exit value, unless N falls on the candle open (e.g. `120: -1` for 1h candles)
- Stoploss exits happen exactly at stoploss price, even if low was lower, but the loss will be `2 * fees` higher than the stoploss price
- Stoploss is evaluated before ROI within one candle. So you can often see more trades with the `stoploss` exit reason comparing to the results obtained with the same strategy in the Dry Run/Live Trade modes
- Low happens before high for stoploss, protecting capital first
- Trailing stoploss
- Trailing Stoploss is only adjusted if it's below the candle's low (otherwise it would be triggered)
- On trade entry candles that trigger trailing stoploss, the "minimum offset" (`stop_positive_offset`) is assumed (instead of high) - and the stop is calculated from this point. This rule is NOT applicable to custom-stoploss scenarios, since there's no information about the stoploss logic available.
- High happens first - adjusting stoploss
- Low uses the adjusted stoploss (so sells with large high-low difference are backtested correctly)
- Low uses the adjusted stoploss (so exits with large high-low difference are backtested correctly)
- ROI applies before trailing-stop, ensuring profits are "top-capped" at ROI if both ROI and trailing stop applies
- Sell-reason does not explain if a trade was positive or negative, just what triggered the sell (this can look odd if negative ROI values are used)
- Exit-reason does not explain if a trade was positive or negative, just what triggered the exit (this can look odd if negative ROI values are used)
- Evaluation sequence (if multiple signals happen on the same candle)
- ROI (if not stoploss)
- Sell-signal
- Exit-signal
- Stoploss
- ROI
- Trailing stoploss
Taking these assumptions, backtesting tries to mirror real trading as closely as possible. However, backtesting will **never** replace running a strategy in dry-run mode.
Also, keep in mind that past results don't guarantee future success.
In addition to the above assumptions, strategy authors should carefully read the [Common Mistakes](strategy-customization.md#common-mistakes-when-developing-strategies) section, to avoid using data in backtesting which is not available in real market conditions.
### Further backtest-result analysis
### Trading limits in backtesting
To further analyze your backtest results, you can [export the trades](#exporting-trades-to-file).
You can then load the trades to perform further analysis as shown in our [data analysis](data-analysis.md#backtesting) backtesting section.
Exchanges have certain trading limits, like minimum (and maximum) base currency, or minimum/maximum stake (quote) currency.
These limits are usually listed in the exchange documentation as "trading rules" or similar and can be quite different between different pairs.
Backtesting (as well as live and dry-run) does honor these limits, and will ensure that a stoploss can be placed below this value - so the value will be slightly higher than what the exchange specifies.
Freqtrade has however no information about historic limits.
This can lead to situations where trading-limits are inflated by using a historic price, resulting in minimum amounts > 50$.
For example:
BTC minimum tradable amount is 0.001.
BTC trades at 22.000\$ today (0.001 BTC is related to this) - but the backtesting period includes prices as high as 50.000\$.
Today's minimum would be `0.001 * 22_000` - or 22\$.
However the limit could also be 50$ - based on `0.001 * 50_000` in some historic setting.
#### Trading precision limits
Most exchanges pose precision limits on both price and amounts, so you cannot buy 1.0020401 of a pair, or at a price of 1.24567123123.
Instead, these prices and amounts will be rounded or truncated (based on the exchange definition) to the defined trading precision.
The above values may for example be rounded to an amount of 1.002, and a price of 1.24567.
These precision values are based on current exchange limits (as described in the [above section](#trading-limits-in-backtesting)), as historic precision limits are not available.
## Improved backtest accuracy
One big limitation of backtesting is it's inability to know how prices moved intra-candle (was high before close, or viceversa?).
So assuming you run backtesting with a 1h timeframe, there will be 4 prices for that candle (Open, High, Low, Close).
While backtesting does take some assumptions (read above) about this - this can never be perfect, and will always be biased in one way or the other.
To mitigate this, freqtrade can use a lower (faster) timeframe to simulate intra-candle movements.
To utilize this, you can append `--timeframe-detail 5m` to your regular backtesting command.
``` bash
freqtrade backtesting --strategy AwesomeStrategy --timeframe 1h --timeframe-detail 5m
```
This will load 1h data as well as 5m data for the timeframe. The strategy will be analyzed with the 1h timeframe, and Entry orders will only be placed at the main timeframe, however Order fills and exit signals will be evaluated at the 5m candle, simulating intra-candle movements.
All callback functions (`custom_exit()`, `custom_stoploss()`, ... ) will be running for each 5m candle once the trade is opened (so 12 times in the above example of 1h timeframe, and 5m detailed timeframe).
`--timeframe-detail` must be smaller than the original timeframe, otherwise backtesting will fail to start.
Obviously this will require more memory (5m data is bigger than 1h data), and will also impact runtime (depending on the amount of trades and trade durations).
Also, data must be available / downloaded already.
!!! Tip
You can use this function as the last part of strategy development, to ensure your strategy is not exploiting one of the [backtesting assumptions](#assumptions-made-by-backtesting). Strategies that perform similarly well with this mode have a good chance to perform well in dry/live modes too (although only forward-testing (dry-mode) can really confirm a strategy).
## Backtesting multiple strategies
@ -482,9 +625,9 @@ There will be an additional table comparing win/losses of the different strategi
Detailed output for all strategies one after the other will be available, so make sure to scroll up to see the details per strategy.
```
=========================================================== STRATEGY SUMMARY =========================================================================
| Strategy | Buys | Avg Profit % | Cum Profit % | Tot Profit BTC | Tot Profit % | Avg Duration | Wins | Draws | Losses | Drawdown % |
|:------------|-------:|---------------:|---------------:|-----------------:|---------------:|:---------------|------:|-------:|-------:|-----------:|
=========================================================== STRATEGY SUMMARY ===========================================================================
| Strategy | Entries | Avg Profit % | Cum Profit % | Tot Profit BTC | Tot Profit % | Avg Duration | Wins | Draws | Losses | Drawdown % |
|:------------|---------:|---------------:|---------------:|-----------------:|---------------:|:---------------|------:|-------:|-------:|-----------:|
| Strategy1 | 429 | 0.36 | 152.41 | 0.00762792 | 76.20 | 4:12:00 | 186 | 0 | 243 | 45.2 |
| Strategy2 | 1487 | -0.13 | -197.58 | -0.00988917 | -98.79 | 4:43:00 | 662 | 0 | 825 | 241.68 |
```

View File

@ -7,11 +7,14 @@ This page provides you some basic concepts on how Freqtrade works and operates.
* **Strategy**: Your trading strategy, telling the bot what to do.
* **Trade**: Open position.
* **Open Order**: Order which is currently placed on the exchange, and is not yet complete.
* **Pair**: Tradable pair, usually in the format of Quote/Base (e.g. XRP/USDT).
* **Pair**: Tradable pair, usually in the format of Base/Quote (e.g. XRP/USDT).
* **Timeframe**: Candle length to use (e.g. `"5m"`, `"1h"`, ...).
* **Indicators**: Technical indicators (SMA, EMA, RSI, ...).
* **Limit order**: Limit orders which execute at the defined limit price or better.
* **Market order**: Guaranteed to fill, may move price depending on the order size.
* **Current Profit**: Currently pending (unrealized) profit for this trade. This is mainly used throughout the bot and UI.
* **Realized Profit**: Already realized profit. Only relevant in combination with [partial exits](strategy-callbacks.md#adjust-trade-position) - which also explains the calculation logic for this.
* **Total Profit**: Combined realized and unrealized profit. The relative number (%) is calculated against the total investment in this trade.
## Fee handling
@ -20,28 +23,34 @@ All profit calculations of Freqtrade include fees. For Backtesting / Hyperopt /
## Bot execution logic
Starting freqtrade in dry-run or live mode (using `freqtrade trade`) will start the bot and start the bot iteration loop.
By default, loop runs every few seconds (`internals.process_throttle_secs`) and does roughly the following in the following sequence:
This will also run the `bot_start()` callback.
By default, the bot loop runs every few seconds (`internals.process_throttle_secs`) and performs the following actions:
* Fetch open trades from persistence.
* Calculate current list of tradable pairs.
* Download ohlcv data for the pairlist including all [informative pairs](strategy-customization.md#get-data-for-non-tradeable-pairs)
* Download OHLCV data for the pairlist including all [informative pairs](strategy-customization.md#get-data-for-non-tradeable-pairs)
This step is only executed once per Candle to avoid unnecessary network traffic.
* Call `bot_loop_start()` strategy callback.
* Analyze strategy per pair.
* Call `populate_indicators()`
* Call `populate_buy_trend()`
* Call `populate_sell_trend()`
* Call `populate_entry_trend()`
* Call `populate_exit_trend()`
* Check timeouts for open orders.
* Calls `check_buy_timeout()` strategy callback for open buy orders.
* Calls `check_sell_timeout()` strategy callback for open sell orders.
* Verifies existing positions and eventually places sell orders.
* Considers stoploss, ROI and sell-signal.
* Determine sell-price based on `ask_strategy` configuration setting.
* Before a sell order is placed, `confirm_trade_exit()` strategy callback is called.
* Calls `check_entry_timeout()` strategy callback for open entry orders.
* Calls `check_exit_timeout()` strategy callback for open exit orders.
* Calls `adjust_entry_price()` strategy callback for open entry orders.
* Verifies existing positions and eventually places exit orders.
* Considers stoploss, ROI and exit-signal, `custom_exit()` and `custom_stoploss()`.
* Determine exit-price based on `exit_pricing` configuration setting or by using the `custom_exit_price()` callback.
* Before a exit order is placed, `confirm_trade_exit()` strategy callback is called.
* Check position adjustments for open trades if enabled by calling `adjust_trade_position()` and place additional order if required.
* Check if trade-slots are still available (if `max_open_trades` is reached).
* Verifies buy signal trying to enter new positions.
* Determine buy-price based on `bid_strategy` configuration setting.
* Before a buy order is placed, `confirm_trade_entry()` strategy callback is called.
* Verifies entry signal trying to enter new positions.
* Determine entry-price based on `entry_pricing` configuration setting, or by using the `custom_entry_price()` callback.
* In Margin and Futures mode, `leverage()` strategy callback is called to determine the desired leverage.
* Determine stake size by calling the `custom_stake_amount()` callback.
* Before an entry order is placed, `confirm_trade_entry()` strategy callback is called.
This loop will be repeated again and again until the bot is stopped.
@ -50,12 +59,26 @@ This loop will be repeated again and again until the bot is stopped.
[backtesting](backtesting.md) or [hyperopt](hyperopt.md) do only part of the above logic, since most of the trading operations are fully simulated.
* Load historic data for configured pairlist.
* Calls `bot_loop_start()` once.
* Calls `bot_start()` once.
* Calculate indicators (calls `populate_indicators()` once per pair).
* Calculate buy / sell signals (calls `populate_buy_trend()` and `populate_sell_trend()` once per pair)
* Confirm trade buy / sell (calls `confirm_trade_entry()` and `confirm_trade_exit()` if implemented in the strategy)
* Calculate entry / exit signals (calls `populate_entry_trend()` and `populate_exit_trend()` once per pair).
* Loops per candle simulating entry and exit points.
* Calls `bot_loop_start()` strategy callback.
* Check for Order timeouts, either via the `unfilledtimeout` configuration, or via `check_entry_timeout()` / `check_exit_timeout()` strategy callbacks.
* Calls `adjust_entry_price()` strategy callback for open entry orders.
* Check for trade entry signals (`enter_long` / `enter_short` columns).
* Confirm trade entry / exits (calls `confirm_trade_entry()` and `confirm_trade_exit()` if implemented in the strategy).
* Call `custom_entry_price()` (if implemented in the strategy) to determine entry price (Prices are moved to be within the opening candle).
* In Margin and Futures mode, `leverage()` strategy callback is called to determine the desired leverage.
* Determine stake size by calling the `custom_stake_amount()` callback.
* Check position adjustments for open trades if enabled and call `adjust_trade_position()` to determine if an additional order is requested.
* Call `custom_stoploss()` and `custom_exit()` to find custom exit points.
* For exits based on exit-signal, custom-exit and partial exits: Call `custom_exit_price()` to determine exit price (Prices are moved to be within the closing candle).
* Generate backtest report output
!!! Note
Both Backtesting and Hyperopt include exchange default Fees in the calculation. Custom fees can be passed to backtesting / hyperopt by specifying the `--fee` argument.
!!! Warning "Callback call frequency"
Backtesting will call each callback at max. once per candle (`--timeframe-detail` modifies this behavior to once per detailed candle).
Most callbacks will be called once per iteration in live (usually every ~5s) - which can cause backtesting mismatches.

View File

@ -12,22 +12,22 @@ This page explains the different parameters of the bot and how to run it.
```
usage: freqtrade [-h] [-V]
{trade,create-userdir,new-config,new-hyperopt,new-strategy,download-data,convert-data,convert-trade-data,backtesting,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-hyperopts,list-markets,list-pairs,list-strategies,list-timeframes,show-trades,test-pairlist,plot-dataframe,plot-profit}
{trade,create-userdir,new-config,new-strategy,download-data,convert-data,convert-trade-data,list-data,backtesting,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-hyperopts,list-markets,list-pairs,list-strategies,list-timeframes,show-trades,test-pairlist,install-ui,plot-dataframe,plot-profit,webserver}
...
Free, open source crypto trading bot
positional arguments:
{trade,create-userdir,new-config,new-hyperopt,new-strategy,download-data,convert-data,convert-trade-data,backtesting,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-hyperopts,list-markets,list-pairs,list-strategies,list-timeframes,show-trades,test-pairlist,plot-dataframe,plot-profit}
{trade,create-userdir,new-config,new-strategy,download-data,convert-data,convert-trade-data,list-data,backtesting,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-hyperopts,list-markets,list-pairs,list-strategies,list-timeframes,show-trades,test-pairlist,install-ui,plot-dataframe,plot-profit,webserver}
trade Trade module.
create-userdir Create user-data directory.
new-config Create new config
new-hyperopt Create new hyperopt
new-strategy Create new strategy
download-data Download backtesting data.
convert-data Convert candle (OHLCV) data from one format to
another.
convert-trade-data Convert trade data from one format to another.
list-data List downloaded data.
backtesting Backtesting module.
edge Edge module.
hyperopt Hyperopt module.
@ -41,8 +41,10 @@ positional arguments:
list-timeframes Print available timeframes for the exchange.
show-trades Show trades.
test-pairlist Test your pairlist configuration.
install-ui Install FreqUI
plot-dataframe Plot candles with indicators.
plot-profit Generate plot showing profits.
webserver Webserver module.
optional arguments:
-h, --help show this help message and exit

View File

@ -5,148 +5,265 @@ By default, these settings are configured via the configuration file (see below)
## The Freqtrade configuration file
The bot uses a set of configuration parameters during its operation that all together conform the bot configuration. It normally reads its configuration from a file (Freqtrade configuration file).
The bot uses a set of configuration parameters during its operation that all together conform to the bot configuration. It normally reads its configuration from a file (Freqtrade configuration file).
Per default, the bot loads the configuration from the `config.json` file, located in the current working directory.
You can specify a different configuration file used by the bot with the `-c/--config` command line option.
You can specify a different configuration file used by the bot with the `-c/--config` command-line option.
Multiple configuration files can be specified and used by the bot or the bot can read its configuration parameters from the process standard input stream.
!!! Tip "Use multiple configuration files to keep secrets secret"
You can use a 2nd configuration file containing your secrets. That way you can share your "primary" configuration file, while still keeping your API keys for yourself.
``` bash
freqtrade trade --config user_data/config.json --config user_data/config-private.json <...>
```
The 2nd file should only specify what you intend to override.
If a key is in more than one of the configurations, then the "last specified configuration" wins (in the above example, `config-private.json`).
If you used the [Quick start](installation.md/#quick-start) method for installing
If you used the [Quick start](docker_quickstart.md#docker-quick-start) method for installing
the bot, the installation script should have already created the default configuration file (`config.json`) for you.
If default configuration file is not created we recommend you to use `freqtrade new-config --config config.json` to generate a basic configuration file.
If the default configuration file is not created we recommend to use `freqtrade new-config --config config.json` to generate a basic configuration file.
The Freqtrade configuration file is to be written in the JSON format.
The Freqtrade configuration file is to be written in JSON format.
Additionally to the standard JSON syntax, you may use one-line `// ...` and multi-line `/* ... */` comments in your configuration files and trailing commas in the lists of parameters.
Do not worry if you are not familiar with JSON format -- simply open the configuration file with an editor of your choice, make some changes to the parameters you need, save your changes and, finally, restart the bot or, if it was previously stopped, run it again with the changes you made to the configuration. The bot validates syntax of the configuration file at startup and will warn you if you made any errors editing it, pointing out problematic lines.
Do not worry if you are not familiar with JSON format -- simply open the configuration file with an editor of your choice, make some changes to the parameters you need, save your changes and, finally, restart the bot or, if it was previously stopped, run it again with the changes you made to the configuration. The bot validates the syntax of the configuration file at startup and will warn you if you made any errors editing it, pointing out problematic lines.
### Environment variables
Set options in the Freqtrade configuration via environment variables.
This takes priority over the corresponding value in configuration or strategy.
Environment variables must be prefixed with `FREQTRADE__` to be loaded to the freqtrade configuration.
`__` serves as level separator, so the format used should correspond to `FREQTRADE__{section}__{key}`.
As such - an environment variable defined as `export FREQTRADE__STAKE_AMOUNT=200` would result in `{stake_amount: 200}`.
A more complex example might be `export FREQTRADE__EXCHANGE__KEY=<yourExchangeKey>` to keep your exchange key secret. This will move the value to the `exchange.key` section of the configuration.
Using this scheme, all configuration settings will also be available as environment variables.
Please note that Environment variables will overwrite corresponding settings in your configuration, but command line Arguments will always win.
Common example:
```
FREQTRADE__TELEGRAM__CHAT_ID=<telegramchatid>
FREQTRADE__TELEGRAM__TOKEN=<telegramToken>
FREQTRADE__EXCHANGE__KEY=<yourExchangeKey>
FREQTRADE__EXCHANGE__SECRET=<yourExchangeSecret>
```
!!! Note
Environment variables detected are logged at startup - so if you can't find why a value is not what you think it should be based on the configuration, make sure it's not loaded from an environment variable.
### Multiple configuration files
Multiple configuration files can be specified and used by the bot or the bot can read its configuration parameters from the process standard input stream.
You can specify additional configuration files in `add_config_files`. Files specified in this parameter will be loaded and merged with the initial config file. The files are resolved relative to the initial configuration file.
This is similar to using multiple `--config` parameters, but simpler in usage as you don't have to specify all files for all commands.
!!! Tip "Use multiple configuration files to keep secrets secret"
You can use a 2nd configuration file containing your secrets. That way you can share your "primary" configuration file, while still keeping your API keys for yourself.
The 2nd file should only specify what you intend to override.
If a key is in more than one of the configurations, then the "last specified configuration" wins (in the above example, `config-private.json`).
For one-off commands, you can also use the below syntax by specifying multiple "--config" parameters.
``` bash
freqtrade trade --config user_data/config1.json --config user_data/config-private.json <...>
```
The below is equivalent to the example above - but having 2 configuration files in the configuration, for easier reuse.
``` json title="user_data/config.json"
"add_config_files": [
"config1.json",
"config-private.json"
]
```
``` bash
freqtrade trade --config user_data/config.json <...>
```
??? Note "config collision handling"
If the same configuration setting takes place in both `config.json` and `config-import.json`, then the parent configuration wins.
In the below case, `max_open_trades` would be 3 after the merging - as the reusable "import" configuration has this key overwritten.
``` json title="user_data/config.json"
{
"max_open_trades": 3,
"stake_currency": "USDT",
"add_config_files": [
"config-import.json"
]
}
```
``` json title="user_data/config-import.json"
{
"max_open_trades": 10,
"stake_amount": "unlimited",
}
```
Resulting combined configuration:
``` json title="Result"
{
"max_open_trades": 3,
"stake_currency": "USDT",
"stake_amount": "unlimited"
}
```
If multiple files are in the `add_config_files` section, then they will be assumed to be at identical levels, having the last occurrence override the earlier config (unless a parent already defined such a key).
## Configuration parameters
The table below will list all configuration parameters available.
Freqtrade can also load many options via command line (CLI) arguments (check out the commands `--help` output for details).
The prevelance for all Options is as follows:
### Configuration option prevalence
The prevalence for all Options is as follows:
- CLI arguments override any other option
- Configuration files are used in sequence (last file wins), and override Strategy configurations.
- Strategy configurations are only used if they are not set via configuration or via command line arguments. These options are marked with [Strategy Override](#parameters-in-the-strategy) in the below table.
- [Environment Variables](#environment-variables)
- Configuration files are used in sequence (the last file wins) and override Strategy configurations.
- Strategy configurations are only used if they are not set via configuration or command-line arguments. These options are marked with [Strategy Override](#parameters-in-the-strategy) in the below table.
### Parameters table
Mandatory parameters are marked as **Required**, which means that they are required to be set in one of the possible ways.
| Parameter | Description |
|------------|-------------|
| `max_open_trades` | **Required.** Number of open trades your bot is allowed to have. Only one open trade per pair is possible, so the length of your pairlist is another limitation which can apply. If -1 then it is ignored (i.e. potentially unlimited open trades, limited by the pairlist). [More information below](#configuring-amount-per-trade).<br> **Datatype:** Positive integer or -1.
| `max_open_trades` | **Required.** Number of open trades your bot is allowed to have. Only one open trade per pair is possible, so the length of your pairlist is another limitation that can apply. If -1 then it is ignored (i.e. potentially unlimited open trades, limited by the pairlist). [More information below](#configuring-amount-per-trade). [Strategy Override](#parameters-in-the-strategy).<br> **Datatype:** Positive integer or -1.
| `stake_currency` | **Required.** Crypto-currency used for trading. <br> **Datatype:** String
| `stake_amount` | **Required.** Amount of crypto-currency your bot will use for each trade. Set it to `"unlimited"` to allow the bot to use all available balance. [More information below](#configuring-amount-per-trade). <br> **Datatype:** Positive float or `"unlimited"`.
| `tradable_balance_ratio` | Ratio of the total account balance the bot is allowed to trade. [More information below](#configuring-amount-per-trade). <br>*Defaults to `0.99` 99%).*<br> **Datatype:** Positive float between `0.1` and `1.0`.
| `available_capital` | Available starting capital for the bot. Useful when running multiple bots on the same exchange account.[More information below](#configuring-amount-per-trade). <br> **Datatype:** Positive float.
| `amend_last_stake_amount` | Use reduced last stake amount if necessary. [More information below](#configuring-amount-per-trade). <br>*Defaults to `false`.* <br> **Datatype:** Boolean
| `last_stake_amount_min_ratio` | Defines minimum stake amount that has to be left and executed. Applies only to the last stake amount when it's amended to a reduced value (i.e. if `amend_last_stake_amount` is set to `true`). [More information below](#configuring-amount-per-trade). <br>*Defaults to `0.5`.* <br> **Datatype:** Float (as ratio)
| `amount_reserve_percent` | Reserve some amount in min pair stake amount. The bot will reserve `amount_reserve_percent` + stoploss value when calculating min pair stake amount in order to avoid possible trade refusals. <br>*Defaults to `0.05` (5%).* <br> **Datatype:** Positive Float as ratio.
| `timeframe` | The timeframe (former ticker interval) to use (e.g `1m`, `5m`, `15m`, `30m`, `1h` ...). [Strategy Override](#parameters-in-the-strategy). <br> **Datatype:** String
| `timeframe` | The timeframe to use (e.g `1m`, `5m`, `15m`, `30m`, `1h` ...). Usually missing in configuration, and specified in the strategy. [Strategy Override](#parameters-in-the-strategy). <br> **Datatype:** String
| `fiat_display_currency` | Fiat currency used to show your profits. [More information below](#what-values-can-be-used-for-fiat_display_currency). <br> **Datatype:** String
| `dry_run` | **Required.** Define if the bot must be in Dry Run or production mode. <br>*Defaults to `true`.* <br> **Datatype:** Boolean
| `dry_run_wallet` | Define the starting amount in stake currency for the simulated wallet used by the bot running in Dry Run mode.<br>*Defaults to `1000`.* <br> **Datatype:** Float
| `cancel_open_orders_on_exit` | Cancel open orders when the `/stop` RPC command is issued, `Ctrl+C` is pressed or the bot dies unexpectedly. When set to `true`, this allows you to use `/stop` to cancel unfilled and partially filled orders in the event of a market crash. It does not impact open positions. <br>*Defaults to `false`.* <br> **Datatype:** Boolean
| `process_only_new_candles` | Enable processing of indicators only when new candles arrive. If false each loop populates the indicators, this will mean the same candle is processed many times creating system load but can be useful of your strategy depends on tick data not only candle. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `false`.* <br> **Datatype:** Boolean
| `minimal_roi` | **Required.** Set the threshold as ratio the bot will use to sell a trade. [More information below](#understand-minimal_roi). [Strategy Override](#parameters-in-the-strategy). <br> **Datatype:** Dict
| `process_only_new_candles` | Enable processing of indicators only when new candles arrive. If false each loop populates the indicators, this will mean the same candle is processed many times creating system load but can be useful of your strategy depends on tick data not only candle. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `true`.* <br> **Datatype:** Boolean
| `minimal_roi` | **Required.** Set the threshold as ratio the bot will use to exit a trade. [More information below](#understand-minimal_roi). [Strategy Override](#parameters-in-the-strategy). <br> **Datatype:** Dict
| `stoploss` | **Required.** Value as ratio of the stoploss used by the bot. More details in the [stoploss documentation](stoploss.md). [Strategy Override](#parameters-in-the-strategy). <br> **Datatype:** Float (as ratio)
| `trailing_stop` | Enables trailing stoploss (based on `stoploss` in either configuration or strategy file). More details in the [stoploss documentation](stoploss.md#trailing-stop-loss). [Strategy Override](#parameters-in-the-strategy). <br> **Datatype:** Boolean
| `trailing_stop_positive` | Changes stoploss once profit has been reached. More details in the [stoploss documentation](stoploss.md#trailing-stop-loss-custom-positive-loss). [Strategy Override](#parameters-in-the-strategy). <br> **Datatype:** Float
| `trailing_stop_positive_offset` | Offset on when to apply `trailing_stop_positive`. Percentage value which should be positive. More details in the [stoploss documentation](stoploss.md#trailing-stop-loss-only-once-the-trade-has-reached-a-certain-offset). [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `0.0` (no offset).* <br> **Datatype:** Float
| `trailing_only_offset_is_reached` | Only apply trailing stoploss when the offset is reached. [stoploss documentation](stoploss.md). [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `false`.* <br> **Datatype:** Boolean
| `fee` | Fee used during backtesting / dry-runs. Should normally not be configured, which has freqtrade fall back to the exchange default fee. Set as ratio (e.g. 0.001 = 0.1%). Fee is applied twice for each trade, once when buying, once when selling. <br> **Datatype:** Float (as ratio)
| `unfilledtimeout.buy` | **Required.** How long (in minutes or seconds) the bot will wait for an unfilled buy order to complete, after which the order will be cancelled and repeated at current (new) price, as long as there is a signal. [Strategy Override](#parameters-in-the-strategy).<br> **Datatype:** Integer
| `unfilledtimeout.sell` | **Required.** How long (in minutes or seconds) the bot will wait for an unfilled sell order to complete, after which the order will be cancelled and repeated at current (new) price, as long as there is a signal. [Strategy Override](#parameters-in-the-strategy).<br> **Datatype:** Integer
| `futures_funding_rate` | User-specified funding rate to be used when historical funding rates are not available from the exchange. This does not overwrite real historical rates. It is recommended that this be set to 0 unless you are testing a specific coin and you understand how the funding rate will affect freqtrade's profit calculations. [More information here](leverage.md#unavailable-funding-rates) <br>*Defaults to None.*<br> **Datatype:** Float
| `trading_mode` | Specifies if you want to trade regularly, trade with leverage, or trade contracts whose prices are derived from matching cryptocurrency prices. [leverage documentation](leverage.md). <br>*Defaults to `"spot"`.* <br> **Datatype:** String
| `margin_mode` | When trading with leverage, this determines if the collateral owned by the trader will be shared or isolated to each trading pair [leverage documentation](leverage.md). <br> **Datatype:** String
| `liquidation_buffer` | A ratio specifying how large of a safety net to place between the liquidation price and the stoploss to prevent a position from reaching the liquidation price [leverage documentation](leverage.md). <br>*Defaults to `0.05`.* <br> **Datatype:** Float
| | **Unfilled timeout**
| `unfilledtimeout.entry` | **Required.** How long (in minutes or seconds) the bot will wait for an unfilled entry order to complete, after which the order will be cancelled and repeated at current (new) price, as long as there is a signal. [Strategy Override](#parameters-in-the-strategy).<br> **Datatype:** Integer
| `unfilledtimeout.exit` | **Required.** How long (in minutes or seconds) the bot will wait for an unfilled exit order to complete, after which the order will be cancelled and repeated at current (new) price, as long as there is a signal. [Strategy Override](#parameters-in-the-strategy).<br> **Datatype:** Integer
| `unfilledtimeout.unit` | Unit to use in unfilledtimeout setting. Note: If you set unfilledtimeout.unit to "seconds", "internals.process_throttle_secs" must be inferior or equal to timeout [Strategy Override](#parameters-in-the-strategy). <br> *Defaults to `minutes`.* <br> **Datatype:** String
| `bid_strategy.price_side` | Select the side of the spread the bot should look at to get the buy rate. [More information below](#buy-price-side).<br> *Defaults to `bid`.* <br> **Datatype:** String (either `ask` or `bid`).
| `bid_strategy.ask_last_balance` | **Required.** Interpolate the bidding price. More information [below](#buy-price-without-orderbook-enabled).
| `bid_strategy.use_order_book` | Enable buying using the rates in [Order Book Bids](#buy-price-with-orderbook-enabled). <br> **Datatype:** Boolean
| `bid_strategy.order_book_top` | Bot will use the top N rate in Order Book Bids to buy. I.e. a value of 2 will allow the bot to pick the 2nd bid rate in [Order Book Bids](#buy-price-with-orderbook-enabled). <br>*Defaults to `1`.* <br> **Datatype:** Positive Integer
| `bid_strategy. check_depth_of_market.enabled` | Do not buy if the difference of buy orders and sell orders is met in Order Book. [Check market depth](#check-depth-of-market). <br>*Defaults to `false`.* <br> **Datatype:** Boolean
| `bid_strategy. check_depth_of_market.bids_to_ask_delta` | The difference ratio of buy orders and sell orders found in Order Book. A value below 1 means sell order size is greater, while value greater than 1 means buy order size is higher. [Check market depth](#check-depth-of-market) <br> *Defaults to `0`.* <br> **Datatype:** Float (as ratio)
| `ask_strategy.price_side` | Select the side of the spread the bot should look at to get the sell rate. [More information below](#sell-price-side).<br> *Defaults to `ask`.* <br> **Datatype:** String (either `ask` or `bid`).
| `ask_strategy.bid_last_balance` | Interpolate the selling price. More information [below](#sell-price-without-orderbook-enabled).
| `ask_strategy.use_order_book` | Enable selling of open trades using [Order Book Asks](#sell-price-with-orderbook-enabled). <br> **Datatype:** Boolean
| `ask_strategy.order_book_min` | Bot will scan from the top min to max Order Book Asks searching for a profitable rate. <br>*Defaults to `1`.* <br> **Datatype:** Positive Integer
| `ask_strategy.order_book_max` | Bot will scan from the top min to max Order Book Asks searching for a profitable rate. <br>*Defaults to `1`.* <br> **Datatype:** Positive Integer
| `ask_strategy.use_sell_signal` | Use sell signals produced by the strategy in addition to the `minimal_roi`. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `true`.* <br> **Datatype:** Boolean
| `ask_strategy.sell_profit_only` | Wait until the bot reaches `ask_strategy.sell_profit_offset` before taking a sell decision. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `false`.* <br> **Datatype:** Boolean
| `ask_strategy.sell_profit_offset` | Sell-signal is only active above this value. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `0.0`.* <br> **Datatype:** Float (as ratio)
| `ask_strategy.ignore_roi_if_buy_signal` | Do not sell if the buy signal is still active. This setting takes preference over `minimal_roi` and `use_sell_signal`. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `false`.* <br> **Datatype:** Boolean
| `ask_strategy.ignore_buying_expired_candle_after` | Specifies the number of seconds until a buy signal is no longer used. <br> **Datatype:** Integer
| `order_types` | Configure order-types depending on the action (`"buy"`, `"sell"`, `"stoploss"`, `"stoploss_on_exchange"`). [More information below](#understand-order_types). [Strategy Override](#parameters-in-the-strategy).<br> **Datatype:** Dict
| `order_time_in_force` | Configure time in force for buy and sell orders. [More information below](#understand-order_time_in_force). [Strategy Override](#parameters-in-the-strategy). <br> **Datatype:** Dict
| `unfilledtimeout.exit_timeout_count` | How many times can exit orders time out. Once this number of timeouts is reached, an emergency exit is triggered. 0 to disable and allow unlimited order cancels. [Strategy Override](#parameters-in-the-strategy).<br>*Defaults to `0`.* <br> **Datatype:** Integer
| | **Pricing**
| `entry_pricing.price_side` | Select the side of the spread the bot should look at to get the entry rate. [More information below](#buy-price-side).<br> *Defaults to `same`.* <br> **Datatype:** String (either `ask`, `bid`, `same` or `other`).
| `entry_pricing.price_last_balance` | **Required.** Interpolate the bidding price. More information [below](#entry-price-without-orderbook-enabled).
| `entry_pricing.use_order_book` | Enable entering using the rates in [Order Book Entry](#entry-price-with-orderbook-enabled). <br> *Defaults to `True`.*<br> **Datatype:** Boolean
| `entry_pricing.order_book_top` | Bot will use the top N rate in Order Book "price_side" to enter a trade. I.e. a value of 2 will allow the bot to pick the 2nd entry in [Order Book Entry](#entry-price-with-orderbook-enabled). <br>*Defaults to `1`.* <br> **Datatype:** Positive Integer
| `entry_pricing. check_depth_of_market.enabled` | Do not enter if the difference of buy orders and sell orders is met in Order Book. [Check market depth](#check-depth-of-market). <br>*Defaults to `false`.* <br> **Datatype:** Boolean
| `entry_pricing. check_depth_of_market.bids_to_ask_delta` | The difference ratio of buy orders and sell orders found in Order Book. A value below 1 means sell order size is greater, while value greater than 1 means buy order size is higher. [Check market depth](#check-depth-of-market) <br> *Defaults to `0`.* <br> **Datatype:** Float (as ratio)
| `exit_pricing.price_side` | Select the side of the spread the bot should look at to get the exit rate. [More information below](#exit-price-side).<br> *Defaults to `same`.* <br> **Datatype:** String (either `ask`, `bid`, `same` or `other`).
| `exit_pricing.price_last_balance` | Interpolate the exiting price. More information [below](#exit-price-without-orderbook-enabled).
| `exit_pricing.use_order_book` | Enable exiting of open trades using [Order Book Exit](#exit-price-with-orderbook-enabled). <br> *Defaults to `True`.*<br> **Datatype:** Boolean
| `exit_pricing.order_book_top` | Bot will use the top N rate in Order Book "price_side" to exit. I.e. a value of 2 will allow the bot to pick the 2nd ask rate in [Order Book Exit](#exit-price-with-orderbook-enabled)<br>*Defaults to `1`.* <br> **Datatype:** Positive Integer
| `custom_price_max_distance_ratio` | Configure maximum distance ratio between current and custom entry or exit price. <br>*Defaults to `0.02` 2%).*<br> **Datatype:** Positive float
| | **TODO**
| `use_exit_signal` | Use exit signals produced by the strategy in addition to the `minimal_roi`. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `true`.* <br> **Datatype:** Boolean
| `exit_profit_only` | Wait until the bot reaches `exit_profit_offset` before taking an exit decision. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `false`.* <br> **Datatype:** Boolean
| `exit_profit_offset` | Exit-signal is only active above this value. Only active in combination with `exit_profit_only=True`. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `0.0`.* <br> **Datatype:** Float (as ratio)
| `ignore_roi_if_entry_signal` | Do not exit if the entry signal is still active. This setting takes preference over `minimal_roi` and `use_exit_signal`. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `false`.* <br> **Datatype:** Boolean
| `ignore_buying_expired_candle_after` | Specifies the number of seconds until a buy signal is no longer used. <br> **Datatype:** Integer
| `order_types` | Configure order-types depending on the action (`"entry"`, `"exit"`, `"stoploss"`, `"stoploss_on_exchange"`). [More information below](#understand-order_types). [Strategy Override](#parameters-in-the-strategy).<br> **Datatype:** Dict
| `order_time_in_force` | Configure time in force for entry and exit orders. [More information below](#understand-order_time_in_force). [Strategy Override](#parameters-in-the-strategy). <br> **Datatype:** Dict
| `position_adjustment_enable` | Enables the strategy to use position adjustments (additional buys or sells). [More information here](strategy-callbacks.md#adjust-trade-position). <br> [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `false`.*<br> **Datatype:** Boolean
| `max_entry_position_adjustment` | Maximum additional order(s) for each open trade on top of the first entry Order. Set it to `-1` for unlimited additional orders. [More information here](strategy-callbacks.md#adjust-trade-position). <br> [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `-1`.*<br> **Datatype:** Positive Integer or -1
| | **Exchange**
| `exchange.name` | **Required.** Name of the exchange class to use. [List below](#user-content-what-values-for-exchangename). <br> **Datatype:** String
| `exchange.sandbox` | Use the 'sandbox' version of the exchange, where the exchange provides a sandbox for risk-free integration. See [here](sandbox-testing.md) in more details.<br> **Datatype:** Boolean
| `exchange.key` | API key to use for the exchange. Only required when you are in production mode.<br>**Keep it in secret, do not disclose publicly.** <br> **Datatype:** String
| `exchange.secret` | API secret to use for the exchange. Only required when you are in production mode.<br>**Keep it in secret, do not disclose publicly.** <br> **Datatype:** String
| `exchange.password` | API password to use for the exchange. Only required when you are in production mode and for exchanges that use password for API requests.<br>**Keep it in secret, do not disclose publicly.** <br> **Datatype:** String
| `exchange.uid` | API uid to use for the exchange. Only required when you are in production mode and for exchanges that use uid for API requests.<br>**Keep it in secret, do not disclose publicly.** <br> **Datatype:** String
| `exchange.pair_whitelist` | List of pairs to use by the bot for trading and to check for potential trades during backtesting. Supports regex pairs as `.*/BTC`. Not used by VolumePairList. [More information](plugins.md#pairlists-and-pairlist-handlers). <br> **Datatype:** List
| `exchange.pair_blacklist` | List of pairs the bot must absolutely avoid for trading and backtesting. [More information](plugins.md#pairlists-and-pairlist-handlers). <br> **Datatype:** List
| `exchange.ccxt_config` | Additional CCXT parameters passed to both ccxt instances (sync and async). This is usually the correct place for ccxt configurations. Parameters may differ from exchange to exchange and are documented in the [ccxt documentation](https://ccxt.readthedocs.io/en/latest/manual.html#instantiation) <br> **Datatype:** Dict
| `exchange.ccxt_config` | Additional CCXT parameters passed to both ccxt instances (sync and async). This is usually the correct place for additional ccxt configurations. Parameters may differ from exchange to exchange and are documented in the [ccxt documentation](https://ccxt.readthedocs.io/en/latest/manual.html#instantiation). Please avoid adding exchange secrets here (use the dedicated fields instead), as they may be contained in logs. <br> **Datatype:** Dict
| `exchange.ccxt_sync_config` | Additional CCXT parameters passed to the regular (sync) ccxt instance. Parameters may differ from exchange to exchange and are documented in the [ccxt documentation](https://ccxt.readthedocs.io/en/latest/manual.html#instantiation) <br> **Datatype:** Dict
| `exchange.ccxt_async_config` | Additional CCXT parameters passed to the async ccxt instance. Parameters may differ from exchange to exchange and are documented in the [ccxt documentation](https://ccxt.readthedocs.io/en/latest/manual.html#instantiation) <br> **Datatype:** Dict
| `exchange.markets_refresh_interval` | The interval in minutes in which markets are reloaded. <br>*Defaults to `60` minutes.* <br> **Datatype:** Positive Integer
| `exchange.skip_pair_validation` | Skip pairlist validation on startup.<br>*Defaults to `false`<br> **Datatype:** Boolean
| `exchange.skip_open_order_update` | Skips open order updates on startup should the exchange cause problems. Only relevant in live conditions.<br>*Defaults to `false`<br> **Datatype:** Boolean
| `exchange.unknown_fee_rate` | Fallback value to use when calculating trading fees. This can be useful for exchanges which have fees in non-tradable currencies. The value provided here will be multiplied with the "fee cost".<br>*Defaults to `None`<br> **Datatype:** float
| `exchange.log_responses` | Log relevant exchange responses. For debug mode only - use with care.<br>*Defaults to `false`<br> **Datatype:** Boolean
| `edge.*` | Please refer to [edge configuration document](edge.md) for detailed explanation.
| `experimental.block_bad_exchanges` | Block exchanges known to not work with freqtrade. Leave on default unless you want to test if that exchange works now. <br>*Defaults to `true`.* <br> **Datatype:** Boolean
| | **Plugins**
| `edge.*` | Please refer to [edge configuration document](edge.md) for detailed explanation of all possible configuration options.
| `pairlists` | Define one or more pairlists to be used. [More information](plugins.md#pairlists-and-pairlist-handlers). <br>*Defaults to `StaticPairList`.* <br> **Datatype:** List of Dicts
| `protections` | Define one or more protections to be used. [More information](plugins.md#protections). <br> **Datatype:** List of Dicts
| | **Telegram**
| `telegram.enabled` | Enable the usage of Telegram. <br> **Datatype:** Boolean
| `telegram.token` | Your Telegram bot token. Only required if `telegram.enabled` is `true`. <br>**Keep it in secret, do not disclose publicly.** <br> **Datatype:** String
| `telegram.chat_id` | Your personal Telegram account id. Only required if `telegram.enabled` is `true`. <br>**Keep it in secret, do not disclose publicly.** <br> **Datatype:** String
| `telegram.balance_dust_level` | Dust-level (in stake currency) - currencies with a balance below this will not be shown by `/balance`. <br> **Datatype:** float
| `telegram.reload` | Allow "reload" buttons on telegram messages. <br>*Defaults to `True`.<br> **Datatype:** boolean
| `telegram.notification_settings.*` | Detailed notification settings. Refer to the [telegram documentation](telegram-usage.md) for details.<br> **Datatype:** dictionary
| `telegram.allow_custom_messages` | Enable the sending of Telegram messages from strategies via the dataprovider.send_msg() function. <br> **Datatype:** Boolean
| | **Webhook**
| `webhook.enabled` | Enable usage of Webhook notifications <br> **Datatype:** Boolean
| `webhook.url` | URL for the webhook. Only required if `webhook.enabled` is `true`. See the [webhook documentation](webhook-config.md) for more details. <br> **Datatype:** String
| `webhook.webhookbuy` | Payload to send on buy. Only required if `webhook.enabled` is `true`. See the [webhook documentation](webhook-config.md) for more details. <br> **Datatype:** String
| `webhook.webhookbuycancel` | Payload to send on buy order cancel. Only required if `webhook.enabled` is `true`. See the [webhook documentation](webhook-config.md) for more details. <br> **Datatype:** String
| `webhook.webhooksell` | Payload to send on sell. Only required if `webhook.enabled` is `true`. See the [webhook documentation](webhook-config.md) for more details. <br> **Datatype:** String
| `webhook.webhooksellcancel` | Payload to send on sell order cancel. Only required if `webhook.enabled` is `true`. See the [webhook documentation](webhook-config.md) for more details. <br> **Datatype:** String
| `webhook.webhookstatus` | Payload to send on status calls. Only required if `webhook.enabled` is `true`. See the [webhook documentation](webhook-config.md) for more details. <br> **Datatype:** String
| `webhook.entry` | Payload to send on entry. Only required if `webhook.enabled` is `true`. See the [webhook documentation](webhook-config.md) for more details. <br> **Datatype:** String
| `webhook.entry_cancel` | Payload to send on entry order cancel. Only required if `webhook.enabled` is `true`. See the [webhook documentation](webhook-config.md) for more details. <br> **Datatype:** String
| `webhook.entry_fill` | Payload to send on entry order filled. Only required if `webhook.enabled` is `true`. See the [webhook documentation](webhook-config.md) for more details. <br> **Datatype:** String
| `webhook.exit` | Payload to send on exit. Only required if `webhook.enabled` is `true`. See the [webhook documentation](webhook-config.md) for more details. <br> **Datatype:** String
| `webhook.exit_cancel` | Payload to send on exit order cancel. Only required if `webhook.enabled` is `true`. See the [webhook documentation](webhook-config.md) for more details. <br> **Datatype:** String
| `webhook.exit_fill` | Payload to send on exit order filled. Only required if `webhook.enabled` is `true`. See the [webhook documentation](webhook-config.md) for more details. <br> **Datatype:** String
| `webhook.status` | Payload to send on status calls. Only required if `webhook.enabled` is `true`. See the [webhook documentation](webhook-config.md) for more details. <br> **Datatype:** String
| `webhook.allow_custom_messages` | Enable the sending of Webhook messages from strategies via the dataprovider.send_msg() function. <br> **Datatype:** Boolean
| | **Rest API / FreqUI / Producer-Consumer**
| `api_server.enabled` | Enable usage of API Server. See the [API Server documentation](rest-api.md) for more details. <br> **Datatype:** Boolean
| `api_server.listen_ip_address` | Bind IP address. See the [API Server documentation](rest-api.md) for more details. <br> **Datatype:** IPv4
| `api_server.listen_port` | Bind Port. See the [API Server documentation](rest-api.md) for more details. <br>**Datatype:** Integer between 1024 and 65535
| `api_server.verbosity` | Logging verbosity. `info` will print all RPC Calls, while "error" will only display errors. <br>**Datatype:** Enum, either `info` or `error`. Defaults to `info`.
| `api_server.username` | Username for API server. See the [API Server documentation](rest-api.md) for more details. <br>**Keep it in secret, do not disclose publicly.**<br> **Datatype:** String
| `api_server.password` | Password for API server. See the [API Server documentation](rest-api.md) for more details. <br>**Keep it in secret, do not disclose publicly.**<br> **Datatype:** String
| `api_server.ws_token` | API token for the Message WebSocket. See the [API Server documentation](rest-api.md) for more details. <br>**Keep it in secret, do not disclose publicly.** <br> **Datatype:** String
| `bot_name` | Name of the bot. Passed via API to a client - can be shown to distinguish / name bots.<br> *Defaults to `freqtrade`*<br> **Datatype:** String
| `db_url` | Declares database URL to use. NOTE: This defaults to `sqlite:///tradesv3.dryrun.sqlite` if `dry_run` is `true`, and to `sqlite:///tradesv3.sqlite` for production instances. <br> **Datatype:** String, SQLAlchemy connect string
| `external_message_consumer` | Enable [Producer/Consumer mode](producer-consumer.md) for more details. <br> **Datatype:** Dict
| | **Other**
| `initial_state` | Defines the initial application state. If set to stopped, then the bot has to be explicitly started via `/start` RPC command. <br>*Defaults to `stopped`.* <br> **Datatype:** Enum, either `stopped` or `running`
| `forcebuy_enable` | Enables the RPC Commands to force a buy. More information below. <br> **Datatype:** Boolean
| `force_entry_enable` | Enables the RPC Commands to force a Trade entry. More information below. <br> **Datatype:** Boolean
| `disable_dataframe_checks` | Disable checking the OHLCV dataframe returned from the strategy methods for correctness. Only use when intentionally changing the dataframe and understand what you are doing. [Strategy Override](#parameters-in-the-strategy).<br> *Defaults to `False`*. <br> **Datatype:** Boolean
| `strategy` | **Required** Defines Strategy class to use. Recommended to be set via `--strategy NAME`. <br> **Datatype:** ClassName
| `strategy_path` | Adds an additional strategy lookup path (must be a directory). <br> **Datatype:** String
| `internals.process_throttle_secs` | Set the process throttle, or minimum loop duration for one bot iteration loop. Value in second. <br>*Defaults to `5` seconds.* <br> **Datatype:** Positive Integer
| `internals.heartbeat_interval` | Print heartbeat message every N seconds. Set to 0 to disable heartbeat messages. <br>*Defaults to `60` seconds.* <br> **Datatype:** Positive Integer or 0
| `internals.sd_notify` | Enables use of the sd_notify protocol to tell systemd service manager about changes in the bot state and issue keep-alive pings. See [here](installation.md#7-optional-configure-freqtrade-as-a-systemd-service) for more details. <br> **Datatype:** Boolean
| `logfile` | Specifies logfile name. Uses a rolling strategy for log file rotation for 10 files with the 1MB limit per file. <br> **Datatype:** String
| `strategy` | **Required** Defines Strategy class to use. Recommended to be set via `--strategy NAME`. <br> **Datatype:** ClassName
| `strategy_path` | Adds an additional strategy lookup path (must be a directory). <br> **Datatype:** String
| `recursive_strategy_search` | Set to `true` to recursively search sub-directories inside `user_data/strategies` for a strategy. <br> **Datatype:** Boolean
| `user_data_dir` | Directory containing user data. <br> *Defaults to `./user_data/`*. <br> **Datatype:** String
| `db_url` | Declares database URL to use. NOTE: This defaults to `sqlite:///tradesv3.dryrun.sqlite` if `dry_run` is `true`, and to `sqlite:///tradesv3.sqlite` for production instances. <br> **Datatype:** String, SQLAlchemy connect string
| `logfile` | Specifies logfile name. Uses a rolling strategy for log file rotation for 10 files with the 1MB limit per file. <br> **Datatype:** String
| `add_config_files` | Additional config files. These files will be loaded and merged with the current config file. The files are resolved relative to the initial file.<br> *Defaults to `[]`*. <br> **Datatype:** List of strings
| `dataformat_ohlcv` | Data format to use to store historical candle (OHLCV) data. <br> *Defaults to `json`*. <br> **Datatype:** String
| `dataformat_trades` | Data format to use to store historical trades data. <br> *Defaults to `jsongz`*. <br> **Datatype:** String
| `reduce_df_footprint` | Recast all numeric columns to float32/int32, with the objective of reducing ram/disk usage (and decreasing train/inference timing in FreqAI). (Currently only affects FreqAI use-cases) <br> **Datatype:** Boolean. <br> Default: `False`.
### Parameters in the strategy
The following parameters can be set in configuration file or strategy.
The following parameters can be set in the configuration file or strategy.
Values set in the configuration file always overwrite values set in the strategy.
* `minimal_roi`
* `timeframe`
* `stoploss`
* `max_open_trades`
* `trailing_stop`
* `trailing_stop_positive`
* `trailing_stop_positive_offset`
@ -157,51 +274,68 @@ Values set in the configuration file always overwrite values set in the strategy
* `order_time_in_force`
* `unfilledtimeout`
* `disable_dataframe_checks`
* `use_sell_signal` (ask_strategy)
* `sell_profit_only` (ask_strategy)
* `sell_profit_offset` (ask_strategy)
* `ignore_roi_if_buy_signal` (ask_strategy)
* `ignore_buying_expired_candle_after` (ask_strategy)
- `use_exit_signal`
* `exit_profit_only`
- `exit_profit_offset`
- `ignore_roi_if_entry_signal`
* `ignore_buying_expired_candle_after`
* `position_adjustment_enable`
* `max_entry_position_adjustment`
### Configuring amount per trade
There are several methods to configure how much of the stake currency the bot will use to enter a trade. All methods respect the [available balance configuration](#available-balance) as explained below.
There are several methods to configure how much of the stake currency the bot will use to enter a trade. All methods respect the [available balance configuration](#tradable-balance) as explained below.
#### Minimum trade stake
The minimum stake amount will depend by exchange and pair, and is usually listed in the exchange support pages.
Assuming the minimum tradable amount for XRP/USD is 20 XRP (given by the exchange), and the price is 0.6$.
The minimum stake amount will depend on exchange and pair and is usually listed in the exchange support pages.
The minimum stake amount to buy this pair is therefore `20 * 0.6 ~= 12`.
Assuming the minimum tradable amount for XRP/USD is 20 XRP (given by the exchange), and the price is 0.6$, the minimum stake amount to buy this pair is `20 * 0.6 ~= 12`.
This exchange has also a limit on USD - where all orders must be > 10$ - which however does not apply in this case.
To guarantee safe execution, freqtrade will not allow buying with a stake-amount of 10.1$, instead, it'll make sure that there's enough space to place a stoploss below the pair (+ an offset, defined by `amount_reserve_percent`, which defaults to 5%).
With a reserve of 5%, the minimum stake amount would be ~12.6$ (`12 * (1 + 0.05)`). If we take in account a stoploss of 10% on top of that - we'd end up with a value of ~14$ (`12.6 / (1 - 0.1)`).
With a reserve of 5%, the minimum stake amount would be ~12.6$ (`12 * (1 + 0.05)`). If we take into account a stoploss of 10% on top of that - we'd end up with a value of ~14$ (`12.6 / (1 - 0.1)`).
To limit this calculation in case of large stoploss values, the calculated minimum stake-limit will never be more than 50% above the real limit.
!!! Warning
Since the limits on exchanges are usually stable and are not updated often, some pairs can show pretty high minimum limits, simply because the price increased a lot since the last limit adjustment by the exchange.
Since the limits on exchanges are usually stable and are not updated often, some pairs can show pretty high minimum limits, simply because the price increased a lot since the last limit adjustment by the exchange. Freqtrade adjusts the stake-amount to this value, unless it's > 30% more than the calculated/desired stake-amount - in which case the trade is rejected.
#### Available balance
#### Tradable balance
By default, the bot assumes that the `complete amount - 1%` is at it's disposal, and when using [dynamic stake amount](#dynamic-stake-amount), it will split the complete balance into `max_open_trades` buckets per trade.
Freqtrade will reserve 1% for eventual fees when entering a trade and will therefore not touch that by default.
You can configure the "untouched" amount by using the `tradable_balance_ratio` setting.
For example, if you have 10 ETH available in your wallet on the exchange and `tradable_balance_ratio=0.5` (which is 50%), then the bot will use a maximum amount of 5 ETH for trading and considers this as available balance. The rest of the wallet is untouched by the trades.
For example, if you have 10 ETH available in your wallet on the exchange and `tradable_balance_ratio=0.5` (which is 50%), then the bot will use a maximum amount of 5 ETH for trading and considers this as an available balance. The rest of the wallet is untouched by the trades.
!!! Danger
This setting should **not** be used when running multiple bots on the same account. Please look at [Available Capital to the bot](#assign-available-capital) instead.
!!! Warning
The `tradable_balance_ratio` setting applies to the current balance (free balance + tied up in trades). Therefore, assuming the starting balance of 1000, a configuration with `tradable_balance_ratio=0.99` will not guarantee that 10 currency units will always remain available on the exchange. For example, the free amount may reduce to 5 units if the total balance is reduced to 500 (either by a losing streak, or by withdrawing balance).
The `tradable_balance_ratio` setting applies to the current balance (free balance + tied up in trades). Therefore, assuming the starting balance of 1000, a configuration with `tradable_balance_ratio=0.99` will not guarantee that 10 currency units will always remain available on the exchange. For example, the free amount may reduce to 5 units if the total balance is reduced to 500 (either by a losing streak or by withdrawing balance).
#### Assign available Capital
To fully utilize compounding profits when using multiple bots on the same exchange account, you'll want to limit each bot to a certain starting balance.
This can be accomplished by setting `available_capital` to the desired starting balance.
Assuming your account has 10.000 USDT and you want to run 2 different strategies on this exchange.
You'd set `available_capital=5000` - granting each bot an initial capital of 5000 USDT.
The bot will then split this starting balance equally into `max_open_trades` buckets.
Profitable trades will result in increased stake-sizes for this bot - without affecting the stake-sizes of the other bot.
!!! Warning "Incompatible with `tradable_balance_ratio`"
Setting this option will replace any configuration of `tradable_balance_ratio`.
#### Amend last stake amount
Assuming we have the tradable balance of 1000 USDT, `stake_amount=400`, and `max_open_trades=3`.
The bot would open 2 trades, and will be unable to fill the last trading slot, since the requested 400 USDT are no longer available, since 800 USDT are already tied in other trades.
The bot would open 2 trades and will be unable to fill the last trading slot, since the requested 400 USDT are no longer available since 800 USDT are already tied in other trades.
To overcome this, the option `amend_last_stake_amount` can be set to `True`, which will enable the bot to reduce stake_amount to the available balance in order to fill the last trade slot.
To overcome this, the option `amend_last_stake_amount` can be set to `True`, which will enable the bot to reduce stake_amount to the available balance to fill the last trade slot.
In the example above this would mean:
@ -229,7 +363,7 @@ For example, the bot will at most use (0.05 BTC x 3) = 0.15 BTC, assuming a conf
#### Dynamic stake amount
Alternatively, you can use a dynamic stake amount, which will use the available balance on the exchange, and divide that equally by the amount of allowed trades (`max_open_trades`).
Alternatively, you can use a dynamic stake amount, which will use the available balance on the exchange, and divide that equally by the number of allowed trades (`max_open_trades`).
To configure this, set `stake_amount="unlimited"`. We also recommend to set `tradable_balance_ratio=0.99` (99%) - to keep a minimum balance for eventual fees.
@ -247,42 +381,51 @@ To allow the bot to trade all the available `stake_currency` in your account (mi
```
!!! Tip "Compounding profits"
This configuration will allow increasing / decreasing stakes depending on the performance of the bot (lower stake if bot is loosing, higher stakes if the bot has a winning record, since higher balances are available), and will result in profit compounding.
This configuration will allow increasing/decreasing stakes depending on the performance of the bot (lower stake if the bot is losing, higher stakes if the bot has a winning record since higher balances are available), and will result in profit compounding.
!!! Note "When using Dry-Run Mode"
When using `"stake_amount" : "unlimited",` in combination with Dry-Run, Backtesting or Hyperopt, the balance will be simulated starting with a stake of `dry_run_wallet` which will evolve over time.
It is therefore important to set `dry_run_wallet` to a sensible value (like 0.05 or 0.01 for BTC and 1000 or 100 for USDT, for example), otherwise it may simulate trades with 100 BTC (or more) or 0.05 USDT (or less) at once - which may not correspond to your real available balance or is less than the exchange minimal limit for the order amount for the stake currency.
When using `"stake_amount" : "unlimited",` in combination with Dry-Run, Backtesting or Hyperopt, the balance will be simulated starting with a stake of `dry_run_wallet` which will evolve.
It is therefore important to set `dry_run_wallet` to a sensible value (like 0.05 or 0.01 for BTC and 1000 or 100 for USDT, for example), otherwise, it may simulate trades with 100 BTC (or more) or 0.05 USDT (or less) at once - which may not correspond to your real available balance or is less than the exchange minimal limit for the order amount for the stake currency.
#### Dynamic stake amount with position adjustment
When you want to use position adjustment with unlimited stakes, you must also implement `custom_stake_amount` to a return a value depending on your strategy.
Typical value would be in the range of 25% - 50% of the proposed stakes, but depends highly on your strategy and how much you wish to leave into the wallet as position adjustment buffer.
For example if your position adjustment assumes it can do 2 additional buys with the same stake amounts then your buffer should be 66.6667% of the initially proposed unlimited stake amount.
Or another example if your position adjustment assumes it can do 1 additional buy with 3x the original stake amount then `custom_stake_amount` should return 25% of proposed stake amount and leave 75% for possible later position adjustments.
--8<-- "includes/pricing.md"
### Understand minimal_roi
The `minimal_roi` configuration parameter is a JSON object where the key is a duration
in minutes and the value is the minimum ROI as ratio.
in minutes and the value is the minimum ROI as a ratio.
See the example below:
```json
"minimal_roi": {
"40": 0.0, # Sell after 40 minutes if the profit is not negative
"30": 0.01, # Sell after 30 minutes if there is at least 1% profit
"20": 0.02, # Sell after 20 minutes if there is at least 2% profit
"0": 0.04 # Sell immediately if there is at least 4% profit
"40": 0.0, # Exit after 40 minutes if the profit is not negative
"30": 0.01, # Exit after 30 minutes if there is at least 1% profit
"20": 0.02, # Exit after 20 minutes if there is at least 2% profit
"0": 0.04 # Exit immediately if there is at least 4% profit
},
```
Most of the strategy files already include the optimal `minimal_roi` value.
This parameter can be set in either Strategy or Configuration file. If you use it in the configuration file, it will override the
`minimal_roi` value from the strategy file.
If it is not set in either Strategy or Configuration, a default of 1000% `{"0": 10}` is used, and minimal roi is disabled unless your trade generates 1000% profit.
If it is not set in either Strategy or Configuration, a default of 1000% `{"0": 10}` is used, and minimal ROI is disabled unless your trade generates 1000% profit.
!!! Note "Special case to forcesell after a specific time"
A special case presents using `"<N>": -1` as ROI. This forces the bot to sell a trade after N Minutes, no matter if it's positive or negative, so represents a time-limited force-sell.
!!! Note "Special case to forceexit after a specific time"
A special case presents using `"<N>": -1` as ROI. This forces the bot to exit a trade after N Minutes, no matter if it's positive or negative, so represents a time-limited force-exit.
### Understand forcebuy_enable
### Understand force_entry_enable
The `forcebuy_enable` configuration parameter enables the usage of forcebuy commands via Telegram and REST API.
The `force_entry_enable` configuration parameter enables the usage of force-enter (`/forcelong`, `/forceshort`) commands via Telegram and REST API.
For security reasons, it's disabled by default, and freqtrade will show a warning message on startup if enabled.
For example, you can send `/forcebuy ETH/BTC` to the bot, which will result in freqtrade buying the pair and holds it until a regular sell-signal (ROI, stoploss, /forcesell) appears.
For example, you can send `/forceenter ETH/BTC` to the bot, which will result in freqtrade buying the pair and holds it until a regular exit-signal (ROI, stoploss, /forceexit) appears.
This can be dangerous with some strategies, so use with care.
@ -292,16 +435,16 @@ See [the telegram documentation](telegram-usage.md) for details on usage.
When working with larger timeframes (for example 1h or more) and using a low `max_open_trades` value, the last candle can be processed as soon as a trade slot becomes available. When processing the last candle, this can lead to a situation where it may not be desirable to use the buy signal on that candle. For example, when using a condition in your strategy where you use a cross-over, that point may have passed too long ago for you to start a trade on it.
In these situations, you can enable the functionality to ignore candles that are beyond a specified period by setting `ask_strategy.ignore_buying_expired_candle_after` to a positive number, indicating the number of seconds after which the buy signal becomes expired.
In these situations, you can enable the functionality to ignore candles that are beyond a specified period by setting `ignore_buying_expired_candle_after` to a positive number, indicating the number of seconds after which the buy signal becomes expired.
For example, if your strategy is using a 1h timeframe, and you only want to buy within the first 5 minutes when a new candle comes in, you can add the following configuration to your strategy:
``` json
"ask_strategy":{
"ignore_buying_expired_candle_after": 300,
"price_side": "bid",
{
//...
},
"ignore_buying_expired_candle_after": 300,
// ...
}
```
!!! Note
@ -309,29 +452,27 @@ For example, if your strategy is using a 1h timeframe, and you only want to buy
### Understand order_types
The `order_types` configuration parameter maps actions (`buy`, `sell`, `stoploss`, `emergencysell`, `forcesell`, `forcebuy`) to order-types (`market`, `limit`, ...) as well as configures stoploss to be on the exchange and defines stoploss on exchange update interval in seconds.
The `order_types` configuration parameter maps actions (`entry`, `exit`, `stoploss`, `emergency_exit`, `force_exit`, `force_entry`) to order-types (`market`, `limit`, ...) as well as configures stoploss to be on the exchange and defines stoploss on exchange update interval in seconds.
This allows to buy using limit orders, sell using
limit-orders, and create stoplosses using market orders. It also allows to set the
stoploss "on exchange" which means stoploss order would be placed immediately once
the buy order is fulfilled.
This allows to enter using limit orders, exit using limit-orders, and create stoplosses using market orders.
It also allows to set the
stoploss "on exchange" which means stoploss order would be placed immediately once the buy order is fulfilled.
`order_types` set in the configuration file overwrites values set in the strategy as a whole, so you need to configure the whole `order_types` dictionary in one place.
If this is configured, the following 4 values (`buy`, `sell`, `stoploss` and
`stoploss_on_exchange`) need to be present, otherwise the bot will fail to start.
If this is configured, the following 4 values (`entry`, `exit`, `stoploss` and `stoploss_on_exchange`) need to be present, otherwise, the bot will fail to start.
For information on (`emergencysell`,`forcesell`, `forcebuy`, `stoploss_on_exchange`,`stoploss_on_exchange_interval`,`stoploss_on_exchange_limit_ratio`) please see stop loss documentation [stop loss on exchange](stoploss.md)
For information on (`emergency_exit`,`force_exit`, `force_entry`, `stoploss_on_exchange`,`stoploss_on_exchange_interval`,`stoploss_on_exchange_limit_ratio`) please see stop loss documentation [stop loss on exchange](stoploss.md)
Syntax for Strategy:
```python
order_types = {
"buy": "limit",
"sell": "limit",
"emergencysell": "market",
"forcebuy": "market",
"forcesell": "market",
"entry": "limit",
"exit": "limit",
"emergency_exit": "market",
"force_entry": "market",
"force_exit": "market",
"stoploss": "market",
"stoploss_on_exchange": False,
"stoploss_on_exchange_interval": 60,
@ -343,11 +484,11 @@ Configuration:
```json
"order_types": {
"buy": "limit",
"sell": "limit",
"emergencysell": "market",
"forcebuy": "market",
"forcesell": "market",
"entry": "limit",
"exit": "limit",
"emergency_exit": "market",
"force_entry": "market",
"force_exit": "market",
"stoploss": "market",
"stoploss_on_exchange": false,
"stoploss_on_exchange_interval": 60
@ -370,7 +511,7 @@ Configuration:
If `stoploss_on_exchange` is enabled and the stoploss is cancelled manually on the exchange, then the bot will create a new stoploss order.
!!! Warning "Warning: stoploss_on_exchange failures"
If stoploss on exchange creation fails for some reason, then an "emergency sell" is initiated. By default, this will sell the asset using a market order. The order-type for the emergency-sell can be changed by setting the `emergencysell` value in the `order_types` dictionary - however this is not advised.
If stoploss on exchange creation fails for some reason, then an "emergency exit" is initiated. By default, this will exit the trade using a market order. The order-type for the emergency-exit can be changed by setting the `emergency_exit` value in the `order_types` dictionary - however, this is not advised.
### Understand order_time_in_force
@ -380,73 +521,41 @@ is executed on the exchange. Three commonly used time in force are:
**GTC (Good Till Canceled):**
This is most of the time the default time in force. It means the order will remain
on exchange till it is canceled by user. It can be fully or partially fulfilled.
on exchange till it is cancelled by the user. It can be fully or partially fulfilled.
If partially fulfilled, the remaining will stay on the exchange till cancelled.
**FOK (Fill Or Kill):**
It means if the order is not executed immediately AND fully then it is canceled by the exchange.
It means if the order is not executed immediately AND fully then it is cancelled by the exchange.
**IOC (Immediate Or Canceled):**
It is the same as FOK (above) except it can be partially fulfilled. The remaining part
is automatically cancelled by the exchange.
The `order_time_in_force` parameter contains a dict with buy and sell time in force policy values.
**PO (Post only):**
Post only order. The order is either placed as a maker order, or it is canceled.
This means the order must be placed on orderbook for at at least time in an unfilled state.
#### time_in_force config
The `order_time_in_force` parameter contains a dict with entry and exit time in force policy values.
This can be set in the configuration file or in the strategy.
Values set in the configuration file overwrites values set in the strategy.
The possible values are: `gtc` (default), `fok` or `ioc`.
The possible values are: `GTC` (default), `FOK` or `IOC`.
``` python
"order_time_in_force": {
"buy": "gtc",
"sell": "gtc"
"entry": "GTC",
"exit": "GTC"
},
```
!!! Warning
This is an ongoing work. For now it is supported only for binance.
Please don't change the default value unless you know what you are doing and have researched the impact of using different values.
### Exchange configuration
Freqtrade is based on [CCXT library](https://github.com/ccxt/ccxt) that supports over 100 cryptocurrency
exchange markets and trading APIs. The complete up-to-date list can be found in the
[CCXT repo homepage](https://github.com/ccxt/ccxt/tree/master/python).
However, the bot was tested by the development team with only Bittrex, Binance and Kraken,
so the these are the only officially supported exchanges:
- [Bittrex](https://bittrex.com/): "bittrex"
- [Binance](https://www.binance.com/): "binance"
- [Kraken](https://kraken.com/): "kraken"
Feel free to test other exchanges and submit your PR to improve the bot.
Some exchanges require special configuration, which can be found on the [Exchange-specific Notes](exchanges.md) documentation page.
#### Sample exchange configuration
A exchange configuration for "binance" would look as follows:
```json
"exchange": {
"name": "binance",
"key": "your_exchange_key",
"secret": "your_exchange_secret",
"ccxt_config": {"enableRateLimit": true},
"ccxt_async_config": {
"enableRateLimit": true,
"rateLimit": 200
},
```
This configuration enables binance, as well as rate limiting to avoid bans from the exchange.
`"rateLimit": 200` defines a wait-event of 0.2s between each call. This can also be completely disabled by setting `"enableRateLimit"` to false.
!!! Note
Optimal settings for rate limiting depend on the exchange and the size of the whitelist, so an ideal parameter will vary on many other settings.
We try to provide sensible defaults per exchange where possible, if you encounter bans please make sure that `"enableRateLimit"` is enabled and increase the `"rateLimit"` parameter step by step.
This is ongoing work. For now, it is supported only for binance, gate and kucoin.
Please don't change the default value unless you know what you are doing and have researched the impact of using different values for your particular exchange.
### What values can be used for fiat_display_currency?
@ -459,7 +568,7 @@ The valid values are:
"AUD", "BRL", "CAD", "CHF", "CLP", "CNY", "CZK", "DKK", "EUR", "GBP", "HKD", "HUF", "IDR", "ILS", "INR", "JPY", "KRW", "MXN", "MYR", "NOK", "NZD", "PHP", "PKR", "PLN", "RUB", "SEK", "SGD", "THB", "TRY", "TWD", "ZAR", "USD"
```
In addition to fiat currencies, a range of cryto currencies are supported.
In addition to fiat currencies, a range of crypto currencies is supported.
The valid values are:
@ -470,7 +579,7 @@ The valid values are:
## Using Dry-run mode
We recommend starting the bot in the Dry-run mode to see how your bot will
behave and what is the performance of your strategy. In the Dry-run mode the
behave and what is the performance of your strategy. In the Dry-run mode, the
bot does not engage your money. It only runs a live simulation without
creating trades on the exchange.
@ -496,7 +605,7 @@ creating trades on the exchange.
Once you will be happy with your bot performance running in the Dry-run mode, you can switch it to production mode.
!!! Note
A simulated wallet is available during dry-run mode, and will assume a starting capital of `dry_run_wallet` (defaults to 1000).
A simulated wallet is available during dry-run mode and will assume a starting capital of `dry_run_wallet` (defaults to 1000).
### Considerations for dry-run
@ -504,15 +613,16 @@ Once you will be happy with your bot performance running in the Dry-run mode, yo
* Wallets (`/balance`) are simulated based on `dry_run_wallet`.
* Orders are simulated, and will not be posted to the exchange.
* Market orders fill based on orderbook volume the moment the order is placed.
* Limit orders fill once price reaches the defined level - or time out based on `unfilledtimeout` settings.
* Limit orders fill once the price reaches the defined level - or time out based on `unfilledtimeout` settings.
* In combination with `stoploss_on_exchange`, the stop_loss price is assumed to be filled.
* Open orders (not trades, which are stored in the database) are reset on bot restart.
* Open orders (not trades, which are stored in the database) are kept open after bot restarts, with the assumption that they were not filled while being offline.
## Switch to production mode
In production mode, the bot will engage your money. Be careful, since a wrong
strategy can lose all your money. Be aware of what you are doing when
you run it in production mode.
In production mode, the bot will engage your money. Be careful, since a wrong strategy can lose all your money.
Be aware of what you are doing when you run it in production mode.
When switching to Production mode, please make sure to use a different / fresh database to avoid dry-run trades messing with your exchange money and eventually tainting your statistics.
### Setup your exchange account
@ -529,7 +639,7 @@ API Keys are usually only required for live trading (trading for real money, bot
"dry_run": false,
```
**Insert your Exchange API key (change them by fake api keys):**
**Insert your Exchange API key (change them by fake API keys):**
```json
{
@ -547,7 +657,7 @@ API Keys are usually only required for live trading (trading for real money, bot
You should also make sure to read the [Exchanges](exchanges.md) section of the documentation to be aware of potential configuration details specific to your exchange.
!!! Hint "Keep your secrets secret"
To keep your secrets secret, we recommend to use a 2nd configuration for your API keys.
To keep your secrets secret, we recommend using a 2nd configuration for your API keys.
Simply use the above snippet in a new configuration file (e.g. `config-private.json`) and keep your settings in this file.
You can then start the bot with `freqtrade trade --config user_data/config.json --config user_data/config-private.json <...>` to have your keys loaded.
@ -555,17 +665,8 @@ You should also make sure to read the [Exchanges](exchanges.md) section of the d
### Using proxy with Freqtrade
To use a proxy with freqtrade, add the kwarg `"aiohttp_trust_env"=true` to the `"ccxt_async_kwargs"` dict in the exchange section of the configuration.
An example for this can be found in `config_full.json.example`
``` json
"ccxt_async_config": {
"aiohttp_trust_env": true
}
```
Then, export your proxy settings using the variables `"HTTP_PROXY"` and `"HTTPS_PROXY"` set to the appropriate values
To use a proxy with freqtrade, export your proxy settings using the variables `"HTTP_PROXY"` and `"HTTPS_PROXY"` set to the appropriate values.
This will have the proxy settings applied to everything (telegram, coingecko, ...) **except** for exchange requests.
``` bash
export HTTP_PROXY="http://addr:port"
@ -573,6 +674,24 @@ export HTTPS_PROXY="http://addr:port"
freqtrade
```
#### Proxy exchange requests
To use a proxy for exchange connections - you will have to define the proxies as part of the ccxt configuration.
``` json
{
"exchange": {
"ccxt_config": {
"aiohttp_proxy": "http://addr:port",
"proxies": {
"http": "http://addr:port",
"https": "http://addr:port"
},
}
}
}
```
## Next step
Now you have configured your config.json, the next step is to [start your bot](bot-usage.md).

View File

@ -5,7 +5,7 @@ You can analyze the results of backtests and trading history easily using Jupyte
## Quick start with docker
Freqtrade provides a docker-compose file which starts up a jupyter lab server.
You can run this server using the following command: `docker-compose -f docker/docker-compose-jupyter.yml up`
You can run this server using the following command: `docker compose -f docker/docker-compose-jupyter.yml up`
This will create a dockercontainer running jupyter lab, which will be accessible using `https://127.0.0.1:8888/lab`.
Please use the link that's printed in the console after startup for simplified login.
@ -50,19 +50,22 @@ Repetitive tasks | Shell scripts
Data analysis & visualization | Notebook
1. Use the CLI to
* download historical data
* run a backtest
* run with real-time data
* export results
1. Collect these actions in shell scripts
* save complicated commands with arguments
* execute multi-step operations
* automate testing strategies and preparing data for analysis
1. Use a notebook to
* visualize data
* munge and plot to generate insights
* mangle and plot to generate insights
## Example utility snippets
@ -80,7 +83,7 @@ from pathlib import Path
project_root = "somedir/freqtrade"
i=0
try:
os.chdirdir(project_root)
os.chdir(project_root)
assert Path('LICENSE').is_file()
except:
while i<4 and (not Path('LICENSE').is_file()):
@ -119,5 +122,6 @@ Best avoid relative paths, since this starts at the storage location of the jupy
* [Strategy debugging](strategy_analysis_example.md) - also available as Jupyter notebook (`user_data/notebooks/strategy_analysis_example.ipynb`)
* [Plotting](plotting.md)
* [Tag Analysis](advanced-backtesting.md)
Feel free to submit an issue or Pull Request enhancing this document if you would like to share ideas on how to best analyze the data.

View File

@ -11,7 +11,7 @@ Otherwise `--exchange` becomes mandatory.
You can use a relative timerange (`--days 20`) or an absolute starting point (`--timerange 20200101-`). For incremental downloads, the relative approach should be used.
!!! Tip "Tip: Updating existing data"
If you already have backtesting data available in your data-directory and would like to refresh this data up to today, do not use `--days` or `--timerange` parameters. Freqtrade will keep the available data and only download the missing data.
If you already have backtesting data available in your data-directory and would like to refresh this data up to today, freqtrade will automatically calculate the data missing for the existing pairs and the download will occur from the latest available point until "now", neither --days or --timerange parameters are required. Freqtrade will keep the available data and only download the missing data.
If you are updating existing data after inserting new pairs that you have no data for, use `--new-pairs-days xx` parameter. Specified number of days will be downloaded for new pairs while old pairs will be updated with missing data only.
If you use `--days xx` parameter alone - data for specified number of days will be downloaded for _all_ pairs. Be careful, if specified number of days is smaller than gap between now and last downloaded candle - freqtrade will delete all existing data to avoid gaps in candle data.
@ -22,22 +22,27 @@ usage: freqtrade download-data [-h] [-v] [--logfile FILE] [-V] [-c PATH]
[-d PATH] [--userdir PATH]
[-p PAIRS [PAIRS ...]] [--pairs-file FILE]
[--days INT] [--new-pairs-days INT]
[--include-inactive-pairs]
[--timerange TIMERANGE] [--dl-trades]
[--exchange EXCHANGE]
[-t {1m,3m,5m,15m,30m,1h,2h,4h,6h,8h,12h,1d,3d,1w,2w,1M,1y} [{1m,3m,5m,15m,30m,1h,2h,4h,6h,8h,12h,1d,3d,1w,2w,1M,1y} ...]]
[--erase]
[--data-format-ohlcv {json,jsongz,hdf5}]
[-t TIMEFRAMES [TIMEFRAMES ...]] [--erase]
[--data-format-ohlcv {json,jsongz,hdf5,feather,parquet}]
[--data-format-trades {json,jsongz,hdf5}]
[--trading-mode {spot,margin,futures}]
[--prepend]
optional arguments:
-h, --help show this help message and exit
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
--pairs-file FILE File containing a list of pairs to download.
--pairs-file FILE File containing a list of pairs. Takes precedence over
--pairs or pairs configured in the configuration.
--days INT Download data for given number of days.
--new-pairs-days INT Download data of new pairs for given number of days.
Default: `None`.
--include-inactive-pairs
Also download data from inactive pairs.
--timerange TIMERANGE
Specify what timerange of data to use.
--dl-trades Download trades instead of OHLCV data. The bot will
@ -45,17 +50,20 @@ optional arguments:
as --timeframes/-t.
--exchange EXCHANGE Exchange name (default: `bittrex`). Only valid if no
config is provided.
-t {1m,3m,5m,15m,30m,1h,2h,4h,6h,8h,12h,1d,3d,1w,2w,1M,1y} [{1m,3m,5m,15m,30m,1h,2h,4h,6h,8h,12h,1d,3d,1w,2w,1M,1y} ...], --timeframes {1m,3m,5m,15m,30m,1h,2h,4h,6h,8h,12h,1d,3d,1w,2w,1M,1y} [{1m,3m,5m,15m,30m,1h,2h,4h,6h,8h,12h,1d,3d,1w,2w,1M,1y} ...]
-t TIMEFRAMES [TIMEFRAMES ...], --timeframes TIMEFRAMES [TIMEFRAMES ...]
Specify which tickers to download. Space-separated
list. Default: `1m 5m`.
--erase Clean all existing data for the selected
exchange/pairs/timeframes.
--data-format-ohlcv {json,jsongz,hdf5}
--data-format-ohlcv {json,jsongz,hdf5,feather,parquet}
Storage format for downloaded candle (OHLCV) data.
(default: `None`).
(default: `json`).
--data-format-trades {json,jsongz,hdf5}
Storage format for downloaded trades data. (default:
`None`).
`jsongz`).
--trading-mode {spot,margin,futures}, --tradingmode {spot,margin,futures}
Select Trading mode
--prepend Allow data prepending. (Data-appending is disabled)
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
@ -68,7 +76,7 @@ Common arguments:
`userdir/config.json` or `config.json` whichever
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH
-d PATH, --datadir PATH, --data-dir PATH
Path to directory with historical backtesting data.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
@ -80,18 +88,107 @@ Common arguments:
For that reason, `download-data` does not care about the "startup-period" defined in a strategy. It's up to the user to download additional days if the backtest should start at a specific point in time (while respecting startup period).
### Pairs file
In alternative to the whitelist from `config.json`, a `pairs.json` file can be used.
If you are using Binance for example:
- create a directory `user_data/data/binance` and copy or create the `pairs.json` file in that directory.
- update the `pairs.json` file to contain the currency pairs you are interested in.
```bash
mkdir -p user_data/data/binance
touch user_data/data/binance/pairs.json
```
The format of the `pairs.json` file is a simple json list.
Mixing different stake-currencies is allowed for this file, since it's only used for downloading.
``` json
[
"ETH/BTC",
"ETH/USDT",
"BTC/USDT",
"XRP/ETH"
]
```
!!! Tip "Downloading all data for one quote currency"
Often, you'll want to download data for all pairs of a specific quote-currency. In such cases, you can use the following shorthand:
`freqtrade download-data --exchange binance --pairs .*/USDT <...>`. The provided "pairs" string will be expanded to contain all active pairs on the exchange.
To also download data for inactive (delisted) pairs, add `--include-inactive-pairs` to the command.
??? Note "Permission denied errors"
If your configuration directory `user_data` was made by docker, you may get the following error:
```
cp: cannot create regular file 'user_data/data/binance/pairs.json': Permission denied
```
You can fix the permissions of your user-data directory as follows:
```
sudo chown -R $UID:$GID user_data
```
### Start download
Then run:
```bash
freqtrade download-data --exchange binance
```
This will download historical candle (OHLCV) data for all the currency pairs you defined in `pairs.json`.
Alternatively, specify the pairs directly
```bash
freqtrade download-data --exchange binance --pairs ETH/USDT XRP/USDT BTC/USDT
```
or as regex (to download all active USDT pairs)
```bash
freqtrade download-data --exchange binance --pairs .*/USDT
```
### Other Notes
- To use a different directory than the exchange specific default, use `--datadir user_data/data/some_directory`.
- To change the exchange used to download the historical data from, please use a different configuration file (you'll probably need to adjust rate limits etc.)
- To use `pairs.json` from some other directory, use `--pairs-file some_other_dir/pairs.json`.
- To download historical candle (OHLCV) data for only 10 days, use `--days 10` (defaults to 30 days).
- To download historical candle (OHLCV) data from a fixed starting point, use `--timerange 20200101-` - which will download all data from January 1st, 2020.
- Use `--timeframes` to specify what timeframe download the historical candle (OHLCV) data for. Default is `--timeframes 1m 5m` which will download 1-minute and 5-minute data.
- To use exchange, timeframe and list of pairs as defined in your configuration file, use the `-c/--config` option. With this, the script uses the whitelist defined in the config as the list of currency pairs to download data for and does not require the pairs.json file. You can combine `-c/--config` with most other options.
#### Download additional data before the current timerange
Assuming you downloaded all data from 2022 (`--timerange 20220101-`) - but you'd now like to also backtest with earlier data.
You can do so by using the `--prepend` flag, combined with `--timerange` - specifying an end-date.
``` bash
freqtrade download-data --exchange binance --pairs ETH/USDT XRP/USDT BTC/USDT --prepend --timerange 20210101-20220101
```
!!! Note
Freqtrade will ignore the end-date in this mode if data is available, updating the end-date to the existing data start point.
### Data format
Freqtrade currently supports 3 data-formats for both OHLCV and trades data:
Freqtrade currently supports the following data-formats:
* `json` (plain "text" json files)
* `jsongz` (a gzip-zipped version of json files)
* `hdf5` (a high performance datastore)
* `json` - plain "text" json files
* `jsongz` - a gzip-zipped version of json files
* `hdf5` - a high performance datastore
* `feather` - a dataformat based on Apache Arrow (OHLCV only)
* `parquet` - columnar datastore (OHLCV only)
By default, OHLCV data is stored as `json` data, while trades data is stored as `jsongz` data.
This can be changed via the `--data-format-ohlcv` and `--data-format-trades` command line arguments respectively.
To persist this change, you can should also add the following snippet to your configuration, so you don't have to insert the above arguments each time:
To persist this change, you should also add the following snippet to your configuration, so you don't have to insert the above arguments each time:
``` jsonc
// ...
@ -105,30 +202,75 @@ If the default data-format has been changed during download, then the keys `data
!!! Note
You can convert between data-formats using the [convert-data](#sub-command-convert-data) and [convert-trade-data](#sub-command-convert-trade-data) methods.
#### Dataformat comparison
The following comparisons have been made with the following data, and by using the linux `time` command.
```
Found 6 pair / timeframe combinations.
+----------+-------------+--------+---------------------+---------------------+
| Pair | Timeframe | Type | From | To |
|----------+-------------+--------+---------------------+---------------------|
| BTC/USDT | 5m | spot | 2017-08-17 04:00:00 | 2022-09-13 19:25:00 |
| ETH/USDT | 1m | spot | 2017-08-17 04:00:00 | 2022-09-13 19:26:00 |
| BTC/USDT | 1m | spot | 2017-08-17 04:00:00 | 2022-09-13 19:30:00 |
| XRP/USDT | 5m | spot | 2018-05-04 08:10:00 | 2022-09-13 19:15:00 |
| XRP/USDT | 1m | spot | 2018-05-04 08:11:00 | 2022-09-13 19:22:00 |
| ETH/USDT | 5m | spot | 2017-08-17 04:00:00 | 2022-09-13 19:20:00 |
+----------+-------------+--------+---------------------+---------------------+
```
Timings have been taken in a not very scientific way with the following command, which forces reading the data into memory.
``` bash
time freqtrade list-data --show-timerange --data-format-ohlcv <dataformat>
```
| Format | Size | timing |
|------------|-------------|-------------|
| `json` | 149Mb | 25.6s |
| `jsongz` | 39Mb | 27s |
| `hdf5` | 145Mb | 3.9s |
| `feather` | 72Mb | 3.5s |
| `parquet` | 83Mb | 3.8s |
Size has been taken from the BTC/USDT 1m spot combination for the timerange specified above.
To have a best performance/size mix, we recommend the use of either feather or parquet.
#### Sub-command convert data
```
usage: freqtrade convert-data [-h] [-v] [--logfile FILE] [-V] [-c PATH]
[-d PATH] [--userdir PATH]
[-p PAIRS [PAIRS ...]] --format-from
{json,jsongz,hdf5} --format-to
{json,jsongz,hdf5} [--erase]
[-t {1m,3m,5m,15m,30m,1h,2h,4h,6h,8h,12h,1d,3d,1w,2w,1M,1y} [{1m,3m,5m,15m,30m,1h,2h,4h,6h,8h,12h,1d,3d,1w,2w,1M,1y} ...]]
{json,jsongz,hdf5,feather,parquet} --format-to
{json,jsongz,hdf5,feather,parquet} [--erase]
[--exchange EXCHANGE]
[-t TIMEFRAMES [TIMEFRAMES ...]]
[--trading-mode {spot,margin,futures}]
[--candle-types {spot,futures,mark,index,premiumIndex,funding_rate} [{spot,futures,mark,index,premiumIndex,funding_rate} ...]]
optional arguments:
-h, --help show this help message and exit
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Show profits for only these pairs. Pairs are space-
Limit command to these pairs. Pairs are space-
separated.
--format-from {json,jsongz,hdf5}
--format-from {json,jsongz,hdf5,feather,parquet}
Source format for data conversion.
--format-to {json,jsongz,hdf5}
--format-to {json,jsongz,hdf5,feather,parquet}
Destination format for data conversion.
--erase Clean all existing data for the selected
exchange/pairs/timeframes.
-t {1m,3m,5m,15m,30m,1h,2h,4h,6h,8h,12h,1d,3d,1w,2w,1M,1y} [{1m,3m,5m,15m,30m,1h,2h,4h,6h,8h,12h,1d,3d,1w,2w,1M,1y} ...], --timeframes {1m,3m,5m,15m,30m,1h,2h,4h,6h,8h,12h,1d,3d,1w,2w,1M,1y} [{1m,3m,5m,15m,30m,1h,2h,4h,6h,8h,12h,1d,3d,1w,2w,1M,1y} ...]
--exchange EXCHANGE Exchange name (default: `bittrex`). Only valid if no
config is provided.
-t TIMEFRAMES [TIMEFRAMES ...], --timeframes TIMEFRAMES [TIMEFRAMES ...]
Specify which tickers to download. Space-separated
list. Default: `1m 5m`.
--trading-mode {spot,margin,futures}, --tradingmode {spot,margin,futures}
Select Trading mode
--candle-types {spot,futures,mark,index,premiumIndex,funding_rate} [{spot,futures,mark,index,premiumIndex,funding_rate} ...]
Select candle type to use
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
@ -141,10 +283,11 @@ Common arguments:
`userdir/config.json` or `config.json` whichever
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH
-d PATH, --datadir PATH, --data-dir PATH
Path to directory with historical backtesting data.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```
##### Example converting data
@ -162,20 +305,24 @@ freqtrade convert-data --format-from json --format-to jsongz --datadir ~/.freqtr
usage: freqtrade convert-trade-data [-h] [-v] [--logfile FILE] [-V] [-c PATH]
[-d PATH] [--userdir PATH]
[-p PAIRS [PAIRS ...]] --format-from
{json,jsongz,hdf5} --format-to
{json,jsongz,hdf5} [--erase]
{json,jsongz,hdf5,feather,parquet}
--format-to
{json,jsongz,hdf5,feather,parquet}
[--erase] [--exchange EXCHANGE]
optional arguments:
-h, --help show this help message and exit
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Show profits for only these pairs. Pairs are space-
Limit command to these pairs. Pairs are space-
separated.
--format-from {json,jsongz,hdf5}
--format-from {json,jsongz,hdf5,feather,parquet}
Source format for data conversion.
--format-to {json,jsongz,hdf5}
--format-to {json,jsongz,hdf5,feather,parquet}
Destination format for data conversion.
--erase Clean all existing data for the selected
exchange/pairs/timeframes.
--exchange EXCHANGE Exchange name (default: `bittrex`). Only valid if no
config is provided.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
@ -188,7 +335,7 @@ Common arguments:
`userdir/config.json` or `config.json` whichever
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH
-d PATH, --datadir PATH, --data-dir PATH
Path to directory with historical backtesting data.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
@ -204,26 +351,36 @@ It'll also remove original jsongz data files (`--erase` parameter).
freqtrade convert-trade-data --format-from jsongz --format-to json --datadir ~/.freqtrade/data/kraken --erase
```
### Sub-command list-data
### Sub-command trades to ohlcv
You can get a list of downloaded data using the `list-data` sub-command.
When you need to use `--dl-trades` (kraken only) to download data, conversion of trades data to ohlcv data is the last step.
This command will allow you to repeat this last step for additional timeframes without re-downloading the data.
```
usage: freqtrade list-data [-h] [-v] [--logfile FILE] [-V] [-c PATH] [-d PATH]
[--userdir PATH] [--exchange EXCHANGE]
[--data-format-ohlcv {json,jsongz,hdf5}]
usage: freqtrade trades-to-ohlcv [-h] [-v] [--logfile FILE] [-V] [-c PATH]
[-d PATH] [--userdir PATH]
[-p PAIRS [PAIRS ...]]
[-t TIMEFRAMES [TIMEFRAMES ...]]
[--exchange EXCHANGE]
[--data-format-ohlcv {json,jsongz,hdf5,feather,parquet}]
[--data-format-trades {json,jsongz,hdf5}]
optional arguments:
-h, --help show this help message and exit
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
-t TIMEFRAMES [TIMEFRAMES ...], --timeframes TIMEFRAMES [TIMEFRAMES ...]
Specify which tickers to download. Space-separated
list. Default: `1m 5m`.
--exchange EXCHANGE Exchange name (default: `bittrex`). Only valid if no
config is provided.
--data-format-ohlcv {json,jsongz,hdf5}
--data-format-ohlcv {json,jsongz,hdf5,feather,parquet}
Storage format for downloaded candle (OHLCV) data.
(default: `json`).
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Show profits for only these pairs. Pairs are space-
separated.
--data-format-trades {json,jsongz,hdf5}
Storage format for downloaded trades data. (default:
`jsongz`).
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
@ -236,7 +393,58 @@ Common arguments:
`userdir/config.json` or `config.json` whichever
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH
-d PATH, --datadir PATH, --data-dir PATH
Path to directory with historical backtesting data.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```
#### Example trade-to-ohlcv conversion
``` bash
freqtrade trades-to-ohlcv --exchange kraken -t 5m 1h 1d --pairs BTC/EUR ETH/EUR
```
### Sub-command list-data
You can get a list of downloaded data using the `list-data` sub-command.
```
usage: freqtrade list-data [-h] [-v] [--logfile FILE] [-V] [-c PATH] [-d PATH]
[--userdir PATH] [--exchange EXCHANGE]
[--data-format-ohlcv {json,jsongz,hdf5,feather,parquet}]
[-p PAIRS [PAIRS ...]]
[--trading-mode {spot,margin,futures}]
[--show-timerange]
optional arguments:
-h, --help show this help message and exit
--exchange EXCHANGE Exchange name (default: `bittrex`). Only valid if no
config is provided.
--data-format-ohlcv {json,jsongz,hdf5,feather,parquet}
Storage format for downloaded candle (OHLCV) data.
(default: `json`).
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
--trading-mode {spot,margin,futures}, --tradingmode {spot,margin,futures}
Select Trading mode
--show-timerange Show timerange available for available data. (May take
a while to calculate).
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--logfile FILE Log to the file specified. Special values are:
'syslog', 'journald'. See the documentation for more
details.
-V, --version show program's version number and exit
-c PATH, --config PATH
Specify configuration file (default:
`userdir/config.json` or `config.json` whichever
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
Path to directory with historical backtesting data.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
@ -257,64 +465,6 @@ ETH/BTC 5m, 15m, 30m, 1h, 2h, 4h, 6h, 12h, 1d
ETH/USDT 5m, 15m, 30m, 1h, 2h, 4h
```
### Pairs file
In alternative to the whitelist from `config.json`, a `pairs.json` file can be used.
If you are using Binance for example:
- create a directory `user_data/data/binance` and copy or create the `pairs.json` file in that directory.
- update the `pairs.json` file to contain the currency pairs you are interested in.
```bash
mkdir -p user_data/data/binance
cp tests/testdata/pairs.json user_data/data/binance
```
If you your configuration directory `user_data` was made by docker, you may get the following error:
```
cp: cannot create regular file 'user_data/data/binance/pairs.json': Permission denied
```
You can fix the permissions of your user-data directory as follows:
```
sudo chown -R $UID:$GID user_data
```
The format of the `pairs.json` file is a simple json list.
Mixing different stake-currencies is allowed for this file, since it's only used for downloading.
``` json
[
"ETH/BTC",
"ETH/USDT",
"BTC/USDT",
"XRP/ETH"
]
```
### Start download
Then run:
```bash
freqtrade download-data --exchange binance
```
This will download historical candle (OHLCV) data for all the currency pairs you defined in `pairs.json`.
### Other Notes
- To use a different directory than the exchange specific default, use `--datadir user_data/data/some_directory`.
- To change the exchange used to download the historical data from, please use a different configuration file (you'll probably need to adjust rate limits etc.)
- To use `pairs.json` from some other directory, use `--pairs-file some_other_dir/pairs.json`.
- To download historical candle (OHLCV) data for only 10 days, use `--days 10` (defaults to 30 days).
- To download historical candle (OHLCV) data from a fixed starting point, use `--timerange 20200101-` - which will download all data from January 1st, 2020. Eventually set end dates are ignored.
- Use `--timeframes` to specify what timeframe download the historical candle (OHLCV) data for. Default is `--timeframes 1m 5m` which will download 1-minute and 5-minute data.
- To use exchange, timeframe and list of pairs as defined in your configuration file, use the `-c/--config` option. With this, the script uses the whitelist defined in the config as the list of currency pairs to download data for and does not require the pairs.json file. You can combine `-c/--config` with most other options.
### Trades (tick) data
By default, `download-data` sub-command downloads Candles (OHLCV) data. Some exchanges also provide historic trade-data via their API.

View File

@ -15,8 +15,8 @@ This command line option was deprecated in 2019.7-dev (develop branch) and remov
### The **--dynamic-whitelist** command line option
This command line option was deprecated in 2018 and removed freqtrade 2019.6-dev (develop branch)
and in freqtrade 2019.7.
This command line option was deprecated in 2018 and removed freqtrade 2019.6-dev (develop branch) and in freqtrade 2019.7.
Please refer to [pairlists](plugins.md#pairlists-and-pairlist-handlers) instead.
### the `--live` command line option
@ -24,6 +24,10 @@ and in freqtrade 2019.7.
Did only download the latest 500 candles, so was ineffective in getting good backtest data.
Removed in 2019-7-dev (develop branch) and in freqtrade 2019.8.
### `ticker_interval` (now `timeframe`)
Support for `ticker_interval` terminology was deprecated in 2020.6 in favor of `timeframe` - and compatibility code was removed in 2022.3.
### Allow running multiple pairlists in sequence
The former `"pairlist"` section in the configuration has been removed, and is replaced by `"pairlists"` - being a list to specify a sequence of pairlists.
@ -33,3 +37,45 @@ The old section of configuration parameters (`"pairlist"`) has been deprecated i
### deprecation of bidVolume and askVolume from volume-pairlist
Since only quoteVolume can be compared between assets, the other options (bidVolume, askVolume) have been deprecated in 2020.4, and have been removed in 2020.9.
### Using order book steps for exit price
Using `order_book_min` and `order_book_max` used to allow stepping the orderbook and trying to find the next ROI slot - trying to place sell-orders early.
As this does however increase risk and provides no benefit, it's been removed for maintainability purposes in 2021.7.
### Legacy Hyperopt mode
Using separate hyperopt files was deprecated in 2021.4 and was removed in 2021.9.
Please switch to the new [Parametrized Strategies](hyperopt.md) to benefit from the new hyperopt interface.
## Strategy changes between V2 and V3
Isolated Futures / short trading was introduced in 2022.4. This required major changes to configuration settings, strategy interfaces, ...
We have put a great effort into keeping compatibility with existing strategies, so if you just want to continue using freqtrade in spot markets, there are no changes necessary.
While we may drop support for the current interface sometime in the future, we will announce this separately and have an appropriate transition period.
Please follow the [Strategy migration](strategy_migration.md) guide to migrate your strategy to the new format to start using the new functionalities.
### webhooks - changes with 2022.4
#### `buy_tag` has been renamed to `enter_tag`
This should apply only to your strategy and potentially to webhooks.
We will keep a compatibility layer for 1-2 versions (so both `buy_tag` and `enter_tag` will still work), but support for this in webhooks will disappear after that.
#### Naming changes
Webhook terminology changed from "sell" to "exit", and from "buy" to "entry", removing "webhook" in the process.
* `webhookbuy`, `webhookentry` -> `entry`
* `webhookbuyfill`, `webhookentryfill` -> `entry_fill`
* `webhookbuycancel`, `webhookentrycancel` -> `entry_cancel`
* `webhooksell`, `webhookexit` -> `exit`
* `webhooksellfill`, `webhookexitfill` -> `exit_fill`
* `webhooksellcancel`, `webhookexitcancel` -> `exit_cancel`
## Removal of `populate_any_indicators`
version 2023.3 saw the removal of `populate_any_indicators` in favor of split methods for feature engineering and targets. Please read the [migration document](strategy_migration.md#freqai-strategy) for full details.

View File

@ -2,13 +2,13 @@
This page is intended for developers of Freqtrade, people who want to contribute to the Freqtrade codebase or documentation, or people who want to understand the source code of the application they're running.
All contributions, bug reports, bug fixes, documentation improvements, enhancements and ideas are welcome. We [track issues](https://github.com/freqtrade/freqtrade/issues) on [GitHub](https://github.com) and also have a dev channel on [discord](https://discord.gg/p7nuUNVfP7) or [slack](https://join.slack.com/t/highfrequencybot/shared_invite/zt-mm786y93-Fxo37glxMY9g8OQC5AoOIw) where you can ask questions.
All contributions, bug reports, bug fixes, documentation improvements, enhancements and ideas are welcome. We [track issues](https://github.com/freqtrade/freqtrade/issues) on [GitHub](https://github.com) and also have a dev channel on [discord](https://discord.gg/p7nuUNVfP7) where you can ask questions.
## Documentation
Documentation is available at [https://freqtrade.io](https://www.freqtrade.io/) and needs to be provided with every new feature PR.
Special fields for the documentation (like Note boxes, ...) can be found [here](https://squidfunk.github.io/mkdocs-material/extensions/admonition/).
Special fields for the documentation (like Note boxes, ...) can be found [here](https://squidfunk.github.io/mkdocs-material/reference/admonitions/).
To test the documentation locally use the following commands.
@ -24,7 +24,12 @@ This will spin up a local server (usually on port 8000) so you can see if everyt
To configure a development environment, you can either use the provided [DevContainer](#devcontainer-setup), or use the `setup.sh` script and answer "y" when asked "Do you want to install dependencies for dev [y/N]? ".
Alternatively (e.g. if your system is not supported by the setup.sh script), follow the manual installation process and run `pip3 install -e .[all]`.
This will install all required tools for development, including `pytest`, `flake8`, `mypy`, and `coveralls`.
This will install all required tools for development, including `pytest`, `ruff`, `mypy`, and `coveralls`.
Then install the git hook scripts by running `pre-commit install`, so your changes will be verified locally before committing.
This avoids a lot of waiting for CI already, as some basic formatting checks are done locally on your machine.
Before opening a pull request, please familiarize yourself with our [Contributing Guidelines](https://github.com/freqtrade/freqtrade/blob/develop/CONTRIBUTING.md).
### Devcontainer setup
@ -44,6 +49,13 @@ For more information about the [Remote container extension](https://code.visuals
New code should be covered by basic unittests. Depending on the complexity of the feature, Reviewers may request more in-depth unittests.
If necessary, the Freqtrade team can assist and give guidance with writing good tests (however please don't expect anyone to write the tests for you).
#### How to run tests
Use `pytest` in root folder to run all available testcases and confirm your local environment is setup correctly
!!! Note "feature branches"
Tests are expected to pass on the `develop` and `stable` branches. Other branches may be work in progress with tests not working yet.
#### Checking log content in tests
Freqtrade uses 2 main methods to check log content in tests, `log_has()` and `log_has_re()` (to check using regex, in case of dynamic log-messages).
@ -63,6 +75,36 @@ def test_method_to_test(caplog):
```
### Debug configuration
To debug freqtrade, we recommend VSCode with the following launch configuration (located in `.vscode/launch.json`).
Details will obviously vary between setups - but this should work to get you started.
``` json
{
"name": "freqtrade trade",
"type": "python",
"request": "launch",
"module": "freqtrade",
"console": "integratedTerminal",
"args": [
"trade",
// Optional:
// "--userdir", "user_data",
"--strategy",
"MyAwesomeStrategy",
]
},
```
Command line arguments can be added in the `"args"` array.
This method can also be used to debug a strategy, by setting the breakpoints within the strategy.
A similar setup can also be taken for Pycharm - using `freqtrade` as module name, and setting the command line arguments as "parameters".
!!! Note "Startup directory"
This assumes that you have the repository checked out, and the editor is started at the repository root level (so setup.py is at the top level of your repository).
## ErrorHandling
Freqtrade Exceptions all inherit from `FreqtradeException`.
@ -195,11 +237,12 @@ For that reason, they must implement the following methods:
* `global_stop()`
* `stop_per_pair()`.
`global_stop()` and `stop_per_pair()` must return a ProtectionReturn tuple, which consists of:
`global_stop()` and `stop_per_pair()` must return a ProtectionReturn object, which consists of:
* lock pair - boolean
* lock until - datetime - until when should the pair be locked (will be rounded up to the next new candle)
* reason - string, used for logging and storage in the database
* lock_side - long, short or '*'.
The `until` portion should be calculated using the provided `calculate_lock_end()` method.
@ -218,13 +261,13 @@ Protections can have 2 different ways to stop trading for a limited :
##### Protections - per pair
Protections that implement the per pair approach must set `has_local_stop=True`.
The method `stop_per_pair()` will be called whenever a trade closed (sell order completed).
The method `stop_per_pair()` will be called whenever a trade closed (exit order completed).
##### Protections - global protection
These Protections should do their evaluation across all pairs, and consequently will also lock all pairs from trading (called a global PairLock).
Global protection must set `has_global_stop=True` to be evaluated for global stops.
The method `global_stop()` will be called whenever a trade closed (sell order completed).
The method `global_stop()` will be called whenever a trade closed (exit order completed).
##### Protections - calculating lock end time
@ -240,11 +283,34 @@ The `IProtection` parent class provides a helper method for this in `calculate_l
!!! Note
This section is a Work in Progress and is not a complete guide on how to test a new exchange with Freqtrade.
!!! Note
Make sure to use an up-to-date version of CCXT before running any of the below tests.
You can get the latest version of ccxt by running `pip install -U ccxt` with activated virtual environment.
Native docker is not supported for these tests, however the available dev-container will support all required actions and eventually necessary changes.
Most exchanges supported by CCXT should work out of the box.
To quickly test the public endpoints of an exchange, add a configuration for your exchange to `test_ccxt_compat.py` and run these tests with `pytest --longrun tests/exchange/test_ccxt_compat.py`.
Completing these tests successfully a good basis point (it's a requirement, actually), however these won't guarantee correct exchange functioning, as this only tests public endpoints, but no private endpoint (like generate order or similar).
Also try to use `freqtrade download-data` for an extended timerange (multiple months) and verify that the data downloaded correctly (no holes, the specified timerange was actually downloaded).
These are prerequisites to have an exchange listed as either Supported or Community tested (listed on the homepage).
The below are "extras", which will make an exchange better (feature-complete) - but are not absolutely necessary for either of the 2 categories.
Additional tests / steps to complete:
* Verify data provided by `fetch_ohlcv()` - and eventually adjust `ohlcv_candle_limit` for this exchange
* Check L2 orderbook limit range (API documentation) - and eventually set as necessary
* Check if balance shows correctly (*)
* Create market order (*)
* Create limit order (*)
* Complete trade (enter + exit) (*)
* Compare result calculation between exchange and bot
* Ensure fees are applied correctly (check the database against the exchange)
(*) Requires API keys and Balance on the exchange.
### Stoploss On Exchange
Check if the new exchange supports Stoploss on Exchange orders through their API.
@ -285,6 +351,32 @@ The output will show the last entry from the Exchange as well as the current UTC
If the day shows the same day, then the last candle can be assumed as incomplete and should be dropped (leave the setting `"ohlcv_partial_candle"` from the exchange-class untouched / True). Otherwise, set `"ohlcv_partial_candle"` to `False` to not drop Candles (shown in the example above).
Another way is to run this command multiple times in a row and observe if the volume is changing (while the date remains the same).
### Update binance cached leverage tiers
Updating leveraged tiers should be done regularly - and requires an authenticated account with futures enabled.
``` python
import ccxt
import json
from pathlib import Path
exchange = ccxt.binance({
'apiKey': '<apikey>',
'secret': '<secret>'
'options': {'defaultType': 'swap'}
})
_ = exchange.load_markets()
lev_tiers = exchange.fetch_leverage_tiers()
# Assumes this is running in the root of the repository.
file = Path('freqtrade/exchange/binance_leverage_tiers.json')
json.dump(dict(sorted(lev_tiers.items())), file.open('w'), indent=2)
```
This file should then be contributed upstream, so others can benefit from this, too.
## Updating example notebooks
To keep the jupyter notebooks aligned with the documentation, the following should be ran after updating a example notebook.
@ -299,9 +391,8 @@ jupyter nbconvert --ClearOutputPreprocessor.enabled=True --to markdown freqtrade
This documents some decisions taken for the CI Pipeline.
* CI runs on all OS variants, Linux (ubuntu), macOS and Windows.
* Docker images are build for the branches `stable` and `develop`.
* Docker images are build for the branches `stable` and `develop`, and are built as multiarch builds, supporting multiple platforms via the same tag.
* Docker images containing Plot dependencies are also available as `stable_plot` and `develop_plot`.
* Raspberry PI Docker images are postfixed with `_pi` - so tags will be `:stable_pi` and `develop_pi`.
* Docker images contain a file, `/freqtrade/freqtrade_commit` containing the commit this image is based of.
* Full docker image rebuilds are run once a week via schedule.
* Deployments run on ubuntu.
@ -325,8 +416,9 @@ Determine if crucial bugfixes have been made between this commit and the current
* Merge the release branch (stable) into this branch.
* Edit `freqtrade/__init__.py` and add the version matching the current date (for example `2019.7` for July 2019). Minor versions can be `2019.7.1` should we need to do a second release that month. Version numbers must follow allowed versions from PEP0440 to avoid failures pushing to pypi.
* Commit this part
* push that branch to the remote and create a PR against the stable branch
* Commit this part.
* push that branch to the remote and create a PR against the stable branch.
* Update develop version to next version following the pattern `2019.8-dev`.
### Create changelog from git commits
@ -349,6 +441,11 @@ To keep the release-log short, best wrap the full git changelog into a collapsib
</details>
```
### FreqUI release
If FreqUI has been updated substantially, make sure to create a release before merging the release branch.
Make sure that freqUI CI on the release is finished and passed before merging the release.
### Create github release / tag
Once the PR against stable is merged (best right after merging):

View File

@ -4,27 +4,28 @@ This page explains how to run the bot with Docker. It is not meant to work out o
## Install Docker
Start by downloading and installing Docker CE for your platform:
Start by downloading and installing Docker / Docker Desktop for your platform:
* [Mac](https://docs.docker.com/docker-for-mac/install/)
* [Windows](https://docs.docker.com/docker-for-windows/install/)
* [Linux](https://docs.docker.com/install/)
To simplify running freqtrade, [`docker-compose`](https://docs.docker.com/compose/install/) should be installed and available to follow the below [docker quick start guide](#docker-quick-start).
!!! Info "Docker compose install"
Freqtrade documentation assumes the use of Docker desktop (or the docker compose plugin).
While the docker-compose standalone installation still works, it will require changing all `docker compose` commands from `docker compose` to `docker-compose` to work (e.g. `docker compose up -d` will become `docker-compose up -d`).
## Freqtrade with docker-compose
## Freqtrade with docker
Freqtrade provides an official Docker image on [Dockerhub](https://hub.docker.com/r/freqtradeorg/freqtrade/), as well as a [docker-compose file](https://github.com/freqtrade/freqtrade/blob/stable/docker-compose.yml) ready for usage.
Freqtrade provides an official Docker image on [Dockerhub](https://hub.docker.com/r/freqtradeorg/freqtrade/), as well as a [docker compose file](https://github.com/freqtrade/freqtrade/blob/stable/docker-compose.yml) ready for usage.
!!! Note
- The following section assumes that `docker` and `docker-compose` are installed and available to the logged in user.
- The following section assumes that `docker` is installed and available to the logged in user.
- All below commands use relative directories and will have to be executed from the directory containing the `docker-compose.yml` file.
### Docker quick start
Create a new directory and place the [docker-compose file](https://raw.githubusercontent.com/freqtrade/freqtrade/stable/docker-compose.yml) in this directory.
=== "PC/MAC/Linux"
``` bash
mkdir ft_userdata
cd ft_userdata/
@ -32,73 +33,13 @@ Create a new directory and place the [docker-compose file](https://raw.githubuse
curl https://raw.githubusercontent.com/freqtrade/freqtrade/stable/docker-compose.yml -o docker-compose.yml
# Pull the freqtrade image
docker-compose pull
docker compose pull
# Create user directory structure
docker-compose run --rm freqtrade create-userdir --userdir user_data
docker compose run --rm freqtrade create-userdir --userdir user_data
# Create configuration - Requires answering interactive questions
docker-compose run --rm freqtrade new-config --config user_data/config.json
```
=== "RaspberryPi"
``` bash
mkdir ft_userdata
cd ft_userdata/
# Download the docker-compose file from the repository
curl https://raw.githubusercontent.com/freqtrade/freqtrade/stable/docker-compose.yml -o docker-compose.yml
# Edit the compose file to use an image named `*_pi` (stable_pi or develop_pi)
# Pull the freqtrade image
docker-compose pull
# Create user directory structure
docker-compose run --rm freqtrade create-userdir --userdir user_data
# Create configuration - Requires answering interactive questions
docker-compose run --rm freqtrade new-config --config user_data/config.json
```
!!! Note "Change your docker Image"
You have to change the docker image in the docker-compose file for your Raspberry build to work properly.
``` yml
image: freqtradeorg/freqtrade:stable_pi
# image: freqtradeorg/freqtrade:develop_pi
```
=== "ARM 64 Systenms (Mac M1, Raspberry Pi 4, Jetson Nano)"
In case of a Mac M1, make sure that your docker installation is running in native mode
Arm64 images are not yet provided via Docker Hub and need to be build locally first.
Depending on the device, this may take a few minutes (Apple M1) or multiple hours (Raspberry Pi)
``` bash
# Clone Freqtrade repository
git clone https://github.com/freqtrade/freqtrade.git
cd freqtrade
# Optionally switch to the stable version
git checkout stable
# Modify your docker-compose file to enable building and change the image name
# (see the Note Box below for necessary changes)
# Build image
docker-compose build
# Create user directory structure
docker-compose run --rm freqtrade create-userdir --userdir user_data
# Create configuration - Requires answering interactive questions
docker-compose run --rm freqtrade new-config --config user_data/config.json
```
!!! Note "Change your docker Image"
You have to change the docker image in the docker-compose file for your arm64 build to work properly.
``` yml
image: freqtradeorg/freqtrade:custom_arm64
build:
context: .
dockerfile: "Dockerfile"
docker compose run --rm freqtrade new-config --config user_data/config.json
```
The above snippet creates a new directory called `ft_userdata`, downloads the latest compose file and pulls the freqtrade image.
@ -117,7 +58,7 @@ The last 2 steps in the snippet create the directory with `user_data`, as well a
The `SampleStrategy` is run by default.
!!! Warning "`SampleStrategy` is just a demo!"
!!! Danger "`SampleStrategy` is just a demo!"
The `SampleStrategy` is there for your reference and give you ideas for your own strategy.
Please always backtest your strategy and use dry-run for some time before risking real money!
You will find more information about Strategy development in the [Strategy documentation](strategy-customization.md).
@ -125,35 +66,47 @@ The `SampleStrategy` is run by default.
Once this is done, you're ready to launch the bot in trading mode (Dry-run or Live-trading, depending on your answer to the corresponding question you made above).
``` bash
docker-compose up -d
docker compose up -d
```
!!! Warning "Default configuration"
While the configuration generated will be mostly functional, you will still need to verify that all options correspond to what you want (like Pricing, pairlist, ...) before starting the bot.
#### Accessing the UI
If you've selected to enable FreqUI in the `new-config` step, you will have freqUI available at port `localhost:8080`.
You can now access the UI by typing localhost:8080 in your browser.
??? Note "UI Access on a remote servers"
If you're running on a VPS, you should consider using either a ssh tunnel, or setup a VPN (openVPN, wireguard) to connect to your bot.
This will ensure that freqUI is not directly exposed to the internet, which is not recommended for security reasons (freqUI does not support https out of the box).
Setup of these tools is not part of this tutorial, however many good tutorials can be found on the internet.
Please also read the [API configuration with docker](rest-api.md#configuration-with-docker) section to learn more about this configuration.
#### Monitoring the bot
You can check for running instances with `docker-compose ps`.
You can check for running instances with `docker compose ps`.
This should list the service `freqtrade` as `running`. If that's not the case, best check the logs (see next point).
#### Docker-compose logs
#### Docker compose logs
Logs will be written to: `user_data/logs/freqtrade.log`.
You can also check the latest log with the command `docker-compose logs -f`.
You can also check the latest log with the command `docker compose logs -f`.
#### Database
The database will be located at: `user_data/tradesv3.sqlite`
#### Updating freqtrade with docker-compose
#### Updating freqtrade with docker
Updating freqtrade when using `docker-compose` is as simple as running the following 2 commands:
Updating freqtrade when using `docker` is as simple as running the following 2 commands:
``` bash
# Download the latest image
docker-compose pull
docker compose pull
# Restart the image
docker-compose up -d
docker compose up -d
```
This will first pull the latest image, and will then restart the container with the just pulled version.
@ -165,32 +118,43 @@ This will first pull the latest image, and will then restart the container with
Advanced users may edit the docker-compose file further to include all possible options or arguments.
All freqtrade arguments will be available by running `docker-compose run --rm freqtrade <command> <optional arguments>`.
All freqtrade arguments will be available by running `docker compose run --rm freqtrade <command> <optional arguments>`.
!!! Note "`docker-compose run --rm`"
!!! Warning "`docker compose` for trade commands"
Trade commands (`freqtrade trade <...>`) should not be ran via `docker compose run` - but should use `docker compose up -d` instead.
This makes sure that the container is properly started (including port forwardings) and will make sure that the container will restart after a system reboot.
If you intend to use freqUI, please also ensure to adjust the [configuration accordingly](rest-api.md#configuration-with-docker), otherwise the UI will not be available.
!!! Note "`docker compose run --rm`"
Including `--rm` will remove the container after completion, and is highly recommended for all modes except trading mode (running with `freqtrade trade` command).
#### Example: Download data with docker-compose
??? Note "Using docker without docker"
"`docker compose run --rm`" will require a compose file to be provided.
Some freqtrade commands that don't require authentication such as `list-pairs` can be run with "`docker run --rm`" instead.
For example `docker run --rm freqtradeorg/freqtrade:stable list-pairs --exchange binance --quote BTC --print-json`.
This can be useful for fetching exchange information to add to your `config.json` without affecting your running containers.
#### Example: Download data with docker
Download backtesting data for 5 days for the pair ETH/BTC and 1h timeframe from Binance. The data will be stored in the directory `user_data/data/` on the host.
``` bash
docker-compose run --rm freqtrade download-data --pairs ETH/BTC --exchange binance --days 5 -t 1h
docker compose run --rm freqtrade download-data --pairs ETH/BTC --exchange binance --days 5 -t 1h
```
Head over to the [Data Downloading Documentation](data-download.md) for more details on downloading data.
#### Example: Backtest with docker-compose
#### Example: Backtest with docker
Run backtesting in docker-containers for SampleStrategy and specified timerange of historical data, on 5m timeframe:
``` bash
docker-compose run --rm freqtrade backtesting --config user_data/config.json --strategy SampleStrategy --timerange 20190801-20191001 -i 5m
docker compose run --rm freqtrade backtesting --config user_data/config.json --strategy SampleStrategy --timerange 20190801-20191001 -i 5m
```
Head over to the [Backtesting Documentation](backtesting.md) to learn more.
### Additional dependencies with docker-compose
### Additional dependencies with docker
If your strategy requires dependencies not included in the default image - it will be necessary to build the image on your host.
For this, please create a Dockerfile containing installation steps for the additional dependencies (have a look at [docker/Dockerfile.custom](https://github.com/freqtrade/freqtrade/blob/develop/docker/Dockerfile.custom) for an example).
@ -204,26 +168,26 @@ You'll then also need to modify the `docker-compose.yml` file and uncomment the
dockerfile: "./Dockerfile.<yourextension>"
```
You can then run `docker-compose build` to build the docker image, and run it using the commands described above.
You can then run `docker compose build --pull` to build the docker image, and run it using the commands described above.
## Plotting with docker-compose
### Plotting with docker
Commands `freqtrade plot-profit` and `freqtrade plot-dataframe` ([Documentation](plotting.md)) are available by changing the image to `*_plot` in your docker-compose.yml file.
You can then use these commands as follows:
``` bash
docker-compose run --rm freqtrade plot-dataframe --strategy AwesomeStrategy -p BTC/ETH --timerange=20180801-20180805
docker compose run --rm freqtrade plot-dataframe --strategy AwesomeStrategy -p BTC/ETH --timerange=20180801-20180805
```
The output will be stored in the `user_data/plot` directory, and can be opened with any modern browser.
## Data analysis using docker compose
### Data analysis using docker compose
Freqtrade provides a docker-compose file which starts up a jupyter lab server.
You can run this server using the following command:
``` bash
docker-compose -f docker/docker-compose-jupyter.yml up
docker compose -f docker/docker-compose-jupyter.yml up
```
This will create a docker-container running jupyter lab, which will be accessible using `https://127.0.0.1:8888/lab`.
@ -232,5 +196,24 @@ Please use the link that's printed in the console after startup for simplified l
Since part of this image is built on your machine, it is recommended to rebuild the image from time to time to keep freqtrade (and dependencies) up-to-date.
``` bash
docker-compose -f docker/docker-compose-jupyter.yml build --no-cache
docker compose -f docker/docker-compose-jupyter.yml build --no-cache
```
## Troubleshooting
### Docker on Windows
* Error: `"Timestamp for this request is outside of the recvWindow."`
* The market api requests require a synchronized clock but the time in the docker container shifts a bit over time into the past.
To fix this issue temporarily you need to run `wsl --shutdown` and restart docker again (a popup on windows 10 will ask you to do so).
A permanent solution is either to host the docker container on a linux host or restart the wsl from time to time with the scheduler.
``` bash
taskkill /IM "Docker Desktop.exe" /F
wsl --shutdown
start "" "C:\Program Files\Docker\Docker\Docker Desktop.exe"
```
!!! Warning
Due to the above, we do not recommend the usage of docker on windows for production setups, but only for experimentation, datadownload and backtesting.
Best use a linux-VPS for running freqtrade reliably.

View File

@ -3,7 +3,7 @@
The `Edge Positioning` module uses probability to calculate your win rate and risk reward ratio. It will use these statistics to control your strategy trade entry points, position size and, stoploss.
!!! Warning
WHen using `Edge positioning` with a dynamic whitelist (VolumePairList), make sure to also use `AgeFilter` and set it to at least `calculate_since_number_of_days` to avoid problems with missing data.
When using `Edge positioning` with a dynamic whitelist (VolumePairList), make sure to also use `AgeFilter` and set it to at least `calculate_since_number_of_days` to avoid problems with missing data.
!!! Note
`Edge Positioning` only considers *its own* buy/sell/stoploss signals. It ignores the stoploss, trailing stoploss, and ROI settings in the strategy configuration file.
@ -222,7 +222,7 @@ usage: freqtrade edge [-h] [-v] [--logfile FILE] [-V] [-c PATH] [-d PATH]
optional arguments:
-h, --help show this help message and exit
-i TIMEFRAME, --timeframe TIMEFRAME, --ticker-interval TIMEFRAME
-i TIMEFRAME, --timeframe TIMEFRAME
Specify timeframe (`1m`, `5m`, `30m`, `1h`, `1d`).
--timerange TIMERANGE
Specify what timerange of data to use.

View File

@ -1,16 +1,72 @@
# Exchange-specific Notes
This page combines common gotchas and informations which are exchange-specific and most likely don't apply to other exchanges.
This page combines common gotchas and Information which are exchange-specific and most likely don't apply to other exchanges.
## Exchange configuration
Freqtrade is based on [CCXT library](https://github.com/ccxt/ccxt) that supports over 100 cryptocurrency
exchange markets and trading APIs. The complete up-to-date list can be found in the
[CCXT repo homepage](https://github.com/ccxt/ccxt/tree/master/python).
However, the bot was tested by the development team with only a few exchanges.
A current list of these can be found in the "Home" section of this documentation.
Feel free to test other exchanges and submit your feedback or PR to improve the bot or confirm exchanges that work flawlessly..
Some exchanges require special configuration, which can be found below.
### Sample exchange configuration
A exchange configuration for "binance" would look as follows:
```json
"exchange": {
"name": "binance",
"key": "your_exchange_key",
"secret": "your_exchange_secret",
"ccxt_config": {},
"ccxt_async_config": {},
// ...
```
### Setting rate limits
Usually, rate limits set by CCXT are reliable and work well.
In case of problems related to rate-limits (usually DDOS Exceptions in your logs), it's easy to change rateLimit settings to other values.
```json
"exchange": {
"name": "kraken",
"key": "your_exchange_key",
"secret": "your_exchange_secret",
"ccxt_config": {"enableRateLimit": true},
"ccxt_async_config": {
"enableRateLimit": true,
"rateLimit": 3100
},
```
This configuration enables kraken, as well as rate-limiting to avoid bans from the exchange.
`"rateLimit": 3100` defines a wait-event of 3.1s between each call. This can also be completely disabled by setting `"enableRateLimit"` to false.
!!! Note
Optimal settings for rate-limiting depend on the exchange and the size of the whitelist, so an ideal parameter will vary on many other settings.
We try to provide sensible defaults per exchange where possible, if you encounter bans please make sure that `"enableRateLimit"` is enabled and increase the `"rateLimit"` parameter step by step.
## Binance
!!! Warning "Server location and geo-ip restrictions"
Please be aware that binance restrict api access regarding the server country. The currents and non exhaustive countries blocked are United States, Malaysia (Singapour), Ontario (Canada). Please go to [binance terms > b. Eligibility](https://www.binance.com/en/terms) to find up to date list.
Binance supports [time_in_force](configuration.md#understand-order_time_in_force).
!!! Tip "Stoploss on Exchange"
Binance supports `stoploss_on_exchange` and uses stop-loss-limit orders. It provides great advantages, so we recommend to benefit from it.
Binance supports `stoploss_on_exchange` and uses `stop-loss-limit` orders. It provides great advantages, so we recommend to benefit from it by enabling stoploss on exchange.
On futures, Binance supports both `stop-limit` as well as `stop-market` orders. You can use either `"limit"` or `"market"` in the `order_types.stoploss` configuration setting to decide which type to use.
### Binance Blacklist
### Binance Blacklist recommendation
For Binance, please add `"BNB/<STAKE>"` to your blacklist to avoid issues.
Accounts having BNB accounts use this to pay for fees - if your first trade happens to be on `BNB`, further trades will consume this position and make the initial BNB trade unsellable as the expected amount is not there anymore.
For Binance, it is suggested to add `"BNB/<STAKE>"` to your blacklist to avoid issues, unless you are willing to maintain enough extra `BNB` on the account or unless you're willing to disable using `BNB` for fees.
Binance accounts may use `BNB` for fees, and if a trade happens to be on `BNB`, further trades may consume this position and make the initial BNB trade unsellable as the expected amount is not there anymore.
### Binance sites
@ -19,6 +75,56 @@ Binance has been split into 2, and users must use the correct ccxt exchange ID f
* [binance.com](https://www.binance.com/) - International users. Use exchange id: `binance`.
* [binance.us](https://www.binance.us/) - US based users. Use exchange id: `binanceus`.
### Binance RSA keys
Freqtrade supports binance RSA API keys.
We recommend to use them as environment variable.
``` bash
export FREQTRADE__EXCHANGE__SECRET="$(cat ./rsa_binance.private)"
```
They can however also be configured via configuration file. Since json doesn't support multi-line strings, you'll have to replace all newlines with `\n` to have a valid json file.
``` json
// ...
"key": "<someapikey>",
"secret": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBABACAFQA<...>s8KX8=\n-----END PRIVATE KEY-----"
// ...
```
### Binance Futures
Binance has specific (unfortunately complex) [Futures Trading Quantitative Rules](https://www.binance.com/en/support/faq/4f462ebe6ff445d4a170be7d9e897272) which need to be followed, and which prohibit a too low stake-amount (among others) for too many orders.
Violating these rules will result in a trading restriction.
When trading on Binance Futures market, orderbook must be used because there is no price ticker data for futures.
``` jsonc
"entry_pricing": {
"use_order_book": true,
"order_book_top": 1,
"check_depth_of_market": {
"enabled": false,
"bids_to_ask_delta": 1
}
},
"exit_pricing": {
"use_order_book": true,
"order_book_top": 1
},
```
#### Binance futures settings
Users will also have to have the futures-setting "Position Mode" set to "One-way Mode", and "Asset Mode" set to "Single-Asset Mode".
These settings will be checked on startup, and freqtrade will show an error if this setting is wrong.
![Binance futures settings](assets/binance_futures_settings.png)
Freqtrade will not attempt to change these settings.
## Kraken
!!! Tip "Stoploss on Exchange"
@ -56,6 +162,12 @@ Bittrex does not support market orders. If you have a message at the bot startup
Bittrex also does not support `VolumePairlist` due to limited / split API constellation at the moment.
Please use `StaticPairlist`. Other pairlists (other than `VolumePairlist`) should not be affected.
### Volume pairlist
Bittrex does not support the direct usage of VolumePairList. This can however be worked around by using the advanced mode with `lookback_days: 1` (or more), which will emulate 24h volume.
Read more in the [pairlist documentation](plugins.md#volumepairlist-advanced-mode).
### Restricted markets
Bittrex split its exchange into US and International versions.
@ -77,34 +189,15 @@ You can get a list of restricted markets by using the following snippet:
``` python
import ccxt
ct = ccxt.bittrex()
_ = ct.load_markets()
res = [ f"{x['MarketCurrency']}/{x['BaseCurrency']}" for x in ct.publicGetMarkets()['result'] if x['IsRestricted']]
lm = ct.load_markets()
res = [p for p, x in lm.items() if 'US' in x['info']['prohibitedIn']]
print(res)
```
## FTX
!!! Tip "Stoploss on Exchange"
FTX supports `stoploss_on_exchange` and can use both stop-loss-market and stop-loss-limit orders. It provides great advantages, so we recommend to benefit from it.
You can use either `"limit"` or `"market"` in the `order_types.stoploss` configuration setting to decide which type of stoploss shall be used.
### Using subaccounts
To use subaccounts with FTX, you need to edit the configuration and add the following:
``` json
"exchange": {
"ccxt_config": {
"headers": {
"FTX-SUBACCOUNT": "name"
}
},
}
```
## Kucoin
Kucoin requries a passphrase for each api key, you will therefore need to add this key into the configuration so your exchange section looks as follows:
Kucoin requires a passphrase for each api key, you will therefore need to add this key into the configuration so your exchange section looks as follows:
```json
"exchange": {
@ -112,12 +205,67 @@ Kucoin requries a passphrase for each api key, you will therefore need to add th
"key": "your_exchange_key",
"secret": "your_exchange_secret",
"password": "your_exchange_api_key_password",
// ...
}
```
Kucoin supports [time_in_force](configuration.md#understand-order_time_in_force).
!!! Tip "Stoploss on Exchange"
Kucoin supports `stoploss_on_exchange` and can use both stop-loss-market and stop-loss-limit orders. It provides great advantages, so we recommend to benefit from it.
You can use either `"limit"` or `"market"` in the `order_types.stoploss` configuration setting to decide which type of stoploss shall be used.
### Kucoin Blacklists
For Kucoin, please add `"KCS/<STAKE>"` to your blacklist to avoid issues.
Accounts having KCS accounts use this to pay for fees - if your first trade happens to be on `KCS`, further trades will consume this position and make the initial KCS trade unsellable as the expected amount is not there anymore.
For Kucoin, it is suggested to add `"KCS/<STAKE>"` to your blacklist to avoid issues, unless you are willing to maintain enough extra `KCS` on the account or unless you're willing to disable using `KCS` for fees.
Kucoin accounts may use `KCS` for fees, and if a trade happens to be on `KCS`, further trades may consume this position and make the initial `KCS` trade unsellable as the expected amount is not there anymore.
## Huobi
!!! Tip "Stoploss on Exchange"
Huobi supports `stoploss_on_exchange` and uses `stop-limit` orders. It provides great advantages, so we recommend to benefit from it by enabling stoploss on exchange.
## OKX (former OKEX)
OKX requires a passphrase for each api key, you will therefore need to add this key into the configuration so your exchange section looks as follows:
```json
"exchange": {
"name": "okx",
"key": "your_exchange_key",
"secret": "your_exchange_secret",
"password": "your_exchange_api_key_password",
// ...
}
```
!!! Warning
OKX only provides 100 candles per api call. Therefore, the strategy will only have a pretty low amount of data available in backtesting mode.
!!! Warning "Futures"
OKX Futures has the concept of "position mode" - which can be "Buy/Sell" or long/short (hedge mode).
Freqtrade supports both modes (we recommend to use Buy/Sell mode) - but changing the mode mid-trading is not supported and will lead to exceptions and failures to place trades.
OKX also only provides MARK candles for the past ~3 months. Backtesting futures prior to that date will therefore lead to slight deviations, as funding-fees cannot be calculated correctly without this data.
## Gate.io
!!! Tip "Stoploss on Exchange"
Gate.io supports `stoploss_on_exchange` and uses `stop-loss-limit` orders. It provides great advantages, so we recommend to benefit from it by enabling stoploss on exchange..
Gate.io allows the use of `POINT` to pay for fees. As this is not a tradable currency (no regular market available), automatic fee calculations will fail (and default to a fee of 0).
The configuration parameter `exchange.unknown_fee_rate` can be used to specify the exchange rate between Point and the stake currency. Obviously, changing the stake-currency will also require changes to this value.
## Bybit
Futures trading on bybit is currently supported for USDT markets, and will use isolated futures mode.
Users with unified accounts (there's no way back) can create a Sub-account which will start as "non-unified", and can therefore use isolated futures.
On startup, freqtrade will set the position mode to "One-way Mode" for the whole (sub)account. This avoids making this call over and over again (slowing down bot operations), but means that changes to this setting may result in exceptions and errors.
As bybit doesn't provide funding rate history, the dry-run calculation is used for live trades as well.
!!! Tip "Stoploss on Exchange"
Bybit (futures only) supports `stoploss_on_exchange` and uses `stop-loss-limit` orders. It provides great advantages, so we recommend to benefit from it by enabling stoploss on exchange.
On futures, Bybit supports both `stop-limit` as well as `stop-market` orders. You can use either `"limit"` or `"market"` in the `order_types.stoploss` configuration setting to decide which type to use.
## All exchanges
@ -154,9 +302,11 @@ For example, to test the order type `FOK` with Kraken, and modify candle limit t
"exchange": {
"name": "kraken",
"_ft_has_params": {
"order_time_in_force": ["gtc", "fok"],
"order_time_in_force": ["GTC", "FOK"],
"ohlcv_candle_limit": 200
}
//...
}
```
!!! Warning

View File

@ -2,17 +2,19 @@
## Supported Markets
Freqtrade supports spot trading only.
Freqtrade supports spot trading, as well as (isolated) futures trading for some selected exchanges. Please refer to the [documentation start page](index.md#supported-futures-exchanges-experimental) for an uptodate list of supported exchanges.
### Can I open short positions?
### Can my bot open short positions?
No, Freqtrade does not support trading with margin / leverage, and cannot open short positions.
Freqtrade can open short positions in futures markets.
This requires the strategy to be made for this - and `"trading_mode": "futures"` in the configuration.
Please make sure to read the [relevant documentation page](leverage.md) first.
In some cases, your exchange may provide leveraged spot tokens which can be traded with Freqtrade eg. BTCUP/USD, BTCDOWN/USD, ETHBULL/USD, ETHBEAR/USD, etc...
In spot markets, you can in some cases use leveraged spot tokens, which reflect an inverted pair (eg. BTCUP/USD, BTCDOWN/USD, ETHBULL/USD, ETHBEAR/USD,...) which can be traded with Freqtrade.
### Can I trade options or futures?
### Can my bot trade options or futures?
No, options and futures trading are not supported.
Futures trading is supported for selected exchanges. Please refer to the [documentation start page](index.md#supported-futures-exchanges-experimental) for an uptodate list of supported exchanges.
## Beginner Tips & Tricks
@ -20,6 +22,13 @@ No, options and futures trading are not supported.
## Freqtrade common issues
### Can freqtrade open multiple positions on the same pair in parallel?
No. Freqtrade will only open one position per pair at a time.
You can however use the [`adjust_trade_position()` callback](strategy-callbacks.md#adjust-trade-position) to adjust an open position.
Backtesting provides an option for this in `--eps` - however this is only there to highlight "hidden" signals, and will not work in live.
### The bot does not start
Running the bot with `freqtrade trade --config config.json` shows the output `freqtrade: command not found`.
@ -28,7 +37,7 @@ This could be caused by the following reasons:
* The virtual environment is not active.
* Run `source .env/bin/activate` to activate the virtual environment.
* The installation did not work correctly.
* The installation did not complete successfully.
* Please check the [Installation documentation](installation.md).
### I have waited 5 minutes, why hasn't the bot made any trades yet?
@ -42,7 +51,7 @@ position for a trade. Be patient!
### I have made 12 trades already, why is my total profit negative?
I understand your disappointment but unfortunately 12 trades is just
not enough to say anything. If you run backtesting, you can see that our
not enough to say anything. If you run backtesting, you can see that the
current algorithm does leave you on the plus side, but that is after
thousands of trades and even there, you will be left with losses on
specific coins that you have traded tens if not hundreds of times. We
@ -54,13 +63,30 @@ you can't say much from few trades.
Yes. You can edit your config and use the `/reload_config` command to reload the configuration. The bot will stop, reload the configuration and strategy and will restart with the new configuration and strategy.
### I want to improve the bot with a new strategy
### Why does my bot not sell everything it bought?
That's great. We have a nice backtesting and hyperoptimization setup. See the tutorial [here|Testing-new-strategies-with-Hyperopt](bot-usage.md#hyperopt-commands).
This is called "coin dust" and can happen on all exchanges.
It happens because many exchanges subtract fees from the "receiving currency" - so you buy 100 COIN - but you only get 99.9 COIN.
As COIN is trading in full lot sizes (1COIN steps), you cannot sell 0.9 COIN (or 99.9 COIN) - but you need to round down to 99 COIN.
### Is there a setting to only SELL the coins being held and not perform anymore BUYS?
This is not a bot-problem, but will also happen while manual trading.
You can use the `/stopbuy` command in Telegram to prevent future buys, followed by `/forcesell all` (sell all open trades).
While freqtrade can handle this (it'll sell 99 COIN), fees are often below the minimum tradable lot-size (you can only trade full COIN, not 0.9 COIN).
Leaving the dust (0.9 COIN) on the exchange makes usually sense, as the next time freqtrade buys COIN, it'll eat into the remaining small balance, this time selling everything it bought, and therefore slowly declining the dust balance (although it most likely will never reach exactly 0).
Where possible (e.g. on binance), the use of the exchange's dedicated fee currency will fix this.
On binance, it's sufficient to have BNB in your account, and have "Pay fees in BNB" enabled in your profile. Your BNB balance will slowly decline (as it's used to pay fees) - but you'll no longer encounter dust (Freqtrade will include the fees in the profit calculations).
Other exchanges don't offer such possibilities, where it's simply something you'll have to accept or move to a different exchange.
### I want to use incomplete candles
Freqtrade will not provide incomplete candles to strategies. Using incomplete candles will lead to repainting and consequently to strategies with "ghost" buys, which are impossible to both backtest, and verify after they happened.
You can use "current" market data by using the [dataprovider](strategy-customization.md#orderbookpair-maximum)'s orderbook or ticker methods - which however cannot be used during backtesting.
### Is there a setting to only Exit the trades being held and not perform any new Entries?
You can use the `/stopentry` command in Telegram to prevent future trade entry, followed by `/forceexit all` (sell all open trades).
### I want to run multiple bots on the same machine
@ -76,22 +102,40 @@ If this happens for all pairs in the pairlist, this might indicate a recent exch
Irrespectively of the reason, Freqtrade will fill up these candles with "empty" candles, where open, high, low and close are set to the previous candle close - and volume is empty. In a chart, this will look like a `_` - and is aligned with how exchanges usually represent 0 volume candles.
### I'm getting "Price jump between 2 candles detected"
This message is a warning that the candles had a price jump of > 30%.
This might be a sign that the pair stopped trading, and some token exchange took place (e.g. COCOS in 2021 - where price jumped from 0.0000154 to 0.01621).
This message is often accompanied by ["Missing data fillup"](#im-getting-missing-data-fillup-messages-in-the-log) - as trading on such pairs is often stopped for some time.
### I'm getting "Outdated history for pair xxx" in the log
The bot is trying to tell you that it got an outdated last candle (not the last complete candle).
As a consequence, Freqtrade will not enter a trade for this pair - as trading on old information is usually not what is desired.
This warning can point to one of the below problems:
* Exchange downtime -> Check your exchange status page / blog / twitter feed for details.
* Wrong system time -> Ensure your system-time is correct.
* Barely traded pair -> Check the pair on the exchange webpage, look at the timeframe your strategy uses. If the pair does not have any volume in some candles (usually visualized with a "volume 0" bar, and a "_" as candle), this pair did not have any trades in this timeframe. These pairs should ideally be avoided, as they can cause problems with order-filling.
* API problem -> API returns wrong data (this only here for completeness, and should not happen with supported exchanges).
### I'm getting the "RESTRICTED_MARKET" message in the log
Currently known to happen for US Bittrex users.
Read [the Bittrex section about restricted markets](exchanges.md#restricted-markets) for more information.
### I'm getting the "Exchange Bittrex does not support market orders." message and cannot run my strategy
### I'm getting the "Exchange XXX does not support market orders." message and cannot run my strategy
As the message says, Bittrex does not support market orders and you have one of the [order types](configuration.md/#understand-order_types) set to "market". Your strategy was probably written with other exchanges in mind and sets "market" orders for "stoploss" orders, which is correct and preferable for most of the exchanges supporting market orders (but not for Bittrex).
As the message says, your exchange does not support market orders and you have one of the [order types](configuration.md/#understand-order_types) set to "market". Your strategy was probably written with other exchanges in mind and sets "market" orders for "stoploss" orders, which is correct and preferable for most of the exchanges supporting market orders (but not for Bittrex and Gate.io).
To fix it for Bittrex, redefine order types in the strategy to use "limit" instead of "market":
To fix this, redefine order types in the strategy to use "limit" instead of "market":
```
``` python
order_types = {
...
'stoploss': 'limit',
"stoploss": "limit",
...
}
```
@ -136,6 +180,8 @@ On Windows, the `--logfile` option is also supported by Freqtrade and you can us
> type \path\to\mylogfile.log | findstr "something"
```
## Hyperopt module
### Why does freqtrade not have GPU support?
First of all, most indicator libraries don't have GPU support - as such, there would be little benefit for indicator calculations.
@ -152,27 +198,25 @@ The benefit of using GPU would therefore be pretty slim - and will not justify t
There is however nothing preventing you from using GPU-enabled indicators within your strategy if you think you must have this - you will however probably be disappointed by the slim gain that will give you (compared to the complexity).
## Hyperopt module
### How many epochs do I need to get a good Hyperopt result?
Per default Hyperopt called without the `-e`/`--epochs` command line option will only
run 100 epochs, means 100 evaluations of your triggers, guards, ... Too few
to find a great result (unless if you are very lucky), so you probably
have to run it for 10.000 or more. But it will take an eternity to
have to run it for 10000 or more. But it will take an eternity to
compute.
Since hyperopt uses Bayesian search, running for too many epochs may not produce greater results.
It's therefore recommended to run between 500-1000 epochs over and over until you hit at least 10.000 epochs in total (or are satisfied with the result). You can best judge by looking at the results - if the bot keeps discovering better strategies, it's best to keep on going.
It's therefore recommended to run between 500-1000 epochs over and over until you hit at least 10000 epochs in total (or are satisfied with the result). You can best judge by looking at the results - if the bot keeps discovering better strategies, it's best to keep on going.
```bash
freqtrade hyperopt --hyperopt SampleHyperopt --hyperopt-loss SharpeHyperOptLossDaily --strategy SampleStrategy -e 1000
freqtrade hyperopt --hyperopt-loss SharpeHyperOptLossDaily --strategy SampleStrategy -e 1000
```
### Why does it take a long time to run hyperopt?
* Discovering a great strategy with Hyperopt takes time. Study www.freqtrade.io, the Freqtrade Documentation page, join the Freqtrade [Slack community](https://join.slack.com/t/highfrequencybot/shared_invite/zt-mm786y93-Fxo37glxMY9g8OQC5AoOIw) - or the Freqtrade [discord community](https://discord.gg/p7nuUNVfP7). While you patiently wait for the most advanced, free crypto bot in the world, to hand you a possible golden strategy specially designed just for you.
* Discovering a great strategy with Hyperopt takes time. Study www.freqtrade.io, the Freqtrade Documentation page, join the Freqtrade [discord community](https://discord.gg/p7nuUNVfP7). While you patiently wait for the most advanced, free crypto bot in the world, to hand you a possible golden strategy specially designed just for you.
* If you wonder why it can take from 20 minutes to days to do 1000 epochs here are some answers:
@ -188,9 +232,9 @@ already 8\*10^9\*10 evaluations. A roughly total of 80 billion evaluations.
Did you run 100 000 evaluations? Congrats, you've done roughly 1 / 100 000 th
of the search space, assuming that the bot never tests the same parameters more than once.
* The time it takes to run 1000 hyperopt epochs depends on things like: The available cpu, hard-disk, ram, timeframe, timerange, indicator settings, indicator count, amount of coins that hyperopt test strategies on and the resulting trade count - which can be 650 trades in a year or 10.0000 trades depending if the strategy aims for big profits by trading rarely or for many low profit trades.
* The time it takes to run 1000 hyperopt epochs depends on things like: The available cpu, hard-disk, ram, timeframe, timerange, indicator settings, indicator count, amount of coins that hyperopt test strategies on and the resulting trade count - which can be 650 trades in a year or 100000 trades depending if the strategy aims for big profits by trading rarely or for many low profit trades.
Example: 4% profit 650 times vs 0,3% profit a trade 10.000 times in a year. If we assume you set the --timerange to 365 days.
Example: 4% profit 650 times vs 0,3% profit a trade 10000 times in a year. If we assume you set the --timerange to 365 days.
Example:
`freqtrade --config config.json --strategy SampleStrategy --hyperopt SampleHyperopt -e 1000 --timerange 20190601-20200601`
@ -204,8 +248,26 @@ The Edge module is mostly a result of brainstorming of [@mishaker](https://githu
You can find further info on expectancy, win rate, risk management and position size in the following sources:
- https://www.tradeciety.com/ultimate-math-guide-for-traders/
- http://www.vantharp.com/tharp-concepts/expectancy.asp
- https://samuraitradingacademy.com/trading-expectancy/
- https://www.learningmarkets.com/determining-expectancy-in-your-trading/
- http://www.lonestocktrader.com/make-money-trading-positive-expectancy/
- https://www.lonestocktrader.com/make-money-trading-positive-expectancy/
- https://www.babypips.com/trading/trade-expectancy-matter
## Official channels
Freqtrade is using exclusively the following official channels:
* [Freqtrade discord server](https://discord.gg/p7nuUNVfP7)
* [Freqtrade documentation (https://freqtrade.io)](https://freqtrade.io)
* [Freqtrade github organization](https://github.com/freqtrade)
Nobody affiliated with the freqtrade project will ask you about your exchange keys or anything else exposing your funds to exploitation.
Should you be asked to expose your exchange keys or send funds to some random wallet, then please don't follow these instructions.
Failing to follow these guidelines will not be responsibility of freqtrade.
## "Freqtrade token"
Freqtrade does not have a Crypto token offering.
Token offerings you find on the internet referring Freqtrade, FreqAI or freqUI must be considered to be a scam, trying to exploit freqtrade's popularity for their own, nefarious gains.

View File

@ -0,0 +1,396 @@
# Configuration
FreqAI is configured through the typical [Freqtrade config file](configuration.md) and the standard [Freqtrade strategy](strategy-customization.md). Examples of FreqAI config and strategy files can be found in `config_examples/config_freqai.example.json` and `freqtrade/templates/FreqaiExampleStrategy.py`, respectively.
## Setting up the configuration file
Although there are plenty of additional parameters to choose from, as highlighted in the [parameter table](freqai-parameter-table.md#parameter-table), a FreqAI config must at minimum include the following parameters (the parameter values are only examples):
```json
"freqai": {
"enabled": true,
"purge_old_models": 2,
"train_period_days": 30,
"backtest_period_days": 7,
"identifier" : "unique-id",
"feature_parameters" : {
"include_timeframes": ["5m","15m","4h"],
"include_corr_pairlist": [
"ETH/USD",
"LINK/USD",
"BNB/USD"
],
"label_period_candles": 24,
"include_shifted_candles": 2,
"indicator_periods_candles": [10, 20]
},
"data_split_parameters" : {
"test_size": 0.25
}
}
```
A full example config is available in `config_examples/config_freqai.example.json`.
## Building a FreqAI strategy
The FreqAI strategy requires including the following lines of code in the standard [Freqtrade strategy](strategy-customization.md):
```python
# user should define the maximum startup candle count (the largest number of candles
# passed to any single indicator)
startup_candle_count: int = 20
def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
# the model will return all labels created by user in `set_freqai_labels()`
# (& appended targets), an indication of whether or not the prediction should be accepted,
# the target mean/std values for each of the labels created by user in
# `feature_engineering_*` for each training period.
dataframe = self.freqai.start(dataframe, metadata, self)
return dataframe
def feature_engineering_expand_all(self, dataframe, period, **kwargs):
"""
*Only functional with FreqAI enabled strategies*
This function will automatically expand the defined features on the config defined
`indicator_periods_candles`, `include_timeframes`, `include_shifted_candles`, and
`include_corr_pairs`. In other words, a single feature defined in this function
will automatically expand to a total of
`indicator_periods_candles` * `include_timeframes` * `include_shifted_candles` *
`include_corr_pairs` numbers of features added to the model.
All features must be prepended with `%` to be recognized by FreqAI internals.
:param df: strategy dataframe which will receive the features
:param period: period of the indicator - usage example:
dataframe["%-ema-period"] = ta.EMA(dataframe, timeperiod=period)
"""
dataframe["%-rsi-period"] = ta.RSI(dataframe, timeperiod=period)
dataframe["%-mfi-period"] = ta.MFI(dataframe, timeperiod=period)
dataframe["%-adx-period"] = ta.ADX(dataframe, timeperiod=period)
dataframe["%-sma-period"] = ta.SMA(dataframe, timeperiod=period)
dataframe["%-ema-period"] = ta.EMA(dataframe, timeperiod=period)
return dataframe
def feature_engineering_expand_basic(self, dataframe, **kwargs):
"""
*Only functional with FreqAI enabled strategies*
This function will automatically expand the defined features on the config defined
`include_timeframes`, `include_shifted_candles`, and `include_corr_pairs`.
In other words, a single feature defined in this function
will automatically expand to a total of
`include_timeframes` * `include_shifted_candles` * `include_corr_pairs`
numbers of features added to the model.
Features defined here will *not* be automatically duplicated on user defined
`indicator_periods_candles`
All features must be prepended with `%` to be recognized by FreqAI internals.
:param df: strategy dataframe which will receive the features
dataframe["%-pct-change"] = dataframe["close"].pct_change()
dataframe["%-ema-200"] = ta.EMA(dataframe, timeperiod=200)
"""
dataframe["%-pct-change"] = dataframe["close"].pct_change()
dataframe["%-raw_volume"] = dataframe["volume"]
dataframe["%-raw_price"] = dataframe["close"]
return dataframe
def feature_engineering_standard(self, dataframe, **kwargs):
"""
*Only functional with FreqAI enabled strategies*
This optional function will be called once with the dataframe of the base timeframe.
This is the final function to be called, which means that the dataframe entering this
function will contain all the features and columns created by all other
freqai_feature_engineering_* functions.
This function is a good place to do custom exotic feature extractions (e.g. tsfresh).
This function is a good place for any feature that should not be auto-expanded upon
(e.g. day of the week).
All features must be prepended with `%` to be recognized by FreqAI internals.
:param df: strategy dataframe which will receive the features
usage example: dataframe["%-day_of_week"] = (dataframe["date"].dt.dayofweek + 1) / 7
"""
dataframe["%-day_of_week"] = (dataframe["date"].dt.dayofweek + 1) / 7
dataframe["%-hour_of_day"] = (dataframe["date"].dt.hour + 1) / 25
return dataframe
def set_freqai_targets(self, dataframe, **kwargs):
"""
*Only functional with FreqAI enabled strategies*
Required function to set the targets for the model.
All targets must be prepended with `&` to be recognized by the FreqAI internals.
:param df: strategy dataframe which will receive the targets
usage example: dataframe["&-target"] = dataframe["close"].shift(-1) / dataframe["close"]
"""
dataframe["&-s_close"] = (
dataframe["close"]
.shift(-self.freqai_info["feature_parameters"]["label_period_candles"])
.rolling(self.freqai_info["feature_parameters"]["label_period_candles"])
.mean()
/ dataframe["close"]
- 1
)
```
Notice how the `feature_engineering_*()` is where [features](freqai-feature-engineering.md#feature-engineering) are added. Meanwhile `set_freqai_targets()` adds the labels/targets. A full example strategy is available in `templates/FreqaiExampleStrategy.py`.
!!! Note
The `self.freqai.start()` function cannot be called outside the `populate_indicators()`.
!!! Note
Features **must** be defined in `feature_engineering_*()`. Defining FreqAI features in `populate_indicators()`
will cause the algorithm to fail in live/dry mode. In order to add generalized features that are not associated with a specific pair or timeframe, you should use `feature_engineering_standard()`
(as exemplified in `freqtrade/templates/FreqaiExampleStrategy.py`).
## Important dataframe key patterns
Below are the values you can expect to include/use inside a typical strategy dataframe (`df[]`):
| DataFrame Key | Description |
|------------|-------------|
| `df['&*']` | Any dataframe column prepended with `&` in `set_freqai_targets()` is treated as a training target (label) inside FreqAI (typically following the naming convention `&-s*`). For example, to predict the close price 40 candles into the future, you would set `df['&-s_close'] = df['close'].shift(-self.freqai_info["feature_parameters"]["label_period_candles"])` with `"label_period_candles": 40` in the config. FreqAI makes the predictions and gives them back under the same key (`df['&-s_close']`) to be used in `populate_entry/exit_trend()`. <br> **Datatype:** Depends on the output of the model.
| `df['&*_std/mean']` | Standard deviation and mean values of the defined labels during training (or live tracking with `fit_live_predictions_candles`). Commonly used to understand the rarity of a prediction (use the z-score as shown in `templates/FreqaiExampleStrategy.py` and explained [here](#creating-a-dynamic-target-threshold) to evaluate how often a particular prediction was observed during training or historically with `fit_live_predictions_candles`). <br> **Datatype:** Float.
| `df['do_predict']` | Indication of an outlier data point. The return value is integer between -2 and 2, which lets you know if the prediction is trustworthy or not. `do_predict==1` means that the prediction is trustworthy. If the Dissimilarity Index (DI, see details [here](freqai-feature-engineering.md#identifying-outliers-with-the-dissimilarity-index-di)) of the input data point is above the threshold defined in the config, FreqAI will subtract 1 from `do_predict`, resulting in `do_predict==0`. If `use_SVM_to_remove_outliers()` is active, the Support Vector Machine (SVM, see details [here](freqai-feature-engineering.md#identifying-outliers-using-a-support-vector-machine-svm)) may also detect outliers in training and prediction data. In this case, the SVM will also subtract 1 from `do_predict`. If the input data point was considered an outlier by the SVM but not by the DI, or vice versa, the result will be `do_predict==0`. If both the DI and the SVM considers the input data point to be an outlier, the result will be `do_predict==-1`. As with the SVM, if `use_DBSCAN_to_remove_outliers` is active, DBSCAN (see details [here](freqai-feature-engineering.md#identifying-outliers-with-dbscan)) may also detect outliers and subtract 1 from `do_predict`. Hence, if both the SVM and DBSCAN are active and identify a datapoint that was above the DI threshold as an outlier, the result will be `do_predict==-2`. A particular case is when `do_predict == 2`, which means that the model has expired due to exceeding `expired_hours`. <br> **Datatype:** Integer between -2 and 2.
| `df['DI_values']` | Dissimilarity Index (DI) values are proxies for the level of confidence FreqAI has in the prediction. A lower DI means the prediction is close to the training data, i.e., higher prediction confidence. See details about the DI [here](freqai-feature-engineering.md#identifying-outliers-with-the-dissimilarity-index-di). <br> **Datatype:** Float.
| `df['%*']` | Any dataframe column prepended with `%` in `feature_engineering_*()` is treated as a training feature. For example, you can include the RSI in the training feature set (similar to in `templates/FreqaiExampleStrategy.py`) by setting `df['%-rsi']`. See more details on how this is done [here](freqai-feature-engineering.md). <br> **Note:** Since the number of features prepended with `%` can multiply very quickly (10s of thousands of features are easily engineered using the multiplictative functionality of, e.g., `include_shifted_candles` and `include_timeframes` as described in the [parameter table](freqai-parameter-table.md)), these features are removed from the dataframe that is returned from FreqAI to the strategy. To keep a particular type of feature for plotting purposes, you would prepend it with `%%`. <br> **Datatype:** Depends on the output of the model.
## Setting the `startup_candle_count`
The `startup_candle_count` in the FreqAI strategy needs to be set up in the same way as in the standard Freqtrade strategy (see details [here](strategy-customization.md#strategy-startup-period)). This value is used by Freqtrade to ensure that a sufficient amount of data is provided when calling the `dataprovider`, to avoid any NaNs at the beginning of the first training. You can easily set this value by identifying the longest period (in candle units) which is passed to the indicator creation functions (e.g., TA-Lib functions). In the presented example, `startup_candle_count` is 20 since this is the maximum value in `indicators_periods_candles`.
!!! Note
There are instances where the TA-Lib functions actually require more data than just the passed `period` or else the feature dataset gets populated with NaNs. Anecdotally, multiplying the `startup_candle_count` by 2 always leads to a fully NaN free training dataset. Hence, it is typically safest to multiply the expected `startup_candle_count` by 2. Look out for this log message to confirm that the data is clean:
```
2022-08-31 15:14:04 - freqtrade.freqai.data_kitchen - INFO - dropped 0 training points due to NaNs in populated dataset 4319.
```
## Creating a dynamic target threshold
Deciding when to enter or exit a trade can be done in a dynamic way to reflect current market conditions. FreqAI allows you to return additional information from the training of a model (more info [here](freqai-feature-engineering.md#returning-additional-info-from-training)). For example, the `&*_std/mean` return values describe the statistical distribution of the target/label *during the most recent training*. Comparing a given prediction to these values allows you to know the rarity of the prediction. In `templates/FreqaiExampleStrategy.py`, the `target_roi` and `sell_roi` are defined to be 1.25 z-scores away from the mean which causes predictions that are closer to the mean to be filtered out.
```python
dataframe["target_roi"] = dataframe["&-s_close_mean"] + dataframe["&-s_close_std"] * 1.25
dataframe["sell_roi"] = dataframe["&-s_close_mean"] - dataframe["&-s_close_std"] * 1.25
```
To consider the population of *historical predictions* for creating the dynamic target instead of information from the training as discussed above, you would set `fit_live_predictions_candles` in the config to the number of historical prediction candles you wish to use to generate target statistics.
```json
"freqai": {
"fit_live_predictions_candles": 300,
}
```
If this value is set, FreqAI will initially use the predictions from the training data and subsequently begin introducing real prediction data as it is generated. FreqAI will save this historical data to be reloaded if you stop and restart a model with the same `identifier`.
## Using different prediction models
FreqAI has multiple example prediction model libraries that are ready to be used as is via the flag `--freqaimodel`. These libraries include `CatBoost`, `LightGBM`, and `XGBoost` regression, classification, and multi-target models, and can be found in `freqai/prediction_models/`.
Regression and classification models differ in what targets they predict - a regression model will predict a target of continuous values, for example what price BTC will be at tomorrow, whilst a classifier will predict a target of discrete values, for example if the price of BTC will go up tomorrow or not. This means that you have to specify your targets differently depending on which model type you are using (see details [below](#setting-model-targets)).
All of the aforementioned model libraries implement gradient boosted decision tree algorithms. They all work on the principle of ensemble learning, where predictions from multiple simple learners are combined to get a final prediction that is more stable and generalized. The simple learners in this case are decision trees. Gradient boosting refers to the method of learning, where each simple learner is built in sequence - the subsequent learner is used to improve on the error from the previous learner. If you want to learn more about the different model libraries you can find the information in their respective docs:
* CatBoost: https://catboost.ai/en/docs/
* LightGBM: https://lightgbm.readthedocs.io/en/v3.3.2/#
* XGBoost: https://xgboost.readthedocs.io/en/stable/#
There are also numerous online articles describing and comparing the algorithms. Some relatively lightweight examples would be [CatBoost vs. LightGBM vs. XGBoost — Which is the best algorithm?](https://towardsdatascience.com/catboost-vs-lightgbm-vs-xgboost-c80f40662924#:~:text=In%20CatBoost%2C%20symmetric%20trees%2C%20or,the%20same%20depth%20can%20differ.) and [XGBoost, LightGBM or CatBoost — which boosting algorithm should I use?](https://medium.com/riskified-technology/xgboost-lightgbm-or-catboost-which-boosting-algorithm-should-i-use-e7fda7bb36bc). Keep in mind that the performance of each model is highly dependent on the application and so any reported metrics might not be true for your particular use of the model.
Apart from the models already available in FreqAI, it is also possible to customize and create your own prediction models using the `IFreqaiModel` class. You are encouraged to inherit `fit()`, `train()`, and `predict()` to customize various aspects of the training procedures. You can place custom FreqAI models in `user_data/freqaimodels` - and freqtrade will pick them up from there based on the provided `--freqaimodel` name - which has to correspond to the class name of your custom model.
Make sure to use unique names to avoid overriding built-in models.
### Setting model targets
#### Regressors
If you are using a regressor, you need to specify a target that has continuous values. FreqAI includes a variety of regressors, such as the `CatboostRegressor`via the flag `--freqaimodel CatboostRegressor`. An example of how you could set a regression target for predicting the price 100 candles into the future would be
```python
df['&s-close_price'] = df['close'].shift(-100)
```
If you want to predict multiple targets, you need to define multiple labels using the same syntax as shown above.
#### Classifiers
If you are using a classifier, you need to specify a target that has discrete values. FreqAI includes a variety of classifiers, such as the `CatboostClassifier` via the flag `--freqaimodel CatboostClassifier`. If you elects to use a classifier, the classes need to be set using strings. For example, if you want to predict if the price 100 candles into the future goes up or down you would set
```python
df['&s-up_or_down'] = np.where( df["close"].shift(-100) > df["close"], 'up', 'down')
```
If you want to predict multiple targets you must specify all labels in the same label column. You could, for example, add the label `same` to define where the price was unchanged by setting
```python
df['&s-up_or_down'] = np.where( df["close"].shift(-100) > df["close"], 'up', 'down')
df['&s-up_or_down'] = np.where( df["close"].shift(-100) == df["close"], 'same', df['&s-up_or_down'])
```
## PyTorch Module
### Quick start
The easiest way to quickly run a pytorch model is with the following command (for regression task):
```bash
freqtrade trade --config config_examples/config_freqai.example.json --strategy FreqaiExampleStrategy --freqaimodel PyTorchMLPRegressor --strategy-path freqtrade/templates
```
!!! note "Installation/docker"
The PyTorch module requires large packages such as `torch`, which should be explicitly requested during `./setup.sh -i` by answering "y" to the question "Do you also want dependencies for freqai-rl or PyTorch (~700mb additional space required) [y/N]?".
Users who prefer docker should ensure they use the docker image appended with `_freqaitorch`.
### Structure
#### Model
You can construct your own Neural Network architecture in PyTorch by simply defining your `nn.Module` class inside your custom [`IFreqaiModel` file](#using-different-prediction-models) and then using that class in your `def train()` function. Here is an example of logistic regression model implementation using PyTorch (should be used with nn.BCELoss criterion) for classification tasks.
```python
class LogisticRegression(nn.Module):
def __init__(self, input_size: int):
super().__init__()
# Define your layers
self.linear = nn.Linear(input_size, 1)
self.activation = nn.Sigmoid()
def forward(self, x: torch.Tensor) -> torch.Tensor:
# Define the forward pass
out = self.linear(x)
out = self.activation(out)
return out
class MyCoolPyTorchClassifier(BasePyTorchClassifier):
"""
This is a custom IFreqaiModel showing how a user might setup their own
custom Neural Network architecture for their training.
"""
@property
def data_convertor(self) -> PyTorchDataConvertor:
return DefaultPyTorchDataConvertor(target_tensor_type=torch.float)
def __init__(self, **kwargs) -> None:
super().__init__(**kwargs)
config = self.freqai_info.get("model_training_parameters", {})
self.learning_rate: float = config.get("learning_rate", 3e-4)
self.model_kwargs: Dict[str, Any] = config.get("model_kwargs", {})
self.trainer_kwargs: Dict[str, Any] = config.get("trainer_kwargs", {})
def fit(self, data_dictionary: Dict, dk: FreqaiDataKitchen, **kwargs) -> Any:
"""
User sets up the training and test data to fit their desired model here
:param data_dictionary: the dictionary holding all data for train, test,
labels, weights
:param dk: The datakitchen object for the current coin/model
"""
class_names = self.get_class_names()
self.convert_label_column_to_int(data_dictionary, dk, class_names)
n_features = data_dictionary["train_features"].shape[-1]
model = LogisticRegression(
input_dim=n_features
)
model.to(self.device)
optimizer = torch.optim.AdamW(model.parameters(), lr=self.learning_rate)
criterion = torch.nn.CrossEntropyLoss()
init_model = self.get_init_model(dk.pair)
trainer = PyTorchModelTrainer(
model=model,
optimizer=optimizer,
criterion=criterion,
model_meta_data={"class_names": class_names},
device=self.device,
init_model=init_model,
data_convertor=self.data_convertor,
**self.trainer_kwargs,
)
trainer.fit(data_dictionary, self.splits)
return trainer
```
#### Trainer
The `PyTorchModelTrainer` performs the idiomatic PyTorch train loop:
Define our model, loss function, and optimizer, and then move them to the appropriate device (GPU or CPU). Inside the loop, we iterate through the batches in the dataloader, move the data to the device, compute the prediction and loss, backpropagate, and update the model parameters using the optimizer.
In addition, the trainer is responsible for the following:
- saving and loading the model
- converting the data from `pandas.DataFrame` to `torch.Tensor`.
#### Integration with Freqai module
Like all freqai models, PyTorch models inherit `IFreqaiModel`. `IFreqaiModel` declares three abstract methods: `train`, `fit`, and `predict`. we implement these methods in three levels of hierarchy.
From top to bottom:
1. `BasePyTorchModel` - Implements the `train` method. all `BasePyTorch*` inherit it. responsible for general data preparation (e.g., data normalization) and calling the `fit` method. Sets `device` attribute used by children classes. Sets `model_type` attribute used by the parent class.
2. `BasePyTorch*` - Implements the `predict` method. Here, the `*` represents a group of algorithms, such as classifiers or regressors. responsible for data preprocessing, predicting, and postprocessing if needed.
3. `PyTorch*Classifier` / `PyTorch*Regressor` - implements the `fit` method. responsible for the main train flaw, where we initialize the trainer and model objects.
![image](assets/freqai_pytorch-diagram.png)
#### Full example
Building a PyTorch regressor using MLP (multilayer perceptron) model, MSELoss criterion, and AdamW optimizer.
```python
class PyTorchMLPRegressor(BasePyTorchRegressor):
def __init__(self, **kwargs) -> None:
super().__init__(**kwargs)
config = self.freqai_info.get("model_training_parameters", {})
self.learning_rate: float = config.get("learning_rate", 3e-4)
self.model_kwargs: Dict[str, Any] = config.get("model_kwargs", {})
self.trainer_kwargs: Dict[str, Any] = config.get("trainer_kwargs", {})
def fit(self, data_dictionary: Dict, dk: FreqaiDataKitchen, **kwargs) -> Any:
n_features = data_dictionary["train_features"].shape[-1]
model = PyTorchMLPModel(
input_dim=n_features,
output_dim=1,
**self.model_kwargs
)
model.to(self.device)
optimizer = torch.optim.AdamW(model.parameters(), lr=self.learning_rate)
criterion = torch.nn.MSELoss()
init_model = self.get_init_model(dk.pair)
trainer = PyTorchModelTrainer(
model=model,
optimizer=optimizer,
criterion=criterion,
device=self.device,
init_model=init_model,
target_tensor_type=torch.float,
**self.trainer_kwargs,
)
trainer.fit(data_dictionary)
return trainer
```
Here we create a `PyTorchMLPRegressor` class that implements the `fit` method. The `fit` method specifies the training building blocks: model, optimizer, criterion, and trainer. We inherit both `BasePyTorchRegressor` and `BasePyTorchModel`, where the former implements the `predict` method that is suitable for our regression task, and the latter implements the train method.
??? Note "Setting Class Names for Classifiers"
When using classifiers, the user must declare the class names (or targets) by overriding the `IFreqaiModel.class_names` attribute. This is achieved by setting `self.freqai.class_names` in the FreqAI strategy inside the `set_freqai_targets` method.
For example, if you are using a binary classifier to predict price movements as up or down, you can set the class names as follows:
```python
def set_freqai_targets(self, dataframe: DataFrame, metadata: Dict, **kwargs):
self.freqai.class_names = ["down", "up"]
dataframe['&s-up_or_down'] = np.where(dataframe["close"].shift(-100) >
dataframe["close"], 'up', 'down')
return dataframe
```
To see a full example, you can refer to the [classifier test strategy class](https://github.com/freqtrade/freqtrade/blob/develop/tests/strategy/strats/freqai_test_classifier.py).

78
docs/freqai-developers.md Normal file
View File

@ -0,0 +1,78 @@
# Development
## Project architecture
The architecture and functions of FreqAI are generalized to encourages development of unique features, functions, models, etc.
The class structure and a detailed algorithmic overview is depicted in the following diagram:
![image](assets/freqai_algorithm-diagram.jpg)
As shown, there are three distinct objects comprising FreqAI:
* **IFreqaiModel** - A singular persistent object containing all the necessary logic to collect, store, and process data, engineer features, run training, and inference models.
* **FreqaiDataKitchen** - A non-persistent object which is created uniquely for each unique asset/model. Beyond metadata, it also contains a variety of data processing tools.
* **FreqaiDataDrawer** - A singular persistent object containing all the historical predictions, models, and save/load methods.
There are a variety of built-in [prediction models](freqai-configuration.md#using-different-prediction-models) which inherit directly from `IFreqaiModel`. Each of these models have full access to all methods in `IFreqaiModel` and can therefore override any of those functions at will. However, advanced users will likely stick to overriding `fit()`, `train()`, `predict()`, and `data_cleaning_train/predict()`.
## Data handling
FreqAI aims to organize model files, prediction data, and meta data in a way that simplifies post-processing and enhances crash resilience by automatic data reloading. The data is saved in a file structure,`user_data_dir/models/`, which contains all the data associated with the trainings and backtests. The `FreqaiDataKitchen()` relies heavily on the file structure for proper training and inferencing and should therefore not be manually modified.
### File structure
The file structure is automatically generated based on the model `identifier` set in the [config](freqai-configuration.md#setting-up-the-configuration-file). The following structure shows where the data is stored for post processing:
| Structure | Description |
|-----------|-------------|
| `config_*.json` | A copy of the model specific configuration file. |
| `historic_predictions.pkl` | A file containing all historic predictions generated during the lifetime of the `identifier` model during live deployment. `historic_predictions.pkl` is used to reload the model after a crash or a config change. A backup file is always held in case of corruption on the main file. FreqAI **automatically** detects corruption and replaces the corrupted file with the backup. |
| `pair_dictionary.json` | A file containing the training queue as well as the on disk location of the most recently trained model. |
| `sub-train-*_TIMESTAMP` | A folder containing all the files associated with a single model, such as: <br>
|| `*_metadata.json` - Metadata for the model, such as normalization max/min, expected training feature list, etc. <br>
|| `*_model.*` - The model file saved to disk for reloading from a crash. Can be `joblib` (typical boosting libs), `zip` (stable_baselines), `hd5` (keras type), etc. <br>
|| `*_pca_object.pkl` - The [Principal component analysis (PCA)](freqai-feature-engineering.md#data-dimensionality-reduction-with-principal-component-analysis) transform (if `principal_component_analysis: True` is set in the config) which will be used to transform unseen prediction features. <br>
|| `*_svm_model.pkl` - The [Support Vector Machine (SVM)](freqai-feature-engineering.md#identifying-outliers-using-a-support-vector-machine-svm) model (if `use_SVM_to_remove_outliers: True` is set in the config) which is used to detect outliers in unseen prediction features. <br>
|| `*_trained_df.pkl` - The dataframe containing all the training features used to train the `identifier` model. This is used for computing the [Dissimilarity Index (DI)](freqai-feature-engineering.md#identifying-outliers-with-the-dissimilarity-index-di) and can also be used for post-processing. <br>
|| `*_trained_dates.df.pkl` - The dates associated with the `trained_df.pkl`, which is useful for post-processing. |
The example file structure would look like this:
```
├── models
│   └── unique-id
│   ├── config_freqai.example.json
│   ├── historic_predictions.backup.pkl
│   ├── historic_predictions.pkl
│   ├── pair_dictionary.json
│   ├── sub-train-1INCH_1662821319
│   │   ├── cb_1inch_1662821319_metadata.json
│   │   ├── cb_1inch_1662821319_model.joblib
│   │   ├── cb_1inch_1662821319_pca_object.pkl
│   │   ├── cb_1inch_1662821319_svm_model.joblib
│   │   ├── cb_1inch_1662821319_trained_dates_df.pkl
│   │   └── cb_1inch_1662821319_trained_df.pkl
│   ├── sub-train-1INCH_1662821371
│   │   ├── cb_1inch_1662821371_metadata.json
│   │   ├── cb_1inch_1662821371_model.joblib
│   │   ├── cb_1inch_1662821371_pca_object.pkl
│   │   ├── cb_1inch_1662821371_svm_model.joblib
│   │   ├── cb_1inch_1662821371_trained_dates_df.pkl
│   │   └── cb_1inch_1662821371_trained_df.pkl
│   ├── sub-train-ADA_1662821344
│   │   ├── cb_ada_1662821344_metadata.json
│   │   ├── cb_ada_1662821344_model.joblib
│   │   ├── cb_ada_1662821344_pca_object.pkl
│   │   ├── cb_ada_1662821344_svm_model.joblib
│   │   ├── cb_ada_1662821344_trained_dates_df.pkl
│   │   └── cb_ada_1662821344_trained_df.pkl
│   └── sub-train-ADA_1662821399
│   ├── cb_ada_1662821399_metadata.json
│   ├── cb_ada_1662821399_model.joblib
│   ├── cb_ada_1662821399_pca_object.pkl
│   ├── cb_ada_1662821399_svm_model.joblib
│   ├── cb_ada_1662821399_trained_dates_df.pkl
│   └── cb_ada_1662821399_trained_df.pkl
```

View File

@ -0,0 +1,335 @@
# Feature engineering
## Defining the features
Low level feature engineering is performed in the user strategy within a set of functions called `feature_engineering_*`. These function set the `base features` such as, `RSI`, `MFI`, `EMA`, `SMA`, time of day, volume, etc. The `base features` can be custom indicators or they can be imported from any technical-analysis library that you can find. FreqAI is equipped with a set of functions to simplify rapid large-scale feature engineering:
| Function | Description |
|---------------|-------------|
| `feature_engineering_expand_all()` | This optional function will automatically expand the defined features on the config defined `indicator_periods_candles`, `include_timeframes`, `include_shifted_candles`, and `include_corr_pairs`.
| `feature_engineering_expand_basic()` | This optional function will automatically expand the defined features on the config defined `include_timeframes`, `include_shifted_candles`, and `include_corr_pairs`. Note: this function does *not* expand across `include_periods_candles`.
| `feature_engineering_standard()` | This optional function will be called once with the dataframe of the base timeframe. This is the final function to be called, which means that the dataframe entering this function will contain all the features and columns from the base asset created by the other `feature_engineering_expand` functions. This function is a good place to do custom exotic feature extractions (e.g. tsfresh). This function is also a good place for any feature that should not be auto-expanded upon (e.g., day of the week).
| `set_freqai_targets()` | Required function to set the targets for the model. All targets must be prepended with `&` to be recognized by the FreqAI internals.
Meanwhile, high level feature engineering is handled within `"feature_parameters":{}` in the FreqAI config. Within this file, it is possible to decide large scale feature expansions on top of the `base_features` such as "including correlated pairs" or "including informative timeframes" or even "including recent candles."
It is advisable to start from the template `feature_engineering_*` functions in the source provided example strategy (found in `templates/FreqaiExampleStrategy.py`) to ensure that the feature definitions are following the correct conventions. Here is an example of how to set the indicators and labels in the strategy:
```python
def feature_engineering_expand_all(self, dataframe, period, metadata, **kwargs):
"""
*Only functional with FreqAI enabled strategies*
This function will automatically expand the defined features on the config defined
`indicator_periods_candles`, `include_timeframes`, `include_shifted_candles`, and
`include_corr_pairs`. In other words, a single feature defined in this function
will automatically expand to a total of
`indicator_periods_candles` * `include_timeframes` * `include_shifted_candles` *
`include_corr_pairs` numbers of features added to the model.
All features must be prepended with `%` to be recognized by FreqAI internals.
Access metadata such as the current pair/timeframe/period with:
`metadata["pair"]` `metadata["tf"]` `metadata["period"]`
:param df: strategy dataframe which will receive the features
:param period: period of the indicator - usage example:
:param metadata: metadata of current pair
dataframe["%-ema-period"] = ta.EMA(dataframe, timeperiod=period)
"""
dataframe["%-rsi-period"] = ta.RSI(dataframe, timeperiod=period)
dataframe["%-mfi-period"] = ta.MFI(dataframe, timeperiod=period)
dataframe["%-adx-period"] = ta.ADX(dataframe, timeperiod=period)
dataframe["%-sma-period"] = ta.SMA(dataframe, timeperiod=period)
dataframe["%-ema-period"] = ta.EMA(dataframe, timeperiod=period)
bollinger = qtpylib.bollinger_bands(
qtpylib.typical_price(dataframe), window=period, stds=2.2
)
dataframe["bb_lowerband-period"] = bollinger["lower"]
dataframe["bb_middleband-period"] = bollinger["mid"]
dataframe["bb_upperband-period"] = bollinger["upper"]
dataframe["%-bb_width-period"] = (
dataframe["bb_upperband-period"]
- dataframe["bb_lowerband-period"]
) / dataframe["bb_middleband-period"]
dataframe["%-close-bb_lower-period"] = (
dataframe["close"] / dataframe["bb_lowerband-period"]
)
dataframe["%-roc-period"] = ta.ROC(dataframe, timeperiod=period)
dataframe["%-relative_volume-period"] = (
dataframe["volume"] / dataframe["volume"].rolling(period).mean()
)
return dataframe
def feature_engineering_expand_basic(self, dataframe, metadata, **kwargs):
"""
*Only functional with FreqAI enabled strategies*
This function will automatically expand the defined features on the config defined
`include_timeframes`, `include_shifted_candles`, and `include_corr_pairs`.
In other words, a single feature defined in this function
will automatically expand to a total of
`include_timeframes` * `include_shifted_candles` * `include_corr_pairs`
numbers of features added to the model.
Features defined here will *not* be automatically duplicated on user defined
`indicator_periods_candles`
Access metadata such as the current pair/timeframe with:
`metadata["pair"]` `metadata["tf"]`
All features must be prepended with `%` to be recognized by FreqAI internals.
:param df: strategy dataframe which will receive the features
:param metadata: metadata of current pair
dataframe["%-pct-change"] = dataframe["close"].pct_change()
dataframe["%-ema-200"] = ta.EMA(dataframe, timeperiod=200)
"""
dataframe["%-pct-change"] = dataframe["close"].pct_change()
dataframe["%-raw_volume"] = dataframe["volume"]
dataframe["%-raw_price"] = dataframe["close"]
return dataframe
def feature_engineering_standard(self, dataframe, metadata, **kwargs):
"""
*Only functional with FreqAI enabled strategies*
This optional function will be called once with the dataframe of the base timeframe.
This is the final function to be called, which means that the dataframe entering this
function will contain all the features and columns created by all other
freqai_feature_engineering_* functions.
This function is a good place to do custom exotic feature extractions (e.g. tsfresh).
This function is a good place for any feature that should not be auto-expanded upon
(e.g. day of the week).
Access metadata such as the current pair with:
`metadata["pair"]`
All features must be prepended with `%` to be recognized by FreqAI internals.
:param df: strategy dataframe which will receive the features
:param metadata: metadata of current pair
usage example: dataframe["%-day_of_week"] = (dataframe["date"].dt.dayofweek + 1) / 7
"""
dataframe["%-day_of_week"] = (dataframe["date"].dt.dayofweek + 1) / 7
dataframe["%-hour_of_day"] = (dataframe["date"].dt.hour + 1) / 25
return dataframe
def set_freqai_targets(self, dataframe, metadata, **kwargs):
"""
*Only functional with FreqAI enabled strategies*
Required function to set the targets for the model.
All targets must be prepended with `&` to be recognized by the FreqAI internals.
Access metadata such as the current pair with:
`metadata["pair"]`
:param df: strategy dataframe which will receive the targets
:param metadata: metadata of current pair
usage example: dataframe["&-target"] = dataframe["close"].shift(-1) / dataframe["close"]
"""
dataframe["&-s_close"] = (
dataframe["close"]
.shift(-self.freqai_info["feature_parameters"]["label_period_candles"])
.rolling(self.freqai_info["feature_parameters"]["label_period_candles"])
.mean()
/ dataframe["close"]
- 1
)
return dataframe
```
In the presented example, the user does not wish to pass the `bb_lowerband` as a feature to the model,
and has therefore not prepended it with `%`. The user does, however, wish to pass `bb_width` to the
model for training/prediction and has therefore prepended it with `%`.
After having defined the `base features`, the next step is to expand upon them using the powerful `feature_parameters` in the configuration file:
```json
"freqai": {
//...
"feature_parameters" : {
"include_timeframes": ["5m","15m","4h"],
"include_corr_pairlist": [
"ETH/USD",
"LINK/USD",
"BNB/USD"
],
"label_period_candles": 24,
"include_shifted_candles": 2,
"indicator_periods_candles": [10, 20]
},
//...
}
```
The `include_timeframes` in the config above are the timeframes (`tf`) of each call to `feature_engineering_expand_*()` in the strategy. In the presented case, the user is asking for the `5m`, `15m`, and `4h` timeframes of the `rsi`, `mfi`, `roc`, and `bb_width` to be included in the feature set.
You can ask for each of the defined features to be included also for informative pairs using the `include_corr_pairlist`. This means that the feature set will include all the features from `feature_engineering_expand_*()` on all the `include_timeframes` for each of the correlated pairs defined in the config (`ETH/USD`, `LINK/USD`, and `BNB/USD` in the presented example).
`include_shifted_candles` indicates the number of previous candles to include in the feature set. For example, `include_shifted_candles: 2` tells FreqAI to include the past 2 candles for each of the features in the feature set.
In total, the number of features the user of the presented example strat has created is: length of `include_timeframes` * no. features in `feature_engineering_expand_*()` * length of `include_corr_pairlist` * no. `include_shifted_candles` * length of `indicator_periods_candles`
$= 3 * 3 * 3 * 2 * 2 = 108$.
### Gain finer control over `feature_engineering_*` functions with `metadata`
All `feature_engineering_*` and `set_freqai_targets()` functions are passed a `metadata` dictionary which contains information about the `pair`, `tf` (timeframe), and `period` that FreqAI is automating for feature building. As such, a user can use `metadata` inside `feature_engineering_*` functions as criteria for blocking/reserving features for certain timeframes, periods, pairs etc.
```python
def feature_engineering_expand_all(self, dataframe, period, metadata, **kwargs):
if metadata["tf"] == "1h":
dataframe["%-roc-period"] = ta.ROC(dataframe, timeperiod=period)
```
This will block `ta.ROC()` from being added to any timeframes other than `"1h"`.
### Returning additional info from training
Important metrics can be returned to the strategy at the end of each model training by assigning them to `dk.data['extra_returns_per_train']['my_new_value'] = XYZ` inside the custom prediction model class.
FreqAI takes the `my_new_value` assigned in this dictionary and expands it to fit the dataframe that is returned to the strategy. You can then use the returned metrics in your strategy through `dataframe['my_new_value']`. An example of how return values can be used in FreqAI are the `&*_mean` and `&*_std` values that are used to [created a dynamic target threshold](freqai-configuration.md#creating-a-dynamic-target-threshold).
Another example, where the user wants to use live metrics from the trade database, is shown below:
```json
"freqai": {
"extra_returns_per_train": {"total_profit": 4}
}
```
You need to set the standard dictionary in the config so that FreqAI can return proper dataframe shapes. These values will likely be overridden by the prediction model, but in the case where the model has yet to set them, or needs a default initial value, the pre-set values are what will be returned.
## Feature normalization
FreqAI is strict when it comes to data normalization. The train features, $X^{train}$, are always normalized to [-1, 1] using a shifted min-max normalization:
$$X^{train}_{norm} = 2 * \frac{X^{train} - X^{train}.min()}{X^{train}.max() - X^{train}.min()} - 1$$
All other data (test data and unseen prediction data in dry/live/backtest) is always automatically normalized to the training feature space according to industry standards. FreqAI stores all the metadata required to ensure that test and prediction features will be properly normalized and that predictions are properly denormalized. For this reason, it is not recommended to eschew industry standards and modify FreqAI internals - however - advanced users can do so by inheriting `train()` in their custom `IFreqaiModel` and using their own normalization functions.
## Data dimensionality reduction with Principal Component Analysis
You can reduce the dimensionality of your features by activating the `principal_component_analysis` in the config:
```json
"freqai": {
"feature_parameters" : {
"principal_component_analysis": true
}
}
```
This will perform PCA on the features and reduce their dimensionality so that the explained variance of the data set is >= 0.999. Reducing data dimensionality makes training the model faster and hence allows for more up-to-date models.
## Inlier metric
The `inlier_metric` is a metric aimed at quantifying how similar the features of a data point are to the most recent historical data points.
You define the lookback window by setting `inlier_metric_window` and FreqAI computes the distance between the present time point and each of the previous `inlier_metric_window` lookback points. A Weibull function is fit to each of the lookback distributions and its cumulative distribution function (CDF) is used to produce a quantile for each lookback point. The `inlier_metric` is then computed for each time point as the average of the corresponding lookback quantiles. The figure below explains the concept for an `inlier_metric_window` of 5.
![inlier-metric](assets/freqai_inlier-metric.jpg)
FreqAI adds the `inlier_metric` to the training features and hence gives the model access to a novel type of temporal information.
This function does **not** remove outliers from the data set.
## Weighting features for temporal importance
FreqAI allows you to set a `weight_factor` to weight recent data more strongly than past data via an exponential function:
$$ W_i = \exp(\frac{-i}{\alpha*n}) $$
where $W_i$ is the weight of data point $i$ in a total set of $n$ data points. Below is a figure showing the effect of different weight factors on the data points in a feature set.
![weight-factor](assets/freqai_weight-factor.jpg)
## Outlier detection
Equity and crypto markets suffer from a high level of non-patterned noise in the form of outlier data points. FreqAI implements a variety of methods to identify such outliers and hence mitigate risk.
### Identifying outliers with the Dissimilarity Index (DI)
The Dissimilarity Index (DI) aims to quantify the uncertainty associated with each prediction made by the model.
You can tell FreqAI to remove outlier data points from the training/test data sets using the DI by including the following statement in the config:
```json
"freqai": {
"feature_parameters" : {
"DI_threshold": 1
}
}
```
The DI allows predictions which are outliers (not existent in the model feature space) to be thrown out due to low levels of certainty. To do so, FreqAI measures the distance between each training data point (feature vector), $X_{a}$, and all other training data points:
$$ d_{ab} = \sqrt{\sum_{j=1}^p(X_{a,j}-X_{b,j})^2} $$
where $d_{ab}$ is the distance between the normalized points $a$ and $b$, and $p$ is the number of features, i.e., the length of the vector $X$. The characteristic distance, $\overline{d}$, for a set of training data points is simply the mean of the average distances:
$$ \overline{d} = \sum_{a=1}^n(\sum_{b=1}^n(d_{ab}/n)/n) $$
$\overline{d}$ quantifies the spread of the training data, which is compared to the distance between a new prediction feature vectors, $X_k$ and all the training data:
$$ d_k = \arg \min d_{k,i} $$
This enables the estimation of the Dissimilarity Index as:
$$ DI_k = d_k/\overline{d} $$
You can tweak the DI through the `DI_threshold` to increase or decrease the extrapolation of the trained model. A higher `DI_threshold` means that the DI is more lenient and allows predictions further away from the training data to be used whilst a lower `DI_threshold` has the opposite effect and hence discards more predictions.
Below is a figure that describes the DI for a 3D data set.
![DI](assets/freqai_DI.jpg)
### Identifying outliers using a Support Vector Machine (SVM)
You can tell FreqAI to remove outlier data points from the training/test data sets using a Support Vector Machine (SVM) by including the following statement in the config:
```json
"freqai": {
"feature_parameters" : {
"use_SVM_to_remove_outliers": true
}
}
```
The SVM will be trained on the training data and any data point that the SVM deems to be beyond the feature space will be removed.
FreqAI uses `sklearn.linear_model.SGDOneClassSVM` (details are available on scikit-learn's webpage [here](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.SGDOneClassSVM.html) (external website)) and you can elect to provide additional parameters for the SVM, such as `shuffle`, and `nu`.
The parameter `shuffle` is by default set to `False` to ensure consistent results. If it is set to `True`, running the SVM multiple times on the same data set might result in different outcomes due to `max_iter` being to low for the algorithm to reach the demanded `tol`. Increasing `max_iter` solves this issue but causes the procedure to take longer time.
The parameter `nu`, *very* broadly, is the amount of data points that should be considered outliers and should be between 0 and 1.
### Identifying outliers with DBSCAN
You can configure FreqAI to use DBSCAN to cluster and remove outliers from the training/test data set or incoming outliers from predictions, by activating `use_DBSCAN_to_remove_outliers` in the config:
```json
"freqai": {
"feature_parameters" : {
"use_DBSCAN_to_remove_outliers": true
}
}
```
DBSCAN is an unsupervised machine learning algorithm that clusters data without needing to know how many clusters there should be.
Given a number of data points $N$, and a distance $\varepsilon$, DBSCAN clusters the data set by setting all data points that have $N-1$ other data points within a distance of $\varepsilon$ as *core points*. A data point that is within a distance of $\varepsilon$ from a *core point* but that does not have $N-1$ other data points within a distance of $\varepsilon$ from itself is considered an *edge point*. A cluster is then the collection of *core points* and *edge points*. Data points that have no other data points at a distance $<\varepsilon$ are considered outliers. The figure below shows a cluster with $N = 3$.
![dbscan](assets/freqai_dbscan.jpg)
FreqAI uses `sklearn.cluster.DBSCAN` (details are available on scikit-learn's webpage [here](https://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html) (external website)) with `min_samples` ($N$) taken as 1/4 of the no. of time points (candles) in the feature set. `eps` ($\varepsilon$) is computed automatically as the elbow point in the *k-distance graph* computed from the nearest neighbors in the pairwise distances of all data points in the feature set.

View File

@ -0,0 +1,117 @@
# Parameter table
The table below will list all configuration parameters available for FreqAI. Some of the parameters are exemplified in `config_examples/config_freqai.example.json`.
Mandatory parameters are marked as **Required** and have to be set in one of the suggested ways.
### General configuration parameters
| Parameter | Description |
|------------|-------------|
| | **General configuration parameters within the `config.freqai` tree**
| `freqai` | **Required.** <br> The parent dictionary containing all the parameters for controlling FreqAI. <br> **Datatype:** Dictionary.
| `train_period_days` | **Required.** <br> Number of days to use for the training data (width of the sliding window). <br> **Datatype:** Positive integer.
| `backtest_period_days` | **Required.** <br> Number of days to inference from the trained model before sliding the `train_period_days` window defined above, and retraining the model during backtesting (more info [here](freqai-running.md#backtesting)). This can be fractional days, but beware that the provided `timerange` will be divided by this number to yield the number of trainings necessary to complete the backtest. <br> **Datatype:** Float.
| `identifier` | **Required.** <br> A unique ID for the current model. If models are saved to disk, the `identifier` allows for reloading specific pre-trained models/data. <br> **Datatype:** String.
| `live_retrain_hours` | Frequency of retraining during dry/live runs. <br> **Datatype:** Float > 0. <br> Default: `0` (models retrain as often as possible).
| `expiration_hours` | Avoid making predictions if a model is more than `expiration_hours` old. <br> **Datatype:** Positive integer. <br> Default: `0` (models never expire).
| `purge_old_models` | Number of models to keep on disk (not relevant to backtesting). Default is 2, which means that dry/live runs will keep the latest 2 models on disk. Setting to 0 keeps all models. This parameter also accepts a boolean to maintain backwards compatibility. <br> **Datatype:** Integer. <br> Default: `2`.
| `save_backtest_models` | Save models to disk when running backtesting. Backtesting operates most efficiently by saving the prediction data and reusing them directly for subsequent runs (when you wish to tune entry/exit parameters). Saving backtesting models to disk also allows to use the same model files for starting a dry/live instance with the same model `identifier`. <br> **Datatype:** Boolean. <br> Default: `False` (no models are saved).
| `fit_live_predictions_candles` | Number of historical candles to use for computing target (label) statistics from prediction data, instead of from the training dataset (more information can be found [here](freqai-configuration.md#creating-a-dynamic-target-threshold)). <br> **Datatype:** Positive integer.
| `continual_learning` | Use the final state of the most recently trained model as starting point for the new model, allowing for incremental learning (more information can be found [here](freqai-running.md#continual-learning)). <br> **Datatype:** Boolean. <br> Default: `False`.
| `write_metrics_to_disk` | Collect train timings, inference timings and cpu usage in json file. <br> **Datatype:** Boolean. <br> Default: `False`
| `data_kitchen_thread_count` | <br> Designate the number of threads you want to use for data processing (outlier methods, normalization, etc.). This has no impact on the number of threads used for training. If user does not set it (default), FreqAI will use max number of threads - 2 (leaving 1 physical core available for Freqtrade bot and FreqUI) <br> **Datatype:** Positive integer.
### Feature parameters
| Parameter | Description |
|------------|-------------|
| | **Feature parameters within the `freqai.feature_parameters` sub dictionary**
| `feature_parameters` | A dictionary containing the parameters used to engineer the feature set. Details and examples are shown [here](freqai-feature-engineering.md). <br> **Datatype:** Dictionary.
| `include_timeframes` | A list of timeframes that all indicators in `feature_engineering_expand_*()` will be created for. The list is added as features to the base indicators dataset. <br> **Datatype:** List of timeframes (strings).
| `include_corr_pairlist` | A list of correlated coins that FreqAI will add as additional features to all `pair_whitelist` coins. All indicators set in `feature_engineering_expand_*()` during feature engineering (see details [here](freqai-feature-engineering.md)) will be created for each correlated coin. The correlated coins features are added to the base indicators dataset. <br> **Datatype:** List of assets (strings).
| `label_period_candles` | Number of candles into the future that the labels are created for. This is used in `feature_engineering_expand_all()` (see `templates/FreqaiExampleStrategy.py` for detailed usage). You can create custom labels and choose whether to make use of this parameter or not. <br> **Datatype:** Positive integer.
| `include_shifted_candles` | Add features from previous candles to subsequent candles with the intent of adding historical information. If used, FreqAI will duplicate and shift all features from the `include_shifted_candles` previous candles so that the information is available for the subsequent candle. <br> **Datatype:** Positive integer.
| `weight_factor` | Weight training data points according to their recency (see details [here](freqai-feature-engineering.md#weighting-features-for-temporal-importance)). <br> **Datatype:** Positive float (typically < 1).
| `indicator_max_period_candles` | **No longer used (#7325)**. Replaced by `startup_candle_count` which is set in the [strategy](freqai-configuration.md#building-a-freqai-strategy). `startup_candle_count` is timeframe independent and defines the maximum *period* used in `feature_engineering_*()` for indicator creation. FreqAI uses this parameter together with the maximum timeframe in `include_time_frames` to calculate how many data points to download such that the first data point does not include a NaN. <br> **Datatype:** Positive integer.
| `indicator_periods_candles` | Time periods to calculate indicators for. The indicators are added to the base indicator dataset. <br> **Datatype:** List of positive integers.
| `principal_component_analysis` | Automatically reduce the dimensionality of the data set using Principal Component Analysis. See details about how it works [here](#reducing-data-dimensionality-with-principal-component-analysis) <br> **Datatype:** Boolean. <br> Default: `False`.
| `plot_feature_importances` | Create a feature importance plot for each model for the top/bottom `plot_feature_importances` number of features. Plot is stored in `user_data/models/<identifier>/sub-train-<COIN>_<timestamp>.html`. <br> **Datatype:** Integer. <br> Default: `0`.
| `DI_threshold` | Activates the use of the Dissimilarity Index for outlier detection when set to > 0. See details about how it works [here](freqai-feature-engineering.md#identifying-outliers-with-the-dissimilarity-index-di). <br> **Datatype:** Positive float (typically < 1).
| `use_SVM_to_remove_outliers` | Train a support vector machine to detect and remove outliers from the training dataset, as well as from incoming data points. See details about how it works [here](freqai-feature-engineering.md#identifying-outliers-using-a-support-vector-machine-svm). <br> **Datatype:** Boolean.
| `svm_params` | All parameters available in Sklearn's `SGDOneClassSVM()`. See details about some select parameters [here](freqai-feature-engineering.md#identifying-outliers-using-a-support-vector-machine-svm). <br> **Datatype:** Dictionary.
| `use_DBSCAN_to_remove_outliers` | Cluster data using the DBSCAN algorithm to identify and remove outliers from training and prediction data. See details about how it works [here](freqai-feature-engineering.md#identifying-outliers-with-dbscan). <br> **Datatype:** Boolean.
| `inlier_metric_window` | If set, FreqAI adds an `inlier_metric` to the training feature set and set the lookback to be the `inlier_metric_window`, i.e., the number of previous time points to compare the current candle to. Details of how the `inlier_metric` is computed can be found [here](freqai-feature-engineering.md#inlier-metric). <br> **Datatype:** Integer. <br> Default: `0`.
| `noise_standard_deviation` | If set, FreqAI adds noise to the training features with the aim of preventing overfitting. FreqAI generates random deviates from a gaussian distribution with a standard deviation of `noise_standard_deviation` and adds them to all data points. `noise_standard_deviation` should be kept relative to the normalized space, i.e., between -1 and 1. In other words, since data in FreqAI is always normalized to be between -1 and 1, `noise_standard_deviation: 0.05` would result in 32% of the data being randomly increased/decreased by more than 2.5% (i.e., the percent of data falling within the first standard deviation). <br> **Datatype:** Integer. <br> Default: `0`.
| `outlier_protection_percentage` | Enable to prevent outlier detection methods from discarding too much data. If more than `outlier_protection_percentage` % of points are detected as outliers by the SVM or DBSCAN, FreqAI will log a warning message and ignore outlier detection, i.e., the original dataset will be kept intact. If the outlier protection is triggered, no predictions will be made based on the training dataset. <br> **Datatype:** Float. <br> Default: `30`.
| `reverse_train_test_order` | Split the feature dataset (see below) and use the latest data split for training and test on historical split of the data. This allows the model to be trained up to the most recent data point, while avoiding overfitting. However, you should be careful to understand the unorthodox nature of this parameter before employing it. <br> **Datatype:** Boolean. <br> Default: `False` (no reversal).
| `shuffle_after_split` | Split the data into train and test sets, and then shuffle both sets individually. <br> **Datatype:** Boolean. <br> Default: `False`.
| `buffer_train_data_candles` | Cut `buffer_train_data_candles` off the beginning and end of the training data *after* the indicators were populated. The main example use is when predicting maxima and minima, the argrelextrema function cannot know the maxima/minima at the edges of the timerange. To improve model accuracy, it is best to compute argrelextrema on the full timerange and then use this function to cut off the edges (buffer) by the kernel. In another case, if the targets are set to a shifted price movement, this buffer is unnecessary because the shifted candles at the end of the timerange will be NaN and FreqAI will automatically cut those off of the training dataset.<br> **Datatype:** Integer. <br> Default: `0`.
### Data split parameters
| Parameter | Description |
|------------|-------------|
| | **Data split parameters within the `freqai.data_split_parameters` sub dictionary**
| `data_split_parameters` | Include any additional parameters available from scikit-learn `test_train_split()`, which are shown [here](https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html) (external website). <br> **Datatype:** Dictionary.
| `test_size` | The fraction of data that should be used for testing instead of training. <br> **Datatype:** Positive float < 1.
| `shuffle` | Shuffle the training data points during training. Typically, to not remove the chronological order of data in time-series forecasting, this is set to `False`. <br> **Datatype:** Boolean. <br> Defaut: `False`.
### Model training parameters
| Parameter | Description |
|------------|-------------|
| | **Model training parameters within the `freqai.model_training_parameters` sub dictionary**
| `model_training_parameters` | A flexible dictionary that includes all parameters available by the selected model library. For example, if you use `LightGBMRegressor`, this dictionary can contain any parameter available by the `LightGBMRegressor` [here](https://lightgbm.readthedocs.io/en/latest/pythonapi/lightgbm.LGBMRegressor.html) (external website). If you select a different model, this dictionary can contain any parameter from that model. A list of the currently available models can be found [here](freqai-configuration.md#using-different-prediction-models). <br> **Datatype:** Dictionary.
| `n_estimators` | The number of boosted trees to fit in the training of the model. <br> **Datatype:** Integer.
| `learning_rate` | Boosting learning rate during training of the model. <br> **Datatype:** Float.
| `n_jobs`, `thread_count`, `task_type` | Set the number of threads for parallel processing and the `task_type` (`gpu` or `cpu`). Different model libraries use different parameter names. <br> **Datatype:** Float.
### Reinforcement Learning parameters
| Parameter | Description |
|------------|-------------|
| | **Reinforcement Learning Parameters within the `freqai.rl_config` sub dictionary**
| `rl_config` | A dictionary containing the control parameters for a Reinforcement Learning model. <br> **Datatype:** Dictionary.
| `train_cycles` | Training time steps will be set based on the `train_cycles * number of training data points. <br> **Datatype:** Integer.
| `cpu_count` | Number of processors to dedicate to the Reinforcement Learning training process. <br> **Datatype:** int.
| `max_trade_duration_candles`| Guides the agent training to keep trades below desired length. Example usage shown in `prediction_models/ReinforcementLearner.py` within the customizable `calculate_reward()` function. <br> **Datatype:** int.
| `model_type` | Model string from stable_baselines3 or SBcontrib. Available strings include: `'TRPO', 'ARS', 'RecurrentPPO', 'MaskablePPO', 'PPO', 'A2C', 'DQN'`. User should ensure that `model_training_parameters` match those available to the corresponding stable_baselines3 model by visiting their documentaiton. [PPO doc](https://stable-baselines3.readthedocs.io/en/master/modules/ppo.html) (external website) <br> **Datatype:** string.
| `policy_type` | One of the available policy types from stable_baselines3 <br> **Datatype:** string.
| `max_training_drawdown_pct` | The maximum drawdown that the agent is allowed to experience during training. <br> **Datatype:** float. <br> Default: 0.8
| `cpu_count` | Number of threads/cpus to dedicate to the Reinforcement Learning training process (depending on if `ReinforcementLearning_multiproc` is selected or not). Recommended to leave this untouched, by default, this value is set to the total number of physical cores minus 1. <br> **Datatype:** int.
| `model_reward_parameters` | Parameters used inside the customizable `calculate_reward()` function in `ReinforcementLearner.py` <br> **Datatype:** int.
| `add_state_info` | Tell FreqAI to include state information in the feature set for training and inferencing. The current state variables include trade duration, current profit, trade position. This is only available in dry/live runs, and is automatically switched to false for backtesting. <br> **Datatype:** bool. <br> Default: `False`.
| `net_arch` | Network architecture which is well described in [`stable_baselines3` doc](https://stable-baselines3.readthedocs.io/en/master/guide/custom_policy.html#examples). In summary: `[<shared layers>, dict(vf=[<non-shared value network layers>], pi=[<non-shared policy network layers>])]`. By default this is set to `[128, 128]`, which defines 2 shared hidden layers with 128 units each.
| `randomize_starting_position` | Randomize the starting point of each episode to avoid overfitting. <br> **Datatype:** bool. <br> Default: `False`.
| `drop_ohlc_from_features` | Do not include the normalized ohlc data in the feature set passed to the agent during training (ohlc will still be used for driving the environment in all cases) <br> **Datatype:** Boolean. <br> **Default:** `False`
### PyTorch parameters
#### general
| Parameter | Description |
|------------|-------------|
| | **Model training parameters within the `freqai.model_training_parameters` sub dictionary**
| `learning_rate` | Learning rate to be passed to the optimizer. <br> **Datatype:** float. <br> Default: `3e-4`.
| `model_kwargs` | Parameters to be passed to the model class. <br> **Datatype:** dict. <br> Default: `{}`.
| `trainer_kwargs` | Parameters to be passed to the trainer class. <br> **Datatype:** dict. <br> Default: `{}`.
#### trainer_kwargs
| Parameter | Description |
|------------|-------------|
| | **Model training parameters within the `freqai.model_training_parameters.model_kwargs` sub dictionary**
| `max_iters` | The number of training iterations to run. iteration here refers to the number of times we call self.optimizer.step(). used to calculate n_epochs. <br> **Datatype:** int. <br> Default: `100`.
| `batch_size` | The size of the batches to use during training.. <br> **Datatype:** int. <br> Default: `64`.
| `max_n_eval_batches` | The maximum number batches to use for evaluation.. <br> **Datatype:** int, optional. <br> Default: `None`.
### Additional parameters
| Parameter | Description |
|------------|-------------|
| | **Extraneous parameters**
| `freqai.keras` | If the selected model makes use of Keras (typical for TensorFlow-based prediction models), this flag needs to be activated so that the model save/loading follows Keras standards. <br> **Datatype:** Boolean. <br> Default: `False`.
| `freqai.conv_width` | The width of a convolutional neural network input tensor. This replaces the need for shifting candles (`include_shifted_candles`) by feeding in historical data points as the second dimension of the tensor. Technically, this parameter can also be used for regressors, but it only adds computational overhead and does not change the model training/prediction. <br> **Datatype:** Integer. <br> Default: `2`.
| `freqai.reduce_df_footprint` | Recast all numeric columns to float32/int32, with the objective of reducing ram/disk usage and decreasing train/inference timing. This parameter is set in the main level of the Freqtrade configuration file (not inside FreqAI). <br> **Datatype:** Boolean. <br> Default: `False`.

View File

@ -0,0 +1,269 @@
# Reinforcement Learning
!!! Note "Installation size"
Reinforcement learning dependencies include large packages such as `torch`, which should be explicitly requested during `./setup.sh -i` by answering "y" to the question "Do you also want dependencies for freqai-rl (~700mb additional space required) [y/N]?".
Users who prefer docker should ensure they use the docker image appended with `_freqairl`.
## Background and terminology
### What is RL and why does FreqAI need it?
Reinforcement learning involves two important components, the *agent* and the training *environment*. During agent training, the agent moves through historical data candle by candle, always making 1 of a set of actions: Long entry, long exit, short entry, short exit, neutral). During this training process, the environment tracks the performance of these actions and rewards the agent according to a custom user made `calculate_reward()` (here we offer a default reward for users to build on if they wish [details here](#creating-a-custom-reward-function)). The reward is used to train weights in a neural network.
A second important component of the FreqAI RL implementation is the use of *state* information. State information is fed into the network at each step, including current profit, current position, and current trade duration. These are used to train the agent in the training environment, and to reinforce the agent in dry/live (this functionality is not available in backtesting). *FreqAI + Freqtrade is a perfect match for this reinforcing mechanism since this information is readily available in live deployments.*
Reinforcement learning is a natural progression for FreqAI, since it adds a new layer of adaptivity and market reactivity that Classifiers and Regressors cannot match. However, Classifiers and Regressors have strengths that RL does not have such as robust predictions. Improperly trained RL agents may find "cheats" and "tricks" to maximize reward without actually winning any trades. For this reason, RL is more complex and demands a higher level of understanding than typical Classifiers and Regressors.
### The RL interface
With the current framework, we aim to expose the training environment via the common "prediction model" file, which is a user inherited `BaseReinforcementLearner` object (e.g. `freqai/prediction_models/ReinforcementLearner`). Inside this user class, the RL environment is available and customized via `MyRLEnv` as [shown below](#creating-a-custom-reward-function).
We envision the majority of users focusing their effort on creative design of the `calculate_reward()` function [details here](#creating-a-custom-reward-function), while leaving the rest of the environment untouched. Other users may not touch the environment at all, and they will only play with the configuration settings and the powerful feature engineering that already exists in FreqAI. Meanwhile, we enable advanced users to create their own model classes entirely.
The framework is built on stable_baselines3 (torch) and OpenAI gym for the base environment class. But generally speaking, the model class is well isolated. Thus, the addition of competing libraries can be easily integrated into the existing framework. For the environment, it is inheriting from `gym.env` which means that it is necessary to write an entirely new environment in order to switch to a different library.
### Important considerations
As explained above, the agent is "trained" in an artificial trading "environment". In our case, that environment may seem quite similar to a real Freqtrade backtesting environment, but it is *NOT*. In fact, the RL training environment is much more simplified. It does not incorporate any of the complicated strategy logic, such as callbacks like `custom_exit`, `custom_stoploss`, leverage controls, etc. The RL environment is instead a very "raw" representation of the true market, where the agent has free will to learn the policy (read: stoploss, take profit, etc.) which is enforced by the `calculate_reward()`. Thus, it is important to consider that the agent training environment is not identical to the real world.
## Running Reinforcement Learning
Setting up and running a Reinforcement Learning model is the same as running a Regressor or Classifier. The same two flags, `--freqaimodel` and `--strategy`, must be defined on the command line:
```bash
freqtrade trade --freqaimodel ReinforcementLearner --strategy MyRLStrategy --config config.json
```
where `ReinforcementLearner` will use the templated `ReinforcementLearner` from `freqai/prediction_models/ReinforcementLearner` (or a custom user defined one located in `user_data/freqaimodels`). The strategy, on the other hand, follows the same base [feature engineering](freqai-feature-engineering.md) with `feature_engineering_*` as a typical Regressor. The difference lies in the creation of the targets, Reinforcement Learning doesn't require them. However, FreqAI requires a default (neutral) value to be set in the action column:
```python
def set_freqai_targets(self, dataframe, **kwargs):
"""
*Only functional with FreqAI enabled strategies*
Required function to set the targets for the model.
All targets must be prepended with `&` to be recognized by the FreqAI internals.
More details about feature engineering available:
https://www.freqtrade.io/en/latest/freqai-feature-engineering
:param df: strategy dataframe which will receive the targets
usage example: dataframe["&-target"] = dataframe["close"].shift(-1) / dataframe["close"]
"""
# For RL, there are no direct targets to set. This is filler (neutral)
# until the agent sends an action.
dataframe["&-action"] = 0
```
Most of the function remains the same as for typical Regressors, however, the function below shows how the strategy must pass the raw price data to the agent so that it has access to raw OHLCV in the training environment:
```python
def feature_engineering_standard(self, dataframe, **kwargs):
# The following features are necessary for RL models
dataframe[f"%-raw_close"] = dataframe["close"]
dataframe[f"%-raw_open"] = dataframe["open"]
dataframe[f"%-raw_high"] = dataframe["high"]
dataframe[f"%-raw_low"] = dataframe["low"]
```
Finally, there is no explicit "label" to make - instead it is necessary to assign the `&-action` column which will contain the agent's actions when accessed in `populate_entry/exit_trends()`. In the present example, the neutral action to 0. This value should align with the environment used. FreqAI provides two environments, both use 0 as the neutral action.
After users realize there are no labels to set, they will soon understand that the agent is making its "own" entry and exit decisions. This makes strategy construction rather simple. The entry and exit signals come from the agent in the form of an integer - which are used directly to decide entries and exits in the strategy:
```python
def populate_entry_trend(self, df: DataFrame, metadata: dict) -> DataFrame:
enter_long_conditions = [df["do_predict"] == 1, df["&-action"] == 1]
if enter_long_conditions:
df.loc[
reduce(lambda x, y: x & y, enter_long_conditions), ["enter_long", "enter_tag"]
] = (1, "long")
enter_short_conditions = [df["do_predict"] == 1, df["&-action"] == 3]
if enter_short_conditions:
df.loc[
reduce(lambda x, y: x & y, enter_short_conditions), ["enter_short", "enter_tag"]
] = (1, "short")
return df
def populate_exit_trend(self, df: DataFrame, metadata: dict) -> DataFrame:
exit_long_conditions = [df["do_predict"] == 1, df["&-action"] == 2]
if exit_long_conditions:
df.loc[reduce(lambda x, y: x & y, exit_long_conditions), "exit_long"] = 1
exit_short_conditions = [df["do_predict"] == 1, df["&-action"] == 4]
if exit_short_conditions:
df.loc[reduce(lambda x, y: x & y, exit_short_conditions), "exit_short"] = 1
return df
```
It is important to consider that `&-action` depends on which environment they choose to use. The example above shows 5 actions, where 0 is neutral, 1 is enter long, 2 is exit long, 3 is enter short and 4 is exit short.
## Configuring the Reinforcement Learner
In order to configure the `Reinforcement Learner` the following dictionary must exist in the `freqai` config:
```json
"rl_config": {
"train_cycles": 25,
"add_state_info": true,
"max_trade_duration_candles": 300,
"max_training_drawdown_pct": 0.02,
"cpu_count": 8,
"model_type": "PPO",
"policy_type": "MlpPolicy",
"model_reward_parameters": {
"rr": 1,
"profit_aim": 0.025
}
}
```
Parameter details can be found [here](freqai-parameter-table.md), but in general the `train_cycles` decides how many times the agent should cycle through the candle data in its artificial environment to train weights in the model. `model_type` is a string which selects one of the available models in [stable_baselines](https://stable-baselines3.readthedocs.io/en/master/)(external link).
!!! Note
If you would like to experiment with `continual_learning`, then you should set that value to `true` in the main `freqai` configuration dictionary. This will tell the Reinforcement Learning library to continue training new models from the final state of previous models, instead of retraining new models from scratch each time a retrain is initiated.
!!! Note
Remember that the general `model_training_parameters` dictionary should contain all the model hyperparameter customizations for the particular `model_type`. For example, `PPO` parameters can be found [here](https://stable-baselines3.readthedocs.io/en/master/modules/ppo.html).
## Creating a custom reward function
As you begin to modify the strategy and the prediction model, you will quickly realize some important differences between the Reinforcement Learner and the Regressors/Classifiers. Firstly, the strategy does not set a target value (no labels!). Instead, you set the `calculate_reward()` function inside the `MyRLEnv` class (see below). A default `calculate_reward()` is provided inside `prediction_models/ReinforcementLearner.py` to demonstrate the necessary building blocks for creating rewards, but users are encouraged to create their own custom reinforcement learning model class (see below) and save it to `user_data/freqaimodels`. It is inside the `calculate_reward()` where creative theories about the market can be expressed. For example, you can reward your agent when it makes a winning trade, and penalize the agent when it makes a losing trade. Or perhaps, you wish to reward the agent for entering trades, and penalize the agent for sitting in trades too long. Below we show examples of how these rewards are all calculated:
```python
from freqtrade.freqai.prediction_models.ReinforcementLearner import ReinforcementLearner
from freqtrade.freqai.RL.Base5ActionRLEnv import Actions, Base5ActionRLEnv, Positions
class MyCoolRLModel(ReinforcementLearner):
"""
User created RL prediction model.
Save this file to `freqtrade/user_data/freqaimodels`
then use it with:
freqtrade trade --freqaimodel MyCoolRLModel --config config.json --strategy SomeCoolStrat
Here the users can override any of the functions
available in the `IFreqaiModel` inheritance tree. Most importantly for RL, this
is where the user overrides `MyRLEnv` (see below), to define custom
`calculate_reward()` function, or to override any other parts of the environment.
This class also allows users to override any other part of the IFreqaiModel tree.
For example, the user can override `def fit()` or `def train()` or `def predict()`
to take fine-tuned control over these processes.
Another common override may be `def data_cleaning_predict()` where the user can
take fine-tuned control over the data handling pipeline.
"""
class MyRLEnv(Base5ActionRLEnv):
"""
User made custom environment. This class inherits from BaseEnvironment and gym.env.
Users can override any functions from those parent classes. Here is an example
of a user customized `calculate_reward()` function.
"""
def calculate_reward(self, action: int) -> float:
# first, penalize if the action is not valid
if not self._is_valid(action):
return -2
pnl = self.get_unrealized_profit()
factor = 100
pair = self.pair.replace(':', '')
# you can use feature values from dataframe
# Assumes the shifted RSI indicator has been generated in the strategy.
rsi_now = self.raw_features[f"%-rsi-period_10_shift-1_{pair}_"
f"{self.config['timeframe']}"].iloc[self._current_tick]
# reward agent for entering trades
if (action in (Actions.Long_enter.value, Actions.Short_enter.value)
and self._position == Positions.Neutral):
if rsi_now < 40:
factor = 40 / rsi_now
else:
factor = 1
return 25 * factor
# discourage agent from not entering trades
if action == Actions.Neutral.value and self._position == Positions.Neutral:
return -1
max_trade_duration = self.rl_config.get('max_trade_duration_candles', 300)
trade_duration = self._current_tick - self._last_trade_tick
if trade_duration <= max_trade_duration:
factor *= 1.5
elif trade_duration > max_trade_duration:
factor *= 0.5
# discourage sitting in position
if self._position in (Positions.Short, Positions.Long) and \
action == Actions.Neutral.value:
return -1 * trade_duration / max_trade_duration
# close long
if action == Actions.Long_exit.value and self._position == Positions.Long:
if pnl > self.profit_aim * self.rr:
factor *= self.rl_config['model_reward_parameters'].get('win_reward_factor', 2)
return float(pnl * factor)
# close short
if action == Actions.Short_exit.value and self._position == Positions.Short:
if pnl > self.profit_aim * self.rr:
factor *= self.rl_config['model_reward_parameters'].get('win_reward_factor', 2)
return float(pnl * factor)
return 0.
```
### Using Tensorboard
Reinforcement Learning models benefit from tracking training metrics. FreqAI has integrated Tensorboard to allow users to track training and evaluation performance across all coins and across all retrainings. Tensorboard is activated via the following command:
```bash
cd freqtrade
tensorboard --logdir user_data/models/unique-id
```
where `unique-id` is the `identifier` set in the `freqai` configuration file. This command must be run in a separate shell to view the output in their browser at 127.0.0.1:6006 (6006 is the default port used by Tensorboard).
![tensorboard](assets/tensorboard.jpg)
### Custom logging
FreqAI also provides a built in episodic summary logger called `self.tensorboard_log` for adding custom information to the Tensorboard log. By default, this function is already called once per step inside the environment to record the agent actions. All values accumulated for all steps in a single episode are reported at the conclusion of each episode, followed by a full reset of all metrics to 0 in preparation for the subsequent episode.
`self.tensorboard_log` can also be used anywhere inside the environment, for example, it can be added to the `calculate_reward` function to collect more detailed information about how often various parts of the reward were called:
```py
class MyRLEnv(Base5ActionRLEnv):
"""
User made custom environment. This class inherits from BaseEnvironment and gym.env.
Users can override any functions from those parent classes. Here is an example
of a user customized `calculate_reward()` function.
"""
def calculate_reward(self, action: int) -> float:
if not self._is_valid(action):
self.tensorboard_log("invalid")
return -2
```
!!! Note
The `self.tensorboard_log()` function is designed for tracking incremented objects only i.e. events, actions inside the training environment. If the event of interest is a float, the float can be passed as the second argument e.g. `self.tensorboard_log("float_metric1", 0.23)`. In this case the metric values are not incremented.
### Choosing a base environment
FreqAI provides three base environments, `Base3ActionRLEnvironment`, `Base4ActionEnvironment` and `Base5ActionEnvironment`. As the names imply, the environments are customized for agents that can select from 3, 4 or 5 actions. The `Base3ActionEnvironment` is the simplest, the agent can select from hold, long, or short. This environment can also be used for long-only bots (it automatically follows the `can_short` flag from the strategy), where long is the enter condition and short is the exit condition. Meanwhile, in the `Base4ActionEnvironment`, the agent can enter long, enter short, hold neutral, or exit position. Finally, in the `Base5ActionEnvironment`, the agent has the same actions as Base4, but instead of a single exit action, it separates exit long and exit short. The main changes stemming from the environment selection include:
* the actions available in the `calculate_reward`
* the actions consumed by the user strategy
All of the FreqAI provided environments inherit from an action/position agnostic environment object called the `BaseEnvironment`, which contains all shared logic. The architecture is designed to be easily customized. The simplest customization is the `calculate_reward()` (see details [here](#creating-a-custom-reward-function)). However, the customizations can be further extended into any of the functions inside the environment. You can do this by simply overriding those functions inside your `MyRLEnv` in the prediction model file. Or for more advanced customizations, it is encouraged to create an entirely new environment inherited from `BaseEnvironment`.
!!! Note
Only the `Base3ActionRLEnv` can do long-only training/trading (set the user strategy attribute `can_short = False`).

170
docs/freqai-running.md Normal file
View File

@ -0,0 +1,170 @@
# Running FreqAI
There are two ways to train and deploy an adaptive machine learning model - live deployment and historical backtesting. In both cases, FreqAI runs/simulates periodic retraining of models as shown in the following figure:
![freqai-window](assets/freqai_moving-window.jpg)
## Live deployments
FreqAI can be run dry/live using the following command:
```bash
freqtrade trade --strategy FreqaiExampleStrategy --config config_freqai.example.json --freqaimodel LightGBMRegressor
```
When launched, FreqAI will start training a new model, with a new `identifier`, based on the config settings. Following training, the model will be used to make predictions on incoming candles until a new model is available. New models are typically generated as often as possible, with FreqAI managing an internal queue of the coin pairs to try to keep all models equally up to date. FreqAI will always use the most recently trained model to make predictions on incoming live data. If you do not want FreqAI to retrain new models as often as possible, you can set `live_retrain_hours` to tell FreqAI to wait at least that number of hours before training a new model. Additionally, you can set `expired_hours` to tell FreqAI to avoid making predictions on models that are older than that number of hours.
Trained models are by default saved to disk to allow for reuse during backtesting or after a crash. You can opt to [purge old models](#purging-old-model-data) to save disk space by setting `"purge_old_models": true` in the config.
To start a dry/live run from a saved backtest model (or from a previously crashed dry/live session), you only need to specify the `identifier` of the specific model:
```json
"freqai": {
"identifier": "example",
"live_retrain_hours": 0.5
}
```
In this case, although FreqAI will initiate with a pre-trained model, it will still check to see how much time has elapsed since the model was trained. If a full `live_retrain_hours` has elapsed since the end of the loaded model, FreqAI will start training a new model.
### Automatic data download
FreqAI automatically downloads the proper amount of data needed to ensure training of a model through the defined `train_period_days` and `startup_candle_count` (see the [parameter table](freqai-parameter-table.md) for detailed descriptions of these parameters).
### Saving prediction data
All predictions made during the lifetime of a specific `identifier` model are stored in `historic_predictions.pkl` to allow for reloading after a crash or changes made to the config.
### Purging old model data
FreqAI stores new model files after each successful training. These files become obsolete as new models are generated to adapt to new market conditions. If you are planning to leave FreqAI running for extended periods of time with high frequency retraining, you should enable `purge_old_models` in the config:
```json
"freqai": {
"purge_old_models": true,
}
```
This will automatically purge all models older than the two most recently trained ones to save disk space.
## Backtesting
The FreqAI backtesting module can be executed with the following command:
```bash
freqtrade backtesting --strategy FreqaiExampleStrategy --strategy-path freqtrade/templates --config config_examples/config_freqai.example.json --freqaimodel LightGBMRegressor --timerange 20210501-20210701
```
If this command has never been executed with the existing config file, FreqAI will train a new model
for each pair, for each backtesting window within the expanded `--timerange`.
Backtesting mode requires [downloading the necessary data](#downloading-data-to-cover-the-full-backtest-period) before deployment (unlike in dry/live mode where FreqAI handles the data downloading automatically). You should be careful to consider that the time range of the downloaded data is more than the backtesting time range. This is because FreqAI needs data prior to the desired backtesting time range in order to train a model to be ready to make predictions on the first candle of the set backtesting time range. More details on how to calculate the data to download can be found [here](#deciding-the-size-of-the-sliding-training-window-and-backtesting-duration).
!!! Note "Model reuse"
Once the training is completed, you can execute the backtesting again with the same config file and
FreqAI will find the trained models and load them instead of spending time training. This is useful
if you want to tweak (or even hyperopt) buy and sell criteria inside the strategy. If you
*want* to retrain a new model with the same config file, you should simply change the `identifier`.
This way, you can return to using any model you wish by simply specifying the `identifier`.
!!! Note
Backtesting calls `set_freqai_targets()` one time for each backtest window (where the number of windows is the full backtest timerange divided by the `backtest_period_days` parameter). Doing this means that the targets simulate dry/live behavior without look ahead bias. However, the definition of the features in `feature_engineering_*()` is performed once on the entire backtest timerange. This means that you should be sure that features do look-ahead into the future.
More details about look-ahead bias can be found in [Common Mistakes](strategy-customization.md#common-mistakes-when-developing-strategies).
---
### Saving prediction data
To allow for tweaking your strategy (**not** the features!), FreqAI will automatically save the predictions during backtesting so that they can be reused for future backtests and live runs using the same `identifier` model. This provides a performance enhancement geared towards enabling **high-level hyperopting** of entry/exit criteria.
An additional directory called `backtesting_predictions`, which contains all the predictions stored in `hdf` format, will be created in the `unique-id` folder.
To change your **features**, you **must** set a new `identifier` in the config to signal to FreqAI to train new models.
To save the models generated during a particular backtest so that you can start a live deployment from one of them instead of training a new model, you must set `save_backtest_models` to `True` in the config.
### Backtest live collected predictions
FreqAI allow you to reuse live historic predictions through the backtest parameter `--freqai-backtest-live-models`. This can be useful when you want to reuse predictions generated in dry/run for comparison or other study.
The `--timerange` parameter must not be informed, as it will be automatically calculated through the data in the historic predictions file.
### Downloading data to cover the full backtest period
For live/dry deployments, FreqAI will download the necessary data automatically. However, to use backtesting functionality, you need to download the necessary data using `download-data` (details [here](data-download.md#data-downloading)). You need to pay careful attention to understanding how much *additional* data needs to be downloaded to ensure that there is a sufficient amount of training data *before* the start of the backtesting time range. The amount of additional data can be roughly estimated by moving the start date of the time range backwards by `train_period_days` and the `startup_candle_count` (see the [parameter table](freqai-parameter-table.md) for detailed descriptions of these parameters) from the beginning of the desired backtesting time range.
As an example, to backtest the `--timerange 20210501-20210701` using the [example config](freqai-configuration.md#setting-up-the-configuration-file) which sets `train_period_days` to 30, together with `startup_candle_count: 40` on a maximum `include_timeframes` of 1h, the start date for the downloaded data needs to be `20210501` - 30 days - 40 * 1h / 24 hours = 20210330 (31.7 days earlier than the start of the desired training time range).
### Deciding the size of the sliding training window and backtesting duration
The backtesting time range is defined with the typical `--timerange` parameter in the configuration file. The duration of the sliding training window is set by `train_period_days`, whilst `backtest_period_days` is the sliding backtesting window, both in number of days (`backtest_period_days` can be
a float to indicate sub-daily retraining in live/dry mode). In the presented [example config](freqai-configuration.md#setting-up-the-configuration-file) (found in `config_examples/config_freqai.example.json`), the user is asking FreqAI to use a training period of 30 days and backtest on the subsequent 7 days. After the training of the model, FreqAI will backtest the subsequent 7 days. The "sliding window" then moves one week forward (emulating FreqAI retraining once per week in live mode) and the new model uses the previous 30 days (including the 7 days used for backtesting by the previous model) to train. This is repeated until the end of `--timerange`. This means that if you set `--timerange 20210501-20210701`, FreqAI will have trained 8 separate models at the end of `--timerange` (because the full range comprises 8 weeks).
!!! Note
Although fractional `backtest_period_days` is allowed, you should be aware that the `--timerange` is divided by this value to determine the number of models that FreqAI will need to train in order to backtest the full range. For example, by setting a `--timerange` of 10 days, and a `backtest_period_days` of 0.1, FreqAI will need to train 100 models per pair to complete the full backtest. Because of this, a true backtest of FreqAI adaptive training would take a *very* long time. The best way to fully test a model is to run it dry and let it train constantly. In this case, backtesting would take the exact same amount of time as a dry run.
## Defining model expirations
During dry/live mode, FreqAI trains each coin pair sequentially (on separate threads/GPU from the main Freqtrade bot). This means that there is always an age discrepancy between models. If you are training on 50 pairs, and each pair requires 5 minutes to train, the oldest model will be over 4 hours old. This may be undesirable if the characteristic time scale (the trade duration target) for a strategy is less than 4 hours. You can decide to only make trade entries if the model is less than a certain number of hours old by setting the `expiration_hours` in the config file:
```json
"freqai": {
"expiration_hours": 0.5,
}
```
In the presented example config, the user will only allow predictions on models that are less than 1/2 hours old.
## Controlling the model learning process
Model training parameters are unique to the selected machine learning library. FreqAI allows you to set any parameter for any library using the `model_training_parameters` dictionary in the config. The example config (found in `config_examples/config_freqai.example.json`) shows some of the example parameters associated with `Catboost` and `LightGBM`, but you can add any parameters available in those libraries or any other machine learning library you choose to implement.
Data split parameters are defined in `data_split_parameters` which can be any parameters associated with scikit-learn's `train_test_split()` function. `train_test_split()` has a parameters called `shuffle` which allows to shuffle the data or keep it unshuffled. This is particularly useful to avoid biasing training with temporally auto-correlated data. More details about these parameters can be found the [scikit-learn website](https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html) (external website).
The FreqAI specific parameter `label_period_candles` defines the offset (number of candles into the future) used for the `labels`. In the presented [example config](freqai-configuration.md#setting-up-the-configuration-file), the user is asking for `labels` that are 24 candles in the future.
## Continual learning
You can choose to adopt a continual learning scheme by setting `"continual_learning": true` in the config. By enabling `continual_learning`, after training an initial model from scratch, subsequent trainings will start from the final model state of the preceding training. This gives the new model a "memory" of the previous state. By default, this is set to `False` which means that all new models are trained from scratch, without input from previous models.
???+ danger "Continual learning enforces a constant parameter space"
Since `continual_learning` means that the model parameter space *cannot* change between trainings, `principal_component_analysis` is automatically disabled when `continual_learning` is enabled. Hint: PCA changes the parameter space and the number of features, learn more about PCA [here](freqai-feature-engineering.md#data-dimensionality-reduction-with-principal-component-analysis).
## Hyperopt
You can hyperopt using the same command as for [typical Freqtrade hyperopt](hyperopt.md):
```bash
freqtrade hyperopt --hyperopt-loss SharpeHyperOptLoss --strategy FreqaiExampleStrategy --freqaimodel LightGBMRegressor --strategy-path freqtrade/templates --config config_examples/config_freqai.example.json --timerange 20220428-20220507
```
`hyperopt` requires you to have the data pre-downloaded in the same fashion as if you were doing [backtesting](#backtesting). In addition, you must consider some restrictions when trying to hyperopt FreqAI strategies:
- The `--analyze-per-epoch` hyperopt parameter is not compatible with FreqAI.
- It's not possible to hyperopt indicators in the `feature_engineering_*()` and `set_freqai_targets()` functions. This means that you cannot optimize model parameters using hyperopt. Apart from this exception, it is possible to optimize all other [spaces](hyperopt.md#running-hyperopt-with-smaller-search-space).
- The backtesting instructions also apply to hyperopt.
The best method for combining hyperopt and FreqAI is to focus on hyperopting entry/exit thresholds/criteria. You need to focus on hyperopting parameters that are not used in your features. For example, you should not try to hyperopt rolling window lengths in the feature creation, or any part of the FreqAI config which changes predictions. In order to efficiently hyperopt the FreqAI strategy, FreqAI stores predictions as dataframes and reuses them. Hence the requirement to hyperopt entry/exit thresholds/criteria only.
A good example of a hyperoptable parameter in FreqAI is a threshold for the [Dissimilarity Index (DI)](freqai-feature-engineering.md#identifying-outliers-with-the-dissimilarity-index-di) `DI_values` beyond which we consider data points as outliers:
```python
di_max = IntParameter(low=1, high=20, default=10, space='buy', optimize=True, load=True)
dataframe['outlier'] = np.where(dataframe['DI_values'] > self.di_max.value/10, 1, 0)
```
This specific hyperopt would help you understand the appropriate `DI_values` for your particular parameter space.
## Using Tensorboard
CatBoost models benefit from tracking training metrics via Tensorboard. You can take advantage of the FreqAI integration to track training and evaluation performance across all coins and across all retrainings. Tensorboard is activated via the following command:
```bash
cd freqtrade
tensorboard --logdir user_data/models/unique-id
```
where `unique-id` is the `identifier` set in the `freqai` configuration file. This command must be run in a separate shell if you wish to view the output in your browser at 127.0.0.1:6060 (6060 is the default port used by Tensorboard).
![tensorboard](assets/tensorboard.jpg)

127
docs/freqai.md Normal file
View File

@ -0,0 +1,127 @@
![freqai-logo](assets/freqai_doc_logo.svg)
# FreqAI
## Introduction
FreqAI is a software designed to automate a variety of tasks associated with training a predictive machine learning model to generate market forecasts given a set of input signals. In general, FreqAI aims to be a sandbox for easily deploying robust machine learning libraries on real-time data ([details](#freqai-position-in-open-source-machine-learning-landscape)).
!!! Note
FreqAI is, and always will be, a not-for-profit, open-source project. FreqAI does *not* have a crypto token, FreqAI does *not* sell signals, and FreqAI does not have a domain besides the present [freqtrade documentation](https://www.freqtrade.io/en/latest/freqai/).
Features include:
* **Self-adaptive retraining** - Retrain models during [live deployments](freqai-running.md#live-deployments) to self-adapt to the market in a supervised manner
* **Rapid feature engineering** - Create large rich [feature sets](freqai-feature-engineering.md#feature-engineering) (10k+ features) based on simple user-created strategies
* **High performance** - Threading allows for adaptive model retraining on a separate thread (or on GPU if available) from model inferencing (prediction) and bot trade operations. Newest models and data are kept in RAM for rapid inferencing
* **Realistic backtesting** - Emulate self-adaptive training on historic data with a [backtesting module](freqai-running.md#backtesting) that automates retraining
* **Extensibility** - The generalized and robust architecture allows for incorporating any [machine learning library/method](freqai-configuration.md#using-different-prediction-models) available in Python. Eight examples are currently available, including classifiers, regressors, and a convolutional neural network
* **Smart outlier removal** - Remove outliers from training and prediction data sets using a variety of [outlier detection techniques](freqai-feature-engineering.md#outlier-detection)
* **Crash resilience** - Store trained models to disk to make reloading from a crash fast and easy, and [purge obsolete files](freqai-running.md#purging-old-model-data) for sustained dry/live runs
* **Automatic data normalization** - [Normalize the data](freqai-feature-engineering.md#feature-normalization) in a smart and statistically safe way
* **Automatic data download** - Compute timeranges for data downloads and update historic data (in live deployments)
* **Cleaning of incoming data** - Handle NaNs safely before training and model inferencing
* **Dimensionality reduction** - Reduce the size of the training data via [Principal Component Analysis](freqai-feature-engineering.md#data-dimensionality-reduction-with-principal-component-analysis)
* **Deploying bot fleets** - Set one bot to train models while a fleet of [consumers](producer-consumer.md) use signals.
## Quick start
The easiest way to quickly test FreqAI is to run it in dry mode with the following command:
```bash
freqtrade trade --config config_examples/config_freqai.example.json --strategy FreqaiExampleStrategy --freqaimodel LightGBMRegressor --strategy-path freqtrade/templates
```
You will see the boot-up process of automatic data downloading, followed by simultaneous training and trading.
An example strategy, prediction model, and config to use as a starting points can be found in
`freqtrade/templates/FreqaiExampleStrategy.py`, `freqtrade/freqai/prediction_models/LightGBMRegressor.py`, and
`config_examples/config_freqai.example.json`, respectively.
## General approach
You provide FreqAI with a set of custom *base indicators* (the same way as in a [typical Freqtrade strategy](strategy-customization.md)) as well as target values (*labels*). For each pair in the whitelist, FreqAI trains a model to predict the target values based on the input of custom indicators. The models are then consistently retrained, with a predetermined frequency, to adapt to market conditions. FreqAI offers the ability to both backtest strategies (emulating reality with periodic retraining on historic data) and deploy dry/live runs. In dry/live conditions, FreqAI can be set to constant retraining in a background thread to keep models as up to date as possible.
An overview of the algorithm, explaining the data processing pipeline and model usage, is shown below.
![freqai-algo](assets/freqai_algo.jpg)
### Important machine learning vocabulary
**Features** - the parameters, based on historic data, on which a model is trained. All features for a single candle are stored as a vector. In FreqAI, you build a feature data set from anything you can construct in the strategy.
**Labels** - the target values that the model is trained toward. Each feature vector is associated with a single label that is defined by you within the strategy. These labels intentionally look into the future and are what you are training the model to be able to predict.
**Training** - the process of "teaching" the model to match the feature sets to the associated labels. Different types of models "learn" in different ways which means that one might be better than another for a specific application. More information about the different models that are already implemented in FreqAI can be found [here](freqai-configuration.md#using-different-prediction-models).
**Train data** - a subset of the feature data set that is fed to the model during training to "teach" the model how to predict the targets. This data directly influences weight connections in the model.
**Test data** - a subset of the feature data set that is used to evaluate the performance of the model after training. This data does not influence nodal weights within the model.
**Inferencing** - the process of feeding a trained model new unseen data on which it will make a prediction.
## Install prerequisites
The normal Freqtrade install process will ask if you wish to install FreqAI dependencies. You should reply "yes" to this question if you wish to use FreqAI. If you did not reply yes, you can manually install these dependencies after the install with:
``` bash
pip install -r requirements-freqai.txt
```
!!! Note
Catboost will not be installed on arm devices (raspberry, Mac M1, ARM based VPS, ...), since it does not provide wheels for this platform.
!!! Note "python 3.11"
Some dependencies (Catboost, Torch) currently don't support python 3.11. Freqtrade therefore only supports python 3.10 for these models/dependencies.
Tests involving these dependencies are skipped on 3.11.
### Usage with docker
If you are using docker, a dedicated tag with FreqAI dependencies is available as `:freqai`. As such - you can replace the image line in your docker compose file with `image: freqtradeorg/freqtrade:develop_freqai`. This image contains the regular FreqAI dependencies. Similar to native installs, Catboost will not be available on ARM based devices.
### FreqAI position in open-source machine learning landscape
Forecasting chaotic time-series based systems, such as equity/cryptocurrency markets, requires a broad set of tools geared toward testing a wide range of hypotheses. Fortunately, a recent maturation of robust machine learning libraries (e.g. `scikit-learn`) has opened up a wide range of research possibilities. Scientists from a diverse range of fields can now easily prototype their studies on an abundance of established machine learning algorithms. Similarly, these user-friendly libraries enable "citzen scientists" to use their basic Python skills for data exploration. However, leveraging these machine learning libraries on historical and live chaotic data sources can be logistically difficult and expensive. Additionally, robust data collection, storage, and handling presents a disparate challenge. [`FreqAI`](#freqai) aims to provide a generalized and extensible open-sourced framework geared toward live deployments of adaptive modeling for market forecasting. The `FreqAI` framework is effectively a sandbox for the rich world of open-source machine learning libraries. Inside the `FreqAI` sandbox, users find they can combine a wide variety of third-party libraries to test creative hypotheses on a free live 24/7 chaotic data source - cryptocurrency exchange data.
### Citing FreqAI
FreqAI is [published in the Journal of Open Source Software](https://joss.theoj.org/papers/10.21105/joss.04864). If you find FreqAI useful in your research, please use the following citation:
```bibtex
@article{Caulk2022,
doi = {10.21105/joss.04864},
url = {https://doi.org/10.21105/joss.04864},
year = {2022}, publisher = {The Open Journal},
volume = {7}, number = {80}, pages = {4864},
author = {Robert A. Caulk and Elin Törnquist and Matthias Voppichler and Andrew R. Lawless and Ryan McMullan and Wagner Costa Santos and Timothy C. Pogue and Johan van der Vlugt and Stefan P. Gehring and Pascal Schmidt},
title = {FreqAI: generalizing adaptive modeling for chaotic time-series market forecasts},
journal = {Journal of Open Source Software} }
```
## Common pitfalls
FreqAI cannot be combined with dynamic `VolumePairlists` (or any pairlist filter that adds and removes pairs dynamically).
This is for performance reasons - FreqAI relies on making quick predictions/retrains. To do this effectively,
it needs to download all the training data at the beginning of a dry/live instance. FreqAI stores and appends
new candles automatically for future retrains. This means that if new pairs arrive later in the dry run due to a volume pairlist, it will not have the data ready. However, FreqAI does work with the `ShufflePairlist` or a `VolumePairlist` which keeps the total pairlist constant (but reorders the pairs according to volume).
## Credits
FreqAI is developed by a group of individuals who all contribute specific skillsets to the project.
Conception and software development:
Robert Caulk @robcaulk
Theoretical brainstorming and data analysis:
Elin Törnquist @th0rntwig
Code review and software architecture brainstorming:
@xmatthias
Software development:
Wagner Costa @wagnercosta
Emre Suzen @aemr3
Timothy Pogue @wizrds
Beta testing and bug reporting:
Stefan Gehring @bloodhunter4rc, @longyu, Andrew Lawless @paranoidandy, Pascal Schmidt @smidelis, Ryan McMullan @smarmau, Juha Nykänen @suikula, Johan van der Vlugt @jooopiert, Richárd Józsa @richardjosza

View File

@ -40,28 +40,31 @@ pip install -r requirements-hyperopt.txt
```
usage: freqtrade hyperopt [-h] [-v] [--logfile FILE] [-V] [-c PATH] [-d PATH]
[--userdir PATH] [-s NAME] [--strategy-path PATH]
[-i TIMEFRAME] [--timerange TIMERANGE]
[--recursive-strategy-search] [--freqaimodel NAME]
[--freqaimodel-path PATH] [-i TIMEFRAME]
[--timerange TIMERANGE]
[--data-format-ohlcv {json,jsongz,hdf5}]
[--max-open-trades INT]
[--stake-amount STAKE_AMOUNT] [--fee FLOAT]
[-p PAIRS [PAIRS ...]] [--hyperopt NAME]
[--hyperopt-path PATH] [--eps] [--dmmp]
[--enable-protections]
[--dry-run-wallet DRY_RUN_WALLET] [-e INT]
[--spaces {all,buy,sell,roi,stoploss,trailing,default} [{all,buy,sell,roi,stoploss,trailing,default} ...]]
[-p PAIRS [PAIRS ...]] [--hyperopt-path PATH]
[--eps] [--dmmp] [--enable-protections]
[--dry-run-wallet DRY_RUN_WALLET]
[--timeframe-detail TIMEFRAME_DETAIL] [-e INT]
[--spaces {all,buy,sell,roi,stoploss,trailing,protection,trades,default} [{all,buy,sell,roi,stoploss,trailing,protection,trades,default} ...]]
[--print-all] [--no-color] [--print-json] [-j JOBS]
[--random-state INT] [--min-trades INT]
[--hyperopt-loss NAME]
[--hyperopt-loss NAME] [--disable-param-export]
[--ignore-missing-spaces] [--analyze-per-epoch]
optional arguments:
-h, --help show this help message and exit
-i TIMEFRAME, --timeframe TIMEFRAME, --ticker-interval TIMEFRAME
-i TIMEFRAME, --timeframe TIMEFRAME
Specify timeframe (`1m`, `5m`, `30m`, `1h`, `1d`).
--timerange TIMERANGE
Specify what timerange of data to use.
--data-format-ohlcv {json,jsongz,hdf5}
Storage format for downloaded candle (OHLCV) data.
(default: `None`).
(default: `json`).
--max-open-trades INT
Override the value of the `max_open_trades`
configuration setting.
@ -73,10 +76,8 @@ optional arguments:
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
--hyperopt NAME Specify hyperopt class name which will be used by the
bot.
--hyperopt-path PATH Specify additional lookup path for Hyperopt and
Hyperopt Loss functions.
--hyperopt-path PATH Specify additional lookup path for Hyperopt Loss
functions.
--eps, --enable-position-stacking
Allow buying the same pair multiple times (position
stacking).
@ -91,8 +92,11 @@ optional arguments:
--dry-run-wallet DRY_RUN_WALLET, --starting-balance DRY_RUN_WALLET
Starting balance, used for backtesting / hyperopt and
dry-runs.
--timeframe-detail TIMEFRAME_DETAIL
Specify detail timeframe for backtesting (`1m`, `5m`,
`30m`, `1h`, `1d`).
-e INT, --epochs INT Specify number of epochs (default: 100).
--spaces {all,buy,sell,roi,stoploss,trailing,default} [{all,buy,sell,roi,stoploss,trailing,default} ...]
--spaces {all,buy,sell,roi,stoploss,trailing,protection,trades,default} [{all,buy,sell,roi,stoploss,trailing,protection,trades,default} ...]
Specify which parameters to hyperopt. Space-separated
list.
--print-all Print all results, not only the best ones.
@ -117,7 +121,16 @@ optional arguments:
Hyperopt-loss-functions are:
ShortTradeDurHyperOptLoss, OnlyProfitHyperOptLoss,
SharpeHyperOptLoss, SharpeHyperOptLossDaily,
SortinoHyperOptLoss, SortinoHyperOptLossDaily
SortinoHyperOptLoss, SortinoHyperOptLossDaily,
CalmarHyperOptLoss, MaxDrawDownHyperOptLoss,
MaxDrawDownRelativeHyperOptLoss,
ProfitDrawDownHyperOptLoss
--disable-param-export
Disable automatic hyperopt parameter export.
--ignore-missing-spaces, --ignore-unparameterized-spaces
Suppress errors for any requested Hyperopt spaces that
do not contain any parameters.
--analyze-per-epoch Run populate_indicators once per epoch.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
@ -140,6 +153,12 @@ Strategy arguments:
Specify strategy class name which will be used by the
bot.
--strategy-path PATH Specify additional strategy lookup path.
--recursive-strategy-search
Recursively search for a strategy in the strategies
folder.
--freqaimodel NAME Specify a custom freqaimodels.
--freqaimodel-path PATH
Specify additional lookup path for freqaimodels.
```
@ -149,8 +168,8 @@ Checklist on all tasks / possibilities in hyperopt
Depending on the space you want to optimize, only some of the below are required:
* define parameters with `space='buy'` - for buy signal optimization
* define parameters with `space='sell'` - for sell signal optimization
* define parameters with `space='buy'` - for entry signal optimization
* define parameters with `space='sell'` - for exit signal optimization
!!! Note
`populate_indicators` needs to create all indicators any of the spaces may use, otherwise hyperopt will not work.
@ -161,6 +180,7 @@ Rarely you may also need to create a [nested class](advanced-hyperopt.md#overrid
* `generate_roi_table` - for custom ROI optimization (if you need the ranges for the values in the ROI table that differ from default or the number of entries (steps) in the ROI table which differs from the default 4 steps)
* `stoploss_space` - for custom stoploss optimization (if you need the range for the stoploss parameter in the optimization hyperspace that differs from default)
* `trailing_space` - for custom trailing stop optimization (if you need the ranges for the trailing stop parameters in the optimization hyperspace that differ from default)
* `max_open_trades_space` - for custom max_open_trades optimization (if you need the ranges for the max_open_trades parameter in the optimization hyperspace that differ from default)
!!! Tip "Quickly optimize ROI, stoploss and trailing stoploss"
You can quickly optimize the spaces `roi`, `stoploss` and `trailing` without changing anything in your strategy.
@ -172,11 +192,11 @@ Rarely you may also need to create a [nested class](advanced-hyperopt.md#overrid
### Hyperopt execution logic
Hyperopt will first load your data into memory and will then run `populate_indicators()` once per Pair to generate all indicators.
Hyperopt will first load your data into memory and will then run `populate_indicators()` once per Pair to generate all indicators, unless `--analyze-per-epoch` is specified.
Hyperopt will then spawn into different processes (number of processors, or `-j <n>`), and run backtesting over and over again, changing the parameters that are part of the `--spaces` defined.
For every new set of parameters, freqtrade will run first `populate_buy_trend()` followed by `populate_sell_trend()`, and then run the regular backtesting process to simulate trades.
For every new set of parameters, freqtrade will run first `populate_entry_trend()` followed by `populate_exit_trend()`, and then run the regular backtesting process to simulate trades.
After backtesting, the results are passed into the [loss function](#loss-functions), which will evaluate if this result was better or worse than previous results.
Based on the loss function result, hyperopt will determine the next set of parameters to try in the next round of backtesting.
@ -186,7 +206,7 @@ Based on the loss function result, hyperopt will determine the next set of param
There are two places you need to change in your strategy file to add a new buy hyperopt for testing:
* Define the parameters at the class level hyperopt shall be optimizing.
* Within `populate_buy_trend()` - use defined parameter values instead of raw constants.
* Within `populate_entry_trend()` - use defined parameter values instead of raw constants.
There you have two different types of indicators: 1. `guards` and 2. `triggers`.
@ -196,24 +216,24 @@ There you have two different types of indicators: 1. `guards` and 2. `triggers`.
!!! Hint "Guards and Triggers"
Technically, there is no difference between Guards and Triggers.
However, this guide will make this distinction to make it clear that signals should not be "sticking".
Sticking signals are signals that are active for multiple candles. This can lead into buying a signal late (right before the signal disappears - which means that the chance of success is a lot lower than right at the beginning).
Sticking signals are signals that are active for multiple candles. This can lead into entering a signal late (right before the signal disappears - which means that the chance of success is a lot lower than right at the beginning).
Hyper-optimization will, for each epoch round, pick one trigger and possibly multiple guards.
#### Sell optimization
#### Exit signal optimization
Similar to the buy-signal above, sell-signals can also be optimized.
Similar to the entry-signal above, exit-signals can also be optimized.
Place the corresponding settings into the following methods
* Define the parameters at the class level hyperopt shall be optimizing, either naming them `sell_*`, or by explicitly defining `space='sell'`.
* Within `populate_sell_trend()` - use defined parameter values instead of raw constants.
* Within `populate_exit_trend()` - use defined parameter values instead of raw constants.
The configuration and rules are the same than for buy signals.
## Solving a Mystery
Let's say you are curious: should you use MACD crossings or lower Bollinger Bands to trigger your buys.
And you also wonder should you use RSI or ADX to help with those buy decisions.
Let's say you are curious: should you use MACD crossings or lower Bollinger Bands to trigger your long entries.
And you also wonder should you use RSI or ADX to help with those decisions.
If you decide to use RSI or ADX, which values should I use for them?
So let's use hyperparameter optimization to solve this mystery.
@ -251,7 +271,7 @@ We continue to define hyperoptable parameters:
class MyAwesomeStrategy(IStrategy):
buy_adx = DecimalParameter(20, 40, decimals=1, default=30.1, space="buy")
buy_rsi = IntParameter(20, 40, default=30, space="buy")
buy_adx_enabled = CategoricalParameter([True, False], default=True, space="buy")
buy_adx_enabled = BooleanParameter(default=True, space="buy")
buy_rsi_enabled = CategoricalParameter([True, False], default=False, space="buy")
buy_trigger = CategoricalParameter(["bb_lower", "macd_cross_signal"], default="bb_lower", space="buy")
```
@ -266,11 +286,12 @@ The last one we call `trigger` and use it to decide which buy trigger we want to
!!! Note "Parameter space assignment"
Parameters must either be assigned to a variable named `buy_*` or `sell_*` - or contain `space='buy'` | `space='sell'` to be assigned to a space correctly.
If no parameter is available for a space, you'll receive the error that no space was found when running hyperopt.
Parameters with unclear space (e.g. `adx_period = IntParameter(4, 24, default=14)` - no explicit nor implicit space) will not be detected and will therefore be ignored.
So let's write the buy strategy using these values:
```python
def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
conditions = []
# GUARDS AND TRENDS
if self.buy_adx_enabled.value:
@ -292,12 +313,12 @@ So let's write the buy strategy using these values:
if conditions:
dataframe.loc[
reduce(lambda x, y: x & y, conditions),
'buy'] = 1
'enter_long'] = 1
return dataframe
```
Hyperopt will now call `populate_buy_trend()` many times (`epochs`) with different value combinations.
Hyperopt will now call `populate_entry_trend()` many times (`epochs`) with different value combinations.
It will use the given historical data and simulate buys based on the buy signals generated with the above function.
Based on the results, hyperopt will tell you which parameter combination produced the best results (based on the configured [loss function](#loss-functions)).
@ -314,6 +335,7 @@ There are four parameter types each suited for different purposes.
* `DecimalParameter` - defines a floating point parameter with a limited number of decimals (default 3). Should be preferred instead of `RealParameter` in most cases.
* `RealParameter` - defines a floating point parameter with upper and lower boundaries and no precision limit. Rarely used as it creates a space with a near infinite number of possibilities.
* `CategoricalParameter` - defines a parameter with a predetermined number of choices.
* `BooleanParameter` - Shorthand for `CategoricalParameter([True, False])` - great for "enable" parameters.
!!! Tip "Disabling parameter optimization"
Each parameter takes two boolean parameters:
@ -324,9 +346,10 @@ There are four parameter types each suited for different purposes.
!!! Warning
Hyperoptable parameters cannot be used in `populate_indicators` - as hyperopt does not recalculate indicators for each epoch, so the starting value would be used in this case.
### Optimizing an indicator parameter
## Optimizing an indicator parameter
Assuming you have a simple strategy in mind - a EMA cross strategy (2 Moving averages crossing) - and you'd like to find the ideal parameters for this strategy.
By default, we assume a stoploss of 5% - and a take-profit (`minimal_roi`) of 10% - which means freqtrade will sell the trade once 10% profit has been reached.
``` python
from pandas import DataFrame
@ -334,13 +357,16 @@ from functools import reduce
import talib.abstract as ta
from freqtrade.strategy import IStrategy
from freqtrade.strategy import CategoricalParameter, DecimalParameter, IntParameter
from freqtrade.strategy import (BooleanParameter, CategoricalParameter, DecimalParameter,
IStrategy, IntParameter)
import freqtrade.vendor.qtpylib.indicators as qtpylib
class MyAwesomeStrategy(IStrategy):
stoploss = -0.05
timeframe = '15m'
minimal_roi = {
"0": 0.10
}
# Define the parameter spaces
buy_ema_short = IntParameter(3, 50, default=5)
buy_ema_long = IntParameter(15, 200, default=50)
@ -359,7 +385,7 @@ class MyAwesomeStrategy(IStrategy):
return dataframe
def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
conditions = []
conditions.append(qtpylib.crossed_above(
dataframe[f'ema_short_{self.buy_ema_short.value}'], dataframe[f'ema_long_{self.buy_ema_long.value}']
@ -371,10 +397,10 @@ class MyAwesomeStrategy(IStrategy):
if conditions:
dataframe.loc[
reduce(lambda x, y: x & y, conditions),
'buy'] = 1
'enter_long'] = 1
return dataframe
def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
conditions = []
conditions.append(qtpylib.crossed_above(
dataframe[f'ema_long_{self.buy_ema_long.value}'], dataframe[f'ema_short_{self.buy_ema_short.value}']
@ -386,7 +412,7 @@ class MyAwesomeStrategy(IStrategy):
if conditions:
dataframe.loc[
reduce(lambda x, y: x & y, conditions),
'sell'] = 1
'exit_long'] = 1
return dataframe
```
@ -396,17 +422,153 @@ Using `self.buy_ema_short.range` will return a range object containing all entri
In this case (`IntParameter(3, 50, default=5)`), the loop would run for all numbers between 3 and 50 (`[3, 4, 5, ... 49, 50]`).
By using this in a loop, hyperopt will generate 48 new columns (`['buy_ema_3', 'buy_ema_4', ... , 'buy_ema_50']`).
Hyperopt itself will then use the selected value to create the buy and sell signals
Hyperopt itself will then use the selected value to create the buy and sell signals.
While this strategy is most likely too simple to provide consistent profit, it should serve as an example how optimize indicator parameters.
!!! Note
`self.buy_ema_short.range` will act differently between hyperopt and other modes. For hyperopt, the above example may generate 48 new columns, however for all other modes (backtesting, dry/live), it will only generate the column for the selected value. You should therefore avoid using the resulting column with explicit values (values other than `self.buy_ema_short.value`).
!!! Note
`range` property may also be used with `DecimalParameter` and `CategoricalParameter`. `RealParameter` does not provide this property due to infinite search space.
??? Hint "Performance tip"
By doing the calculation of all possible indicators in `populate_indicators()`, the calculation of the indicator happens only once for every parameter.
While this may slow down the hyperopt startup speed, the overall performance will increase as the Hyperopt execution itself may pick the same value for multiple epochs (changing other values).
You should however try to use space ranges as small as possible. Every new column will require more memory, and every possibility hyperopt can try will increase the search space.
During normal hyperopting, indicators are calculated once and supplied to each epoch, linearly increasing RAM usage as a factor of increasing cores. As this also has performance implications, hyperopt provides `--analyze-per-epoch` which will move the execution of `populate_indicators()` to the epoch process, calculating a single value per parameter per epoch instead of using the `.range` functionality. In this case, `.range` functionality will only return the actually used value. This will reduce RAM usage, but increase CPU usage. However, your hyperopting run will be less likely to fail due to Out Of Memory (OOM) issues.
In either case, you should try to use space ranges as small as possible this will improve CPU/RAM usage in both scenarios.
## Optimizing protections
Freqtrade can also optimize protections. How you optimize protections is up to you, and the following should be considered as example only.
The strategy will simply need to define the "protections" entry as property returning a list of protection configurations.
``` python
from pandas import DataFrame
from functools import reduce
import talib.abstract as ta
from freqtrade.strategy import (BooleanParameter, CategoricalParameter, DecimalParameter,
IStrategy, IntParameter)
import freqtrade.vendor.qtpylib.indicators as qtpylib
class MyAwesomeStrategy(IStrategy):
stoploss = -0.05
timeframe = '15m'
# Define the parameter spaces
cooldown_lookback = IntParameter(2, 48, default=5, space="protection", optimize=True)
stop_duration = IntParameter(12, 200, default=5, space="protection", optimize=True)
use_stop_protection = BooleanParameter(default=True, space="protection", optimize=True)
@property
def protections(self):
prot = []
prot.append({
"method": "CooldownPeriod",
"stop_duration_candles": self.cooldown_lookback.value
})
if self.use_stop_protection.value:
prot.append({
"method": "StoplossGuard",
"lookback_period_candles": 24 * 3,
"trade_limit": 4,
"stop_duration_candles": self.stop_duration.value,
"only_per_pair": False
})
return prot
def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
# ...
```
You can then run hyperopt as follows:
`freqtrade hyperopt --hyperopt-loss SharpeHyperOptLossDaily --strategy MyAwesomeStrategy --spaces protection`
!!! Note
The protection space is not part of the default space, and is only available with the Parameters Hyperopt interface, not with the legacy hyperopt interface (which required separate hyperopt files).
Freqtrade will also automatically change the "--enable-protections" flag if the protection space is selected.
!!! Warning
If protections are defined as property, entries from the configuration will be ignored.
It is therefore recommended to not define protections in the configuration.
### Migrating from previous property setups
A migration from a previous setup is pretty simple, and can be accomplished by converting the protections entry to a property.
In simple terms, the following configuration will be converted to the below.
``` python
class MyAwesomeStrategy(IStrategy):
protections = [
{
"method": "CooldownPeriod",
"stop_duration_candles": 4
}
]
```
Result
``` python
class MyAwesomeStrategy(IStrategy):
@property
def protections(self):
return [
{
"method": "CooldownPeriod",
"stop_duration_candles": 4
}
]
```
You will then obviously also change potential interesting entries to parameters to allow hyper-optimization.
### Optimizing `max_entry_position_adjustment`
While `max_entry_position_adjustment` is not a separate space, it can still be used in hyperopt by using the property approach shown above.
``` python
from pandas import DataFrame
from functools import reduce
import talib.abstract as ta
from freqtrade.strategy import (BooleanParameter, CategoricalParameter, DecimalParameter,
IStrategy, IntParameter)
import freqtrade.vendor.qtpylib.indicators as qtpylib
class MyAwesomeStrategy(IStrategy):
stoploss = -0.05
timeframe = '15m'
# Define the parameter spaces
max_epa = CategoricalParameter([-1, 0, 1, 3, 5, 10], default=1, space="buy", optimize=True)
@property
def max_entry_position_adjustment(self):
return self.max_epa.value
def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
# ...
```
??? Tip "Using `IntParameter`"
You can also use the `IntParameter` for this optimization, but you must explicitly return an integer:
``` python
max_epa = IntParameter(-1, 10, default=1, space="buy", optimize=True)
@property
def max_entry_position_adjustment(self):
return int(self.max_epa.value)
```
## Loss-functions
@ -417,12 +579,16 @@ This class should be in its own file within the `user_data/hyperopts/` directory
Currently, the following loss functions are builtin:
* `ShortTradeDurHyperOptLoss` (default legacy Freqtrade hyperoptimization loss function) - Mostly for short trade duration and avoiding losses.
* `OnlyProfitHyperOptLoss` (which takes only amount of profit into consideration)
* `SharpeHyperOptLoss` (optimizes Sharpe Ratio calculated on trade returns relative to standard deviation)
* `SharpeHyperOptLossDaily` (optimizes Sharpe Ratio calculated on **daily** trade returns relative to standard deviation)
* `SortinoHyperOptLoss` (optimizes Sortino Ratio calculated on trade returns relative to **downside** standard deviation)
* `SortinoHyperOptLossDaily` (optimizes Sortino Ratio calculated on **daily** trade returns relative to **downside** standard deviation)
* `ShortTradeDurHyperOptLoss` - (default legacy Freqtrade hyperoptimization loss function) - Mostly for short trade duration and avoiding losses.
* `OnlyProfitHyperOptLoss` - takes only amount of profit into consideration.
* `SharpeHyperOptLoss` - optimizes Sharpe Ratio calculated on trade returns relative to standard deviation.
* `SharpeHyperOptLossDaily` - optimizes Sharpe Ratio calculated on **daily** trade returns relative to standard deviation.
* `SortinoHyperOptLoss` - optimizes Sortino Ratio calculated on trade returns relative to **downside** standard deviation.
* `SortinoHyperOptLossDaily` - optimizes Sortino Ratio calculated on **daily** trade returns relative to **downside** standard deviation.
* `MaxDrawDownHyperOptLoss` - Optimizes Maximum absolute drawdown.
* `MaxDrawDownRelativeHyperOptLoss` - Optimizes both maximum absolute drawdown while also adjusting for maximum relative drawdown.
* `CalmarHyperOptLoss` - Optimizes Calmar Ratio calculated on trade returns relative to max drawdown.
* `ProfitDrawDownHyperOptLoss` - Optimizes by max Profit & min Drawdown objective. `DRAWDOWN_MULT` variable within the hyperoptloss file can be adjusted to be stricter or more flexible on drawdown purposes.
Creation of a custom loss function is covered in the [Advanced Hyperopt](advanced-hyperopt.md) part of the documentation.
@ -460,7 +626,7 @@ For example, to use one month of data, pass `--timerange 20210101-20210201` (fro
Full command:
```bash
freqtrade hyperopt --hyperopt <hyperoptname> --strategy <strategyname> --timerange 20210101-20210201
freqtrade hyperopt --strategy <strategyname> --timerange 20210101-20210201
```
### Running Hyperopt with Smaller Search Space
@ -478,7 +644,9 @@ Legal values are:
* `roi`: just optimize the minimal profit table for your strategy
* `stoploss`: search for the best stoploss value
* `trailing`: search for the best trailing stop values
* `default`: `all` except `trailing`
* `trades`: search for the best max open trades values
* `protection`: search for the best protection parameters (read the [protections section](#optimizing-protections) on how to properly define these)
* `default`: `all` except `trailing` and `protection`
* space-separated list of any of the above values for example `--spaces roi stoploss`
The default Hyperopt Search Space, used when no `--space` command line option is specified, does not include the `trailing` hyperspace. We recommend you to run optimization for the `trailing` hyperspace separately, when the best parameters for other hyperspaces were found, validated and pasted into your custom strategy.
@ -509,7 +677,13 @@ You should understand this result like:
* You should not use ADX because `'buy_adx_enabled': False`.
* You should **consider** using the RSI indicator (`'buy_rsi_enabled': True`) and the best value is `29.0` (`'buy_rsi': 29.0`)
Your strategy class can immediately take advantage of these results. Simply copy hyperopt results block and paste them at class level, replacing old parameters (if any). New parameters will automatically be loaded next time strategy is executed.
### Automatic parameter application to the strategy
When using Hyperoptable parameters, the result of your hyperopt-run will be written to a json file next to your strategy (so for `MyAwesomeStrategy.py`, the file would be `MyAwesomeStrategy.json`).
This file is also updated when using the `hyperopt-show` sub-command, unless `--disable-param-export` is provided to either of the 2 commands.
Your strategy class can also contain these results explicitly. Simply copy hyperopt results block and paste them at class level, replacing old parameters (if any). New parameters will automatically be loaded next time strategy is executed.
Transferring your whole hyperopt result to your strategy would then look like:
@ -525,6 +699,10 @@ class MyAwesomeStrategy(IStrategy):
}
```
!!! Note
Values in the configuration file will overwrite Parameter-file level parameters - and both will overwrite parameters within the strategy.
The prevalence is therefore: config > parameter file > strategy `*_params` > parameter default
### Understand Hyperopt ROI results
If you are optimizing ROI (i.e. if optimization search-space contains 'all', 'default' or 'roi'), your result will look as follows and include a ROI table:
@ -571,11 +749,11 @@ If you are optimizing ROI, Freqtrade creates the 'roi' optimization hyperspace f
These ranges should be sufficient in most cases. The minutes in the steps (ROI dict keys) are scaled linearly depending on the timeframe used. The ROI values in the steps (ROI dict values) are scaled logarithmically depending on the timeframe used.
If you have the `generate_roi_table()` and `roi_space()` methods in your custom hyperopt file, remove them in order to utilize these adaptive ROI tables and the ROI hyperoptimization space generated by Freqtrade by default.
If you have the `generate_roi_table()` and `roi_space()` methods in your custom hyperopt, remove them in order to utilize these adaptive ROI tables and the ROI hyperoptimization space generated by Freqtrade by default.
Override the `roi_space()` method if you need components of the ROI tables to vary in other ranges. Override the `generate_roi_table()` and `roi_space()` methods and implement your own custom approach for generation of the ROI tables during hyperoptimization if you need a different structure of the ROI tables or other amount of rows (steps).
A sample for these methods can be found in [sample_hyperopt_advanced.py](https://github.com/freqtrade/freqtrade/blob/develop/freqtrade/templates/sample_hyperopt_advanced.py).
A sample for these methods can be found in the [overriding pre-defined spaces section](advanced-hyperopt.md#overriding-pre-defined-spaces).
!!! Note "Reduced search space"
To limit the search space further, Decimals are limited to 3 decimal places (a precision of 0.001). This is usually sufficient, every value more precise than this will usually result in overfitted results. You can however [overriding pre-defined spaces](advanced-hyperopt.md#pverriding-pre-defined-spaces) to change this to your needs.
@ -617,7 +795,7 @@ If you are optimizing stoploss values, Freqtrade creates the 'stoploss' optimiza
If you have the `stoploss_space()` method in your custom hyperopt file, remove it in order to utilize Stoploss hyperoptimization space generated by Freqtrade by default.
Override the `stoploss_space()` method and define the desired range in it if you need stoploss values to vary in other range during hyperoptimization. A sample for this method can be found in [user_data/hyperopts/sample_hyperopt_advanced.py](https://github.com/freqtrade/freqtrade/blob/develop/freqtrade/templates/sample_hyperopt_advanced.py).
Override the `stoploss_space()` method and define the desired range in it if you need stoploss values to vary in other range during hyperoptimization. A sample for this method can be found in the [overriding pre-defined spaces section](advanced-hyperopt.md#overriding-pre-defined-spaces).
!!! Note "Reduced search space"
To limit the search space further, Decimals are limited to 3 decimal places (a precision of 0.001). This is usually sufficient, every value more precise than this will usually result in overfitted results. You can however [overriding pre-defined spaces](advanced-hyperopt.md#pverriding-pre-defined-spaces) to change this to your needs.
@ -655,10 +833,10 @@ As stated in the comment, you can also use it as the values of the corresponding
If you are optimizing trailing stop values, Freqtrade creates the 'trailing' optimization hyperspace for you. By default, the `trailing_stop` parameter is always set to True in that hyperspace, the value of the `trailing_only_offset_is_reached` vary between True and False, the values of the `trailing_stop_positive` and `trailing_stop_positive_offset` parameters vary in the ranges 0.02...0.35 and 0.01...0.1 correspondingly, which is sufficient in most cases.
Override the `trailing_space()` method and define the desired range in it if you need values of the trailing stop parameters to vary in other ranges during hyperoptimization. A sample for this method can be found in [user_data/hyperopts/sample_hyperopt_advanced.py](https://github.com/freqtrade/freqtrade/blob/develop/freqtrade/templates/sample_hyperopt_advanced.py).
Override the `trailing_space()` method and define the desired range in it if you need values of the trailing stop parameters to vary in other ranges during hyperoptimization. A sample for this method can be found in the [overriding pre-defined spaces section](advanced-hyperopt.md#overriding-pre-defined-spaces).
!!! Note "Reduced search space"
To limit the search space further, Decimals are limited to 3 decimal places (a precision of 0.001). This is usually sufficient, every value more precise than this will usually result in overfitted results. You can however [overriding pre-defined spaces](advanced-hyperopt.md#pverriding-pre-defined-spaces) to change this to your needs.
To limit the search space further, Decimals are limited to 3 decimal places (a precision of 0.001). This is usually sufficient, every value more precise than this will usually result in overfitted results. You can however [overriding pre-defined spaces](advanced-hyperopt.md#overriding-pre-defined-spaces) to change this to your needs.
### Reproducible results
@ -705,10 +883,29 @@ You can also enable position stacking in the configuration file by explicitly se
As hyperopt consumes a lot of memory (the complete data needs to be in memory once per parallel backtesting process), it's likely that you run into "out of memory" errors.
To combat these, you have multiple options:
* reduce the amount of pairs
* reduce the timerange used (`--timerange <timerange>`)
* reduce the number of parallel processes (`-j <n>`)
* Increase the memory of your machine
* Reduce the amount of pairs.
* Reduce the timerange used (`--timerange <timerange>`).
* Avoid using `--timeframe-detail` (this loads a lot of additional data into memory).
* Reduce the number of parallel processes (`-j <n>`).
* Increase the memory of your machine.
* Use `--analyze-per-epoch` if you're using a lot of parameters with `.range` functionality.
## The objective has been evaluated at this point before.
If you see `The objective has been evaluated at this point before.` - then this is a sign that your space has been exhausted, or is close to that.
Basically all points in your space have been hit (or a local minima has been hit) - and hyperopt does no longer find points in the multi-dimensional space it did not try yet.
Freqtrade tries to counter the "local minima" problem by using new, randomized points in this case.
Example:
``` python
buy_ema_short = IntParameter(5, 20, default=10, space="buy", optimize=True)
# This is the only parameter in the buy space
```
The `buy_ema_short` space has 15 possible values (`5, 6, ... 19, 20`). If you now run hyperopt for the buy space, hyperopt will only have 15 values to try before running out of options.
Your epochs should therefore be aligned to the possible values - or you should be ready to interrupt a run if you norice a lot of `The objective has been evaluated at this point before.` warnings.
## Show details of Hyperopt results
@ -718,8 +915,8 @@ After you run Hyperopt for the desired amount of epochs, you can later list all
Once the optimized strategy has been implemented into your strategy, you should backtest this strategy to make sure everything is working as expected.
To achieve same results (number of trades, their durations, profit, etc.) than during Hyperopt, please use same configuration and parameters (timerange, timeframe, ...) used for hyperopt `--dmmp`/`--disable-max-market-positions` and `--eps`/`--enable-position-stacking` for Backtesting.
To achieve same the results (number of trades, their durations, profit, etc.) as during Hyperopt, please use the same configuration and parameters (timerange, timeframe, ...) used for hyperopt `--dmmp`/`--disable-max-market-positions` and `--eps`/`--enable-position-stacking` for Backtesting.
Should results don't match, please double-check to make sure you transferred all conditions correctly.
Pay special care to the stoploss (and trailing stoploss) parameters, as these are often set in configuration files, which override changes to the strategy.
You should also carefully review the log of your backtest to ensure that there were no parameters inadvertently set by the configuration (like `stoploss` or `trailing_stop`).
Should results not match, please double-check to make sure you transferred all conditions correctly.
Pay special care to the stoploss, max_open_trades and trailing stoploss parameters, as these are often set in configuration files, which override changes to the strategy.
You should also carefully review the log of your backtest to ensure that there were no parameters inadvertently set by the configuration (like `stoploss`, `max_open_trades` or `trailing_stop`).

View File

@ -22,7 +22,10 @@ You may also use something like `.*DOWN/BTC` or `.*UP/BTC` to exclude leveraged
* [`StaticPairList`](#static-pair-list) (default, if not configured differently)
* [`VolumePairList`](#volume-pair-list)
* [`ProducerPairList`](#producerpairlist)
* [`RemotePairList`](#remotepairlist)
* [`AgeFilter`](#agefilter)
* [`OffsetFilter`](#offsetfilter)
* [`PerformanceFilter`](#performancefilter)
* [`PrecisionFilter`](#precisionfilter)
* [`PriceFilter`](#pricefilter)
@ -51,43 +54,204 @@ To skip pair validation against active markets, set `"allow_inactive": true` wit
This can be useful for backtesting expired pairs (like quarterly spot-markets).
This option must be configured along with `exchange.skip_pair_validation` in the exchange configuration.
When used in a "follow-up" position (e.g. after VolumePairlist), all pairs in `'pair_whitelist'` will be added to the end of the pairlist.
#### Volume Pair List
`VolumePairList` employs sorting/filtering of pairs by their trading volume. It selects `number_assets` top pairs with sorting based on the `sort_key` (which can only be `quoteVolume`).
When used in the chain of Pairlist Handlers in a non-leading position (after StaticPairList and other Pairlist Filters), `VolumePairList` considers outputs of previous Pairlist Handlers, adding its sorting/selection of the pairs by the trading volume.
When used on the leading position of the chain of Pairlist Handlers, it does not consider `pair_whitelist` configuration setting, but selects the top assets from all available markets (with matching stake-currency) on the exchange.
When used in the leading position of the chain of Pairlist Handlers, the `pair_whitelist` configuration setting is ignored. Instead, `VolumePairList` selects the top assets from all available markets with matching stake-currency on the exchange.
The `refresh_period` setting allows to define the period (in seconds), at which the pairlist will be refreshed. Defaults to 1800s (30 minutes).
The pairlist cache (`refresh_period`) on `VolumePairList` is only applicable to generating pairlists.
Filtering instances (not the first position in the list) will not apply any cache and will always use up-to-date data.
`VolumePairList` is based on the ticker data from exchange, as reported by the ccxt library:
`VolumePairList` is per default based on the ticker data from exchange, as reported by the ccxt library:
* The `quoteVolume` is the amount of quote (stake) currency traded (bought or sold) in last 24 hours.
```json
"pairlists": [{
"pairlists": [
{
"method": "VolumePairList",
"number_assets": 20,
"sort_key": "quoteVolume",
"min_value": 0,
"refresh_period": 1800
}],
}
],
```
You can define a minimum volume with `min_value` - which will filter out pairs with a volume lower than the specified value in the specified timerange.
##### VolumePairList Advanced mode
`VolumePairList` can also operate in an advanced mode to build volume over a given timerange of specified candle size. It utilizes exchange historical candle data, builds a typical price (calculated by (open+high+low)/3) and multiplies the typical price with every candle's volume. The sum is the `quoteVolume` over the given range. This allows different scenarios, for a more smoothened volume, when using longer ranges with larger candle sizes, or the opposite when using a short range with small candles.
For convenience `lookback_days` can be specified, which will imply that 1d candles will be used for the lookback. In the example below the pairlist would be created based on the last 7 days:
```json
"pairlists": [
{
"method": "VolumePairList",
"number_assets": 20,
"sort_key": "quoteVolume",
"min_value": 0,
"refresh_period": 86400,
"lookback_days": 7
}
],
```
!!! Warning "Range look back and refresh period"
When used in conjunction with `lookback_days` and `lookback_timeframe` the `refresh_period` can not be smaller than the candle size in seconds. As this will result in unnecessary requests to the exchanges API.
!!! Warning "Performance implications when using lookback range"
If used in first position in combination with lookback, the computation of the range based volume can be time and resource consuming, as it downloads candles for all tradable pairs. Hence it's highly advised to use the standard approach with `VolumeFilter` to narrow the pairlist down for further range volume calculation.
??? Tip "Unsupported exchanges (Bittrex, Gemini)"
On some exchanges (like Bittrex and Gemini), regular VolumePairList does not work as the api does not natively provide 24h volume. This can be worked around by using candle data to build the volume.
To roughly simulate 24h volume, you can use the following configuration.
Please note that These pairlists will only refresh once per day.
```json
"pairlists": [
{
"method": "VolumePairList",
"number_assets": 20,
"sort_key": "quoteVolume",
"min_value": 0,
"refresh_period": 86400,
"lookback_days": 1
}
],
```
More sophisticated approach can be used, by using `lookback_timeframe` for candle size and `lookback_period` which specifies the amount of candles. This example will build the volume pairs based on a rolling period of 3 days of 1h candles:
```json
"pairlists": [
{
"method": "VolumePairList",
"number_assets": 20,
"sort_key": "quoteVolume",
"min_value": 0,
"refresh_period": 3600,
"lookback_timeframe": "1h",
"lookback_period": 72
}
],
```
!!! Note
`VolumePairList` does not support backtesting mode.
#### ProducerPairList
With `ProducerPairList`, you can reuse the pairlist from a [Producer](producer-consumer.md) without explicitly defining the pairlist on each consumer.
[Consumer mode](producer-consumer.md) is required for this pairlist to work.
The pairlist will perform a check on active pairs against the current exchange configuration to avoid attempting to trade on invalid markets.
You can limit the length of the pairlist with the optional parameter `number_assets`. Using `"number_assets"=0` or omitting this key will result in the reuse of all producer pairs valid for the current setup.
```json
"pairlists": [
{
"method": "ProducerPairList",
"number_assets": 5,
"producer_name": "default",
}
],
```
!!! Tip "Combining pairlists"
This pairlist can be combined with all other pairlists and filters for further pairlist reduction, and can also act as an "additional" pairlist, on top of already defined pairs.
`ProducerPairList` can also be used multiple times in sequence, combining the pairs from multiple producers.
Obviously in complex such configurations, the Producer may not provide data for all pairs, so the strategy must be fit for this.
#### RemotePairList
It allows the user to fetch a pairlist from a remote server or a locally stored json file within the freqtrade directory, enabling dynamic updates and customization of the trading pairlist.
The RemotePairList is defined in the pairlists section of the configuration settings. It uses the following configuration options:
```json
"pairlists": [
{
"method": "RemotePairList",
"pairlist_url": "https://example.com/pairlist",
"number_assets": 10,
"refresh_period": 1800,
"keep_pairlist_on_failure": true,
"read_timeout": 60,
"bearer_token": "my-bearer-token"
}
]
```
The `pairlist_url` option specifies the URL of the remote server where the pairlist is located, or the path to a local file (if file:/// is prepended). This allows the user to use either a remote server or a local file as the source for the pairlist.
The user is responsible for providing a server or local file that returns a JSON object with the following structure:
```json
{
"pairs": ["XRP/USDT", "ETH/USDT", "LTC/USDT"],
"refresh_period": 1800,
}
```
The `pairs` property should contain a list of strings with the trading pairs to be used by the bot. The `refresh_period` property is optional and specifies the number of seconds that the pairlist should be cached before being refreshed.
The optional `keep_pairlist_on_failure` specifies whether the previous received pairlist should be used if the remote server is not reachable or returns an error. The default value is true.
The optional `read_timeout` specifies the maximum amount of time (in seconds) to wait for a response from the remote source, The default value is 60.
The optional `bearer_token` will be included in the requests Authorization Header.
!!! Note
In case of a server error the last received pairlist will be kept if `keep_pairlist_on_failure` is set to true, when set to false a empty pairlist is returned.
#### AgeFilter
Removes pairs that have been listed on the exchange for less than `min_days_listed` days (defaults to `10`).
Removes pairs that have been listed on the exchange for less than `min_days_listed` days (defaults to `10`) or more than `max_days_listed` days (defaults `None` mean infinity).
When pairs are first listed on an exchange they can suffer huge price drops and volatility
in the first few days while the pair goes through its price-discovery period. Bots can often
be caught out buying before the pair has finished dropping in price.
This filter allows freqtrade to ignore pairs until they have been listed for at least `min_days_listed` days.
This filter allows freqtrade to ignore pairs until they have been listed for at least `min_days_listed` days and listed before `max_days_listed`.
#### OffsetFilter
Offsets an incoming pairlist by a given `offset` value.
As an example it can be used in conjunction with `VolumeFilter` to remove the top X volume pairs. Or to split a larger pairlist on two bot instances.
Example to remove the first 10 pairs from the pairlist, and takes the next 20 (taking items 10-30 of the initial list):
```json
"pairlists": [
// ...
{
"method": "OffsetFilter",
"offset": 10,
"number_assets": 20
}
],
```
!!! Warning
When `OffsetFilter` is used to split a larger pairlist among multiple bots in combination with `VolumeFilter`
it can not be guaranteed that pairs won't overlap due to slightly different refresh intervals for the
`VolumeFilter`.
!!! Note
An offset larger than the total length of the incoming pairlist will result in an empty pairlist.
#### PerformanceFilter
@ -99,13 +263,36 @@ Sorts pairs by past trade performance, as follows:
Trade count is used as a tie breaker.
!!! Note
You can use the `minutes` parameter to only consider performance of the past X minutes (rolling window).
Not defining this parameter (or setting it to 0) will use all-time performance.
The optional `min_profit` (as ratio -> a setting of `0.01` corresponds to 1%) parameter defines the minimum profit a pair must have to be considered.
Pairs below this level will be filtered out.
Using this parameter without `minutes` is highly discouraged, as it can lead to an empty pairlist without a way to recover.
```json
"pairlists": [
// ...
{
"method": "PerformanceFilter",
"minutes": 1440, // rolling 24h
"min_profit": 0.01 // minimal profit 1%
}
],
```
As this Filter uses past performance of the bot, it'll have some startup-period - and should only be used after the bot has a few 100 trades in the database.
!!! Warning "Backtesting"
`PerformanceFilter` does not support backtesting mode.
#### PrecisionFilter
Filters low-value coins which would not allow setting stoplosses.
!!! Warning "Backtesting"
`PrecisionFilter` does not support backtesting mode using multiple strategies.
#### PriceFilter
The `PriceFilter` allows filtering of pairs by price. Currently the following price filters are supported:
@ -124,12 +311,12 @@ This option is disabled by default, and will only apply if set to > 0.
The `max_value` setting removes pairs where the minimum value change is above a specified value.
This is useful when an exchange has unbalanced limits. For example, if step-size = 1 (so you can only buy 1, or 2, or 3, but not 1.1 Coins) - and the price is pretty high (like 20\$) as the coin has risen sharply since the last limit adaption.
As a result of the above, you can only buy for 20\$, or 40\$ - but not for 25\$.
On exchanges that deduct fees from the receiving currency (e.g. FTX) - this can result in high value coins / amounts that are unsellable as the amount is slightly below the limit.
On exchanges that deduct fees from the receiving currency (e.g. binance) - this can result in high value coins / amounts that are unsellable as the amount is slightly below the limit.
The `low_price_ratio` setting removes pairs where a raise of 1 price unit (pip) is above the `low_price_ratio` ratio.
This option is disabled by default, and will only apply if set to > 0.
For `PriceFiler` at least one of its `min_price`, `max_price` or `low_price_ratio` settings must be applied.
For `PriceFilter` at least one of its `min_price`, `max_price` or `low_price_ratio` settings must be applied.
Calculation example:
@ -142,8 +329,20 @@ Min price precision for SHITCOIN/BTC is 8 decimals. If its price is 0.00000011 -
Shuffles (randomizes) pairs in the pairlist. It can be used for preventing the bot from trading some of the pairs more frequently then others when you want all pairs be treated with the same priority.
By default, ShuffleFilter will shuffle pairs once per candle.
To shuffle on every iteration, set `"shuffle_frequency"` to `"iteration"` instead of the default of `"candle"`.
``` json
{
"method": "ShuffleFilter",
"shuffle_frequency": "candle",
"seed": 42
}
```
!!! Tip
You may set the `seed` value for this Pairlist to obtain reproducible results, which can be useful for repeated backtesting sessions. If `seed` is not set, the pairs are shuffled in the non-repeatable random order.
You may set the `seed` value for this Pairlist to obtain reproducible results, which can be useful for repeated backtesting sessions. If `seed` is not set, the pairs are shuffled in the non-repeatable random order. ShuffleFilter will automatically detect runmodes and apply the `seed` only for backtesting modes - if a `seed` value is set.
#### SpreadFilter
@ -155,10 +354,10 @@ If `DOGE/BTC` maximum bid is 0.00000026 and minimum ask is 0.00000027, the ratio
#### RangeStabilityFilter
Removes pairs where the difference between lowest low and highest high over `lookback_days` days is below `min_rate_of_change`. Since this is a filter that requires additional data, the results are cached for `refresh_period`.
Removes pairs where the difference between lowest low and highest high over `lookback_days` days is below `min_rate_of_change` or above `max_rate_of_change`. Since this is a filter that requires additional data, the results are cached for `refresh_period`.
In the below example:
If the trading range over the last 10 days is <1%, remove the pair from the whitelist.
If the trading range over the last 10 days is <1% or >99%, remove the pair from the whitelist.
```json
"pairlists": [
@ -166,6 +365,7 @@ If the trading range over the last 10 days is <1%, remove the pair from the whit
"method": "RangeStabilityFilter",
"lookback_days": 10,
"min_rate_of_change": 0.01,
"max_rate_of_change": 0.99,
"refresh_period": 1440
}
]
@ -173,10 +373,11 @@ If the trading range over the last 10 days is <1%, remove the pair from the whit
!!! Tip
This Filter can be used to automatically remove stable coin pairs, which have a very low trading range, and are therefore extremely difficult to trade with profit.
Additionally, it can also be used to automatically remove pairs with extreme high/low variance over a given amount of time.
#### VolatilityFilter
Volatility is the degree of historical variation of a pairs over time, is is measured by the standard deviation of logarithmic daily returns. Returns are assumed to be normally distributed, although actual distribution might be different. In a normal distribution, 68% of observations fall within one standard deviation and 95% of observations fall within two standard deviations. Assuming a volatility of 0.05 means that the expected returns for 20 out of 30 days is expected to be less than 5% (one standard deviation). Volatility is a positive ratio of the expected deviation of return and can be greater than 1.00. Please refer to the wikipedia definition of [`volatility`](https://en.wikipedia.org/wiki/Volatility_(finance)).
Volatility is the degree of historical variation of a pairs over time, it is measured by the standard deviation of logarithmic daily returns. Returns are assumed to be normally distributed, although actual distribution might be different. In a normal distribution, 68% of observations fall within one standard deviation and 95% of observations fall within two standard deviations. Assuming a volatility of 0.05 means that the expected returns for 20 out of 30 days is expected to be less than 5% (one standard deviation). Volatility is a positive ratio of the expected deviation of return and can be greater than 1.00. Please refer to the wikipedia definition of [`volatility`](https://en.wikipedia.org/wiki/Volatility_(finance)).
This filter removes pairs if the average volatility over a `lookback_days` days is below `min_volatility` or above `max_volatility`. Since this is a filter that requires additional data, the results are cached for `refresh_period`.

View File

@ -1,6 +1,6 @@
## Prices used for orders
Prices for regular orders can be controlled via the parameter structures `bid_strategy` for buying and `ask_strategy` for selling.
Prices for regular orders can be controlled via the parameter structures `entry_pricing` for trade entries and `exit_pricing` for trade exits.
Prices are always retrieved right before an order is placed, either by querying the exchange tickers or by using the orderbook data.
!!! Note
@ -9,20 +9,11 @@ Prices are always retrieved right before an order is placed, either by querying
!!! Warning "Using market orders"
Please read the section [Market order pricing](#market-order-pricing) section when using market orders.
### Buy price
### Entry price
#### Check depth of market
#### Enter price side
When check depth of market is enabled (`bid_strategy.check_depth_of_market.enabled=True`), the buy signals are filtered based on the orderbook depth (sum of all amounts) for each orderbook side.
Orderbook `bid` (buy) side depth is then divided by the orderbook `ask` (sell) side depth and the resulting delta is compared to the value of the `bid_strategy.check_depth_of_market.bids_to_ask_delta` parameter. The buy order is only executed if the orderbook delta is greater than or equal to the configured delta value.
!!! Note
A delta value below 1 means that `ask` (sell) orderbook side depth is greater than the depth of the `bid` (buy) orderbook side, while a value greater than 1 means opposite (depth of the buy side is higher than the depth of the sell side).
#### Buy price side
The configuration setting `bid_strategy.price_side` defines the side of the spread the bot looks for when buying.
The configuration setting `entry_pricing.price_side` defines the side of the orderbook the bot looks for when buying.
The following displays an orderbook.
@ -38,30 +29,53 @@ The following displays an orderbook.
...
```
If `bid_strategy.price_side` is set to `"bid"`, then the bot will use 99 as buying price.
In line with that, if `bid_strategy.price_side` is set to `"ask"`, then the bot will use 101 as buying price.
If `entry_pricing.price_side` is set to `"bid"`, then the bot will use 99 as entry price.
In line with that, if `entry_pricing.price_side` is set to `"ask"`, then the bot will use 101 as entry price.
Using `ask` price often guarantees quicker filled orders, but the bot can also end up paying more than what would have been necessary.
Depending on the order direction (_long_/_short_), this will lead to different results. Therefore we recommend to use `"same"` or `"other"` for this configuration instead.
This would result in the following pricing matrix:
| direction | Order | setting | price | crosses spread |
|------ |--------|-----|-----|-----|
| long | buy | ask | 101 | yes |
| long | buy | bid | 99 | no |
| long | buy | same | 99 | no |
| long | buy | other | 101 | yes |
| short | sell | ask | 101 | no |
| short | sell | bid | 99 | yes |
| short | sell | same | 101 | no |
| short | sell | other | 99 | yes |
Using the other side of the orderbook often guarantees quicker filled orders, but the bot can also end up paying more than what would have been necessary.
Taker fees instead of maker fees will most likely apply even when using limit buy orders.
Also, prices at the "ask" side of the spread are higher than prices at the "bid" side in the orderbook, so the order behaves similar to a market order (however with a maximum price).
Also, prices at the "other" side of the spread are higher than prices at the "bid" side in the orderbook, so the order behaves similar to a market order (however with a maximum price).
#### Buy price with Orderbook enabled
#### Entry price with Orderbook enabled
When buying with the orderbook enabled (`bid_strategy.use_order_book=True`), Freqtrade fetches the `bid_strategy.order_book_top` entries from the orderbook and then uses the entry specified as `bid_strategy.order_book_top` on the configured side (`bid_strategy.price_side`) of the orderbook. 1 specifies the topmost entry in the orderbook, while 2 would use the 2nd entry in the orderbook, and so on.
When entering a trade with the orderbook enabled (`entry_pricing.use_order_book=True`), Freqtrade fetches the `entry_pricing.order_book_top` entries from the orderbook and uses the entry specified as `entry_pricing.order_book_top` on the configured side (`entry_pricing.price_side`) of the orderbook. 1 specifies the topmost entry in the orderbook, while 2 would use the 2nd entry in the orderbook, and so on.
#### Buy price without Orderbook enabled
#### Entry price without Orderbook enabled
The following section uses `side` as the configured `bid_strategy.price_side`.
The following section uses `side` as the configured `entry_pricing.price_side` (defaults to `"same"`).
When not using orderbook (`bid_strategy.use_order_book=False`), Freqtrade uses the best `side` price from the ticker if it's below the `last` traded price from the ticker. Otherwise (when the `side` price is above the `last` price), it calculates a rate between `side` and `last` price.
When not using orderbook (`entry_pricing.use_order_book=False`), Freqtrade uses the best `side` price from the ticker if it's below the `last` traded price from the ticker. Otherwise (when the `side` price is above the `last` price), it calculates a rate between `side` and `last` price based on `entry_pricing.price_last_balance`.
The `bid_strategy.ask_last_balance` configuration parameter controls this. A value of `0.0` will use `side` price, while `1.0` will use the `last` price and values between those interpolate between ask and last price.
The `entry_pricing.price_last_balance` configuration parameter controls this. A value of `0.0` will use `side` price, while `1.0` will use the `last` price and values between those interpolate between ask and last price.
### Sell price
#### Check depth of market
#### Sell price side
When check depth of market is enabled (`entry_pricing.check_depth_of_market.enabled=True`), the entry signals are filtered based on the orderbook depth (sum of all amounts) for each orderbook side.
The configuration setting `ask_strategy.price_side` defines the side of the spread the bot looks for when selling.
Orderbook `bid` (buy) side depth is then divided by the orderbook `ask` (sell) side depth and the resulting delta is compared to the value of the `entry_pricing.check_depth_of_market.bids_to_ask_delta` parameter. The entry order is only executed if the orderbook delta is greater than or equal to the configured delta value.
!!! Note
A delta value below 1 means that `ask` (sell) orderbook side depth is greater than the depth of the `bid` (buy) orderbook side, while a value greater than 1 means opposite (depth of the buy side is higher than the depth of the sell side).
### Exit price
#### Exit price side
The configuration setting `exit_pricing.price_side` defines the side of the spread the bot looks for when exiting a trade.
The following displays an orderbook:
@ -77,53 +91,54 @@ The following displays an orderbook:
...
```
If `ask_strategy.price_side` is set to `"ask"`, then the bot will use 101 as selling price.
In line with that, if `ask_strategy.price_side` is set to `"bid"`, then the bot will use 99 as selling price.
If `exit_pricing.price_side` is set to `"ask"`, then the bot will use 101 as exiting price.
In line with that, if `exit_pricing.price_side` is set to `"bid"`, then the bot will use 99 as exiting price.
#### Sell price with Orderbook enabled
Depending on the order direction (_long_/_short_), this will lead to different results. Therefore we recommend to use `"same"` or `"other"` for this configuration instead.
This would result in the following pricing matrix:
When selling with the orderbook enabled (`ask_strategy.use_order_book=True`), Freqtrade fetches the `ask_strategy.order_book_max` entries in the orderbook. Then each of the orderbook steps between `ask_strategy.order_book_min` and `ask_strategy.order_book_max` on the configured orderbook side are validated for a profitable sell-possibility based on the strategy configuration (`minimal_roi` conditions) and the sell order is placed at the first profitable spot.
| Direction | Order | setting | price | crosses spread |
|------ |--------|-----|-----|-----|
| long | sell | ask | 101 | no |
| long | sell | bid | 99 | yes |
| long | sell | same | 101 | no |
| long | sell | other | 99 | yes |
| short | buy | ask | 101 | yes |
| short | buy | bid | 99 | no |
| short | buy | same | 99 | no |
| short | buy | other | 101 | yes |
!!! Note
Using `order_book_max` higher than `order_book_min` only makes sense when ask_strategy.price_side is set to `"ask"`.
#### Exit price with Orderbook enabled
The idea here is to place the sell order early, to be ahead in the queue.
When exiting with the orderbook enabled (`exit_pricing.use_order_book=True`), Freqtrade fetches the `exit_pricing.order_book_top` entries in the orderbook and uses the entry specified as `exit_pricing.order_book_top` from the configured side (`exit_pricing.price_side`) as trade exit price.
A fixed slot (mirroring `bid_strategy.order_book_top`) can be defined by setting `ask_strategy.order_book_min` and `ask_strategy.order_book_max` to the same number.
1 specifies the topmost entry in the orderbook, while 2 would use the 2nd entry in the orderbook, and so on.
!!! Warning "Order_book_max > 1 - increased risks for stoplosses!"
Using `ask_strategy.order_book_max` higher than 1 will increase the risk the stoploss on exchange is cancelled too early, since an eventual [stoploss on exchange](#understand-order_types) will be cancelled as soon as the order is placed.
Also, the sell order will remain on the exchange for `unfilledtimeout.sell` (or until it's filled) - which can lead to missed stoplosses (with or without using stoploss on exchange).
#### Exit price without Orderbook enabled
!!! Warning "Order_book_max > 1 in dry-run"
Using `ask_strategy.order_book_max` higher than 1 will result in improper dry-run results (significantly better than real orders executed on exchange), since dry-run assumes orders to be filled almost instantly.
It is therefore advised to not use this setting for dry-runs.
The following section uses `side` as the configured `exit_pricing.price_side` (defaults to `"ask"`).
#### Sell price without Orderbook enabled
When not using orderbook (`exit_pricing.use_order_book=False`), Freqtrade uses the best `side` price from the ticker if it's above the `last` traded price from the ticker. Otherwise (when the `side` price is below the `last` price), it calculates a rate between `side` and `last` price based on `exit_pricing.price_last_balance`.
When not using orderbook (`ask_strategy.use_order_book=False`), the price at the `ask_strategy.price_side` side (defaults to `"ask"`) from the ticker will be used as the sell price.
When not using orderbook (`ask_strategy.use_order_book=False`), Freqtrade uses the best `side` price from the ticker if it's below the `last` traded price from the ticker. Otherwise (when the `side` price is above the `last` price), it calculates a rate between `side` and `last` price.
The `ask_strategy.bid_last_balance` configuration parameter controls this. A value of `0.0` will use `side` price, while `1.0` will use the last price and values between those interpolate between `side` and last price.
The `exit_pricing.price_last_balance` configuration parameter controls this. A value of `0.0` will use `side` price, while `1.0` will use the last price and values between those interpolate between `side` and last price.
### Market order pricing
When using market orders, prices should be configured to use the "correct" side of the orderbook to allow realistic pricing detection.
Assuming both buy and sell are using market orders, a configuration similar to the following might be used
Assuming both entry and exits are using market orders, a configuration similar to the following must be used
``` jsonc
"order_types": {
"buy": "market",
"sell": "market"
"entry": "market",
"exit": "market"
// ...
},
"bid_strategy": {
"price_side": "ask",
"entry_pricing": {
"price_side": "other",
// ...
},
"ask_strategy":{
"price_side": "bid",
"exit_pricing":{
"price_side": "other",
// ...
},
```

View File

@ -1,7 +1,7 @@
## Protections
!!! Warning "Beta feature"
This feature is still in it's testing phase. Should you notice something you think is wrong please let us know via Discord, Slack or via Github Issue.
This feature is still in it's testing phase. Should you notice something you think is wrong please let us know via Discord or via Github Issue.
Protections will protect your strategy from unexpected events and market conditions by temporarily stop trading for either one pair, or for all pairs.
All protection end times are rounded up to the next candle to avoid sudden, unexpected intra-candle buys.
@ -15,6 +15,10 @@ All protection end times are rounded up to the next candle to avoid sudden, unex
!!! Note "Backtesting"
Protections are supported by backtesting and hyperopt, but must be explicitly enabled by using the `--enable-protections` flag.
!!! Warning "Setting protections from the configuration"
Setting protections from the configuration via `"protections": [],` key should be considered deprecated and will be removed in a future version.
It is also no longer guaranteed that your protections apply to the strategy in cases where the strategy defines [protections as property](hyperopt.md#optimizing-protections).
### Available Protections
* [`StoplossGuard`](#stoploss-guard) Stop trading if a certain amount of stoploss occurred within a certain time window.
@ -44,16 +48,24 @@ If `trade_limit` or more trades resulted in stoploss, trading will stop for `sto
This applies across all pairs, unless `only_per_pair` is set to true, which will then only look at one pair at a time.
Similarly, this protection will by default look at all trades (long and short). For futures bots, setting `only_per_side` will make the bot only consider one side, and will then only lock this one side, allowing for example shorts to continue after a series of long stoplosses.
`required_profit` will determine the required relative profit (or loss) for stoplosses to consider. This should normally not be set and defaults to 0.0 - which means all losing stoplosses will be triggering a block.
The below example stops trading for all pairs for 4 candles after the last trade if the bot hit stoploss 4 times within the last 24 candles.
``` python
protections = [
@property
def protections(self):
return [
{
"method": "StoplossGuard",
"lookback_period_candles": 24,
"trade_limit": 4,
"stop_duration_candles": 4,
"only_per_pair": False
"required_profit": 0.0,
"only_per_pair": False,
"only_per_side": False
}
]
```
@ -69,7 +81,9 @@ protections = [
The below sample stops trading for 12 candles if max-drawdown is > 20% considering all pairs - with a minimum of `trade_limit` trades - within the last 48 candles. If desired, `lookback_period` and/or `stop_duration` can be used.
``` python
protections = [
@property
def protections(self):
return [
{
"method": "MaxDrawdown",
"lookback_period_candles": 48,
@ -85,16 +99,21 @@ protections = [
`LowProfitPairs` uses all trades for a pair within `lookback_period` in minutes (or in candles when using `lookback_period_candles`) to determine the overall profit ratio.
If that ratio is below `required_profit`, that pair will be locked for `stop_duration` in minutes (or in candles when using `stop_duration_candles`).
For futures bots, setting `only_per_side` will make the bot only consider one side, and will then only lock this one side, allowing for example shorts to continue after a series of long losses.
The below example will stop trading a pair for 60 minutes if the pair does not have a required profit of 2% (and a minimum of 2 trades) within the last 6 candles.
``` python
protections = [
@property
def protections(self):
return [
{
"method": "LowProfitPairs",
"lookback_period_candles": 6,
"trade_limit": 2,
"stop_duration": 60,
"required_profit": 0.02
"required_profit": 0.02,
"only_per_pair": False,
}
]
```
@ -106,7 +125,9 @@ protections = [
The below example will stop trading a pair for 2 candles after closing a trade, allowing this pair to "cool down".
``` python
protections = [
@property
def protections(self):
return [
{
"method": "CooldownPeriod",
"stop_duration_candles": 2
@ -128,7 +149,7 @@ The below example assumes a timeframe of 1 hour:
* Locks each pair after selling for an additional 5 candles (`CooldownPeriod`), giving other pairs a chance to get filled.
* Stops trading for 4 hours (`4 * 1h candles`) if the last 2 days (`48 * 1h candles`) had 20 trades, which caused a max-drawdown of more than 20%. (`MaxDrawdown`).
* Stops trading if more than 4 stoploss occur for all pairs within a 1 day (`24 * 1h candles`) limit (`StoplossGuard`).
* Locks all pairs that had 4 Trades within the last 6 hours (`6 * 1h candles`) with a combined profit ratio of below 0.02 (<2%) (`LowProfitPairs`).
* Locks all pairs that had 2 Trades within the last 6 hours (`6 * 1h candles`) with a combined profit ratio of below 0.02 (<2%) (`LowProfitPairs`).
* Locks all pairs for 2 candles that had a profit of below 0.01 (<1%) within the last 24h (`24 * 1h candles`), a minimum of 4 trades.
``` python
@ -136,7 +157,10 @@ from freqtrade.strategy import IStrategy
class AwesomeStrategy(IStrategy)
timeframe = '1h'
protections = [
@property
def protections(self):
return [
{
"method": "CooldownPeriod",
"stop_duration_candles": 5

View File

@ -1,6 +1,7 @@
![freqtrade](assets/freqtrade_poweredby.svg)
[![Freqtrade CI](https://github.com/freqtrade/freqtrade/workflows/Freqtrade%20CI/badge.svg)](https://github.com/freqtrade/freqtrade/actions/)
[![DOI](https://joss.theoj.org/papers/10.21105/joss.04864/status.svg)](https://doi.org/10.21105/joss.04864)
[![Coverage Status](https://coveralls.io/repos/github/freqtrade/freqtrade/badge.svg?branch=develop&service=github)](https://coveralls.io/github/freqtrade/freqtrade?branch=develop)
[![Maintainability](https://api.codeclimate.com/v1/badges/5737e6d668200b7518ff/maintainability)](https://codeclimate.com/github/freqtrade/freqtrade/maintainability)
@ -11,7 +12,7 @@
## Introduction
Freqtrade is a crypto-currency algorithmic trading software developed in python (3.7+) and supported on Windows, macOS and Linux.
Freqtrade is a free and open source crypto trading bot written in Python. It is designed to support all major exchanges and be controlled via Telegram or webUI. It contains backtesting, plotting and money management tools as well as strategy optimization by machine learning.
!!! Danger "DISCLAIMER"
This software is for educational purposes only. Do not risk money which you are afraid to lose. USE THE SOFTWARE AT YOUR OWN RISK. THE AUTHORS AND ALL AFFILIATES ASSUME NO RESPONSIBILITY FOR YOUR TRADING RESULTS.
@ -20,6 +21,8 @@ Freqtrade is a crypto-currency algorithmic trading software developed in python
We strongly recommend you to have basic coding skills and Python knowledge. Do not hesitate to read the source code and understand the mechanisms of this bot, algorithms and techniques implemented in it.
![freqtrade screenshot](assets/freqtrade-screenshot.png)
## Features
- Develop your Strategy: Write your strategy in python, using [pandas](https://pandas.pydata.org/). Example strategies to inspire you are available in the [strategy repository](https://github.com/freqtrade/freqtrade-strategies).
@ -29,24 +32,36 @@ Freqtrade is a crypto-currency algorithmic trading software developed in python
- Select markets: Create your static list or use an automatic one based on top traded volumes and/or prices (not available during backtesting). You can also explicitly blacklist markets you don't want to trade.
- Run: Test your strategy with simulated money (Dry-Run mode) or deploy it with real money (Live-Trade mode).
- Run using Edge (optional module): The concept is to find the best historical [trade expectancy](edge.md#expectancy) by markets based on variation of the stop-loss and then allow/reject markets to trade. The sizing of the trade is based on a risk of a percentage of your capital.
- Control/Monitor: Use Telegram or a REST API (start/stop the bot, show profit/loss, daily summary, current open trades results, etc.).
- Analyse: Further analysis can be performed on either Backtesting data or Freqtrade trading history (SQL database), including automated standard plots, and methods to load the data into [interactive environments](data-analysis.md).
- Control/Monitor: Use Telegram or a WebUI (start/stop the bot, show profit/loss, daily summary, current open trades results, etc.).
- Analyze: Further analysis can be performed on either Backtesting data or Freqtrade trading history (SQL database), including automated standard plots, and methods to load the data into [interactive environments](data-analysis.md).
## Supported exchange marketplaces
Please read the [exchange specific notes](exchanges.md) to learn about eventual, special configurations needed for each exchange.
- [X] [Binance](https://www.binance.com/) ([*Note for binance users](exchanges.md#blacklists))
- [X] [Binance](https://www.binance.com/)
- [X] [Bittrex](https://bittrex.com/)
- [X] [FTX](https://ftx.com)
- [X] [Gate.io](https://www.gate.io/ref/6266643)
- [X] [Huobi](http://huobi.com/)
- [X] [Kraken](https://kraken.com/)
- [X] [OKX](https://okx.com/) (Former OKEX)
- [ ] [potentially many others through <img alt="ccxt" width="30px" src="assets/ccxt-logo.svg" />](https://github.com/ccxt/ccxt/). _(We cannot guarantee they will work)_
### Supported Futures Exchanges (experimental)
- [X] [Binance](https://www.binance.com/)
- [X] [Gate.io](https://www.gate.io/ref/6266643)
- [X] [OKX](https://okx.com/)
- [X] [Bybit](https://bybit.com/)
Please make sure to read the [exchange specific notes](exchanges.md), as well as the [trading with leverage](leverage.md) documentation before diving in.
### Community tested
Exchanges confirmed working by the community:
- [X] [Bitvavo](https://bitvavo.com/)
- [X] [Kucoin](https://www.kucoin.com/)
## Requirements
@ -64,7 +79,7 @@ To run this bot we recommend you a linux cloud instance with a minimum of:
Alternatively
- Python 3.7+
- Python 3.8+
- pip (pip3)
- git
- TA-Lib
@ -72,14 +87,10 @@ Alternatively
## Support
### Help / Discord / Slack
### Help / Discord
For any questions not covered by the documentation or for further information about the bot, or to simply engage with like-minded individuals, we encourage you to join our slack channel.
Please check out our [discord server](https://discord.gg/p7nuUNVfP7).
You can also join our [Slack channel](https://join.slack.com/t/highfrequencybot/shared_invite/zt-mm786y93-Fxo37glxMY9g8OQC5AoOIw).
For any questions not covered by the documentation or for further information about the bot, or to simply engage with like-minded individuals, we encourage you to join the Freqtrade [discord server](https://discord.gg/p7nuUNVfP7).
## Ready to try?
Begin by reading our installation guide [for docker](docker_quickstart.md) (recommended), or for [installation without docker](installation.md).
Begin by reading the installation guide [for docker](docker_quickstart.md) (recommended), or for [installation without docker](installation.md).

View File

@ -24,21 +24,31 @@ The easiest way to install and run Freqtrade is to clone the bot Github reposito
The `stable` branch contains the code of the last release (done usually once per month on an approximately one week old snapshot of the `develop` branch to prevent packaging bugs, so potentially it's more stable).
!!! Note
Python3.7 or higher and the corresponding `pip` are assumed to be available. The install-script will warn you and stop if that's not the case. `git` is also needed to clone the Freqtrade repository.
Python3.8 or higher and the corresponding `pip` are assumed to be available. The install-script will warn you and stop if that's not the case. `git` is also needed to clone the Freqtrade repository.
Also, python headers (`python<yourversion>-dev` / `python<yourversion>-devel`) must be available for the installation to complete successfully.
!!! Warning "Up-to-date clock"
The clock on the system running the bot must be accurate, synchronized to a NTP server frequently enough to avoid problems with communication to the exchanges.
!!! Error "Running setup.py install for gym did not run successfully."
If you get an error related with gym we suggest you to downgrade setuptools it to version 65.5.0 you can do it with the following command:
```bash
pip install setuptools==65.5.0
```
------
## Requirements
These requirements apply to both [Script Installation](#script-installation) and [Manual Installation](#manual-installation).
!!! Note "ARM64 systems"
If you are running an ARM64 system (like a MacOS M1 or an Oracle VM), please use [docker](docker_quickstart.md) to run freqtrade.
While native installation is possible with some manual effort, this is not supported at the moment.
### Install guide
* [Python >= 3.7.x](http://docs.python-guide.org/en/latest/starting/installation/)
* [Python >= 3.8.x](http://docs.python-guide.org/en/latest/starting/installation/)
* [pip](https://pip.pypa.io/en/stable/installing/)
* [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
* [virtualenv](https://virtualenv.pypa.io/en/stable/installation.html) (Recommended)
@ -50,7 +60,7 @@ We've included/collected install instructions for Ubuntu, MacOS, and Windows. Th
OS Specific steps are listed first, the [Common](#common) section below is necessary for all systems.
!!! Note
Python3.7 or higher and the corresponding pip are assumed to be available.
Python3.8 or higher and the corresponding pip are assumed to be available.
=== "Debian/Ubuntu"
#### Install necessary dependencies
@ -60,18 +70,18 @@ OS Specific steps are listed first, the [Common](#common) section below is neces
sudo apt-get update
# install packages
sudo apt install -y python3-pip python3-venv python3-dev python3-pandas git
sudo apt install -y python3-pip python3-venv python3-dev python3-pandas git curl
```
=== "RaspberryPi/Raspbian"
The following assumes the latest [Raspbian Buster lite image](https://www.raspberrypi.org/downloads/raspbian/).
This image comes with python3.7 preinstalled, making it easy to get freqtrade up and running.
This image comes with python3.9 preinstalled, making it easy to get freqtrade up and running.
Tested using a Raspberry Pi 3 with the Raspbian Buster lite image, all updates applied.
```bash
sudo apt-get install python3-venv libatlas-base-dev cmake
sudo apt-get install python3-venv libatlas-base-dev cmake curl
# Use pywheels.org to speed up installation
sudo echo "[global]\nextra-index-url=https://www.piwheels.org/simple" > tee /etc/pip.conf
@ -113,6 +123,13 @@ git checkout develop
You may later switch between branches at any time with the `git checkout stable`/`git checkout develop` commands.
??? Note "Install from pypi"
An alternative way to install Freqtrade is from [pypi](https://pypi.org/project/freqtrade/). The downside is that this method requires ta-lib to be correctly installed beforehand, and is therefore currently not the recommended way to install Freqtrade.
``` bash
pip install freqtrade
```
------
## Script Installation
@ -158,7 +175,7 @@ You can as well update, configure and reset the codebase of your bot with `./scr
** --install **
With this option, the script will install the bot and most dependencies:
You will need to have git and python3.7+ installed beforehand for this to work.
You will need to have git and python3.8+ installed beforehand for this to work.
* Mandatory software as: `ta-lib`
* Setup your virtualenv under `.env/`
@ -203,6 +220,8 @@ sed -i.bak "s|0.00000001|0.000000000000000001 |g" src/ta_func/ta_utility.h
./configure --prefix=/usr/local
make
sudo make install
# On debian based systems (debian, ubuntu, ...) - updating ldconfig might be necessary.
sudo ldconfig
cd ..
rm -rf ./ta-lib*
```
@ -271,10 +290,8 @@ cd freqtrade
#### Freqtrade install: Conda Environment
Prepare conda-freqtrade environment, using file `environment.yml`, which exist in main freqtrade directory
```bash
conda env create -n freqtrade-conda -f environment.yml
conda create --name freqtrade python=3.10
```
!!! Note "Creating Conda Environment"
@ -283,12 +300,9 @@ conda env create -n freqtrade-conda -f environment.yml
```bash
# choose your own packages
conda env create -n [name of the environment] [python version] [packages]
# point to file with packages
conda env create -n [name of the environment] -f [file]
```
#### Enter/exit freqtrade-conda environment
#### Enter/exit freqtrade environment
To check available environments, type
@ -300,7 +314,7 @@ Enter installed environment
```bash
# enter conda environment
conda activate freqtrade-conda
conda activate freqtrade
# exit conda environment - don't do it now
conda deactivate
@ -310,9 +324,20 @@ Install last python dependencies with pip
```bash
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt
python3 -m pip install -e .
```
Patch conda libta-lib (Linux only)
```bash
# Ensure that the environment is active!
conda activate freqtrade
cd build_helpers
bash install_ta-lib.sh ${CONDA_PREFIX} nosudo
```
### Congratulations
[You are ready](#you-are-ready), and run the bot
@ -326,8 +351,8 @@ conda env list
# activate base environment
conda activate
# activate freqtrade-conda environment
conda activate freqtrade-conda
# activate freqtrade environment
conda activate freqtrade
#deactivate any conda environments
conda deactivate
@ -407,16 +432,3 @@ open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10
```
If this file is inexistent, then you're probably on a different version of MacOS, so you may need to consult the internet for specific resolution details.
### MacOS installation error with python 3.9
When using python 3.9 on macOS, it's currently necessary to install some os-level modules to allow dependencies to compile.
The errors you'll see happen during installation and are related to the installation of `tables` or `blosc`.
You can install the necessary libraries with the following command:
```bash
brew install hdf5 c-blosc
```
After this, please run the installation (script) again.

143
docs/leverage.md Normal file
View File

@ -0,0 +1,143 @@
# Trading with Leverage
!!! Warning "Beta feature"
This feature is still in it's testing phase. Should you notice something you think is wrong please let us know via Discord or via Github Issue.
!!! Note "Multiple bots on one account"
You can't run 2 bots on the same account with leverage. For leveraged / margin trading, freqtrade assumes it's the only user of the account, and all liquidation levels are calculated based on this assumption.
!!! Danger "Trading with leverage is very risky"
Do not trade with a leverage > 1 using a strategy that hasn't shown positive results in a live run using the spot market. Check the stoploss of your strategy. With a leverage of 2, a stoploss of 0.5 (50%) would be too low, and these trades would be liquidated before reaching that stoploss.
We do not assume any responsibility for eventual losses that occur from using this software or this mode.
Please only use advanced trading modes when you know how freqtrade (and your strategy) works.
Also, never risk more than what you can afford to lose.
If you already have an existing strategy, please read the [strategy migration guide](strategy_migration.md#strategy-migration-between-v2-and-v3) to migrate your strategy from a freqtrade v2 strategy, to strategy of version 3 which can short and trade futures.
## Shorting
Shorting is not possible when trading with [`trading_mode`](#understand-tradingmode) set to `spot`. To short trade, `trading_mode` must be set to `margin`(currently unavailable) or [`futures`](#futures), with [`margin_mode`](#margin-mode) set to `cross`(currently unavailable) or [`isolated`](#isolated-margin-mode)
For a strategy to short, the strategy class must set the class variable `can_short = True`
Please read [strategy customization](strategy-customization.md#entry-signal-rules) for instructions on how to set signals to enter and exit short trades.
## Understand `trading_mode`
The possible values are: `spot` (default), `margin`(*Currently unavailable*) or `futures`.
### Spot
Regular trading mode (low risk)
- Long trades only (No short trades).
- No leverage.
- No Liquidation.
- Profits gained/lost are equal to the change in value of the assets (minus trading fees).
### Leverage trading modes
With leverage, a trader borrows capital from the exchange. The capital must be re-payed fully to the exchange (potentially with interest), and the trader keeps any profits, or pays any losses, from any trades made using the borrowed capital.
Because the capital must always be re-payed, exchanges will **liquidate** (forcefully sell the traders assets) a trade made using borrowed capital when the total value of assets in the leverage account drops to a certain point (a point where the total value of losses is less than the value of the collateral that the trader actually owns in the leverage account), in order to ensure that the trader has enough capital to pay the borrowed assets back to the exchange. The exchange will also charge a **liquidation fee**, adding to the traders losses.
For this reason, **DO NOT TRADE WITH LEVERAGE IF YOU DON'T KNOW EXACTLY WHAT YOUR DOING. LEVERAGE TRADING IS HIGH RISK, AND CAN RESULT IN THE VALUE OF YOUR ASSETS DROPPING TO 0 VERY QUICKLY, WITH NO CHANCE OF INCREASING IN VALUE AGAIN.**
#### Margin (currently unavailable)
Trading occurs on the spot market, but the exchange lends currency to you in an amount equal to the chosen leverage. You pay the amount lent to you back to the exchange with interest, and your profits/losses are multiplied by the leverage specified.
#### Futures
Perpetual swaps (also known as Perpetual Futures) are contracts traded at a price that is closely tied to the underlying asset they are based off of (ex.). You are not trading the actual asset but instead are trading a derivative contract. Perpetual swap contracts can last indefinitely, in contrast to futures or option contracts.
In addition to the gains/losses from the change in price of the futures contract, traders also exchange _funding fees_, which are gains/losses worth an amount that is derived from the difference in price between the futures contract and the underlying asset. The difference in price between a futures contract and the underlying asset varies between exchanges.
To trade in futures markets, you'll have to set `trading_mode` to "futures".
You will also have to pick a "margin mode" (explanation below) - with freqtrade currently only supporting isolated margin.
``` json
"trading_mode": "futures",
"margin_mode": "isolated"
```
##### Pair namings
Freqtrade follows the [ccxt naming conventions for futures](https://docs.ccxt.com/en/latest/manual.html?#perpetual-swap-perpetual-future).
A futures pair will therefore have the naming of `base/quote:settle` (e.g. `ETH/USDT:USDT`).
### Margin mode
On top of `trading_mode` - you will also have to configure your `margin_mode`.
While freqtrade currently only supports one margin mode, this will change, and by configuring it now you're all set for future updates.
The possible values are: `isolated`, or `cross`(*currently unavailable*).
#### Isolated margin mode
Each market(trading pair), keeps collateral in a separate account
``` json
"margin_mode": "isolated"
```
#### Cross margin mode (currently unavailable)
One account is used to share collateral between markets (trading pairs). Margin is taken from total account balance to avoid liquidation when needed.
``` json
"margin_mode": "cross"
```
Please read the [exchange specific notes](exchanges.md) for exchanges that support this mode and how they differ.
## Set leverage to use
Different strategies and risk profiles will require different levels of leverage.
While you could configure one static leverage value - freqtrade offers you the flexibility to adjust this via [strategy leverage callback](strategy-callbacks.md#leverage-callback) - which allows you to use different leverages by pair, or based on some other factor benefitting your strategy result.
If not implemented, leverage defaults to 1x (no leverage).
!!! Warning
Higher leverage also equals higher risk - be sure you fully understand the implications of using leverage!
## Understand `liquidation_buffer`
*Defaults to `0.05`*
A ratio specifying how large of a safety net to place between the liquidation price and the stoploss to prevent a position from reaching the liquidation price.
This artificial liquidation price is calculated as:
`freqtrade_liquidation_price = liquidation_price ± (abs(open_rate - liquidation_price) * liquidation_buffer)`
- `±` = `+` for long trades
- `±` = `-` for short trades
Possible values are any floats between 0.0 and 0.99
**ex:** If a trade is entered at a price of 10 coin/USDT, and the liquidation price of this trade is 8 coin/USDT, then with `liquidation_buffer` set to `0.05` the minimum stoploss for this trade would be $8 + ((10 - 8) * 0.05) = 8 + 0.1 = 8.1$
!!! Danger "A `liquidation_buffer` of 0.0, or a low `liquidation_buffer` is likely to result in liquidations, and liquidation fees"
Currently Freqtrade is able to calculate liquidation prices, but does not calculate liquidation fees. Setting your `liquidation_buffer` to 0.0, or using a low `liquidation_buffer` could result in your positions being liquidated. Freqtrade does not track liquidation fees, so liquidations will result in inaccurate profit/loss results for your bot. If you use a low `liquidation_buffer`, it is recommended to use `stoploss_on_exchange` if your exchange supports this.
## Unavailable funding rates
For futures data, exchanges commonly provide the futures candles, the marks, and the funding rates. However, it is common that whilst candles and marks might be available, the funding rates are not. This can affect backtesting timeranges, i.e. you may only be able to test recent timeranges and not earlier, experiencing the `No data found. Terminating.` error. To get around this, add the `futures_funding_rate` config option as listed in [configuration.md](configuration.md), and it is recommended that you set this to `0`, unless you know a given specific funding rate for your pair, exchange and timerange. Setting this to anything other than `0` can have drastic effects on your profit calculations within strategy, e.g. within the `custom_exit`, `custom_stoploss`, etc functions.
!!! Warning "This will mean your backtests are inaccurate."
This will not overwrite funding rates that are available from the exchange, but bear in mind that setting a false funding rate will mean backtesting results will be inaccurate for historical timeranges where funding rates are not available.
### Developer
#### Margin mode
For shorts, the currency which pays the interest fee for the `borrowed` currency is purchased at the same time of the closing trade (This means that the amount purchased in short closing trades is greater than the amount sold in short opening trades).
For longs, the currency which pays the interest fee for the `borrowed` will already be owned by the user and does not need to be purchased. The interest is subtracted from the `close_value` of the trade.
All Fees are included in `current_profit` calculations during the trade.
#### Futures mode
Funding fees are either added or subtracted from the total amount of a trade

View File

@ -11,9 +11,6 @@
{% endif %}
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" {{ hidden }}>
<div class="md-sidebar__scrollwrap">
<div id="widget-wrapper">
</div>
<div class="md-sidebar__inner">
{% include "partials/nav.html" %}
</div>
@ -44,25 +41,4 @@
<script src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<!-- Load binance SDK -->
<script async defer src="https://public.bnbstatic.com/static/js/broker-sdk/broker-sdk@1.0.0.min.js"></script>
<script>
window.onload = function () {
var sidebar = document.getElementById('widget-wrapper')
var newDiv = document.createElement("div");
newDiv.id = "widget";
try {
sidebar.prepend(newDiv);
window.binanceBrokerPortalSdk.initBrokerSDK('#widget', {
apiHost: 'https://www.binance.com',
brokerId: 'R4BD3S82',
slideTime: 4e4,
});
} catch(err) {
console.log(err)
}
}
</script>
{% endblock %}

View File

@ -14,7 +14,7 @@ pip install -U -r requirements-plot.txt
The `freqtrade plot-dataframe` subcommand shows an interactive graph with three subplots:
* Main plot with candlestics and indicators following price (sma/ema)
* Main plot with candlesticks and indicators following price (sma/ema)
* Volume bars
* Additional indicators as specified by `--indicators2`
@ -65,7 +65,7 @@ optional arguments:
_today.json`
--timerange TIMERANGE
Specify what timerange of data to use.
-i TIMEFRAME, --timeframe TIMEFRAME, --ticker-interval TIMEFRAME
-i TIMEFRAME, --timeframe TIMEFRAME
Specify timeframe (`1m`, `5m`, `30m`, `1h`, `1d`).
--no-trades Skip using trades from backtesting file and DB.
@ -96,7 +96,7 @@ Strategy arguments:
Example:
``` bash
freqtrade plot-dataframe -p BTC/ETH
freqtrade plot-dataframe -p BTC/ETH --strategy AwesomeStrategy
```
The `-p/--pairs` argument can be used to specify pairs you would like to plot.
@ -107,9 +107,6 @@ The `-p/--pairs` argument can be used to specify pairs you would like to plot.
Specify custom indicators.
Use `--indicators1` for the main plot and `--indicators2` for the subplot below (if values are in a different range than prices).
!!! Tip
You will almost certainly want to specify a custom strategy! This can be done by adding `-s Classname` / `--strategy ClassName` to the command.
``` bash
freqtrade plot-dataframe --strategy AwesomeStrategy -p BTC/ETH --indicators1 sma ema --indicators2 macd
```
@ -164,7 +161,7 @@ The resulting plot will have the following elements:
An advanced plot configuration can be specified in the strategy in the `plot_config` parameter.
Additional features when using plot_config include:
Additional features when using `plot_config` include:
* Specify colors per indicator
* Specify additional subplots
@ -174,6 +171,7 @@ The sample plot configuration below specifies fixed colors for the indicators. O
It also allows multiple subplots to display both MACD and RSI at the same time.
Plot type can be configured using `type` key. Possible types are:
* `scatter` corresponding to `plotly.graph_objects.Scatter` class (default).
* `bar` corresponding to `plotly.graph_objects.Bar` class.
@ -181,6 +179,54 @@ Extra parameters to `plotly.graph_objects.*` constructor can be specified in `pl
Sample configuration with inline comments explaining the process:
``` python
@property
def plot_config(self):
"""
There are a lot of solutions how to build the return dictionary.
The only important point is the return value.
Example:
plot_config = {'main_plot': {}, 'subplots': {}}
"""
plot_config = {}
plot_config['main_plot'] = {
# Configuration for main plot indicators.
# Assumes 2 parameters, emashort and emalong to be specified.
f'ema_{self.emashort.value}': {'color': 'red'},
f'ema_{self.emalong.value}': {'color': '#CCCCCC'},
# By omitting color, a random color is selected.
'sar': {},
# fill area between senkou_a and senkou_b
'senkou_a': {
'color': 'green', #optional
'fill_to': 'senkou_b',
'fill_label': 'Ichimoku Cloud', #optional
'fill_color': 'rgba(255,76,46,0.2)', #optional
},
# plot senkou_b, too. Not only the area to it.
'senkou_b': {}
}
plot_config['subplots'] = {
# Create subplot MACD
"MACD": {
'macd': {'color': 'blue', 'fill_to': 'macdhist'},
'macdsignal': {'color': 'orange'},
'macdhist': {'type': 'bar', 'plotly': {'opacity': 0.9}}
},
# Additional subplot RSI
"RSI": {
'rsi': {'color': 'red'}
}
}
return plot_config
```
??? Note "As attribute (former method)"
Assigning plot_config is also possible as Attribute (this used to be the default way).
This has the disadvantage that strategy parameters are not available, preventing certain configurations from working.
``` python
plot_config = {
'main_plot': {
@ -216,6 +262,7 @@ Sample configuration with inline comments explaining the process:
```
!!! Note
The above configuration assumes that `ema10`, `ema50`, `senkou_a`, `senkou_b`,
`macd`, `macdsignal`, `macdhist` and `rsi` are columns in the DataFrame created by the strategy.
@ -223,6 +270,9 @@ Sample configuration with inline comments explaining the process:
!!! Warning
`plotly` arguments are only supported with plotly library and will not work with freq-ui.
!!! Note "Trade position adjustments"
If `position_adjustment_enable` / `adjust_trade_position()` is used, the trade initial buy price is averaged over multiple orders and the trade start price will most likely appear outside the candle range.
## Plot profit
![plot-profit](assets/plot-profit.png)
@ -233,6 +283,8 @@ The `plot-profit` subcommand shows an interactive graph with three plots:
* The summarized profit made by backtesting.
Note that this is not the real-world profit, but more of an estimate.
* Profit for each individual pair.
* Parallelism of trades.
* Underwater (Periods of drawdown).
The first graph is good to get a grip of how the overall market progresses.
@ -242,6 +294,8 @@ This graph will also highlight the start (and end) of the Max drawdown period.
The third graph can be useful to spot outliers, events in pairs that cause profit spikes.
The forth graph can help you analyze trade parallelism, showing how often max_open_trades have been maxed out.
Possible options for the `freqtrade plot-profit` subcommand:
```
@ -261,8 +315,8 @@ optional arguments:
Specify what timerange of data to use.
--export EXPORT Export backtest results, argument are: trades.
Example: `--export=trades`
--export-filename PATH
Save backtest results to the file with this filename.
--export-filename PATH, --backtest-filename PATH
Use backtest results from this filename.
Requires `--export` to be set as well. Example:
`--export-filename=user_data/backtest_results/backtest
_today.json`
@ -273,7 +327,7 @@ optional arguments:
--trade-source {DB,file}
Specify the source for trades (Can be DB or file
(backtest file)) Default: file
-i TIMEFRAME, --timeframe TIMEFRAME, --ticker-interval TIMEFRAME
-i TIMEFRAME, --timeframe TIMEFRAME
Specify timeframe (`1m`, `5m`, `30m`, `1h`, `1d`).
--auto-open Automatically open generated plot.

165
docs/producer-consumer.md Normal file
View File

@ -0,0 +1,165 @@
# Producer / Consumer mode
freqtrade provides a mechanism whereby an instance (also called `consumer`) may listen to messages from an upstream freqtrade instance (also called `producer`) using the message websocket. Mainly, `analyzed_df` and `whitelist` messages. This allows the reuse of computed indicators (and signals) for pairs in multiple bots without needing to compute them multiple times.
See [Message Websocket](rest-api.md#message-websocket) in the Rest API docs for setting up the `api_server` configuration for your message websocket (this will be your producer).
!!! Note
We strongly recommend to set `ws_token` to something random and known only to yourself to avoid unauthorized access to your bot.
## Configuration
Enable subscribing to an instance by adding the `external_message_consumer` section to the consumer's config file.
```json
{
//...
"external_message_consumer": {
"enabled": true,
"producers": [
{
"name": "default", // This can be any name you'd like, default is "default"
"host": "127.0.0.1", // The host from your producer's api_server config
"port": 8080, // The port from your producer's api_server config
"secure": false, // Use a secure websockets connection, default false
"ws_token": "sercet_Ws_t0ken" // The ws_token from your producer's api_server config
}
],
// The following configurations are optional, and usually not required
// "wait_timeout": 300,
// "ping_timeout": 10,
// "sleep_time": 10,
// "remove_entry_exit_signals": false,
// "message_size_limit": 8
}
//...
}
```
| Parameter | Description |
|------------|-------------|
| `enabled` | **Required.** Enable consumer mode. If set to false, all other settings in this section are ignored.<br>*Defaults to `false`.*<br> **Datatype:** boolean .
| `producers` | **Required.** List of producers <br> **Datatype:** Array.
| `producers.name` | **Required.** Name of this producer. This name must be used in calls to `get_producer_pairs()` and `get_producer_df()` if more than one producer is used.<br> **Datatype:** string
| `producers.host` | **Required.** The hostname or IP address from your producer.<br> **Datatype:** string
| `producers.port` | **Required.** The port matching the above host.<br>*Defaults to `8080`.*<br> **Datatype:** Integer
| `producers.secure` | **Optional.** Use ssl in websockets connection. Default False.<br> **Datatype:** string
| `producers.ws_token` | **Required.** `ws_token` as configured on the producer.<br> **Datatype:** string
| | **Optional settings**
| `wait_timeout` | Timeout until we ping again if no message is received. <br>*Defaults to `300`.*<br> **Datatype:** Integer - in seconds.
| `ping_timeout` | Ping timeout <br>*Defaults to `10`.*<br> **Datatype:** Integer - in seconds.
| `sleep_time` | Sleep time before retrying to connect.<br>*Defaults to `10`.*<br> **Datatype:** Integer - in seconds.
| `remove_entry_exit_signals` | Remove signal columns from the dataframe (set them to 0) on dataframe receipt.<br>*Defaults to `False`.*<br> **Datatype:** Boolean.
| `message_size_limit` | Size limit per message<br>*Defaults to `8`.*<br> **Datatype:** Integer - Megabytes.
Instead of (or as well as) calculating indicators in `populate_indicators()` the follower instance listens on the connection to a producer instance's messages (or multiple producer instances in advanced configurations) and requests the producer's most recently analyzed dataframes for each pair in the active whitelist.
A consumer instance will then have a full copy of the analyzed dataframes without the need to calculate them itself.
## Examples
### Example - Producer Strategy
A simple strategy with multiple indicators. No special considerations are required in the strategy itself.
```py
class ProducerStrategy(IStrategy):
#...
def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
"""
Calculate indicators in the standard freqtrade way which can then be broadcast to other instances
"""
dataframe['rsi'] = ta.RSI(dataframe)
bollinger = qtpylib.bollinger_bands(qtpylib.typical_price(dataframe), window=20, stds=2)
dataframe['bb_lowerband'] = bollinger['lower']
dataframe['bb_middleband'] = bollinger['mid']
dataframe['bb_upperband'] = bollinger['upper']
dataframe['tema'] = ta.TEMA(dataframe, timeperiod=9)
return dataframe
def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
"""
Populates the entry signal for the given dataframe
"""
dataframe.loc[
(
(qtpylib.crossed_above(dataframe['rsi'], self.buy_rsi.value)) &
(dataframe['tema'] <= dataframe['bb_middleband']) &
(dataframe['tema'] > dataframe['tema'].shift(1)) &
(dataframe['volume'] > 0)
),
'enter_long'] = 1
return dataframe
```
!!! Tip "FreqAI"
You can use this to setup [FreqAI](freqai.md) on a powerful machine, while you run consumers on simple machines like raspberries, which can interpret the signals generated from the producer in different ways.
### Example - Consumer Strategy
A logically equivalent strategy which calculates no indicators itself, but will have the same analyzed dataframes available to make trading decisions based on the indicators calculated in the producer. In this example the consumer has the same entry criteria, however this is not necessary. The consumer may use different logic to enter/exit trades, and only use the indicators as specified.
```py
class ConsumerStrategy(IStrategy):
#...
process_only_new_candles = False # required for consumers
_columns_to_expect = ['rsi_default', 'tema_default', 'bb_middleband_default']
def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
"""
Use the websocket api to get pre-populated indicators from another freqtrade instance.
Use `self.dp.get_producer_df(pair)` to get the dataframe
"""
pair = metadata['pair']
timeframe = self.timeframe
producer_pairs = self.dp.get_producer_pairs()
# You can specify which producer to get pairs from via:
# self.dp.get_producer_pairs("my_other_producer")
# This func returns the analyzed dataframe, and when it was analyzed
producer_dataframe, _ = self.dp.get_producer_df(pair)
# You can get other data if the producer makes it available:
# self.dp.get_producer_df(
# pair,
# timeframe="1h",
# candle_type=CandleType.SPOT,
# producer_name="my_other_producer"
# )
if not producer_dataframe.empty:
# If you plan on passing the producer's entry/exit signal directly,
# specify ffill=False or it will have unintended results
merged_dataframe = merge_informative_pair(dataframe, producer_dataframe,
timeframe, timeframe,
append_timeframe=False,
suffix="default")
return merged_dataframe
else:
dataframe[self._columns_to_expect] = 0
return dataframe
def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
"""
Populates the entry signal for the given dataframe
"""
# Use the dataframe columns as if we calculated them ourselves
dataframe.loc[
(
(qtpylib.crossed_above(dataframe['rsi_default'], self.buy_rsi.value)) &
(dataframe['tema_default'] <= dataframe['bb_middleband_default']) &
(dataframe['tema_default'] > dataframe['tema_default'].shift(1)) &
(dataframe['volume'] > 0)
),
'enter_long'] = 1
return dataframe
```
!!! Tip "Using upstream signals"
By setting `remove_entry_exit_signals=false`, you can also use the producer's signals directly. They should be available as `enter_long_default` (assuming `suffix="default"` was used) - and can be used as either signal directly, or as additional indicator.

View File

@ -1,4 +1,6 @@
mkdocs==1.2.1
mkdocs-material==7.1.8
mdx_truly_sane_lists==1.2
pymdown-extensions==8.2
markdown==3.3.7
mkdocs==1.4.2
mkdocs-material==9.1.6
mdx_truly_sane_lists==1.3
pymdown-extensions==9.11
jinja2==3.1.2

View File

@ -9,9 +9,6 @@ This same command can also be used to update freqUI, should there be a new relea
Once the bot is started in trade / dry-run mode (with `freqtrade trade`) - the UI will be available under the configured port below (usually `http://127.0.0.1:8080`).
!!! info "Alpha release"
FreqUI is still considered an alpha release - if you encounter bugs or inconsistencies please open a [FreqUI issue](https://github.com/freqtrade/frequi/issues/new/choose).
!!! Note "developers"
Developers should not use this method, but instead use the method described in the [freqUI repository](https://github.com/freqtrade/frequi) to get the source-code of freqUI.
@ -31,13 +28,19 @@ Sample configuration:
"jwt_secret_key": "somethingrandom",
"CORS_origins": [],
"username": "Freqtrader",
"password": "SuperSecret1!"
"password": "SuperSecret1!",
"ws_token": "sercet_Ws_t0ken"
},
```
!!! Danger "Security warning"
By default, the configuration listens on localhost only (so it's not reachable from other systems). We strongly recommend to not expose this API to the internet and choose a strong, unique password, since others will potentially be able to control your bot.
??? Note "API/UI Access on a remote servers"
If you're running on a VPS, you should consider using either a ssh tunnel, or setup a VPN (openVPN, wireguard) to connect to your bot.
This will ensure that freqUI is not directly exposed to the internet, which is not recommended for security reasons (freqUI does not support https out of the box).
Setup of these tools is not part of this tutorial, however many good tutorials can be found on the internet.
You can then access the API by going to `http://127.0.0.1:8080/api/v1/ping` in a browser to check if the API is running correctly.
This should return the response:
@ -78,7 +81,7 @@ If you run your bot using docker, you'll need to have the bot listen to incoming
},
```
Uncomment the following from your docker-compose file:
Make sure that the following 2 lines are available in your docker-compose file:
```yml
ports:
@ -88,7 +91,6 @@ Uncomment the following from your docker-compose file:
!!! Danger "Security warning"
By using `8080:8080` in the docker port mapping, the API will be available to everyone connecting to the server under the correct port, so others may be able to control your bot.
## Rest API
### Consuming the API
@ -140,9 +142,10 @@ python3 scripts/rest_client.py --config rest_config.json <command> [optional par
| `locks` | Displays currently locked pairs.
| `delete_lock <lock_id>` | Deletes (disables) the lock by id.
| `profit` | Display a summary of your profit/loss from close trades and some stats about your performance.
| `forcesell <trade_id>` | Instantly sells the given trade (Ignoring `minimum_roi`).
| `forcesell all` | Instantly sells all open trades (Ignoring `minimum_roi`).
| `forcebuy <pair> [rate]` | Instantly buys the given pair. Rate is optional. (`forcebuy_enable` must be set to True)
| `forceexit <trade_id>` | Instantly exits the given trade (Ignoring `minimum_roi`).
| `forceexit all` | Instantly exits all open trades (Ignoring `minimum_roi`).
| `forceenter <pair> [rate]` | Instantly enters the given pair. Rate is optional. (`force_entry_enable` must be set to True)
| `forceenter <pair> <side> [rate]` | Instantly longs or shorts the given pair. Rate is optional. (`force_entry_enable` must be set to True)
| `performance` | Show performance of each finished trade grouped by pair.
| `balance` | Show account balance per currency.
| `daily <n>` | Shows profit or loss per day, over the last n days (n defaults to 7).
@ -157,6 +160,8 @@ python3 scripts/rest_client.py --config rest_config.json <command> [optional par
| `strategy <strategy>` | Get specific Strategy content. **Alpha**
| `available_pairs` | List available backtest data. **Alpha**
| `version` | Show version.
| `sysinfo` | Show information about the system load.
| `health` | Show bot health (last bot loop).
!!! Warning "Alpha status"
Endpoints labeled with *Alpha status* above may change at any time without notice.
@ -184,6 +189,11 @@ blacklist
:param add: List of coins to add (example: "BNB/BTC")
cancel_open_order
Cancel open order for trade.
:param trade_id: Cancels open orders for this trade.
count
Return the amount of open trades.
@ -210,10 +220,22 @@ forcebuy
:param pair: Pair to buy (ETH/BTC)
:param price: Optional - price to buy
forcesell
Force-sell a trade.
forceenter
Force entering a trade
:param pair: Pair to buy (ETH/BTC)
:param side: 'long' or 'short'
:param price: Optional - price to buy
forceexit
Force-exit a trade.
:param tradeid: Id of the trade (can be received via status command)
:param ordertype: Order type to use (must be market or limit)
:param amount: Amount to sell. Full sell if not given
health
Provides a quick health check of the running bot.
locks
Return current locks
@ -254,7 +276,6 @@ reload_config
Reload configuration.
show_config
Returns part of the configuration, relevant for trading operations.
start
@ -280,6 +301,9 @@ strategy
:param strategy: Strategy class name
sysinfo
Provides system information (CPU, RAM usage)
trade
Return specific trade
@ -296,12 +320,119 @@ version
whitelist
Show the current whitelist.
```
### Message WebSocket
The API Server includes a websocket endpoint for subscribing to RPC messages from the freqtrade Bot.
This can be used to consume real-time data from your bot, such as entry/exit fill messages, whitelist changes, populated indicators for pairs, and more.
This is also used to setup [Producer/Consumer mode](producer-consumer.md) in Freqtrade.
Assuming your rest API is set to `127.0.0.1` on port `8080`, the endpoint is available at `http://localhost:8080/api/v1/message/ws`.
To access the websocket endpoint, the `ws_token` is required as a query parameter in the endpoint URL.
To generate a safe `ws_token` you can run the following code:
``` python
>>> import secrets
>>> secrets.token_urlsafe(25)
'hZ-y58LXyX_HZ8O1cJzVyN6ePWrLpNQv4Q'
```
You would then add that token under `ws_token` in your `api_server` config. Like so:
``` json
"api_server": {
"enabled": true,
"listen_ip_address": "127.0.0.1",
"listen_port": 8080,
"verbosity": "error",
"enable_openapi": false,
"jwt_secret_key": "somethingrandom",
"CORS_origins": [],
"username": "Freqtrader",
"password": "SuperSecret1!",
"ws_token": "hZ-y58LXyX_HZ8O1cJzVyN6ePWrLpNQv4Q" // <-----
},
```
You can now connect to the endpoint at `http://localhost:8080/api/v1/message/ws?token=hZ-y58LXyX_HZ8O1cJzVyN6ePWrLpNQv4Q`.
!!! Danger "Reuse of example tokens"
Please do not use the above example token. To make sure you are secure, generate a completely new token.
#### Using the WebSocket
Once connected to the WebSocket, the bot will broadcast RPC messages to anyone who is subscribed to them. To subscribe to a list of messages, you must send a JSON request through the WebSocket like the one below. The `data` key must be a list of message type strings.
``` json
{
"type": "subscribe",
"data": ["whitelist", "analyzed_df"] // A list of string message types
}
```
For a list of message types, please refer to the RPCMessageType enum in `freqtrade/enums/rpcmessagetype.py`
Now anytime those types of RPC messages are sent in the bot, you will receive them through the WebSocket as long as the connection is active. They typically take the same form as the request:
``` json
{
"type": "analyzed_df",
"data": {
"key": ["NEO/BTC", "5m", "spot"],
"df": {}, // The dataframe
"la": "2022-09-08 22:14:41.457786+00:00"
}
}
```
#### Reverse Proxy setup
When using [Nginx](https://nginx.org/en/docs/), the following configuration is required for WebSockets to work (Note this configuration is incomplete, it's missing some information and can not be used as is):
Please make sure to replace `<freqtrade_listen_ip>` (and the subsequent port) with the IP and Port matching your configuration/setup.
```
http {
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
#...
server {
#...
location / {
proxy_http_version 1.1;
proxy_pass http://<freqtrade_listen_ip>:8080;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
}
}
}
```
To properly configure your reverse proxy (securely), please consult it's documentation for proxying websockets.
- **Traefik**: Traefik supports websockets out of the box, see the [documentation](https://doc.traefik.io/traefik/)
- **Caddy**: Caddy v2 supports websockets out of the box, see the [documentation](https://caddyserver.com/docs/v2-upgrade#proxy)
!!! Tip "SSL certificates"
You can use tools like certbot to setup ssl certificates to access your bot's UI through encrypted connection by using any fo the above reverse proxies.
While this will protect your data in transit, we do not recommend to run the freqtrade API outside of your private network (VPN, SSH tunnel).
### OpenAPI interface
To enable the builtin openAPI interface (Swagger UI), specify `"enable_openapi": true` in the api_server configuration.
This will enable the Swagger UI at the `/docs` endpoint. By default, that's running at http://localhost:8080/docs/ - but it'll depend on your settings.
This will enable the Swagger UI at the `/docs` endpoint. By default, that's running at http://localhost:8080/docs - but it'll depend on your settings.
### Advanced API usage using JWT tokens
@ -330,12 +461,15 @@ Since the access token has a short timeout (15 min) - the `token/refresh` reques
### CORS
This whole section is only necessary in cross-origin cases (where you multiple bot API's running on `localhost:8081`, `localhost:8082`, ...), and want to combine them into one FreqUI instance.
??? info "Technical explanation"
All web-based front-ends are subject to [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) - Cross-Origin Resource Sharing.
Since most of the requests to the Freqtrade API must be authenticated, a proper CORS policy is key to avoid security problems.
Also, the standard disallows `*` CORS policies for requests with credentials, so this setting must be set appropriately.
Users can configure this themselves via the `CORS_origins` configuration setting.
It consists of a list of allowed sites that are allowed to consume resources from the bot's API.
Users can allow access from different origin URL's to the bot API via the `CORS_origins` configuration setting.
It consists of a list of allowed URL's that are allowed to consume resources from the bot's API.
Assuming your application is deployed as `https://frequi.freqtrade.io/home/` - this would mean that the following configuration becomes necessary:
@ -348,5 +482,19 @@ Assuming your application is deployed as `https://frequi.freqtrade.io/home/` - t
}
```
In the following (pretty common) case, FreqUI is accessible on `http://localhost:8080/trade` (this is what you see in your navbar when navigating to freqUI).
![freqUI url](assets/frequi_url.png)
The correct configuration for this case is `http://localhost:8080` - the main part of the URL including the port.
```jsonc
{
//...
"jwt_secret_key": "somethingrandom",
"CORS_origins": ["http://localhost:8080"],
//...
}
```
!!! Note
We strongly recommend to also set `jwt_secret_key` to something random and known only to yourself to avoid unauthorized access to your bot.

View File

@ -104,16 +104,16 @@ To mitigate this, you can try to match the first order on the opposite orderbook
``` jsonc
"order_types": {
"buy": "limit",
"sell": "limit"
"entry": "limit",
"exit": "limit"
// ...
},
"bid_strategy": {
"price_side": "ask",
"entry_pricing": {
"price_side": "other",
// ...
},
"ask_strategy":{
"price_side": "bid",
"exit_pricing":{
"price_side": "other",
// ...
},
```

View File

@ -13,12 +13,12 @@ Feel free to use a visual Database editor like SqliteBrowser if you feel more co
sudo apt-get install sqlite3
```
### Using sqlite3 via docker-compose
### Using sqlite3 via docker
The freqtrade docker image does contain sqlite3, so you can edit the database without having to install anything on the host system.
``` bash
docker-compose exec freqtrade /bin/bash
docker compose exec freqtrade /bin/bash
sqlite3 <database-file>.sqlite
```
@ -49,14 +49,14 @@ sqlite3
SELECT * FROM trades;
```
## Fix trade still open after a manual sell on the exchange
## Fix trade still open after a manual exit on the exchange
!!! Warning
Manually selling a pair on the exchange will not be detected by the bot and it will try to sell anyway. Whenever possible, forcesell <tradeid> should be used to accomplish the same thing.
Manually selling a pair on the exchange will not be detected by the bot and it will try to sell anyway. Whenever possible, /forceexit <tradeid> should be used to accomplish the same thing.
It is strongly advised to backup your database file before making any manual changes.
!!! Note
This should not be necessary after /forcesell, as forcesell orders are closed automatically by the bot on the next iteration.
This should not be necessary after /forceexit, as force_exit orders are closed automatically by the bot on the next iteration.
```sql
UPDATE trades
@ -65,7 +65,7 @@ SET is_open=0,
close_rate=<close_rate>,
close_profit = close_rate / open_rate - 1,
close_profit_abs = (amount * <close_rate> * (1 - fee_close) - (amount * (open_rate * (1 - fee_open)))),
sell_reason=<sell_reason>
exit_reason=<exit_reason>
WHERE id=<trade_ID_to_update>;
```
@ -78,7 +78,7 @@ SET is_open=0,
close_rate=0.19638016,
close_profit=0.0496,
close_profit_abs = (amount * 0.19638016 * (1 - fee_close) - (amount * (open_rate * (1 - fee_open)))),
sell_reason='force_sell'
exit_reason='force_exit'
WHERE id=31;
```
@ -89,11 +89,12 @@ WHERE id=31;
If you'd still like to remove a trade from the database directly, you can use the below query.
```sql
DELETE FROM trades WHERE id = <tradeid>;
```
!!! Danger
Some systems (Ubuntu) disable foreign keys in their sqlite3 packaging. When using sqlite - please ensure that foreign keys are on by running `PRAGMA foreign_keys = ON` before the above query.
```sql
DELETE FROM trades WHERE id = <tradeid>;
DELETE FROM trades WHERE id = 31;
```
@ -102,15 +103,22 @@ DELETE FROM trades WHERE id = 31;
## Use a different database system
Freqtrade is using SQLAlchemy, which supports multiple different database systems. As such, a multitude of database systems should be supported.
Freqtrade does not depend or install any additional database driver. Please refer to the [SQLAlchemy docs](https://docs.sqlalchemy.org/en/14/core/engines.html#database-urls) on installation instructions for the respective database systems.
The following systems have been tested and are known to work with freqtrade:
* sqlite (default)
* PostgreSQL)
* MariaDB
!!! Warning
By using one of the below database systems, you acknowledge that you know how to manage such a system. Freqtrade will not provide any support with setup or maintenance (or backups) of the below database systems.
By using one of the below database systems, you acknowledge that you know how to manage such a system. The freqtrade team will not provide any support with setup or maintenance (or backups) of the below database systems.
### PostgreSQL
Freqtrade supports PostgreSQL by using SQLAlchemy, which supports multiple different database systems.
Installation:
`pip install psycopg2`
`pip install psycopg2-binary`
Usage:
`... --db-url postgresql+psycopg2://<username>:<password>@localhost:5432/<database>`

View File

@ -2,6 +2,7 @@
The `stoploss` configuration parameter is loss as ratio that should trigger a sale.
For example, value `-0.10` will cause immediate sell if the profit dips below -10% for a given trade. This parameter is optional.
Stoploss calculations do include fees, so a stoploss of -10% is placed exactly 10% below the entry point.
Most of the strategy files already include the optimal `stoploss` value.
@ -16,21 +17,33 @@ Those stoploss modes can be *on exchange* or *off exchange*.
These modes can be configured with these values:
``` python
'emergencysell': 'market',
'emergency_exit': 'market',
'stoploss_on_exchange': False
'stoploss_on_exchange_interval': 60,
'stoploss_on_exchange_limit_ratio': 0.99
```
!!! Note
Stoploss on exchange is only supported for Binance (stop-loss-limit), Kraken (stop-loss-market, stop-loss-limit) and FTX (stop limit and stop-market) as of now.
<ins>Do not set too low/tight stoploss value if using stop loss on exchange!</ins>
If set to low/tight then you have greater risk of missing fill on the order and stoploss will not work.
Stoploss on exchange is only supported for the following exchanges, and not all exchanges support both stop-limit and stop-market.
The Order-type will be ignored if only one mode is available.
| Exchange | stop-loss type |
|----------|-------------|
| Binance | limit |
| Binance Futures | market, limit |
| Huobi | limit |
| kraken | market, limit |
| Gate | limit |
| Okx | limit |
| Kucoin | stop-limit, stop-market|
!!! Note "Tight stoploss"
<ins>Do not set too low/tight stoploss value when using stop loss on exchange!</ins>
If set to low/tight you will have greater risk of missing fill on the order and stoploss will not work.
### stoploss_on_exchange and stoploss_on_exchange_limit_ratio
Enable or Disable stop loss on exchange.
If the stoploss is *on exchange* it means a stoploss limit order is placed on the exchange immediately after buy order happens successfully. This will protect you against sudden crashes in market as the order will be in the queue immediately and if market goes down then the order has more chance of being fulfilled.
If the stoploss is *on exchange* it means a stoploss limit order is placed on the exchange immediately after buy order fills. This will protect you against sudden crashes in market, as the order execution happens purely within the exchange, and has no potential network overhead.
If `stoploss_on_exchange` uses limit orders, the exchange needs 2 prices, the stoploss_price and the Limit price.
`stoploss` defines the stop-price where the limit order is placed - and limit should be slightly below this.
@ -51,30 +64,42 @@ The bot cannot do these every 5 seconds (at each iteration), otherwise it would
So this parameter will tell the bot how often it should update the stoploss order. The default value is 60 (1 minute).
This same logic will reapply a stoploss order on the exchange should you cancel it accidentally.
### forcesell
### stoploss_price_type
`forcesell` is an optional value, which defaults to the same value as `sell` and is used when sending a `/forcesell` command from Telegram or from the Rest API.
!!! Warning "Only applies to futures"
`stoploss_price_type` only applies to futures markets (on exchanges where it's available).
Freqtrade will perform a validation of this setting on startup, failing to start if an invalid setting for your exchange has been selected.
Supported price types are gonna differs between each exchanges. Please check with your exchange on which price types it supports.
### forcebuy
Stoploss on exchange on futures markets can trigger on different price types.
The naming for these prices in exchange terminology often varies, but is usually something around "last" (or "contract price" ), "mark" and "index".
`forcebuy` is an optional value, which defaults to the same value as `buy` and is used when sending a `/forcebuy` command from Telegram or from the Rest API.
Acceptable values for this setting are `"last"`, `"mark"` and `"index"` - which freqtrade will transfer automatically to the corresponding API type, and place the [stoploss on exchange](#stoploss_on_exchange-and-stoploss_on_exchange_limit_ratio) order correspondingly.
### emergencysell
### force_exit
`emergencysell` is an optional value, which defaults to `market` and is used when creating stop loss on exchange orders fails.
`force_exit` is an optional value, which defaults to the same value as `exit` and is used when sending a `/forceexit` command from Telegram or from the Rest API.
### force_entry
`force_entry` is an optional value, which defaults to the same value as `entry` and is used when sending a `/forceentry` command from Telegram or from the Rest API.
### emergency_exit
`emergency_exit` is an optional value, which defaults to `market` and is used when creating stop loss on exchange orders fails.
The below is the default which is used if not changed in strategy or configuration file.
Example from strategy file:
``` python
order_types = {
'buy': 'limit',
'sell': 'limit',
'emergencysell': 'market',
'stoploss': 'market',
'stoploss_on_exchange': True,
'stoploss_on_exchange_interval': 60,
'stoploss_on_exchange_limit_ratio': 0.99
"entry": "limit",
"exit": "limit",
"emergency_exit": "market",
"stoploss": "market",
"stoploss_on_exchange": True,
"stoploss_on_exchange_interval": 60,
"stoploss_on_exchange_limit_ratio": 0.99
}
```
@ -86,7 +111,7 @@ At this stage the bot contains the following stoploss support modes:
2. Trailing stop loss.
3. Trailing stop loss, custom positive loss.
4. Trailing stop loss only once the trade has reached a certain offset.
5. [Custom stoploss function](strategy-advanced.md#custom-stoploss)
5. [Custom stoploss function](strategy-callbacks.md#custom-stoploss)
### Static Stop Loss
@ -129,7 +154,7 @@ In summary: The stoploss will be adjusted to be always be -10% of the highest ob
### Trailing stop loss, custom positive loss
It is also possible to have a default stop loss, when you are in the red with your buy (buy - fee), but once you hit positive result the system will utilize a new stop loss, which can have a different value.
You could also have a default stop loss when you are in the red with your buy (buy - fee), but once you hit a positive result (or an offset you define) the system will utilize a new stop loss, which can have a different value.
For example, your default stop loss is -10%, but once you have more than 0% profit (example 0.1%) a different trailing stoploss will be used.
!!! Note
@ -141,6 +166,8 @@ Both values require `trailing_stop` to be set to true and `trailing_stop_positiv
stoploss = -0.10
trailing_stop = True
trailing_stop_positive = 0.02
trailing_stop_positive_offset = 0.0
trailing_only_offset_is_reached = False # Default - not necessary for this example
```
For example, simplified math:
@ -155,11 +182,31 @@ For example, simplified math:
The 0.02 would translate to a -2% stop loss.
Before this, `stoploss` is used for the trailing stoploss.
!!! Tip "Use an offset to change your stoploss"
Use `trailing_stop_positive_offset` to ensure that your new trailing stoploss will be in profit by setting `trailing_stop_positive_offset` higher than `trailing_stop_positive`. Your first new stoploss value will then already have locked in profits.
Example with simplified math:
``` python
stoploss = -0.10
trailing_stop = True
trailing_stop_positive = 0.02
trailing_stop_positive_offset = 0.03
```
* the bot buys an asset at a price of 100$
* the stop loss is defined at -10%, so the stop loss would get triggered once the asset drops below 90$
* assuming the asset now increases to 102$
* the stoploss will now be at 91.8$ - 10% below the highest observed rate
* assuming the asset now increases to 103.5$ (above the offset configured)
* the stop loss will now be -2% of 103.5$ = 101.43$
* now the asset drops in value to 102\$, the stop loss will still be 101.43$ and would trigger once price breaks below 101.43$
### Trailing stop loss only once the trade has reached a certain offset
It is also possible to use a static stoploss until the offset is reached, and then trail the trade to take profits once the market turns.
You can also keep a static stoploss until the offset is reached, and then trail the trade to take profits once the market turns.
If `"trailing_only_offset_is_reached": true` then the trailing stoploss is only activated once the offset is reached. Until then, the stoploss remains at the configured `stoploss`.
If `trailing_only_offset_is_reached = True` then the trailing stoploss is only activated once the offset is reached. Until then, the stoploss remains at the configured `stoploss`.
This option can be used with or without `trailing_stop_positive`, but uses `trailing_stop_positive_offset` as offset.
``` python
@ -182,7 +229,7 @@ For example, simplified math:
* the bot buys an asset at a price of 100$
* the stop loss is defined at -10%
* the stop loss would get triggered once the asset drops below 90$
* stoploss will remain at 90$ unless asset increases to or above our configured offset
* stoploss will remain at 90$ unless asset increases to or above the configured offset
* assuming the asset now increases to 103$ (where we have the offset configured)
* the stop loss will now be -2% of 103$ = 100.94$
* now the asset drops in value to 101\$, the stop loss will still be 100.94$ and would trigger at 100.94$
@ -190,6 +237,18 @@ For example, simplified math:
!!! Tip
Make sure to have this value (`trailing_stop_positive_offset`) lower than minimal ROI, otherwise minimal ROI will apply first and sell the trade.
## Stoploss and Leverage
Stoploss should be thought of as "risk on this trade" - so a stoploss of 10% on a 100$ trade means you are willing to lose 10$ (10%) on this trade - which would trigger if the price moves 10% to the downside.
When using leverage, the same principle is applied - with stoploss defining the risk on the trade (the amount you are willing to lose).
Therefore, a stoploss of 10% on a 10x trade would trigger on a 1% price move.
If your stake amount (own capital) was 100$ - this trade would be 1000$ at 10x (after leverage).
If price moves 1% - you've lost 10$ of your own capital - therfore stoploss will trigger in this case.
Make sure to be aware of this, and avoid using too tight stoploss (at 10x leverage, 10% risk may be too little to allow the trade to "breath" a little).
## Changing stoploss on open trades
A stoploss on an open trade can be changed by changing the value in the configuration or strategy and use the `/reload_config` command (alternatively, completely stopping and restarting the bot also works).

View File

@ -49,13 +49,13 @@ from freqtrade.exchange import timeframe_to_prev_date
class AwesomeStrategy(IStrategy):
def confirm_trade_exit(self, pair: str, trade: 'Trade', order_type: str, amount: float,
rate: float, time_in_force: str, sell_reason: str,
rate: float, time_in_force: str, exit_reason: str,
current_time: 'datetime', **kwargs) -> bool:
# Obtain pair dataframe.
dataframe, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe)
# Obtain last available candle. Do not use current_time to look up latest candle, because
# current_time points to curret incomplete candle whose data is not available.
# current_time points to current incomplete candle whose data is not available.
last_candle = dataframe.iloc[-1].squeeze()
# <...>
@ -77,457 +77,82 @@ class AwesomeStrategy(IStrategy):
***
## Custom sell signal
## Enter Tag
It is possible to define custom sell signals, indicating that specified position should be sold. This is very useful when we need to customize sell conditions for each individual trade, or if you need the trade profit to take the sell decision.
For example you could implement a 1:2 risk-reward ROI with `custom_sell()`.
Using custom_sell() signals in place of stoplosses though *is not recommended*. It is a inferior method to using `custom_stoploss()` in this regard - which also allows you to keep the stoploss on exchange.
!!! Note
Returning a `string` or `True` from this method is equal to setting sell signal on a candle at specified time. This method is not called when sell signal is set already, or if sell signals are disabled (`use_sell_signal=False` or `sell_profit_only=True` while profit is below `sell_profit_offset`). `string` max length is 64 characters. Exceeding this limit will cause the message to be truncated to 64 characters.
An example of how we can use different indicators depending on the current profit and also sell trades that were open longer than one day:
When your strategy has multiple buy signals, you can name the signal that triggered.
Then you can access your buy signal on `custom_exit`
```python
class AwesomeStrategy(IStrategy):
def custom_sell(self, pair: str, trade: 'Trade', current_time: 'datetime', current_rate: float,
def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe.loc[
(
(dataframe['rsi'] < 35) &
(dataframe['volume'] > 0)
),
['enter_long', 'enter_tag']] = (1, 'buy_signal_rsi')
return dataframe
def custom_exit(self, pair: str, trade: Trade, current_time: datetime, current_rate: float,
current_profit: float, **kwargs):
dataframe, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe)
last_candle = dataframe.iloc[-1].squeeze()
if trade.enter_tag == 'buy_signal_rsi' and last_candle['rsi'] > 80:
return 'sell_signal_rsi'
return None
# Above 20% profit, sell when rsi < 80
if current_profit > 0.2:
if last_candle['rsi'] < 80:
return 'rsi_below_80'
# Between 2% and 10%, sell if EMA-long above EMA-short
if 0.02 < current_profit < 0.1:
if last_candle['emalong'] > last_candle['emashort']:
return 'ema_long_below_80'
# Sell any positions at a loss if they are held for more than one day.
if current_profit < 0.0 and (current_time - trade.open_date_utc).days >= 1:
return 'unclog'
```
See [Dataframe access](#dataframe-access) for more information about dataframe use in strategy callbacks.
## Custom stoploss
The stoploss price can only ever move upwards - if the stoploss value returned from `custom_stoploss` would result in a lower stoploss price than was previously set, it will be ignored. The traditional `stoploss` value serves as an absolute lower level and will be instated as the initial stoploss.
The usage of the custom stoploss method must be enabled by setting `use_custom_stoploss=True` on the strategy object.
The method must return a stoploss value (float / number) as a percentage of the current price.
E.g. If the `current_rate` is 200 USD, then returning `0.02` will set the stoploss price 2% lower, at 196 USD.
The absolute value of the return value is used (the sign is ignored), so returning `0.05` or `-0.05` have the same result, a stoploss 5% below the current price.
To simulate a regular trailing stoploss of 4% (trailing 4% behind the maximum reached price) you would use the following very simple method:
``` python
# additional imports required
from datetime import datetime
from freqtrade.persistence import Trade
class AwesomeStrategy(IStrategy):
# ... populate_* methods
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
current_rate: float, current_profit: float, **kwargs) -> float:
"""
Custom stoploss logic, returning the new distance relative to current_rate (as ratio).
e.g. returning -0.05 would create a stoploss 5% below current_rate.
The custom stoploss can never be below self.stoploss, which serves as a hard maximum loss.
For full documentation please go to https://www.freqtrade.io/en/latest/strategy-advanced/
When not implemented by a strategy, returns the initial stoploss value
Only called when use_custom_stoploss is set to True.
:param pair: Pair that's currently analyzed
:param trade: trade object.
:param current_time: datetime object, containing the current datetime
:param current_rate: Rate, calculated based on pricing settings in ask_strategy.
:param current_profit: Current profit (as ratio), calculated based on current_rate.
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
:return float: New stoploss value, relative to the current rate
"""
return -0.04
```
Stoploss on exchange works similar to `trailing_stop`, and the stoploss on exchange is updated as configured in `stoploss_on_exchange_interval` ([More details about stoploss on exchange](stoploss.md#stop-loss-on-exchange-freqtrade)).
!!! Note "Use of dates"
All time-based calculations should be done based on `current_time` - using `datetime.now()` or `datetime.utcnow()` is discouraged, as this will break backtesting support.
!!! Tip "Trailing stoploss"
It's recommended to disable `trailing_stop` when using custom stoploss values. Both can work in tandem, but you might encounter the trailing stop to move the price higher while your custom function would not want this, causing conflicting behavior.
### Custom stoploss examples
The next section will show some examples on what's possible with the custom stoploss function.
Of course, many more things are possible, and all examples can be combined at will.
#### Time based trailing stop
Use the initial stoploss for the first 60 minutes, after this change to 10% trailing stoploss, and after 2 hours (120 minutes) we use a 5% trailing stoploss.
``` python
from datetime import datetime, timedelta
from freqtrade.persistence import Trade
class AwesomeStrategy(IStrategy):
# ... populate_* methods
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
current_rate: float, current_profit: float, **kwargs) -> float:
# Make sure you have the longest interval first - these conditions are evaluated from top to bottom.
if current_time - timedelta(minutes=120) > trade.open_date_utc:
return -0.05
elif current_time - timedelta(minutes=60) > trade.open_date_utc:
return -0.10
return 1
```
#### Different stoploss per pair
Use a different stoploss depending on the pair.
In this example, we'll trail the highest price with 10% trailing stoploss for `ETH/BTC` and `XRP/BTC`, with 5% trailing stoploss for `LTC/BTC` and with 15% for all other pairs.
``` python
from datetime import datetime
from freqtrade.persistence import Trade
class AwesomeStrategy(IStrategy):
# ... populate_* methods
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
current_rate: float, current_profit: float, **kwargs) -> float:
if pair in ('ETH/BTC', 'XRP/BTC'):
return -0.10
elif pair in ('LTC/BTC'):
return -0.05
return -0.15
```
#### Trailing stoploss with positive offset
Use the initial stoploss until the profit is above 4%, then use a trailing stoploss of 50% of the current profit with a minimum of 2.5% and a maximum of 5%.
Please note that the stoploss can only increase, values lower than the current stoploss are ignored.
``` python
from datetime import datetime, timedelta
from freqtrade.persistence import Trade
class AwesomeStrategy(IStrategy):
# ... populate_* methods
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
current_rate: float, current_profit: float, **kwargs) -> float:
if current_profit < 0.04:
return -1 # return a value bigger than the inital stoploss to keep using the inital stoploss
# After reaching the desired offset, allow the stoploss to trail by half the profit
desired_stoploss = current_profit / 2
# Use a minimum of 2.5% and a maximum of 5%
return max(min(desired_stoploss, 0.05), 0.025)
```
#### Calculating stoploss relative to open price
Stoploss values returned from `custom_stoploss()` always specify a percentage relative to `current_rate`. In order to set a stoploss relative to the *open* price, we need to use `current_profit` to calculate what percentage relative to the `current_rate` will give you the same result as if the percentage was specified from the open price.
The helper function [`stoploss_from_open()`](strategy-customization.md#stoploss_from_open) can be used to convert from an open price relative stop, to a current price relative stop which can be returned from `custom_stoploss()`.
#### Stepped stoploss
Instead of continuously trailing behind the current price, this example sets fixed stoploss price levels based on the current profit.
* Use the regular stoploss until 20% profit is reached
* Once profit is > 20% - set stoploss to 7% above open price.
* Once profit is > 25% - set stoploss to 15% above open price.
* Once profit is > 40% - set stoploss to 25% above open price.
``` python
from datetime import datetime
from freqtrade.persistence import Trade
from freqtrade.strategy import stoploss_from_open
class AwesomeStrategy(IStrategy):
# ... populate_* methods
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
current_rate: float, current_profit: float, **kwargs) -> float:
# evaluate highest to lowest, so that highest possible stop is used
if current_profit > 0.40:
return stoploss_from_open(0.25, current_profit)
elif current_profit > 0.25:
return stoploss_from_open(0.15, current_profit)
elif current_profit > 0.20:
return stoploss_from_open(0.07, current_profit)
# return maximum stoploss value, keeping current stoploss price unchanged
return 1
```
#### Custom stoploss using an indicator from dataframe example
Absolute stoploss value may be derived from indicators stored in dataframe. Example uses parabolic SAR below the price as stoploss.
``` python
class AwesomeStrategy(IStrategy):
def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
# <...>
dataframe['sar'] = ta.SAR(dataframe)
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
current_rate: float, current_profit: float, **kwargs) -> float:
dataframe, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe)
last_candle = dataframe.iloc[-1].squeeze()
# Use parabolic sar as absolute stoploss price
stoploss_price = last_candle['sar']
# Convert absolute price to percentage relative to current_rate
if stoploss_price < current_rate:
return (stoploss_price / current_rate) - 1
# return maximum stoploss value, keeping current stoploss price unchanged
return 1
```
See [Dataframe access](#dataframe-access) for more information about dataframe use in strategy callbacks.
---
## Custom order timeout rules
Simple, time-based order-timeouts can be configured either via strategy or in the configuration in the `unfilledtimeout` section.
However, freqtrade also offers a custom callback for both order types, which allows you to decide based on custom criteria if an order did time out or not.
!!! Note
Unfilled order timeouts are not relevant during backtesting or hyperopt, and are only relevant during real (live) trading. Therefore these methods are only called in these circumstances.
### Custom order timeout example
A simple example, which applies different unfilled-timeouts depending on the price of the asset can be seen below.
It applies a tight timeout for higher priced assets, while allowing more time to fill on cheap coins.
The function must return either `True` (cancel order) or `False` (keep order alive).
``` python
from datetime import datetime, timedelta, timezone
from freqtrade.persistence import Trade
class AwesomeStrategy(IStrategy):
# ... populate_* methods
# Set unfilledtimeout to 25 hours, since our maximum timeout from below is 24 hours.
unfilledtimeout = {
'buy': 60 * 25,
'sell': 60 * 25
}
def check_buy_timeout(self, pair: str, trade: 'Trade', order: dict, **kwargs) -> bool:
if trade.open_rate > 100 and trade.open_date_utc < datetime.now(timezone.utc) - timedelta(minutes=5):
return True
elif trade.open_rate > 10 and trade.open_date_utc < datetime.now(timezone.utc) - timedelta(minutes=3):
return True
elif trade.open_rate < 1 and trade.open_date_utc < datetime.now(timezone.utc) - timedelta(hours=24):
return True
return False
def check_sell_timeout(self, pair: str, trade: 'Trade', order: dict, **kwargs) -> bool:
if trade.open_rate > 100 and trade.open_date_utc < datetime.now(timezone.utc) - timedelta(minutes=5):
return True
elif trade.open_rate > 10 and trade.open_date_utc < datetime.now(timezone.utc) - timedelta(minutes=3):
return True
elif trade.open_rate < 1 and trade.open_date_utc < datetime.now(timezone.utc) - timedelta(hours=24):
return True
return False
```
!!! Note
For the above example, `unfilledtimeout` must be set to something bigger than 24h, otherwise that type of timeout will apply first.
`enter_tag` is limited to 100 characters, remaining data will be truncated.
### Custom order timeout example (using additional data)
!!! Warning
There is only one `enter_tag` column, which is used for both long and short trades.
As a consequence, this column must be treated as "last write wins" (it's just a dataframe column after all).
In fancy situations, where multiple signals collide (or if signals are deactivated again based on different conditions), this can lead to odd results with the wrong tag applied to an entry signal.
These results are a consequence of the strategy overwriting prior tags - where the last tag will "stick" and will be the one freqtrade will use.
## Exit tag
Similar to [Buy Tagging](#buy-tag), you can also specify a sell tag.
``` python
from datetime import datetime
from freqtrade.persistence import Trade
def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe.loc[
(
(dataframe['rsi'] > 70) &
(dataframe['volume'] > 0)
),
['exit_long', 'exit_tag']] = (1, 'exit_rsi')
class AwesomeStrategy(IStrategy):
# ... populate_* methods
# Set unfilledtimeout to 25 hours, since our maximum timeout from below is 24 hours.
unfilledtimeout = {
'buy': 60 * 25,
'sell': 60 * 25
}
def check_buy_timeout(self, pair: str, trade: Trade, order: dict, **kwargs) -> bool:
ob = self.dp.orderbook(pair, 1)
current_price = ob['bids'][0][0]
# Cancel buy order if price is more than 2% above the order.
if current_price > order['price'] * 1.02:
return True
return False
def check_sell_timeout(self, pair: str, trade: Trade, order: dict, **kwargs) -> bool:
ob = self.dp.orderbook(pair, 1)
current_price = ob['asks'][0][0]
# Cancel sell order if price is more than 2% below the order.
if current_price < order['price'] * 0.98:
return True
return False
return dataframe
```
---
The provided exit-tag is then used as sell-reason - and shown as such in backtest results.
## Bot loop start callback
!!! Note
`exit_reason` is limited to 100 characters, remaining data will be truncated.
A simple callback which is called once at the start of every bot throttling iteration.
This can be used to perform calculations which are pair independent (apply to all pairs), loading of external data, etc.
## Strategy version
You can implement custom strategy versioning by using the "version" method, and returning the version you would like this strategy to have.
``` python
import requests
class AwesomeStrategy(IStrategy):
# ... populate_* methods
def bot_loop_start(self, **kwargs) -> None:
def version(self) -> str:
"""
Called at the start of the bot iteration (one loop).
Might be used to perform pair-independent tasks
(e.g. gather some remote resource for comparison)
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
Returns version of the strategy.
"""
if self.config['runmode'].value in ('live', 'dry_run'):
# Assign this to the class by using self.*
# can then be used by populate_* methods
self.remote_data = requests.get('https://some_remote_source.example.com')
return "1.1"
```
## Bot order confirmation
### Trade entry (buy order) confirmation
`confirm_trade_entry()` can be used to abort a trade entry at the latest second (maybe because the price is not what we expect).
``` python
class AwesomeStrategy(IStrategy):
# ... populate_* methods
def confirm_trade_entry(self, pair: str, order_type: str, amount: float, rate: float,
time_in_force: str, **kwargs) -> bool:
"""
Called right before placing a buy order.
Timing for this function is critical, so avoid doing heavy computations or
network requests in this method.
For full documentation please go to https://www.freqtrade.io/en/latest/strategy-advanced/
When not implemented by a strategy, returns True (always confirming).
:param pair: Pair that's about to be bought.
:param order_type: Order type (as configured in order_types). usually limit or market.
:param amount: Amount in target (quote) currency that's going to be traded.
:param rate: Rate that's going to be used when using limit orders
:param time_in_force: Time in force. Defaults to GTC (Good-til-cancelled).
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
:return bool: When True is returned, then the buy-order is placed on the exchange.
False aborts the process
"""
return True
```
### Trade exit (sell order) confirmation
`confirm_trade_exit()` can be used to abort a trade exit (sell) at the latest second (maybe because the price is not what we expect).
``` python
from freqtrade.persistence import Trade
class AwesomeStrategy(IStrategy):
# ... populate_* methods
def confirm_trade_exit(self, pair: str, trade: Trade, order_type: str, amount: float,
rate: float, time_in_force: str, sell_reason: str, **kwargs) -> bool:
"""
Called right before placing a regular sell order.
Timing for this function is critical, so avoid doing heavy computations or
network requests in this method.
For full documentation please go to https://www.freqtrade.io/en/latest/strategy-advanced/
When not implemented by a strategy, returns True (always confirming).
:param pair: Pair that's about to be sold.
:param order_type: Order type (as configured in order_types). usually limit or market.
:param amount: Amount in quote currency.
:param rate: Rate that's going to be used when using limit orders
:param time_in_force: Time in force. Defaults to GTC (Good-til-cancelled).
:param sell_reason: Sell reason.
Can be any of ['roi', 'stop_loss', 'stoploss_on_exchange', 'trailing_stop_loss',
'sell_signal', 'force_sell', 'emergency_sell']
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
:return bool: When True is returned, then the sell-order is placed on the exchange.
False aborts the process
"""
if sell_reason == 'force_sell' and trade.calc_profit_ratio(rate) < 0:
# Reject force-sells with negative profit
# This is just a sample, please adjust to your needs
# (this does not necessarily make sense, assuming you know when you're force-selling)
return False
return True
```
---
!!! Note
You should make sure to implement proper version control (like a git repository) alongside this, as freqtrade will not keep historic versions of your strategy, so it's up to the user to be able to eventually roll back to a prior version of the strategy.
## Derived strategies
The strategies can be derived from other strategies. This avoids duplication of your custom strategy code. You can use this technique to override small parts of your main strategy, leaving the rest untouched:
``` python
``` python title="user_data/strategies/myawesomestrategy.py"
class MyAwesomeStrategy(IStrategy):
...
stoploss = 0.13
@ -536,6 +161,10 @@ class MyAwesomeStrategy(IStrategy):
# should be in any custom strategy...
...
```
``` python title="user_data/strategies/MyAwesomeStrategy2.py"
from myawesomestrategy import MyAwesomeStrategy
class MyAwesomeStrategy2(MyAwesomeStrategy):
# Override something
stoploss = 0.08
@ -544,16 +173,7 @@ class MyAwesomeStrategy2(MyAwesomeStrategy):
Both attributes and methods may be overridden, altering behavior of the original strategy in a way you need.
!!! Note "Parent-strategy in different files"
If you have the parent-strategy in a different file, you'll need to add the following to the top of your "child"-file to ensure proper loading, otherwise freqtrade may not be able to load the parent strategy correctly.
``` python
import sys
from pathlib import Path
sys.path.append(str(Path(__file__).parent))
from myawesomestrategy import MyAwesomeStrategy
```
While keeping the subclass in the same file is technically possible, it can lead to some problems with hyperopt parameter files, we therefore recommend to use separate strategy files, and import the parent strategy as shown above.
## Embedding Strategies
@ -580,3 +200,35 @@ The variable 'content', will contain the strategy file in a BASE64 encoded form.
```
Please ensure that 'NameOfStrategy' is identical to the strategy name!
## Performance warning
When executing a strategy, one can sometimes be greeted by the following in the logs
> PerformanceWarning: DataFrame is highly fragmented.
This is a warning from [`pandas`](https://github.com/pandas-dev/pandas) and as the warning continues to say:
use `pd.concat(axis=1)`.
This can have slight performance implications, which are usually only visible during hyperopt (when optimizing an indicator).
For example:
```python
for val in self.buy_ema_short.range:
dataframe[f'ema_short_{val}'] = ta.EMA(dataframe, timeperiod=val)
```
should be rewritten to
```python
frames = [dataframe]
for val in self.buy_ema_short.range:
frames.append(DataFrame({
f'ema_short_{val}': ta.EMA(dataframe, timeperiod=val)
}))
# Append columns to existing dataframe
merged_frame = pd.concat(frames, axis=1)
```
Freqtrade does however also counter this by running `dataframe.copy()` on the dataframe right after the `populate_indicators()` method - so performance implications of this should be low to non-existant.

876
docs/strategy-callbacks.md Normal file
View File

@ -0,0 +1,876 @@
# Strategy Callbacks
While the main strategy functions (`populate_indicators()`, `populate_entry_trend()`, `populate_exit_trend()`) should be used in a vectorized way, and are only called [once during backtesting](bot-basics.md#backtesting-hyperopt-execution-logic), callbacks are called "whenever needed".
As such, you should avoid doing heavy calculations in callbacks to avoid delays during operations.
Depending on the callback used, they may be called when entering / exiting a trade, or throughout the duration of a trade.
Currently available callbacks:
* [`bot_start()`](#bot-start)
* [`bot_loop_start()`](#bot-loop-start)
* [`custom_stake_amount()`](#stake-size-management)
* [`custom_exit()`](#custom-exit-signal)
* [`custom_stoploss()`](#custom-stoploss)
* [`custom_entry_price()` and `custom_exit_price()`](#custom-order-price-rules)
* [`check_entry_timeout()` and `check_exit_timeout()`](#custom-order-timeout-rules)
* [`confirm_trade_entry()`](#trade-entry-buy-order-confirmation)
* [`confirm_trade_exit()`](#trade-exit-sell-order-confirmation)
* [`adjust_trade_position()`](#adjust-trade-position)
* [`adjust_entry_price()`](#adjust-entry-price)
* [`leverage()`](#leverage-callback)
!!! Tip "Callback calling sequence"
You can find the callback calling sequence in [bot-basics](bot-basics.md#bot-execution-logic)
## Bot start
A simple callback which is called once when the strategy is loaded.
This can be used to perform actions that must only be performed once and runs after dataprovider and wallet are set
``` python
import requests
class AwesomeStrategy(IStrategy):
# ... populate_* methods
def bot_start(self, **kwargs) -> None:
"""
Called only once after bot instantiation.
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
"""
if self.config['runmode'].value in ('live', 'dry_run'):
# Assign this to the class by using self.*
# can then be used by populate_* methods
self.cust_remote_data = requests.get('https://some_remote_source.example.com')
```
During hyperopt, this runs only once at startup.
## Bot loop start
A simple callback which is called once at the start of every bot throttling iteration in dry/live mode (roughly every 5
seconds, unless configured differently) or once per candle in backtest/hyperopt mode.
This can be used to perform calculations which are pair independent (apply to all pairs), loading of external data, etc.
``` python
import requests
class AwesomeStrategy(IStrategy):
# ... populate_* methods
def bot_loop_start(self, current_time: datetime, **kwargs) -> None:
"""
Called at the start of the bot iteration (one loop).
Might be used to perform pair-independent tasks
(e.g. gather some remote resource for comparison)
:param current_time: datetime object, containing the current datetime
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
"""
if self.config['runmode'].value in ('live', 'dry_run'):
# Assign this to the class by using self.*
# can then be used by populate_* methods
self.remote_data = requests.get('https://some_remote_source.example.com')
```
## Stake size management
Called before entering a trade, makes it possible to manage your position size when placing a new trade.
```python
class AwesomeStrategy(IStrategy):
def custom_stake_amount(self, pair: str, current_time: datetime, current_rate: float,
proposed_stake: float, min_stake: Optional[float], max_stake: float,
leverage: float, entry_tag: Optional[str], side: str,
**kwargs) -> float:
dataframe, _ = self.dp.get_analyzed_dataframe(pair=pair, timeframe=self.timeframe)
current_candle = dataframe.iloc[-1].squeeze()
if current_candle['fastk_rsi_1h'] > current_candle['fastd_rsi_1h']:
if self.config['stake_amount'] == 'unlimited':
# Use entire available wallet during favorable conditions when in compounding mode.
return max_stake
else:
# Compound profits during favorable conditions instead of using a static stake.
return self.wallets.get_total_stake_amount() / self.config['max_open_trades']
# Use default stake amount.
return proposed_stake
```
Freqtrade will fall back to the `proposed_stake` value should your code raise an exception. The exception itself will be logged.
!!! Tip
You do not _have_ to ensure that `min_stake <= returned_value <= max_stake`. Trades will succeed as the returned value will be clamped to supported range and this action will be logged.
!!! Tip
Returning `0` or `None` will prevent trades from being placed.
## Custom exit signal
Called for open trade every throttling iteration (roughly every 5 seconds) until a trade is closed.
Allows to define custom exit signals, indicating that specified position should be sold. This is very useful when we need to customize exit conditions for each individual trade, or if you need trade data to make an exit decision.
For example you could implement a 1:2 risk-reward ROI with `custom_exit()`.
Using `custom_exit()` signals in place of stoploss though *is not recommended*. It is a inferior method to using `custom_stoploss()` in this regard - which also allows you to keep the stoploss on exchange.
!!! Note
Returning a (none-empty) `string` or `True` from this method is equal to setting exit signal on a candle at specified time. This method is not called when exit signal is set already, or if exit signals are disabled (`use_exit_signal=False`). `string` max length is 64 characters. Exceeding this limit will cause the message to be truncated to 64 characters.
`custom_exit()` will ignore `exit_profit_only`, and will always be called unless `use_exit_signal=False`, even if there is a new enter signal.
An example of how we can use different indicators depending on the current profit and also exit trades that were open longer than one day:
``` python
class AwesomeStrategy(IStrategy):
def custom_exit(self, pair: str, trade: 'Trade', current_time: 'datetime', current_rate: float,
current_profit: float, **kwargs):
dataframe, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe)
last_candle = dataframe.iloc[-1].squeeze()
# Above 20% profit, sell when rsi < 80
if current_profit > 0.2:
if last_candle['rsi'] < 80:
return 'rsi_below_80'
# Between 2% and 10%, sell if EMA-long above EMA-short
if 0.02 < current_profit < 0.1:
if last_candle['emalong'] > last_candle['emashort']:
return 'ema_long_below_80'
# Sell any positions at a loss if they are held for more than one day.
if current_profit < 0.0 and (current_time - trade.open_date_utc).days >= 1:
return 'unclog'
```
See [Dataframe access](strategy-advanced.md#dataframe-access) for more information about dataframe use in strategy callbacks.
## Custom stoploss
Called for open trade every iteration (roughly every 5 seconds) until a trade is closed.
The usage of the custom stoploss method must be enabled by setting `use_custom_stoploss=True` on the strategy object.
The stoploss price can only ever move upwards - if the stoploss value returned from `custom_stoploss` would result in a lower stoploss price than was previously set, it will be ignored. The traditional `stoploss` value serves as an absolute lower level and will be instated as the initial stoploss (before this method is called for the first time for a trade), and is still mandatory.
The method must return a stoploss value (float / number) as a percentage of the current price.
E.g. If the `current_rate` is 200 USD, then returning `0.02` will set the stoploss price 2% lower, at 196 USD.
During backtesting, `current_rate` (and `current_profit`) are provided against the candle's high (or low for short trades) - while the resulting stoploss is evaluated against the candle's low (or high for short trades).
The absolute value of the return value is used (the sign is ignored), so returning `0.05` or `-0.05` have the same result, a stoploss 5% below the current price.
To simulate a regular trailing stoploss of 4% (trailing 4% behind the maximum reached price) you would use the following very simple method:
``` python
# additional imports required
from datetime import datetime
from freqtrade.persistence import Trade
class AwesomeStrategy(IStrategy):
# ... populate_* methods
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
current_rate: float, current_profit: float, **kwargs) -> float:
"""
Custom stoploss logic, returning the new distance relative to current_rate (as ratio).
e.g. returning -0.05 would create a stoploss 5% below current_rate.
The custom stoploss can never be below self.stoploss, which serves as a hard maximum loss.
For full documentation please go to https://www.freqtrade.io/en/latest/strategy-advanced/
When not implemented by a strategy, returns the initial stoploss value
Only called when use_custom_stoploss is set to True.
:param pair: Pair that's currently analyzed
:param trade: trade object.
:param current_time: datetime object, containing the current datetime
:param current_rate: Rate, calculated based on pricing settings in exit_pricing.
:param current_profit: Current profit (as ratio), calculated based on current_rate.
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
:return float: New stoploss value, relative to the current rate
"""
return -0.04
```
Stoploss on exchange works similar to `trailing_stop`, and the stoploss on exchange is updated as configured in `stoploss_on_exchange_interval` ([More details about stoploss on exchange](stoploss.md#stop-loss-on-exchange-freqtrade)).
!!! Note "Use of dates"
All time-based calculations should be done based on `current_time` - using `datetime.now()` or `datetime.utcnow()` is discouraged, as this will break backtesting support.
!!! Tip "Trailing stoploss"
It's recommended to disable `trailing_stop` when using custom stoploss values. Both can work in tandem, but you might encounter the trailing stop to move the price higher while your custom function would not want this, causing conflicting behavior.
### Custom stoploss examples
The next section will show some examples on what's possible with the custom stoploss function.
Of course, many more things are possible, and all examples can be combined at will.
#### Time based trailing stop
Use the initial stoploss for the first 60 minutes, after this change to 10% trailing stoploss, and after 2 hours (120 minutes) we use a 5% trailing stoploss.
``` python
from datetime import datetime, timedelta
from freqtrade.persistence import Trade
class AwesomeStrategy(IStrategy):
# ... populate_* methods
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
current_rate: float, current_profit: float, **kwargs) -> float:
# Make sure you have the longest interval first - these conditions are evaluated from top to bottom.
if current_time - timedelta(minutes=120) > trade.open_date_utc:
return -0.05
elif current_time - timedelta(minutes=60) > trade.open_date_utc:
return -0.10
return 1
```
#### Different stoploss per pair
Use a different stoploss depending on the pair.
In this example, we'll trail the highest price with 10% trailing stoploss for `ETH/BTC` and `XRP/BTC`, with 5% trailing stoploss for `LTC/BTC` and with 15% for all other pairs.
``` python
from datetime import datetime
from freqtrade.persistence import Trade
class AwesomeStrategy(IStrategy):
# ... populate_* methods
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
current_rate: float, current_profit: float, **kwargs) -> float:
if pair in ('ETH/BTC', 'XRP/BTC'):
return -0.10
elif pair in ('LTC/BTC'):
return -0.05
return -0.15
```
#### Trailing stoploss with positive offset
Use the initial stoploss until the profit is above 4%, then use a trailing stoploss of 50% of the current profit with a minimum of 2.5% and a maximum of 5%.
Please note that the stoploss can only increase, values lower than the current stoploss are ignored.
``` python
from datetime import datetime, timedelta
from freqtrade.persistence import Trade
class AwesomeStrategy(IStrategy):
# ... populate_* methods
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
current_rate: float, current_profit: float, **kwargs) -> float:
if current_profit < 0.04:
return -1 # return a value bigger than the initial stoploss to keep using the initial stoploss
# After reaching the desired offset, allow the stoploss to trail by half the profit
desired_stoploss = current_profit / 2
# Use a minimum of 2.5% and a maximum of 5%
return max(min(desired_stoploss, 0.05), 0.025)
```
#### Stepped stoploss
Instead of continuously trailing behind the current price, this example sets fixed stoploss price levels based on the current profit.
* Use the regular stoploss until 20% profit is reached
* Once profit is > 20% - set stoploss to 7% above open price.
* Once profit is > 25% - set stoploss to 15% above open price.
* Once profit is > 40% - set stoploss to 25% above open price.
``` python
from datetime import datetime
from freqtrade.persistence import Trade
from freqtrade.strategy import stoploss_from_open
class AwesomeStrategy(IStrategy):
# ... populate_* methods
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
current_rate: float, current_profit: float, **kwargs) -> float:
# evaluate highest to lowest, so that highest possible stop is used
if current_profit > 0.40:
return stoploss_from_open(0.25, current_profit, is_short=trade.is_short, leverage=trade.leverage)
elif current_profit > 0.25:
return stoploss_from_open(0.15, current_profit, is_short=trade.is_short, leverage=trade.leverage)
elif current_profit > 0.20:
return stoploss_from_open(0.07, current_profit, is_short=trade.is_short, leverage=trade.leverage)
# return maximum stoploss value, keeping current stoploss price unchanged
return 1
```
#### Custom stoploss using an indicator from dataframe example
Absolute stoploss value may be derived from indicators stored in dataframe. Example uses parabolic SAR below the price as stoploss.
``` python
class AwesomeStrategy(IStrategy):
def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
# <...>
dataframe['sar'] = ta.SAR(dataframe)
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
current_rate: float, current_profit: float, **kwargs) -> float:
dataframe, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe)
last_candle = dataframe.iloc[-1].squeeze()
# Use parabolic sar as absolute stoploss price
stoploss_price = last_candle['sar']
# Convert absolute price to percentage relative to current_rate
if stoploss_price < current_rate:
return (stoploss_price / current_rate) - 1
# return maximum stoploss value, keeping current stoploss price unchanged
return 1
```
See [Dataframe access](strategy-advanced.md#dataframe-access) for more information about dataframe use in strategy callbacks.
### Common helpers for stoploss calculations
#### Stoploss relative to open price
Stoploss values returned from `custom_stoploss()` always specify a percentage relative to `current_rate`. In order to set a stoploss relative to the *open* price, we need to use `current_profit` to calculate what percentage relative to the `current_rate` will give you the same result as if the percentage was specified from the open price.
The helper function [`stoploss_from_open()`](strategy-customization.md#stoploss_from_open) can be used to convert from an open price relative stop, to a current price relative stop which can be returned from `custom_stoploss()`.
#### Stoploss percentage from absolute price
Stoploss values returned from `custom_stoploss()` always specify a percentage relative to `current_rate`. In order to set a stoploss at specified absolute price level, we need to use `stop_rate` to calculate what percentage relative to the `current_rate` will give you the same result as if the percentage was specified from the open price.
The helper function [`stoploss_from_absolute()`](strategy-customization.md#stoploss_from_absolute) can be used to convert from an absolute price, to a current price relative stop which can be returned from `custom_stoploss()`.
---
## Custom order price rules
By default, freqtrade use the orderbook to automatically set an order price([Relevant documentation](configuration.md#prices-used-for-orders)), you also have the option to create custom order prices based on your strategy.
You can use this feature by creating a `custom_entry_price()` function in your strategy file to customize entry prices and `custom_exit_price()` for exits.
Each of these methods are called right before placing an order on the exchange.
!!! Note
If your custom pricing function return None or an invalid value, price will fall back to `proposed_rate`, which is based on the regular pricing configuration.
### Custom order entry and exit price example
``` python
from datetime import datetime, timedelta, timezone
from freqtrade.persistence import Trade
class AwesomeStrategy(IStrategy):
# ... populate_* methods
def custom_entry_price(self, pair: str, current_time: datetime, proposed_rate: float,
entry_tag: Optional[str], side: str, **kwargs) -> float:
dataframe, last_updated = self.dp.get_analyzed_dataframe(pair=pair,
timeframe=self.timeframe)
new_entryprice = dataframe['bollinger_10_lowerband'].iat[-1]
return new_entryprice
def custom_exit_price(self, pair: str, trade: Trade,
current_time: datetime, proposed_rate: float,
current_profit: float, exit_tag: Optional[str], **kwargs) -> float:
dataframe, last_updated = self.dp.get_analyzed_dataframe(pair=pair,
timeframe=self.timeframe)
new_exitprice = dataframe['bollinger_10_upperband'].iat[-1]
return new_exitprice
```
!!! Warning
Modifying entry and exit prices will only work for limit orders. Depending on the price chosen, this can result in a lot of unfilled orders. By default the maximum allowed distance between the current price and the custom price is 2%, this value can be changed in config with the `custom_price_max_distance_ratio` parameter.
**Example**:
If the new_entryprice is 97, the proposed_rate is 100 and the `custom_price_max_distance_ratio` is set to 2%, The retained valid custom entry price will be 98, which is 2% below the current (proposed) rate.
!!! Warning "Backtesting"
Custom prices are supported in backtesting (starting with 2021.12), and orders will fill if the price falls within the candle's low/high range.
Orders that don't fill immediately are subject to regular timeout handling, which happens once per (detail) candle.
`custom_exit_price()` is only called for sells of type exit_signal, Custom exit and partial exits. All other exit-types will use regular backtesting prices.
## Custom order timeout rules
Simple, time-based order-timeouts can be configured either via strategy or in the configuration in the `unfilledtimeout` section.
However, freqtrade also offers a custom callback for both order types, which allows you to decide based on custom criteria if an order did time out or not.
!!! Note
Backtesting fills orders if their price falls within the candle's low/high range.
The below callbacks will be called once per (detail) candle for orders that don't fill immediately (which use custom pricing).
### Custom order timeout example
Called for every open order until that order is either filled or cancelled.
`check_entry_timeout()` is called for trade entries, while `check_exit_timeout()` is called for trade exit orders.
A simple example, which applies different unfilled-timeouts depending on the price of the asset can be seen below.
It applies a tight timeout for higher priced assets, while allowing more time to fill on cheap coins.
The function must return either `True` (cancel order) or `False` (keep order alive).
``` python
from datetime import datetime, timedelta
from freqtrade.persistence import Trade, Order
class AwesomeStrategy(IStrategy):
# ... populate_* methods
# Set unfilledtimeout to 25 hours, since the maximum timeout from below is 24 hours.
unfilledtimeout = {
'entry': 60 * 25,
'exit': 60 * 25
}
def check_entry_timeout(self, pair: str, trade: 'Trade', order: 'Order',
current_time: datetime, **kwargs) -> bool:
if trade.open_rate > 100 and trade.open_date_utc < current_time - timedelta(minutes=5):
return True
elif trade.open_rate > 10 and trade.open_date_utc < current_time - timedelta(minutes=3):
return True
elif trade.open_rate < 1 and trade.open_date_utc < current_time - timedelta(hours=24):
return True
return False
def check_exit_timeout(self, pair: str, trade: Trade, order: 'Order',
current_time: datetime, **kwargs) -> bool:
if trade.open_rate > 100 and trade.open_date_utc < current_time - timedelta(minutes=5):
return True
elif trade.open_rate > 10 and trade.open_date_utc < current_time - timedelta(minutes=3):
return True
elif trade.open_rate < 1 and trade.open_date_utc < current_time - timedelta(hours=24):
return True
return False
```
!!! Note
For the above example, `unfilledtimeout` must be set to something bigger than 24h, otherwise that type of timeout will apply first.
### Custom order timeout example (using additional data)
``` python
from datetime import datetime
from freqtrade.persistence import Trade, Order
class AwesomeStrategy(IStrategy):
# ... populate_* methods
# Set unfilledtimeout to 25 hours, since the maximum timeout from below is 24 hours.
unfilledtimeout = {
'entry': 60 * 25,
'exit': 60 * 25
}
def check_entry_timeout(self, pair: str, trade: 'Trade', order: 'Order',
current_time: datetime, **kwargs) -> bool:
ob = self.dp.orderbook(pair, 1)
current_price = ob['bids'][0][0]
# Cancel buy order if price is more than 2% above the order.
if current_price > order.price * 1.02:
return True
return False
def check_exit_timeout(self, pair: str, trade: 'Trade', order: 'Order',
current_time: datetime, **kwargs) -> bool:
ob = self.dp.orderbook(pair, 1)
current_price = ob['asks'][0][0]
# Cancel sell order if price is more than 2% below the order.
if current_price < order.price * 0.98:
return True
return False
```
---
## Bot order confirmation
Confirm trade entry / exits.
This are the last methods that will be called before an order is placed.
### Trade entry (buy order) confirmation
`confirm_trade_entry()` can be used to abort a trade entry at the latest second (maybe because the price is not what we expect).
``` python
class AwesomeStrategy(IStrategy):
# ... populate_* methods
def confirm_trade_entry(self, pair: str, order_type: str, amount: float, rate: float,
time_in_force: str, current_time: datetime, entry_tag: Optional[str],
side: str, **kwargs) -> bool:
"""
Called right before placing a entry order.
Timing for this function is critical, so avoid doing heavy computations or
network requests in this method.
For full documentation please go to https://www.freqtrade.io/en/latest/strategy-advanced/
When not implemented by a strategy, returns True (always confirming).
:param pair: Pair that's about to be bought/shorted.
:param order_type: Order type (as configured in order_types). usually limit or market.
:param amount: Amount in target (base) currency that's going to be traded.
:param rate: Rate that's going to be used when using limit orders
or current rate for market orders.
:param time_in_force: Time in force. Defaults to GTC (Good-til-cancelled).
:param current_time: datetime object, containing the current datetime
:param entry_tag: Optional entry_tag (buy_tag) if provided with the buy signal.
:param side: 'long' or 'short' - indicating the direction of the proposed trade
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
:return bool: When True is returned, then the buy-order is placed on the exchange.
False aborts the process
"""
return True
```
### Trade exit (sell order) confirmation
`confirm_trade_exit()` can be used to abort a trade exit (sell) at the latest second (maybe because the price is not what we expect).
`confirm_trade_exit()` may be called multiple times within one iteration for the same trade if different exit-reasons apply.
The exit-reasons (if applicable) will be in the following sequence:
* `exit_signal` / `custom_exit`
* `stop_loss`
* `roi`
* `trailing_stop_loss`
``` python
from freqtrade.persistence import Trade
class AwesomeStrategy(IStrategy):
# ... populate_* methods
def confirm_trade_exit(self, pair: str, trade: Trade, order_type: str, amount: float,
rate: float, time_in_force: str, exit_reason: str,
current_time: datetime, **kwargs) -> bool:
"""
Called right before placing a regular exit order.
Timing for this function is critical, so avoid doing heavy computations or
network requests in this method.
For full documentation please go to https://www.freqtrade.io/en/latest/strategy-advanced/
When not implemented by a strategy, returns True (always confirming).
:param pair: Pair for trade that's about to be exited.
:param trade: trade object.
:param order_type: Order type (as configured in order_types). usually limit or market.
:param amount: Amount in base currency.
:param rate: Rate that's going to be used when using limit orders
or current rate for market orders.
:param time_in_force: Time in force. Defaults to GTC (Good-til-cancelled).
:param exit_reason: Exit reason.
Can be any of ['roi', 'stop_loss', 'stoploss_on_exchange', 'trailing_stop_loss',
'exit_signal', 'force_exit', 'emergency_exit']
:param current_time: datetime object, containing the current datetime
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
:return bool: When True, then the exit-order is placed on the exchange.
False aborts the process
"""
if exit_reason == 'force_exit' and trade.calc_profit_ratio(rate) < 0:
# Reject force-sells with negative profit
# This is just a sample, please adjust to your needs
# (this does not necessarily make sense, assuming you know when you're force-selling)
return False
return True
```
!!! Warning
`confirm_trade_exit()` can prevent stoploss exits, causing significant losses as this would ignore stoploss exits.
`confirm_trade_exit()` will not be called for Liquidations - as liquidations are forced by the exchange, and therefore cannot be rejected.
## Adjust trade position
The `position_adjustment_enable` strategy property enables the usage of `adjust_trade_position()` callback in the strategy.
For performance reasons, it's disabled by default and freqtrade will show a warning message on startup if enabled.
`adjust_trade_position()` can be used to perform additional orders, for example to manage risk with DCA (Dollar Cost Averaging) or to increase or decrease positions.
`max_entry_position_adjustment` property is used to limit the number of additional buys per trade (on top of the first buy) that the bot can execute. By default, the value is -1 which means the bot have no limit on number of adjustment buys.
The strategy is expected to return a stake_amount (in stake currency) between `min_stake` and `max_stake` if and when an additional buy order should be made (position is increased).
If there are not enough funds in the wallet (the return value is above `max_stake`) then the signal will be ignored.
Additional orders also result in additional fees and those orders don't count towards `max_open_trades`.
This callback is **not** called when there is an open order (either buy or sell) waiting for execution.
`adjust_trade_position()` is called very frequently for the duration of a trade, so you must keep your implementation as performant as possible.
Additional Buys are ignored once you have reached the maximum amount of extra buys that you have set on `max_entry_position_adjustment`, but the callback is called anyway looking for partial exits.
Position adjustments will always be applied in the direction of the trade, so a positive value will always increase your position (negative values will decrease your position), no matter if it's a long or short trade. Modifications to leverage are not possible, and the stake-amount is assumed to be before applying leverage.
!!! Note "About stake size"
Using fixed stake size means it will be the amount used for the first order, just like without position adjustment.
If you wish to buy additional orders with DCA, then make sure to leave enough funds in the wallet for that.
Using 'unlimited' stake amount with DCA orders requires you to also implement the `custom_stake_amount()` callback to avoid allocating all funds to the initial order.
!!! Warning
Stoploss is still calculated from the initial opening price, not averaged price.
Regular stoploss rules still apply (cannot move down).
While `/stopentry` command stops the bot from entering new trades, the position adjustment feature will continue buying new orders on existing trades.
!!! Warning "Backtesting"
During backtesting this callback is called for each candle in `timeframe` or `timeframe_detail`, so run-time performance will be affected.
This can also cause deviating results between live and backtesting, since backtesting can adjust the trade only once per candle, whereas live could adjust the trade multiple times per candle.
``` python
from freqtrade.persistence import Trade
class DigDeeperStrategy(IStrategy):
position_adjustment_enable = True
# Attempts to handle large drops with DCA. High stoploss is required.
stoploss = -0.30
# ... populate_* methods
# Example specific variables
max_entry_position_adjustment = 3
# This number is explained a bit further down
max_dca_multiplier = 5.5
# This is called when placing the initial order (opening trade)
def custom_stake_amount(self, pair: str, current_time: datetime, current_rate: float,
proposed_stake: float, min_stake: Optional[float], max_stake: float,
leverage: float, entry_tag: Optional[str], side: str,
**kwargs) -> float:
# We need to leave most of the funds for possible further DCA orders
# This also applies to fixed stakes
return proposed_stake / self.max_dca_multiplier
def adjust_trade_position(self, trade: Trade, current_time: datetime,
current_rate: float, current_profit: float,
min_stake: Optional[float], max_stake: float,
current_entry_rate: float, current_exit_rate: float,
current_entry_profit: float, current_exit_profit: float,
**kwargs) -> Optional[float]:
"""
Custom trade adjustment logic, returning the stake amount that a trade should be
increased or decreased.
This means extra buy or sell orders with additional fees.
Only called when `position_adjustment_enable` is set to True.
For full documentation please go to https://www.freqtrade.io/en/latest/strategy-advanced/
When not implemented by a strategy, returns None
:param trade: trade object.
:param current_time: datetime object, containing the current datetime
:param current_rate: Current buy rate.
:param current_profit: Current profit (as ratio), calculated based on current_rate.
:param min_stake: Minimal stake size allowed by exchange (for both entries and exits)
:param max_stake: Maximum stake allowed (either through balance, or by exchange limits).
:param current_entry_rate: Current rate using entry pricing.
:param current_exit_rate: Current rate using exit pricing.
:param current_entry_profit: Current profit using entry pricing.
:param current_exit_profit: Current profit using exit pricing.
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
:return float: Stake amount to adjust your trade,
Positive values to increase position, Negative values to decrease position.
Return None for no action.
"""
if current_profit > 0.05 and trade.nr_of_successful_exits == 0:
# Take half of the profit at +5%
return -(trade.stake_amount / 2)
if current_profit > -0.05:
return None
# Obtain pair dataframe (just to show how to access it)
dataframe, _ = self.dp.get_analyzed_dataframe(trade.pair, self.timeframe)
# Only buy when not actively falling price.
last_candle = dataframe.iloc[-1].squeeze()
previous_candle = dataframe.iloc[-2].squeeze()
if last_candle['close'] < previous_candle['close']:
return None
filled_entries = trade.select_filled_orders(trade.entry_side)
count_of_entries = trade.nr_of_successful_entries
# Allow up to 3 additional increasingly larger buys (4 in total)
# Initial buy is 1x
# If that falls to -5% profit, we buy 1.25x more, average profit should increase to roughly -2.2%
# If that falls down to -5% again, we buy 1.5x more
# If that falls once again down to -5%, we buy 1.75x more
# Total stake for this trade would be 1 + 1.25 + 1.5 + 1.75 = 5.5x of the initial allowed stake.
# That is why max_dca_multiplier is 5.5
# Hope you have a deep wallet!
try:
# This returns first order stake size
stake_amount = filled_entries[0].cost
# This then calculates current safety order size
stake_amount = stake_amount * (1 + (count_of_entries * 0.25))
return stake_amount
except Exception as exception:
return None
return None
```
### Position adjust calculations
* Entry rates are calculated using weighted averages.
* Exits will not influence the average entry rate.
* Partial exit relative profit is relative to the average entry price at this point.
* Final exit relative profit is calculated based on the total invested capital. (See example below)
??? example "Calculation example"
*This example assumes 0 fees for simplicity, and a long position on an imaginary coin.*
* Buy 100@8\$
* Buy 100@9\$ -> Avg price: 8.5\$
* Sell 100@10\$ -> Avg price: 8.5\$, realized profit 150\$, 17.65%
* Buy 150@11\$ -> Avg price: 10\$, realized profit 150\$, 17.65%
* Sell 100@12\$ -> Avg price: 10\$, total realized profit 350\$, 20%
* Sell 150@14\$ -> Avg price: 10\$, total realized profit 950\$, 40% <- *This will be the last "Exit" message*
The total profit for this trade was 950$ on a 3350$ investment (`100@8$ + 100@9$ + 150@11$`). As such - the final relative profit is 28.35% (`950 / 3350`).
## Adjust Entry Price
The `adjust_entry_price()` callback may be used by strategy developer to refresh/replace limit orders upon arrival of new candles.
Be aware that `custom_entry_price()` is still the one dictating initial entry limit order price target at the time of entry trigger.
Orders can be cancelled out of this callback by returning `None`.
Returning `current_order_rate` will keep the order on the exchange "as is".
Returning any other price will cancel the existing order, and replace it with a new order.
The trade open-date (`trade.open_date_utc`) will remain at the time of the very first order placed.
Please make sure to be aware of this - and eventually adjust your logic in other callbacks to account for this, and use the date of the first filled order instead.
!!! Warning "Regular timeout"
Entry `unfilledtimeout` mechanism (as well as `check_entry_timeout()`) takes precedence over this.
Entry Orders that are cancelled via the above methods will not have this callback called. Be sure to update timeout values to match your expectations.
```python
from freqtrade.persistence import Trade
from datetime import timedelta
class AwesomeStrategy(IStrategy):
# ... populate_* methods
def adjust_entry_price(self, trade: Trade, order: Optional[Order], pair: str,
current_time: datetime, proposed_rate: float, current_order_rate: float,
entry_tag: Optional[str], side: str, **kwargs) -> float:
"""
Entry price re-adjustment logic, returning the user desired limit price.
This only executes when a order was already placed, still open (unfilled fully or partially)
and not timed out on subsequent candles after entry trigger.
When not implemented by a strategy, returns current_order_rate as default.
If current_order_rate is returned then the existing order is maintained.
If None is returned then order gets canceled but not replaced by a new one.
:param pair: Pair that's currently analyzed
:param trade: Trade object.
:param order: Order object
:param current_time: datetime object, containing the current datetime
:param proposed_rate: Rate, calculated based on pricing settings in entry_pricing.
:param current_order_rate: Rate of the existing order in place.
:param entry_tag: Optional entry_tag (buy_tag) if provided with the buy signal.
:param side: 'long' or 'short' - indicating the direction of the proposed trade
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
:return float: New entry price value if provided
"""
# Limit orders to use and follow SMA200 as price target for the first 10 minutes since entry trigger for BTC/USDT pair.
if pair == 'BTC/USDT' and entry_tag == 'long_sma200' and side == 'long' and (current_time - timedelta(minutes=10)) > trade.open_date_utc:
# just cancel the order if it has been filled more than half of the amount
if order.filled > order.remaining:
return None
else:
dataframe, _ = self.dp.get_analyzed_dataframe(pair=pair, timeframe=self.timeframe)
current_candle = dataframe.iloc[-1].squeeze()
# desired price
return current_candle['sma_200']
# default: maintain existing order
return current_order_rate
```
## Leverage Callback
When trading in markets that allow leverage, this method must return the desired Leverage (Defaults to 1 -> No leverage).
Assuming a capital of 500USDT, a trade with leverage=3 would result in a position with 500 x 3 = 1500 USDT.
Values that are above `max_leverage` will be adjusted to `max_leverage`.
For markets / exchanges that don't support leverage, this method is ignored.
``` python
class AwesomeStrategy(IStrategy):
def leverage(self, pair: str, current_time: datetime, current_rate: float,
proposed_leverage: float, max_leverage: float, entry_tag: Optional[str], side: str,
**kwargs) -> float:
"""
Customize leverage for each new trade. This method is only called in futures mode.
:param pair: Pair that's currently analyzed
:param current_time: datetime object, containing the current datetime
:param current_rate: Rate, calculated based on pricing settings in exit_pricing.
:param proposed_leverage: A leverage proposed by the bot.
:param max_leverage: Max leverage allowed on this pair
:param entry_tag: Optional entry_tag (buy_tag) if provided with the buy signal.
:param side: 'long' or 'short' - indicating the direction of the proposed trade
:return: A leverage amount, which is between 1.0 and max_leverage.
"""
return 1.0
```
All profit calculations include leverage. Stoploss / ROI also include leverage in their calculation.
Defining a stoploss of 10% at 10x leverage would trigger the stoploss with a 1% move to the downside.

View File

@ -4,40 +4,30 @@ This page explains how to customize your strategies, add new indicators and set
Please familiarize yourself with [Freqtrade basics](bot-basics.md) first, which provides overall info on how the bot operates.
## Install a custom strategy file
This is very simple. Copy paste your strategy file into the directory `user_data/strategies`.
Let assume you have a class called `AwesomeStrategy` in the file `AwesomeStrategy.py`:
1. Move your file into `user_data/strategies` (you should have `user_data/strategies/AwesomeStrategy.py`
2. Start the bot with the param `--strategy AwesomeStrategy` (the parameter is the class name)
```bash
freqtrade trade --strategy AwesomeStrategy
```
## Develop your own strategy
The bot includes a default strategy file.
Also, several other strategies are available in the [strategy repository](https://github.com/freqtrade/freqtrade-strategies).
You will however most likely have your own idea for a strategy.
This document intends to help you develop one for yourself.
This document intends to help you convert your strategy idea into your own strategy.
To get started, use `freqtrade new-strategy --strategy AwesomeStrategy`.
To get started, use `freqtrade new-strategy --strategy AwesomeStrategy` (you can obviously use your own naming for your strategy).
This will create a new strategy file from a template, which will be located under `user_data/strategies/AwesomeStrategy.py`.
!!! Note
This is just a template file, which will most likely not be profitable out of the box.
??? Hint "Different template levels"
`freqtrade new-strategy` has an additional parameter, `--template`, which controls the amount of pre-build information you get in the created strategy. Use `--template minimal` to get an empty strategy without any indicator examples, or `--template advanced` to get a template with most callbacks defined.
### Anatomy of a strategy
A strategy file contains all the information needed to build a good strategy:
- Indicators
- Buy strategy rules
- Sell strategy rules
- Entry strategy rules
- Exit strategy rules
- Minimal ROI recommended
- Stoploss strongly recommended
@ -45,7 +35,7 @@ The bot also include a sample strategy called `SampleStrategy` you can update: `
You can test it with the parameter: `--strategy SampleStrategy`
Additionally, there is an attribute called `INTERFACE_VERSION`, which defines the version of the strategy interface the bot should use.
The current version is 2 - which is also the default when it's not set explicitly in the strategy.
The current version is 3 - which is also the default when it's not set explicitly in the strategy.
Future versions will require this to be set.
@ -67,11 +57,51 @@ file as reference.**
needs to take care to avoid having the strategy utilize data from the future.
Some common patterns for this are listed in the [Common Mistakes](#common-mistakes-when-developing-strategies) section of this document.
### Dataframe
Freqtrade uses [pandas](https://pandas.pydata.org/) to store/provide the candlestick (OHLCV) data.
Pandas is a great library developed for processing large amounts of data.
Each row in a dataframe corresponds to one candle on a chart, with the latest candle always being the last in the dataframe (sorted by date).
``` output
> dataframe.head()
date open high low close volume
0 2021-11-09 23:25:00+00:00 67279.67 67321.84 67255.01 67300.97 44.62253
1 2021-11-09 23:30:00+00:00 67300.97 67301.34 67183.03 67187.01 61.38076
2 2021-11-09 23:35:00+00:00 67187.02 67187.02 67031.93 67123.81 113.42728
3 2021-11-09 23:40:00+00:00 67123.80 67222.40 67080.33 67160.48 78.96008
4 2021-11-09 23:45:00+00:00 67160.48 67160.48 66901.26 66943.37 111.39292
```
Pandas provides fast ways to calculate metrics. To benefit from this speed, it's advised to not use loops, but use vectorized methods instead.
Vectorized operations perform calculations across the whole range of data and are therefore, compared to looping through each row, a lot faster when calculating indicators.
As a dataframe is a table, simple python comparisons like the following will not work
``` python
if dataframe['rsi'] > 30:
dataframe['enter_long'] = 1
```
The above section will fail with `The truth value of a Series is ambiguous. [...]`.
This must instead be written in a pandas-compatible way, so the operation is performed across the whole dataframe.
``` python
dataframe.loc[
(dataframe['rsi'] > 30)
, 'enter_long'] = 1
```
With this section, you have a new column in your dataframe, which has `1` assigned whenever RSI is above 30.
### Customize Indicators
Buy and sell strategies need indicators. You can add more indicators by extending the list contained in the method `populate_indicators()` from your strategy file.
Buy and sell signals need indicators. You can add more indicators by extending the list contained in the method `populate_indicators()` from your strategy file.
You should only add the indicators used in either `populate_buy_trend()`, `populate_sell_trend()`, or to populate another indicator, otherwise performance may suffer.
You should only add the indicators used in either `populate_entry_trend()`, `populate_exit_trend()`, or to populate another indicator, otherwise performance may suffer.
It's important to always return the dataframe without removing/modifying the columns `"open", "high", "low", "close", "volume"`, otherwise these fields would contain something unexpected.
@ -122,11 +152,21 @@ def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame
Look into the [user_data/strategies/sample_strategy.py](https://github.com/freqtrade/freqtrade/blob/develop/freqtrade/templates/sample_strategy.py).
Then uncomment indicators you need.
#### Indicator libraries
Out of the box, freqtrade installs the following technical libraries:
* [ta-lib](http://mrjbq7.github.io/ta-lib/)
* [pandas-ta](https://twopirllc.github.io/pandas-ta/)
* [technical](https://github.com/freqtrade/technical/)
Additional technical libraries can be installed as necessary, or custom indicators may be written / invented by the strategy author.
### Strategy startup period
Most indicators have an instable startup period, in which they are either not available, or the calculation is incorrect. This can lead to inconsistencies, since Freqtrade does not know how long this instable period should be.
Most indicators have an instable startup period, in which they are either not available (NaN), or the calculation is incorrect. This can lead to inconsistencies, since Freqtrade does not know how long this instable period should be.
To account for this, the strategy can be assigned the `startup_candle_count` attribute.
This should be set to the maximum number of candles that the strategy requires to calculate stable indicators.
This should be set to the maximum number of candles that the strategy requires to calculate stable indicators. In the case where a user includes higher timeframes with informative pairs, the `startup_candle_count` does not necessarily change. The value is the maximum period (in candles) that any of the informatives timeframes need to compute stable indicators.
In this example strategy, this should be set to 100 (`startup_candle_count = 100`), since the longest needed history is 100 candles.
@ -136,8 +176,14 @@ In this example strategy, this should be set to 100 (`startup_candle_count = 100
By letting the bot know how much history is needed, backtest trades can start at the specified timerange during backtesting and hyperopt.
!!! Warning "Using x calls to get OHLCV"
If you receive a warning like `WARNING - Using 3 calls to get OHLCV. This can result in slower operations for the bot. Please check if you really need 1500 candles for your strategy` - you should consider if you really need this much historic data for your signals.
Having this will cause Freqtrade to make multiple calls for the same pair, which will obviously be slower than one network request.
As a consequence, Freqtrade will take longer to refresh candles - and should therefore be avoided if possible.
This is capped to 5 total calls to avoid overloading the exchange, or make freqtrade too slow.
!!! Warning
`startup_candle_count` should be below `ohlcv_candle_limit` (which is 500 for most exchanges) - since only this amount of candles will be available during Dry-Run/Live Trade operations.
`startup_candle_count` should be below `ohlcv_candle_limit * 5` (which is 500 * 5 for most exchanges) - since only this amount of candles will be available during Dry-Run/Live Trade operations.
#### Example
@ -153,18 +199,18 @@ If this data is available, indicators will be calculated with this extended time
!!! Note
If data for the startup period is not available, then the timerange will be adjusted to account for this startup period - so Backtesting would start at 2019-01-01 08:30:00.
### Buy signal rules
### Entry signal rules
Edit the method `populate_buy_trend()` in your strategy file to update your buy strategy.
Edit the method `populate_entry_trend()` in your strategy file to update your entry strategy.
It's important to always return the dataframe without removing/modifying the columns `"open", "high", "low", "close", "volume"`, otherwise these fields would contain something unexpected.
This method will also define a new column, `"buy"`, which needs to contain 1 for buys, and 0 for "no action".
This method will also define a new column, `"enter_long"` (`"enter_short"` for shorts), which needs to contain 1 for entries, and 0 for "no action". `enter_long` is a mandatory column that must be set even if the strategy is shorting only.
Sample from `user_data/strategies/sample_strategy.py`:
```python
def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
"""
Based on TA indicators, populates the buy signal for the given dataframe
:param dataframe: DataFrame populated with indicators
@ -178,7 +224,36 @@ def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
(dataframe['tema'] > dataframe['tema'].shift(1)) & # Guard
(dataframe['volume'] > 0) # Make sure Volume is not 0
),
'buy'] = 1
['enter_long', 'enter_tag']] = (1, 'rsi_cross')
return dataframe
```
??? Note "Enter short trades"
Short-entries can be created by setting `enter_short` (corresponds to `enter_long` for long trades).
The `enter_tag` column remains identical.
Short-trades need to be supported by your exchange and market configuration!
Please make sure to set [`can_short`]() appropriately on your strategy if you intend to short.
```python
def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe.loc[
(
(qtpylib.crossed_above(dataframe['rsi'], 30)) & # Signal: RSI crosses above 30
(dataframe['tema'] <= dataframe['bb_middleband']) & # Guard
(dataframe['tema'] > dataframe['tema'].shift(1)) & # Guard
(dataframe['volume'] > 0) # Make sure Volume is not 0
),
['enter_long', 'enter_tag']] = (1, 'rsi_cross')
dataframe.loc[
(
(qtpylib.crossed_below(dataframe['rsi'], 70)) & # Signal: RSI crosses below 70
(dataframe['tema'] > dataframe['bb_middleband']) & # Guard
(dataframe['tema'] < dataframe['tema'].shift(1)) & # Guard
(dataframe['volume'] > 0) # Make sure Volume is not 0
),
['enter_short', 'enter_tag']] = (1, 'rsi_cross')
return dataframe
```
@ -186,21 +261,22 @@ def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
!!! Note
Buying requires sellers to buy from - therefore volume needs to be > 0 (`dataframe['volume'] > 0`) to make sure that the bot does not buy/sell in no-activity periods.
### Sell signal rules
### Exit signal rules
Edit the method `populate_sell_trend()` into your strategy file to update your sell strategy.
Please note that the sell-signal is only used if `use_sell_signal` is set to true in the configuration.
Edit the method `populate_exit_trend()` into your strategy file to update your exit strategy.
The exit-signal is only used for exits if `use_exit_signal` is set to true in the configuration.
`use_exit_signal` will not influence [signal collision rules](#colliding-signals) - which will still apply and can prevent entries.
It's important to always return the dataframe without removing/modifying the columns `"open", "high", "low", "close", "volume"`, otherwise these fields would contain something unexpected.
This method will also define a new column, `"sell"`, which needs to contain 1 for sells, and 0 for "no action".
This method will also define a new column, `"exit_long"` (`"exit_short"` for shorts), which needs to contain 1 for exits, and 0 for "no action".
Sample from `user_data/strategies/sample_strategy.py`:
```python
def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
"""
Based on TA indicators, populates the sell signal for the given dataframe
Based on TA indicators, populates the exit signal for the given dataframe
:param dataframe: DataFrame populated with indicators
:param metadata: Additional information, like the currently traded pair
:return: DataFrame with buy column
@ -212,13 +288,39 @@ def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame
(dataframe['tema'] < dataframe['tema'].shift(1)) & # Guard
(dataframe['volume'] > 0) # Make sure Volume is not 0
),
'sell'] = 1
['exit_long', 'exit_tag']] = (1, 'rsi_too_high')
return dataframe
```
??? Note "Exit short trades"
Short-exits can be created by setting `exit_short` (corresponds to `exit_long`).
The `exit_tag` column remains identical.
Short-trades need to be supported by your exchange and market configuration!
```python
def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe.loc[
(
(qtpylib.crossed_above(dataframe['rsi'], 70)) & # Signal: RSI crosses above 70
(dataframe['tema'] > dataframe['bb_middleband']) & # Guard
(dataframe['tema'] < dataframe['tema'].shift(1)) & # Guard
(dataframe['volume'] > 0) # Make sure Volume is not 0
),
['exit_long', 'exit_tag']] = (1, 'rsi_too_high')
dataframe.loc[
(
(qtpylib.crossed_below(dataframe['rsi'], 30)) & # Signal: RSI crosses below 30
(dataframe['tema'] < dataframe['bb_middleband']) & # Guard
(dataframe['tema'] > dataframe['tema'].shift(1)) & # Guard
(dataframe['volume'] > 0) # Make sure Volume is not 0
),
['exit_short', 'exit_tag']] = (1, 'rsi_too_low')
return dataframe
```
### Minimal ROI
This dict defines the minimal Return On Investment (ROI) a trade should reach before selling, independent from the sell signal.
This dict defines the minimal Return On Investment (ROI) a trade should reach before exiting, independent from the exit signal.
It is of the following format, with the dict key (left side of the colon) being the minutes passed since the trade opened, and the value (right side of the colon) being the percentage.
@ -233,10 +335,10 @@ minimal_roi = {
The above configuration would therefore mean:
- Sell whenever 4% profit was reached
- Sell when 2% profit was reached (in effect after 20 minutes)
- Sell when 1% profit was reached (in effect after 30 minutes)
- Sell when trade is non-loosing (in effect after 40 minutes)
- Exit whenever 4% profit was reached
- Exit when 2% profit was reached (in effect after 20 minutes)
- Exit when 1% profit was reached (in effect after 30 minutes)
- Exit when trade is non-loosing (in effect after 40 minutes)
The calculation does include fees.
@ -248,7 +350,7 @@ minimal_roi = {
}
```
While technically not completely disabled, this would sell once the trade reaches 10000% Profit.
While technically not completely disabled, this would exit once the trade reaches 10000% Profit.
To use times based on candle duration (timeframe), the following snippet can be handy.
This will allow you to change the timeframe for the strategy, and ROI times will still be set as candles (e.g. after 3 candles ...)
@ -262,8 +364,8 @@ class AwesomeStrategy(IStrategy):
timeframe_mins = timeframe_to_minutes(timeframe)
minimal_roi = {
"0": 0.05, # 5% for the first 3 candles
str(timeframe_mins * 3)): 0.02, # 2% after 3 candles
str(timeframe_mins * 6)): 0.01, # 1% After 6 candles
str(timeframe_mins * 3): 0.02, # 2% after 3 candles
str(timeframe_mins * 6): 0.01, # 1% After 6 candles
}
```
@ -271,38 +373,51 @@ class AwesomeStrategy(IStrategy):
Setting a stoploss is highly recommended to protect your capital from strong moves against you.
Sample:
Sample of setting a 10% stoploss:
``` python
stoploss = -0.10
```
This would signify a stoploss of -10%.
For the full documentation on stoploss features, look at the dedicated [stoploss page](stoploss.md).
If your exchange supports it, it's recommended to also set `"stoploss_on_exchange"` in the order_types dictionary, so your stoploss is on the exchange and cannot be missed due to network problems, high load or other reasons.
For more information on order_types please look [here](configuration.md#understand-order_types).
### Timeframe (formerly ticker interval)
### Timeframe
This is the set of candles the bot should download and use for the analysis.
Common values are `"1m"`, `"5m"`, `"15m"`, `"1h"`, however all values supported by your exchange should work.
Please note that the same buy/sell signals may work well with one timeframe, but not with the others.
Please note that the same entry/exit signals may work well with one timeframe, but not with the others.
This setting is accessible within the strategy methods as the `self.timeframe` attribute.
### Can short
To use short signals in futures markets, you will have to let us know to do so by setting `can_short=True`.
Strategies which enable this will fail to load on spot markets.
Disabling of this will have short signals ignored (also in futures markets).
### Metadata dict
The metadata-dict (available for `populate_buy_trend`, `populate_sell_trend`, `populate_indicators`) contains additional information.
The metadata-dict (available for `populate_entry_trend`, `populate_exit_trend`, `populate_indicators`) contains additional information.
Currently this is `pair`, which can be accessed using `metadata['pair']` - and will return a pair in the format `XRP/BTC`.
The Metadata-dict should not be modified and does not persist information across multiple calls.
Instead, have a look at the section [Storing information](strategy-advanced.md#Storing-information)
Instead, have a look at the [Storing information](strategy-advanced.md#Storing-information) section.
## Additional data (informative_pairs)
## Strategy file loading
By default, freqtrade will attempt to load strategies from all `.py` files within `user_data/strategies`.
Assuming your strategy is called `AwesomeStrategy`, stored in the file `user_data/strategies/AwesomeStrategy.py`, then you can start freqtrade with `freqtrade trade --strategy AwesomeStrategy`.
Note that we're using the class-name, not the file name.
You can use `freqtrade list-strategies` to see a list of all strategies Freqtrade is able to load (all strategies in the correct folder).
It will also include a "status" field, highlighting potential problems.
??? Hint "Customize strategy directory"
You can use a different directory by using `--strategy-path user_data/otherPath`. This parameter is available to all commands that require a strategy.
## Informative Pairs
### Get data for non-tradeable pairs
@ -329,8 +444,152 @@ A full sample can be found [in the DataProvider section](#complete-data-provider
It is however better to use resampling to longer timeframes whenever possible
to avoid hammering the exchange with too many requests and risk being blocked.
??? Note "Alternative candle types"
Informative_pairs can also provide a 3rd tuple element defining the candle type explicitly.
Availability of alternative candle-types will depend on the trading-mode and the exchange.
In general, spot pairs cannot be used in futures markets, and futures candles can't be used as informative pairs for spot bots.
Details about this may vary, if they do, this can be found in the exchange documentation.
``` python
def informative_pairs(self):
return [
("ETH/USDT", "5m", ""), # Uses default candletype, depends on trading_mode (recommended)
("ETH/USDT", "5m", "spot"), # Forces usage of spot candles (only valid for bots running on spot markets).
("BTC/TUSD", "15m", "futures"), # Uses futures candles (only bots with `trading_mode=futures`)
("BTC/TUSD", "15m", "mark"), # Uses mark candles (only bots with `trading_mode=futures`)
]
```
***
### Informative pairs decorator (`@informative()`)
In most common case it is possible to easily define informative pairs by using a decorator. All decorated `populate_indicators_*` methods run in isolation,
not having access to data from other informative pairs, in the end all informative dataframes are merged and passed to main `populate_indicators()` method.
When hyperopting, use of hyperoptable parameter `.value` attribute is not supported. Please use `.range` attribute. See [optimizing an indicator parameter](hyperopt.md#optimizing-an-indicator-parameter)
for more information.
??? info "Full documentation"
``` python
def informative(timeframe: str, asset: str = '',
fmt: Optional[Union[str, Callable[[KwArg(str)], str]]] = None,
*,
candle_type: Optional[CandleType] = None,
ffill: bool = True) -> Callable[[PopulateIndicators], PopulateIndicators]:
"""
A decorator for populate_indicators_Nn(self, dataframe, metadata), allowing these functions to
define informative indicators.
Example usage:
@informative('1h')
def populate_indicators_1h(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe['rsi'] = ta.RSI(dataframe, timeperiod=14)
return dataframe
:param timeframe: Informative timeframe. Must always be equal or higher than strategy timeframe.
:param asset: Informative asset, for example BTC, BTC/USDT, ETH/BTC. Do not specify to use
current pair.
:param fmt: Column format (str) or column formatter (callable(name, asset, timeframe)). When not
specified, defaults to:
* {base}_{quote}_{column}_{timeframe} if asset is specified.
* {column}_{timeframe} if asset is not specified.
Format string supports these format variables:
* {asset} - full name of the asset, for example 'BTC/USDT'.
* {base} - base currency in lower case, for example 'eth'.
* {BASE} - same as {base}, except in upper case.
* {quote} - quote currency in lower case, for example 'usdt'.
* {QUOTE} - same as {quote}, except in upper case.
* {column} - name of dataframe column.
* {timeframe} - timeframe of informative dataframe.
:param ffill: ffill dataframe after merging informative pair.
:param candle_type: '', mark, index, premiumIndex, or funding_rate
"""
```
??? Example "Fast and easy way to define informative pairs"
Most of the time we do not need power and flexibility offered by `merge_informative_pair()`, therefore we can use a decorator to quickly define informative pairs.
``` python
from datetime import datetime
from freqtrade.persistence import Trade
from freqtrade.strategy import IStrategy, informative
class AwesomeStrategy(IStrategy):
# This method is not required.
# def informative_pairs(self): ...
# Define informative upper timeframe for each pair. Decorators can be stacked on same
# method. Available in populate_indicators as 'rsi_30m' and 'rsi_1h'.
@informative('30m')
@informative('1h')
def populate_indicators_1h(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe['rsi'] = ta.RSI(dataframe, timeperiod=14)
return dataframe
# Define BTC/STAKE informative pair. Available in populate_indicators and other methods as
# 'btc_rsi_1h'. Current stake currency should be specified as {stake} format variable
# instead of hard-coding actual stake currency. Available in populate_indicators and other
# methods as 'btc_usdt_rsi_1h' (when stake currency is USDT).
@informative('1h', 'BTC/{stake}')
def populate_indicators_btc_1h(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe['rsi'] = ta.RSI(dataframe, timeperiod=14)
return dataframe
# Define BTC/ETH informative pair. You must specify quote currency if it is different from
# stake currency. Available in populate_indicators and other methods as 'eth_btc_rsi_1h'.
@informative('1h', 'ETH/BTC')
def populate_indicators_eth_btc_1h(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe['rsi'] = ta.RSI(dataframe, timeperiod=14)
return dataframe
# Define BTC/STAKE informative pair. A custom formatter may be specified for formatting
# column names. A callable `fmt(**kwargs) -> str` may be specified, to implement custom
# formatting. Available in populate_indicators and other methods as 'rsi_upper'.
@informative('1h', 'BTC/{stake}', '{column}')
def populate_indicators_btc_1h_2(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe['rsi_upper'] = ta.RSI(dataframe, timeperiod=14)
return dataframe
def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
# Strategy timeframe indicators for current pair.
dataframe['rsi'] = ta.RSI(dataframe, timeperiod=14)
# Informative pairs are available in this method.
dataframe['rsi_less'] = dataframe['rsi'] < dataframe['rsi_1h']
return dataframe
```
!!! Note
Do not use `@informative` decorator if you need to use data of one informative pair when generating another informative pair. Instead, define informative pairs
manually as described [in the DataProvider section](#complete-data-provider-sample).
!!! Note
Use string formatting when accessing informative dataframes of other pairs. This will allow easily changing stake currency in config without having to adjust strategy code.
``` python
def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
stake = self.config['stake_currency']
dataframe.loc[
(
(dataframe[f'btc_{stake}_rsi_1h'] < 35)
&
(dataframe['volume'] > 0)
),
['enter_long', 'enter_tag']] = (1, 'buy_signal_rsi')
return dataframe
```
Alternatively column renaming may be used to remove stake currency from column names: `@informative('1h', 'BTC/{stake}', fmt='{base}_{column}_{timeframe}')`.
!!! Warning "Duplicate method names"
Methods tagged with `@informative()` decorator must always have unique names! Re-using same name (for example when copy-pasting already defined informative method)
will overwrite previously defined method and not produce any errors due to limitations of Python programming language. In such cases you will find that indicators
created in earlier-defined methods are not available in the dataframe. Carefully review method names and make sure they are unique!
## Additional data (DataProvider)
The strategy provides access to the `DataProvider`. This allows you to get additional data to use in your strategy.
@ -361,7 +620,6 @@ Please always check the mode of operation to select the correct method to get da
### *available_pairs*
``` python
if self.dp:
for pair, timeframe in self.dp.available_pairs:
print(f"available {pair}, {timeframe}")
```
@ -374,9 +632,9 @@ The strategy might look something like this:
*Scan through the top 10 pairs by volume using the `VolumePairList` every 5 minutes and use a 14 day RSI to buy and sell.*
Due to the limited available data, it's very difficult to resample our `5m` candles into daily candles for use in a 14 day RSI. Most exchanges limit us to just 500 candles which effectively gives us around 1.74 daily candles. We need 14 days at least!
Due to the limited available data, it's very difficult to resample `5m` candles into daily candles for use in a 14 day RSI. Most exchanges limit us to just 500-1000 candles which effectively gives us around 1.74 daily candles. We need 14 days at least!
Since we can't resample our data we will have to use an informative pair; and since our whitelist will be dynamic we don't know which pair(s) to use.
Since we can't resample the data we will have to use an informative pair; and since the whitelist will be dynamic we don't know which pair(s) to use.
This is where calling `self.dp.current_whitelist()` comes in handy.
@ -390,20 +648,22 @@ This is where calling `self.dp.current_whitelist()` comes in handy.
return informative_pairs
```
??? Note "Plotting with current_whitelist"
Current whitelist is not supported for `plot-dataframe`, as this command is usually used by providing an explicit pairlist - and would therefore make the return values of this method misleading.
### *get_pair_dataframe(pair, timeframe)*
``` python
# fetch live / historical candle (OHLCV) data for the first informative pair
if self.dp:
inf_pair, inf_timeframe = self.informative_pairs()[0]
informative = self.dp.get_pair_dataframe(pair=inf_pair,
timeframe=inf_timeframe)
```
!!! Warning "Warning about backtesting"
Be careful when using dataprovider in backtesting. `historic_ohlcv()` (and `get_pair_dataframe()`
for the backtesting runmode) provides the full time-range in one go,
so please be aware of it and make sure to not "look into the future" to avoid surprises when running in dry/live mode.
In backtesting, `dp.get_pair_dataframe()` behavior differs depending on where it's called.
Within `populate_*()` methods, `dp.get_pair_dataframe()` returns the full timerange. Please make sure to not "look into the future" to avoid surprises when running in dry/live mode.
Within [callbacks](strategy-callbacks.md), you'll get the full timerange up to the current (simulated) candle.
### *get_analyzed_dataframe(pair, timeframe)*
@ -412,20 +672,18 @@ It can also be used in specific callbacks to get the signal that caused the acti
``` python
# fetch current dataframe
if self.dp:
if self.dp.runmode.value in ('live', 'dry_run'):
dataframe, last_updated = self.dp.get_analyzed_dataframe(pair=metadata['pair'],
timeframe=self.timeframe)
```
!!! Note "No data available"
Returns an empty dataframe if the requested pair was not cached.
You can check for this with `if dataframe.empty:` and handle this case accordingly.
This should not happen when using whitelisted pairs.
### *orderbook(pair, maximum)*
``` python
if self.dp:
if self.dp.runmode.value in ('live', 'dry_run'):
ob = self.dp.orderbook(metadata['pair'], 1)
dataframe['best_bid'] = ob['bids'][0][0]
@ -458,7 +716,6 @@ Therefore, using `ob['bids'][0][0]` as demonstrated above will result in using t
### *ticker(pair)*
``` python
if self.dp:
if self.dp.runmode.value in ('live', 'dry_run'):
ticker = self.dp.ticker(metadata['pair'])
dataframe['last_price'] = ticker['last']
@ -468,12 +725,29 @@ if self.dp:
!!! Warning
Although the ticker data structure is a part of the ccxt Unified Interface, the values returned by this method can
vary for different exchanges. For instance, many exchanges do not return `vwap` values, the FTX exchange
vary for different exchanges. For instance, many exchanges do not return `vwap` values, some exchanges
does not always fills in the `last` field (so it can be None), etc. So you need to carefully verify the ticker
data returned from the exchange and add appropriate error handling / defaults.
!!! Warning "Warning about backtesting"
This method will always return up-to-date values - so usage during backtesting / hyperopt will lead to wrong results.
This method will always return up-to-date values - so usage during backtesting / hyperopt without runmode checks will lead to wrong results.
### Send Notification
The dataprovider `.send_msg()` function allows you to send custom notifications from your strategy.
Identical notifications will only be sent once per candle, unless the 2nd argument (`always_send`) is set to True.
``` python
self.dp.send_msg(f"{metadata['pair']} just got hot!")
# Force send this notification, avoid caching (Please read warning below!)
self.dp.send_msg(f"{metadata['pair']} just got hot!", always_send=True)
```
Notifications will only be sent in trading modes (Live/Dry-run) - so this method can be called without conditions for backtesting.
!!! Warning "Spamming"
You can spam yourself pretty good by setting `always_send=True` in this method. Use this with great care and only in conditions you know will not happen throughout a candle to avoid a message every 5 seconds.
### Complete Data-provider sample
@ -526,7 +800,7 @@ class SampleStrategy(IStrategy):
return dataframe
def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe.loc[
(
@ -534,7 +808,7 @@ class SampleStrategy(IStrategy):
(dataframe['rsi_1d'] < 30) & # Ensure daily RSI is < 30
(dataframe['volume'] > 0) # Ensure this candle had volume (important for backtesting)
),
'buy'] = 1
['enter_long', 'enter_tag']] = (1, 'rsi_cross')
```
@ -553,6 +827,8 @@ Options:
- Merge the dataframe without lookahead bias
- Forward-fill (optional)
For a full sample, please refer to the [complete data provider example](#complete-data-provider-sample) below.
All columns of the informative dataframe will be available on the returning dataframe in a renamed fashion:
!!! Example "Column renaming"
@ -605,13 +881,15 @@ All columns of the informative dataframe will be available on the returning data
### *stoploss_from_open()*
Stoploss values returned from `custom_stoploss` must specify a percentage relative to `current_rate`, but sometimes you may want to specify a stoploss relative to the open price instead. `stoploss_from_open()` is a helper function to calculate a stoploss value that can be returned from `custom_stoploss` which will be equivalent to the desired percentage above the open price.
Stoploss values returned from `custom_stoploss` must specify a percentage relative to `current_rate`, but sometimes you may want to specify a stoploss relative to the entry point instead. `stoploss_from_open()` is a helper function to calculate a stoploss value that can be returned from `custom_stoploss` which will be equivalent to the desired trade profit above the entry point.
??? Example "Returning a stoploss relative to the open price from the custom stoploss function"
Say the open price was $100, and `current_price` is $121 (`current_profit` will be `0.21`).
If we want a stop price at 7% above the open price we can call `stoploss_from_open(0.07, current_profit)` which will return `0.1157024793`. 11.57% below $121 is $107, which is the same as 7% above $100.
If we want a stop price at 7% above the open price we can call `stoploss_from_open(0.07, current_profit, False)` which will return `0.1157024793`. 11.57% below $121 is $107, which is the same as 7% above $100.
This function will consider leverage - so at 10x leverage, the actual stoploss would be 0.7% above $100 (0.7% * 10x = 7%).
``` python
@ -631,7 +909,7 @@ Stoploss values returned from `custom_stoploss` must specify a percentage relati
# once the profit has risen above 10%, keep the stoploss at 7% above the open price
if current_profit > 0.10:
return stoploss_from_open(0.07, current_profit)
return stoploss_from_open(0.07, current_profit, is_short=trade.is_short, leverage=trade.leverage)
return 1
@ -639,15 +917,53 @@ Stoploss values returned from `custom_stoploss` must specify a percentage relati
Full examples can be found in the [Custom stoploss](strategy-advanced.md#custom-stoploss) section of the Documentation.
!!! Note
Providing invalid input to `stoploss_from_open()` may produce "CustomStoploss function did not return valid stoploss" warnings.
This may happen if `current_profit` parameter is below specified `open_relative_stop`. Such situations may arise when closing trade
is blocked by `confirm_trade_exit()` method. Warnings can be solved by never blocking stop loss sells by checking `exit_reason` in
`confirm_trade_exit()`, or by using `return stoploss_from_open(...) or 1` idiom, which will request to not change stop loss when
`current_profit < open_relative_stop`.
### *stoploss_from_absolute()*
In some situations it may be confusing to deal with stops relative to current rate. Instead, you may define a stoploss level using an absolute price.
??? Example "Returning a stoploss using absolute price from the custom stoploss function"
If we want to trail a stop price at 2xATR below current price we can call `stoploss_from_absolute(current_rate - (candle['atr'] * 2), current_rate, is_short=trade.is_short)`.
``` python
from datetime import datetime
from freqtrade.persistence import Trade
from freqtrade.strategy import IStrategy, stoploss_from_absolute
class AwesomeStrategy(IStrategy):
use_custom_stoploss = True
def populate_indicators_1h(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe['atr'] = ta.ATR(dataframe, timeperiod=14)
return dataframe
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
current_rate: float, current_profit: float, **kwargs) -> float:
dataframe, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe)
candle = dataframe.iloc[-1].squeeze()
return stoploss_from_absolute(current_rate - (candle['atr'] * 2), current_rate, is_short=trade.is_short)
```
## Additional data (Wallets)
The strategy provides access to the `Wallets` object. This contains the current balances on the exchange.
The strategy provides access to the `wallets` object. This contains the current balances on the exchange.
!!! Note
Wallets is not available during backtesting / hyperopt.
!!! Note "Backtesting / Hyperopt"
Wallets behaves differently depending on the function it's called.
Within `populate_*()` methods, it'll return the full wallet as configured.
Within [callbacks](strategy-callbacks.md), you'll get the wallet state corresponding to the actual simulated wallet at that point in the simulation process.
Please always check if `Wallets` is available to avoid failures during backtesting.
Please always check if `wallets` is available to avoid failures during backtesting.
``` python
if self.wallets:
@ -677,38 +993,18 @@ from freqtrade.persistence import Trade
The following example queries for the current pair and trades from today, however other filters can easily be added.
``` python
if self.config['runmode'].value in ('live', 'dry_run'):
trades = Trade.get_trades([Trade.pair == metadata['pair'],
Trade.open_date > datetime.utcnow() - timedelta(days=1),
Trade.is_open.is_(False),
trades = Trade.get_trades_proxy(pair=metadata['pair'],
open_date=datetime.now(timezone.utc) - timedelta(days=1),
is_open=False,
]).order_by(Trade.close_date).all()
# Summarize profit for this pair.
curdayprofit = sum(trade.close_profit for trade in trades)
```
Get amount of stake_currency currently invested in Trades:
``` python
if self.config['runmode'].value in ('live', 'dry_run'):
total_stakes = Trade.total_open_trades_stakes()
```
Retrieve performance per pair.
Returns a List of dicts per pair.
``` python
if self.config['runmode'].value in ('live', 'dry_run'):
performance = Trade.get_overall_performance()
```
Sample return value: ETH/BTC had 5 trades, with a total profit of 1.5% (ratio of 0.015).
``` json
{'pair': "ETH/BTC", 'profit': 0.015, 'count': 5}
```
For a full list of available methods, please consult the [Trade object](trade-object.md) documentation.
!!! Warning
Trade history is not available during backtesting or hyperopt.
Trade history is not available in `populate_*` methods during backtesting or hyperopt, and will result in empty results.
## Prevent trades from happening for a specific pair
@ -723,7 +1019,8 @@ Sometimes it may be desired to lock a pair after certain events happen (e.g. mul
Freqtrade has an easy method to do this from within the strategy, by calling `self.lock_pair(pair, until, [reason])`.
`until` must be a datetime object in the future, after which trading will be re-enabled for that pair, while `reason` is an optional string detailing why the pair was locked.
Locks can also be lifted manually, by calling `self.unlock_pair(pair)`.
Locks can also be lifted manually, by calling `self.unlock_pair(pair)` or `self.unlock_reason(<reason>)` - providing reason the pair was locked with.
`self.unlock_reason(<reason>)` will unlock all pairs currently locked with the provided reason.
To verify if a pair is currently locked, use `self.is_pair_locked(pair)`.
@ -744,10 +1041,9 @@ from datetime import timedelta, datetime, timezone
# Within populate indicators (or populate_buy):
if self.config['runmode'].value in ('live', 'dry_run'):
# fetch closed trades for the last 2 days
trades = Trade.get_trades([Trade.pair == metadata['pair'],
Trade.open_date > datetime.utcnow() - timedelta(days=2),
Trade.is_open.is_(False),
]).all()
trades = Trade.get_trades_proxy(
pair=metadata['pair'], is_open=False,
open_date=datetime.now(timezone.utc) - timedelta(days=2))
# Analyze the conditions you'd like to lock the pair .... will probably be different for every strategy
sumprofit = sum(trade.close_profit for trade in trades)
if sumprofit < 0:
@ -757,16 +1053,16 @@ if self.config['runmode'].value in ('live', 'dry_run'):
## Print created dataframe
To inspect the created dataframe, you can issue a print-statement in either `populate_buy_trend()` or `populate_sell_trend()`.
To inspect the created dataframe, you can issue a print-statement in either `populate_entry_trend()` or `populate_exit_trend()`.
You may also want to print the pair so it's clear what data is currently shown.
``` python
def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe.loc[
(
#>> whatever condition<<<
),
'buy'] = 1
['enter_long', 'enter_tag']] = (1, 'somestring')
# Print the Analyzed pair
print(f"result for {metadata['pair']}")
@ -781,6 +1077,8 @@ Printing more than a few rows is also possible (simply use `print(dataframe)` i
## Common mistakes when developing strategies
### Peeking into the future while backtesting
Backtesting analyzes the whole time-range at once for performance reasons. Because of this, strategy authors need to make sure that strategies do not look-ahead into the future.
This is a common pain-point, which can cause huge differences between backtesting and dry/live run methods, since they all use data which is not available during dry/live runs, so these strategies will perform well during backtesting, but will fail / perform badly in real conditions.
@ -791,9 +1089,18 @@ The following lists some common patterns which should be avoided to prevent frus
- don't use `dataframe['volume'].mean()`. This uses the full DataFrame for backtesting, including data from the future. Use `dataframe['volume'].rolling(<window>).mean()` instead
- don't use `.resample('1h')`. This uses the left border of the interval, so moves data from an hour to the start of the hour. Use `.resample('1h', label='right')` instead.
### Colliding signals
When conflicting signals collide (e.g. both `'enter_long'` and `'exit_long'` are 1), freqtrade will do nothing and ignore the entry signal. This will avoid trades that enter, and exit immediately. Obviously, this can potentially lead to missed entries.
The following rules apply, and entry signals will be ignored if more than one of the 3 signals is set:
- `enter_long` -> `exit_long`, `enter_short`
- `enter_short` -> `exit_short`, `enter_long`
## Further strategy ideas
To get additional Ideas for strategies, head over to our [strategy repository](https://github.com/freqtrade/freqtrade-strategies). Feel free to use them as they are - but results will depend on the current market situation, pairs used etc. - therefore please backtest the strategy for your exchange/desired pairs first, evaluate carefully, use at your own risk.
To get additional Ideas for strategies, head over to the [strategy repository](https://github.com/freqtrade/freqtrade-strategies). Feel free to use them as they are - but results will depend on the current market situation, pairs used etc. - therefore please backtest the strategy for your exchange/desired pairs first, evaluate carefully, use at your own risk.
Feel free to use any of them as inspiration for your own strategies.
We're happy to accept Pull Requests containing new Strategies to that repo.

Some files were not shown because too many files have changed in this diff Show More