Compare commits

...

2607 Commits

Author SHA1 Message Date
Matthias
da52ef8729 chore: hot-fix ta-lib install on windows 2025-08-14 10:12:31 +02:00
Matthias
c9dda3480d Merge pull request #12052 from freqtrade/new_release
New release 2025.7
2025-07-31 19:47:30 +02:00
Matthias
45804e1bef chore: bump version to 2025.7 2025-07-31 06:29:50 +02:00
Matthias
6dd5dc5d2c Merge branch 'stable' into new_release 2025-07-31 06:29:29 +02:00
Matthias
a5db75d361 Merge pull request #12050 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-07-31 06:22:09 +02:00
Freqtrade Bot
4c4bc2be9b chore: update pre-commit hooks 2025-07-31 03:31:12 +00:00
Matthias
e9cc9bb38a test: add explaining comment about mark price test
closes #12046
2025-07-30 07:13:35 +02:00
Matthias
3b6395ddb8 test: improve ccxt compat test teardown 2025-07-29 20:12:00 +02:00
Matthias
fdcbb3c0d0 chore: enable test checking funding-fee returned is not 0. 2025-07-29 20:05:54 +02:00
Matthias
b07ffbf721 test: remove unused argument 2025-07-29 18:30:46 +02:00
Matthias
a7b7e10c09 docs: update and simplify webhook docs 2025-07-29 07:23:03 +02:00
Matthias
f18472479a chore: align rpc message fields to use order_rate 2025-07-29 07:23:03 +02:00
Matthias
18c37b9b8f Merge pull request #12044 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-07-29 06:42:24 +02:00
Freqtrade Bot
d28abc18ea chore: update pre-commit hooks 2025-07-29 03:34:34 +00:00
Matthias
80b50141ee Merge pull request #12037 from freqtrade/dependabot/pip/develop/ruff-0.12.5
chore(deps-dev): bump ruff from 0.12.4 to 0.12.5
2025-07-28 07:40:37 +02:00
Matthias
b15d49f9ae Merge pull request #12039 from freqtrade/dependabot/github_actions/develop/astral-sh/setup-uv-6.4.3
chore(deps): bump astral-sh/setup-uv from 6.4.1 to 6.4.3
2025-07-28 07:39:37 +02:00
Matthias
668635892c Merge pull request #12038 from freqtrade/dependabot/pip/develop/ccxt-4.4.96
chore(deps): bump ccxt from 4.4.95 to 4.4.96
2025-07-28 07:35:43 +02:00
Matthias
670a29d420 Merge pull request #12035 from freqtrade/dependabot/pip/develop/cmaes-0.12.0
chore(deps): bump cmaes from 0.11.1 to 0.12.0
2025-07-28 07:33:28 +02:00
Matthias
fd0d089f43 Merge pull request #12034 from freqtrade/dependabot/pip/develop/numpy-2.3.2
chore(deps): bump numpy from 2.3.1 to 2.3.2
2025-07-28 07:27:12 +02:00
Matthias
b5fb6888f0 Merge pull request #12032 from freqtrade/dependabot/pip/develop/orjson-3.11.1
chore(deps): bump orjson from 3.11.0 to 3.11.1
2025-07-28 07:20:35 +02:00
Matthias
edc23dcd2f Merge pull request #12031 from freqtrade/dependabot/pip/develop/rich-14.1.0
chore(deps): bump rich from 14.0.0 to 14.1.0
2025-07-28 07:16:11 +02:00
Matthias
1dc299f6f4 Merge pull request #12036 from freqtrade/dependabot/pip/develop/scipy-1.16.1
chore(deps): bump scipy from 1.16.0 to 1.16.1
2025-07-28 07:12:44 +02:00
Matthias
99d2423534 Merge pull request #12033 from freqtrade/dependabot/pip/develop/mkdocs-9c6b142b23
chore(deps): bump mkdocs-material from 9.6.15 to 9.6.16 in the mkdocs group
2025-07-28 07:09:41 +02:00
Matthias
b8b8da2eb2 Merge pull request #12030 from freqtrade/dependabot/pip/develop/stable-baselines3-2.7.0
chore(deps): bump stable-baselines3 from 2.6.0 to 2.7.0
2025-07-28 06:52:25 +02:00
dependabot[bot]
4237d9fd11 chore(deps): bump astral-sh/setup-uv from 6.4.1 to 6.4.3
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 6.4.1 to 6.4.3.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](7edac99f96...e92bafb625)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 6.4.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 04:21:49 +00:00
dependabot[bot]
b98a91ba4c chore(deps): bump ccxt from 4.4.95 to 4.4.96
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.95 to 4.4.96.
- [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/v4.4.95...v4.4.96)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 04:06:42 +00:00
dependabot[bot]
e74db3e024 chore(deps-dev): bump ruff from 0.12.4 to 0.12.5
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.12.4 to 0.12.5.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.12.4...0.12.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 04:05:08 +00:00
dependabot[bot]
ead3282229 chore(deps): bump scipy from 1.16.0 to 1.16.1
Bumps [scipy](https://github.com/scipy/scipy) from 1.16.0 to 1.16.1.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.16.0...v1.16.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 04:03:27 +00:00
dependabot[bot]
dfd9e7e777 chore(deps): bump cmaes from 0.11.1 to 0.12.0
Bumps [cmaes](https://github.com/CyberAgentAILab/cmaes) from 0.11.1 to 0.12.0.
- [Release notes](https://github.com/CyberAgentAILab/cmaes/releases)
- [Commits](https://github.com/CyberAgentAILab/cmaes/compare/v0.11.1...v0.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 04:02:06 +00:00
dependabot[bot]
71362c9140 chore(deps): bump numpy from 2.3.1 to 2.3.2
Bumps [numpy](https://github.com/numpy/numpy) from 2.3.1 to 2.3.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/v2.3.1...v2.3.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 04:01:45 +00:00
dependabot[bot]
68114691c6 chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.6.15 to 9.6.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/9.6.15...9.6.16)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 04:01:08 +00:00
dependabot[bot]
37a3bdd507 chore(deps): bump orjson from 3.11.0 to 3.11.1
Bumps [orjson](https://github.com/ijl/orjson) from 3.11.0 to 3.11.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.11.0...3.11.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 04:00:32 +00:00
dependabot[bot]
50389cbbf4 chore(deps): bump rich from 14.0.0 to 14.1.0
Bumps [rich](https://github.com/Textualize/rich) from 14.0.0 to 14.1.0.
- [Release notes](https://github.com/Textualize/rich/releases)
- [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 04:00:17 +00:00
dependabot[bot]
a7e5d3e427 chore(deps): bump stable-baselines3 from 2.6.0 to 2.7.0
Bumps [stable-baselines3](https://github.com/DLR-RM/stable-baselines3) from 2.6.0 to 2.7.0.
- [Release notes](https://github.com/DLR-RM/stable-baselines3/releases)
- [Commits](https://github.com/DLR-RM/stable-baselines3/compare/v2.6.0...v2.7.0)

---
updated-dependencies:
- dependency-name: stable-baselines3
  dependency-version: 2.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 03:58:59 +00:00
Matthias
48d1106546 fix: undefined candle_type_def in lookahead-analysis 2025-07-27 14:43:19 +02:00
Matthias
6452521002 Merge pull request #12026 from hippocritical/develop
Add Numpy2.0 np.NaN => np.nan conversion to strategy_updater
2025-07-26 13:19:28 +02:00
hippocritical
52374b39f2 adds numpy.NaN => np.nan conversion to the strategy updater since numpy2.0 changed that, now it throws errors.
To adjust more of those we can now easily expand on it.
This includes aliases for imports as well.
2025-07-26 11:22:07 +02:00
Matthias
300a866aac test: update test for new logic 2025-07-26 09:48:12 +02:00
Matthias
9873a862e0 fix: improve startup_candle_count assignment 2025-07-26 09:48:06 +02:00
Matthias
1c8bbc14b8 fix: initialize exchange before strategy 2025-07-26 09:21:02 +02:00
Matthias
afa1311ff8 chore: fix odd comment formatting 2025-07-26 09:12:46 +02:00
Matthias
3ecc9c30cb Merge pull request #12021 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-07-24 06:50:02 +02:00
Freqtrade Bot
a85bb040f2 chore: update pre-commit hooks 2025-07-24 03:30:04 +00:00
Matthias
841e480ff5 test: add test for get_dry_run_wallet 2025-07-22 07:14:37 +02:00
Matthias
a0e9b77f75 fix: fix problem in for dict based wallets 2025-07-22 07:14:37 +02:00
Matthias
47d59f8ff4 Merge pull request #12003 from freqtrade/dependabot/pip/develop/pyarrow-21.0.0
chore(deps): bump pyarrow from 20.0.0 to 21.0.0
2025-07-22 07:04:46 +02:00
Matthias
676c48411b Merge pull request #12014 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-07-22 06:52:41 +02:00
Matthias
954950c8cb chore: update pyarrow pre-compiled wheel 2025-07-22 06:43:50 +02:00
Matthias
2520b7cd51 chore: add missing fields 2025-07-22 06:43:16 +02:00
Matthias
f9d7f05d38 chore: sort conf_required alphabetically 2025-07-22 06:41:57 +02:00
Freqtrade Bot
46d4ff3d36 chore: update pre-commit hooks 2025-07-22 03:30:48 +00:00
Matthias
9347d823fc chore: re-word variable to match it's purpose
closes #12013
2025-07-21 21:08:42 +02:00
Matthias
5e8bd359c8 Merge pull request #12009 from freqtrade/dependabot/pip/develop/jsonschema-4.25.0
chore(deps): bump jsonschema from 4.24.0 to 4.25.0
2025-07-21 12:34:08 +02:00
Matthias
bae8a55f81 Merge pull request #12012 from freqtrade/dependabot/pip/develop/mypy-1.17.0
chore(deps-dev): bump mypy from 1.16.1 to 1.17.0
2025-07-21 10:42:31 +02:00
dependabot[bot]
56c672b6d2 chore(deps-dev): bump mypy from 1.16.1 to 1.17.0
---
updated-dependencies:
- dependency-name: mypy
  dependency-version: 1.17.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 06:35:33 +00:00
Matthias
de3956f2f9 Merge pull request #12008 from freqtrade/dependabot/pip/develop/ruff-0.12.4
chore(deps-dev): bump ruff from 0.12.3 to 0.12.4
2025-07-21 08:30:43 +02:00
Matthias
ddd7009fa8 Merge pull request #12011 from freqtrade/dependabot/pip/develop/types-83c738a83e
chore(deps-dev): bump types-cachetools from 6.0.0.20250525 to 6.1.0.20250717 in the types group
2025-07-21 08:11:10 +02:00
dependabot[bot]
31891b25af chore(deps-dev): bump ruff from 0.12.3 to 0.12.4
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.12.3 to 0.12.4.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.12.3...0.12.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 05:57:17 +00:00
Matthias
187b19b1d6 Merge pull request #12010 from freqtrade/dependabot/pip/develop/pytest-b7c466671f
chore(deps-dev): bump pytest-asyncio from 1.0.0 to 1.1.0 in the pytest group
2025-07-21 07:55:50 +02:00
dependabot[bot]
e55d8512e7 chore(deps): bump pyarrow from 20.0.0 to 21.0.0
Bumps [pyarrow](https://github.com/apache/arrow) from 20.0.0 to 21.0.0.
- [Release notes](https://github.com/apache/arrow/releases)
- [Commits](https://github.com/apache/arrow/compare/apache-arrow-20.0.0...apache-arrow-21.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 05:46:12 +00:00
Matthias
697912f244 Merge pull request #12006 from freqtrade/dependabot/pip/develop/technical-1.5.2
chore(deps): bump technical from 1.5.1 to 1.5.2
2025-07-21 07:45:47 +02:00
Matthias
2f3ad09cf5 Merge pull request #12004 from freqtrade/dependabot/pip/develop/scikit-learn-1.7.1
chore(deps): bump scikit-learn from 1.7.0 to 1.7.1
2025-07-21 07:45:06 +02:00
Matthias
523dd305ba Merge pull request #12007 from freqtrade/dependabot/pip/develop/python-telegram-bot-22.3
chore(deps): bump python-telegram-bot from 22.2 to 22.3
2025-07-21 07:39:23 +02:00
Matthias
2d87d74829 Merge pull request #12005 from freqtrade/dependabot/pip/develop/orjson-3.11.0
chore(deps): bump orjson from 3.10.18 to 3.11.0
2025-07-21 07:30:59 +02:00
Matthias
820791e889 Merge pull request #12002 from freqtrade/dependabot/pip/develop/tensorboard-2.20.0
chore(deps): bump tensorboard from 2.19.0 to 2.20.0
2025-07-21 07:10:24 +02:00
Matthias
a130122cc6 chore: bump pre-commit types for cachetools 2025-07-21 06:49:52 +02:00
Matthias
3a58297a8d docs: improve hyperliquid doc clarity further 2025-07-21 06:29:32 +02:00
Matthias
65d22f9f1c Merge pull request #12001 from freqtrade/dependabot/github_actions/develop/astral-sh/setup-uv-6.4.1
chore(deps): bump astral-sh/setup-uv from 6.3.1 to 6.4.1
2025-07-21 06:22:12 +02:00
dependabot[bot]
ec5df87318 chore(deps-dev): bump types-cachetools in the types group
Bumps the types group with 1 update: [types-cachetools](https://github.com/typeshed-internal/stub_uploader).


Updates `types-cachetools` from 6.0.0.20250525 to 6.1.0.20250717
- [Commits](https://github.com/typeshed-internal/stub_uploader/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 04:22:04 +00:00
dependabot[bot]
cf1533c478 chore(deps-dev): bump pytest-asyncio in the pytest group
Bumps the pytest group with 1 update: [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio).


Updates `pytest-asyncio` from 1.0.0 to 1.1.0
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v1.0.0...v1.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 04:22:03 +00:00
dependabot[bot]
fc34f8cad2 chore(deps): bump jsonschema from 4.24.0 to 4.25.0
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.24.0 to 4.25.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.24.0...v4.25.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 04:21:50 +00:00
dependabot[bot]
3fbb38730c chore(deps): bump python-telegram-bot from 22.2 to 22.3
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 22.2 to 22.3.
- [Release notes](https://github.com/python-telegram-bot/python-telegram-bot/releases)
- [Commits](https://github.com/python-telegram-bot/python-telegram-bot/compare/v22.2...v22.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 04:20:43 +00:00
dependabot[bot]
6a327440e0 chore(deps): bump technical from 1.5.1 to 1.5.2
---
updated-dependencies:
- dependency-name: technical
  dependency-version: 1.5.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 04:20:25 +00:00
dependabot[bot]
f1c8d8325b chore(deps): bump orjson from 3.10.18 to 3.11.0
Bumps [orjson](https://github.com/ijl/orjson) from 3.10.18 to 3.11.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.10.18...3.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 04:20:24 +00:00
dependabot[bot]
d2557a70d7 chore(deps): bump scikit-learn from 1.7.0 to 1.7.1
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.7.0...1.7.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 04:20:08 +00:00
dependabot[bot]
bf76347751 chore(deps): bump tensorboard from 2.19.0 to 2.20.0
Bumps [tensorboard](https://github.com/tensorflow/tensorboard) from 2.19.0 to 2.20.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.19.0...2.20.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 04:17:28 +00:00
dependabot[bot]
a99a49e2af chore(deps): bump astral-sh/setup-uv from 6.3.1 to 6.4.1
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 6.3.1 to 6.4.1.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](bd01e18f51...7edac99f96)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 6.4.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 03:32:53 +00:00
Matthias
b7fc924e82 docs: update backtest docs to explain missing metrics 2025-07-20 10:06:51 +02:00
Matthias
ef55bf6800 fix: use absolute daily profit instead of relative
closes #11987
2025-07-20 10:06:43 +02:00
Matthias
25ffc76655 docs(hyperliquid): documentation for hyperliquid vault / subaccount
closes #11500
2025-07-20 09:45:59 +02:00
Matthias
15b1cff9c2 docs: hyperliquid - clarify walletAddress further ... 2025-07-20 08:35:33 +02:00
Matthias
c1ba2936ec test: update ccxt_config test to set defaultSettle for bybit 2025-07-19 16:14:27 +02:00
Matthias
f08c0c9870 feat: bybit - set defaultSettle to allow fetchPositions to work in usdc markets 2025-07-19 15:58:18 +02:00
Matthias
3b5b8bd007 feat: enable USDC futures for bybit
closes #11809
2025-07-19 15:34:27 +02:00
Matthias
74067d454b feat: Update bybit liquidation price docstring 2025-07-19 15:26:19 +02:00
Matthias
16359d617d chore: disable ws tests for hyperliquid for now 2025-07-19 15:08:32 +02:00
Matthias
ae9f83ed30 refactor: simplify ws_test 2025-07-19 15:07:53 +02:00
Matthias
49626ca31c Merge pull request #11997 from freqtrade/bump/ccxt
Bump ccxt to 4.4.95
2025-07-19 09:41:12 +02:00
Matthias
884f543fb7 chore: bump ccxt to 4.4.95 2025-07-19 09:03:50 +02:00
Matthias
29df7499c5 chore: improve error output 2025-07-19 08:30:10 +02:00
Matthias
5e64416dfa test: add test for profit_all 2025-07-18 20:17:19 +02:00
Matthias
1118032c1f feat: add /profit_all endpoint 2025-07-18 20:17:11 +02:00
Matthias
277828b1d4 chore(tests): reduce hyperliquid timeframe
UBTC wasn't listed for long enough
2025-07-18 18:27:36 +02:00
Matthias
47dcf7bc93 chore(ci): Switch hyperliquid tests to a more active pair 2025-07-18 07:17:31 +02:00
Matthias
75081ab046 docs: add /profit_long and short to telegram docs 2025-07-18 06:58:20 +02:00
Matthias
571497e58b Merge pull request #11974 from qqqqqf-q/feat/telegram-profit-direction
feat(telegram): Add /profit long and /profit short commands
2025-07-18 06:54:21 +02:00
Matthias
d710c85cda chore: simplify profit-callback logic 2025-07-17 21:02:46 +02:00
Matthias
978f9c804b chore: improved code structure and types 2025-07-17 20:59:04 +02:00
Matthias
31522c681e feat: update get_best_pair to allow better filtering 2025-07-17 20:28:31 +02:00
Matthias
a5ac8a95a7 feat: update get_trading_volume interface to allow filtering for more props 2025-07-17 20:23:59 +02:00
Matthias
35dab9b566 test: fix typo in test name 2025-07-17 07:28:53 +02:00
Matthias
2b05a49671 test: Update telegram /profit tests 2025-07-17 07:26:45 +02:00
Matthias
b79b5b6c32 refactor: move profit test next to each other 2025-07-17 07:21:05 +02:00
Matthias
78124cd025 feat: support /profit long, too 2025-07-17 07:20:15 +02:00
Matthias
7c4c789711 chore: fix message formatting issue 2025-07-17 07:10:32 +02:00
Matthias
30b32a0d2e fix: don't call stoploss-adjust after trade has closed
closes #11990
2025-07-17 06:59:53 +02:00
Matthias
d33768ecee Merge pull request #11992 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-07-17 06:38:42 +02:00
Freqtrade Bot
ccf20b2fe1 chore: update pre-commit hooks 2025-07-17 03:29:45 +00:00
Matthias
23bbbddcdb chore: improve backtest doc clarity 2025-07-16 20:24:48 +02:00
Matthias
c6ed64746c chore: sort pairs by absolute profit 2025-07-16 20:22:56 +02:00
Matthias
8f4dfbf55d chore: remove long-deprecated and pointless metric 2025-07-16 20:18:26 +02:00
Matthias
5296a3be23 fix: order_filled errors must be ignored 2025-07-16 20:18:26 +02:00
qqqqqf
c92c64bac2 Modify the duplicate functions.
Modify the original three duplicate functions (_profit_short, _profit_long, _profit), and add _profit_handler and _format_profit_message.

Refactor telegram.py and rpc.py.

Sorry for the duplicate functions yesterday, I was a bit rushed.

Both pytest and ruff have passed.
2025-07-16 11:43:51 +08:00
Matthias
aaca904455 chore: improved pull request template wording 2025-07-15 20:11:00 +02:00
qqqqqf
19b57ad87e Add /profit long and /profit short commands#2
# Added `/profit_long` and `/profit_short` Commands

Users can now use commands like:

- `/profit_long [<n>]`
- `/profit_short [<n>]`
- `/profit [<n>]`

---

## Key Changes Implemented

### `freqtrade/rpc/telegram.py`:

- The `_profit` command handler has been updated to robustly parse `long` or `short` as optional arguments.
  - **Translation:** The `_profit` command handler has been improved to reliably interpret `long` or `short` as optional parameters.

- The determined direction is passed to the RPC layer.
  - **Translation:** The direction determined (either `long` or `short`) is passed to the RPC layer.

- The `/help` command documentation is updated.
  - **Translation:** The documentation for the `/help` command has been updated accordingly.

---

### `freqtrade/rpc/rpc.py`:

- The `_rpc_trade_statistics` method now accepts a direction parameter.
  - **Translation:** The `_rpc_trade_statistics` method has been updated to accept a `direction` parameter.

- The method has been refactored into a main function and a `_process_trade_stats` helper function to reduce complexity and improve readability.
  - **Translation:** The method has been refactored into a main function and a helper function, `_process_trade_stats`, to reduce complexity and improve readability.

- The database query filter is dynamically modified to include a condition on `Trade.is_short` when a direction is provided.
  - **Translation:** The database query filter dynamically adjusts to include a condition on `Trade.is_short` when a direction is specified.

---

### `tests/rpc/test_rpc_telegram.py`:

- Existing tests for `_profit` have been updated to match the new message format.
  - **Translation:** Existing tests for the `_profit` function have been updated to match the new message format.

- New test cases have been added to specifically validate the `long` and `short` filtering functionality.
  - **Translation:** New test cases have been added to specifically validate the filtering functionality for `long` and `short` trades.

---

## Testing

- All local `pytest` tests pass successfully.
  - **Translation:** All local `pytest` tests have passed successfully.

- All `ruff` linter checks pass.
  - **Translation:** All `ruff` code checks have passed.

- As I do not have a full local deployment, I am relying on the CI pipeline for final validation.
  - **Translation:** Since I don't have a complete local deployment, I am relying on the CI pipeline for final validation.

---
This time, only a little AI was used :)
Except for the translation.
2025-07-15 19:15:04 +08:00
qqqqqf
583738040c Merge branch 'freqtrade:develop' into feat/telegram-profit-direction 2025-07-15 16:49:02 +08:00
Matthias
6e38b72601 chore: Improve pull request template to be clear against AI 2025-07-15 07:05:41 +02:00
Matthias
8bf8ccfe50 Merge pull request #11985 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-07-15 06:25:00 +02:00
Freqtrade Bot
e721a741ca chore: update pre-commit hooks 2025-07-15 03:31:05 +00:00
Matthias
19e9effae4 Merge pull request #11980 from freqtrade/dependabot/pip/develop/python-rapidjson-1.21
chore(deps): bump python-rapidjson from 1.20 to 1.21
2025-07-14 18:16:13 +02:00
Matthias
84100ca7ae Merge pull request #11976 from freqtrade/dependabot/pip/develop/types-1a612854d0
chore(deps-dev): bump types-python-dateutil from 2.9.0.20250516 to 2.9.0.20250708 in the types group
2025-07-14 08:20:49 +02:00
Matthias
a6f94f7d24 Merge pull request #11978 from freqtrade/dependabot/pip/develop/certifi-2025.7.14
chore(deps): bump certifi from 2025.6.15 to 2025.7.14
2025-07-14 08:17:42 +02:00
Matthias
0a32be3fc3 Merge pull request #11982 from freqtrade/dependabot/pip/develop/pandas-2.3.1
chore(deps): bump pandas from 2.3.0 to 2.3.1
2025-07-14 08:11:32 +02:00
Matthias
065203c3db Merge pull request #11983 from freqtrade/dependabot/pip/develop/aiohttp-3.12.14
chore(deps): bump aiohttp from 3.12.13 to 3.12.14
2025-07-14 08:03:44 +02:00
Matthias
758ae42092 Merge pull request #11979 from freqtrade/dependabot/pip/develop/fastapi-0.116.1
chore(deps): bump fastapi from 0.115.14 to 0.116.1
2025-07-14 07:47:55 +02:00
dependabot[bot]
6fdc0f1b22 chore(deps): bump aiohttp from 3.12.13 to 3.12.14
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.12.13 to 3.12.14.
- [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.12.13...v3.12.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 05:37:47 +00:00
dependabot[bot]
7c9fe22b9f chore(deps): bump pandas from 2.3.0 to 2.3.1
Bumps [pandas](https://github.com/pandas-dev/pandas) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Commits](https://github.com/pandas-dev/pandas/compare/v2.3.0...v2.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 05:37:46 +00:00
Matthias
53aecfa856 Merge pull request #11981 from freqtrade/dependabot/pip/develop/ccxt-4.4.94
chore(deps): bump ccxt from 4.4.92 to 4.4.94
2025-07-14 07:36:31 +02:00
Matthias
bf511f12d4 Merge pull request #11977 from freqtrade/dependabot/pip/develop/ruff-0.12.3
chore(deps-dev): bump ruff from 0.12.2 to 0.12.3
2025-07-14 07:19:19 +02:00
Matthias
0eed655e7c chore: bump types-dateutil in pre-commit config 2025-07-14 06:42:42 +02:00
dependabot[bot]
d2d283a4b2 chore(deps): bump ccxt from 4.4.92 to 4.4.94
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.92 to 4.4.94.
- [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/v4.4.92...v4.4.94)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 04:28:22 +00:00
dependabot[bot]
85492c1084 chore(deps): bump python-rapidjson from 1.20 to 1.21
Bumps [python-rapidjson](https://github.com/python-rapidjson/python-rapidjson) from 1.20 to 1.21.
- [Changelog](https://github.com/python-rapidjson/python-rapidjson/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-rapidjson/python-rapidjson/compare/v1.20...v1.21)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 04:28:21 +00:00
dependabot[bot]
f07134bf66 chore(deps): bump fastapi from 0.115.14 to 0.116.1
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.115.14 to 0.116.1.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.115.14...0.116.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 04:28:19 +00:00
dependabot[bot]
7678a59b1f chore(deps): bump certifi from 2025.6.15 to 2025.7.14
Bumps [certifi](https://github.com/certifi/python-certifi) from 2025.6.15 to 2025.7.14.
- [Commits](https://github.com/certifi/python-certifi/compare/2025.06.15...2025.07.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 04:27:14 +00:00
dependabot[bot]
daced63d00 chore(deps-dev): bump ruff from 0.12.2 to 0.12.3
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.12.2 to 0.12.3.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.12.2...0.12.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 04:25:44 +00:00
dependabot[bot]
002d8c4022 chore(deps-dev): bump types-python-dateutil in the types group
Bumps the types group with 1 update: [types-python-dateutil](https://github.com/typeshed-internal/stub_uploader).


Updates `types-python-dateutil` from 2.9.0.20250516 to 2.9.0.20250708
- [Commits](https://github.com/typeshed-internal/stub_uploader/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 04:21:02 +00:00
Matthias
8c85448ed7 chore: remove unused import 2025-07-13 16:04:25 +02:00
Matthias
2236b08fc2 refactor: improved exchange init sequence 2025-07-13 16:03:51 +02:00
Matthias
24f904efc4 test: fix failing test 2025-07-13 15:41:00 +02:00
Matthias
3eaa862caf chore: remove modetrade wrong imports 2025-07-13 13:34:03 +02:00
Matthias
469587e656 feat: add modetrade exchange base config 2025-07-13 13:08:47 +02:00
Matthias
b24064d706 refactor: move default trading mode determination to exchange 2025-07-13 13:04:37 +02:00
Matthias
c4a29a0178 test: ensure candle_type_def is set properly 2025-07-13 13:04:37 +02:00
Matthias
aedbe0d1d2 chore: add spot to available trading modes 2025-07-13 13:04:37 +02:00
Matthias
c5e3f7d0ba chore: default trading-mode to first in supported list 2025-07-13 13:04:37 +02:00
Matthias
bc019d6b6d chore: Explicitly type variable 2025-07-13 13:04:33 +02:00
Matthias
f889061b95 refactor: don't assume all exchanges support spot markets 2025-07-13 10:27:33 +02:00
Matthias
1f52ff3f94 feat: enable websocket support for hyperliquid
This should be treated as experimental (experimental).
2025-07-13 10:20:48 +02:00
Matthias
d0c3b30289 docs: add explanation message about "couldn't reuse" 2025-07-13 09:55:36 +02:00
Matthias
e77feafee0 fix: avoid unnecessary log message when filling ws message 2025-07-13 09:52:05 +02:00
Matthias
1889a315a3 chore: fix comment location 2025-07-13 09:41:48 +02:00
Matthias
cc998afb44 chore: explicitly disable hyperliquid websockets
Add comment explaining the reason
2025-07-13 09:37:05 +02:00
qqqqqf
97f30cf13d feat(telegram): Add /profit long and /profit short commands
This commit enhances the /profit Telegram command to allow filtering by trade direction.

- The `_profit` handler in `telegram.py` now parses 'long'/'short' arguments and passes the direction to the RPC layer.
- The `_rpc_trade_statistics` method in `rpc.py` is updated to filter trades based on the provided direction. It has also been refactored for lower complexity.
- The `/help` command documentation is updated to reflect the new functionality.
- Corresponding unit tests in `test_rpc_telegram.py` are updated and extended to cover the new cases.
2025-07-12 08:41:39 +08:00
Matthias
ccbc48b590 refactor: improve method ordering 2025-07-10 07:08:35 +02:00
Matthias
dde6001ad0 Merge pull request #11972 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-07-10 06:30:36 +02:00
Freqtrade Bot
aae3ab23ac chore: update pre-commit hooks 2025-07-10 03:27:16 +00:00
Matthias
604e08382e Merge pull request #11899 from mrpabloyeah/add-current-drawdown-in-telegram-profit-command
Add current drawdown in telegram profit command
2025-07-09 06:40:28 +02:00
Matthias
2ecadabd92 chore: align API endpoints 2025-07-08 20:09:17 +02:00
Matthias
17c7826756 Merge branch 'develop' into add-current-drawdown-in-telegram-profit-command 2025-07-08 19:59:42 +02:00
Matthias
fe92df7842 chore: revert unnecessary edits 2025-07-08 19:59:37 +02:00
mrpabloyeah
e6dd932436 Expand calculate_max_drawdown() to return the current drawdown data and use it instead of calculate_current_drawdown() 2025-07-08 13:00:48 +02:00
Matthias
8acc05bb2d chore: update wording in exception message 2025-07-08 06:59:52 +02:00
Matthias
c39f6f892b Merge pull request #11968 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-07-08 06:54:38 +02:00
Freqtrade Bot
f13b51cf91 chore: update pre-commit hooks 2025-07-08 03:26:25 +00:00
Matthias
e90c60c940 chore: improved response on delete order 2025-07-07 19:26:35 +02:00
Matthias
60029c2a8b fix: improved message when nonexisting trade is deleted
part of #11967
2025-07-07 19:20:24 +02:00
Matthias
14429d449c Merge pull request #11965 from freqtrade/dependabot/pip/develop/scipy-stubs-1.16.0.2
chore(deps-dev): bump scipy-stubs from 1.15.3.0 to 1.16.0.2
2025-07-07 07:15:41 +02:00
Matthias
cba9d6078c Merge pull request #11964 from freqtrade/dependabot/pip/develop/cryptography-45.0.5
chore(deps): bump cryptography from 45.0.4 to 45.0.5
2025-07-07 07:09:44 +02:00
Matthias
2dfad98ed6 Merge pull request #11962 from freqtrade/dependabot/pip/develop/mkdocs-7fcd3881cb
chore(deps): bump mkdocs-material from 9.6.14 to 9.6.15 in the mkdocs group
2025-07-07 06:55:46 +02:00
Matthias
9de9cac23a chore: bump scipy-stubs in pre-commit config 2025-07-07 06:46:39 +02:00
dependabot[bot]
d1fd7c3f6e chore(deps): bump cryptography from 45.0.4 to 45.0.5
Bumps [cryptography](https://github.com/pyca/cryptography) from 45.0.4 to 45.0.5.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/45.0.4...45.0.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-07 04:45:48 +00:00
Matthias
8fd5b93127 Merge pull request #11961 from freqtrade/dependabot/pip/develop/pytest-21071ef1ad
chore(deps-dev): bump pytest-xdist from 3.7.0 to 3.8.0 in the pytest group
2025-07-07 06:44:58 +02:00
Matthias
dafa5d4bac Merge pull request #11966 from freqtrade/dependabot/pip/develop/ccxt-4.4.92
chore(deps): bump ccxt from 4.4.91 to 4.4.92
2025-07-07 06:44:34 +02:00
Matthias
d29cd5b9d9 Merge pull request #11963 from freqtrade/dependabot/pip/develop/ruff-0.12.2
chore(deps-dev): bump ruff from 0.12.1 to 0.12.2
2025-07-07 06:44:18 +02:00
dependabot[bot]
60094c6581 chore(deps): bump ccxt from 4.4.91 to 4.4.92
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.91 to 4.4.92.
- [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/v4.4.91...v4.4.92)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-07 03:58:24 +00:00
dependabot[bot]
dd32e228ce chore(deps-dev): bump scipy-stubs from 1.15.3.0 to 1.16.0.2
Bumps [scipy-stubs](https://github.com/scipy/scipy-stubs) from 1.15.3.0 to 1.16.0.2.
- [Release notes](https://github.com/scipy/scipy-stubs/releases)
- [Commits](https://github.com/scipy/scipy-stubs/compare/v1.15.3.0...v1.16.0.2)

---
updated-dependencies:
- dependency-name: scipy-stubs
  dependency-version: 1.16.0.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-07 03:58:09 +00:00
dependabot[bot]
81639c61a8 chore(deps-dev): bump ruff from 0.12.1 to 0.12.2
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.12.1 to 0.12.2.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.12.1...0.12.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-07 03:55:54 +00:00
dependabot[bot]
ae1fcbcffb chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.6.14 to 9.6.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.6.14...9.6.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-07 03:55:33 +00:00
dependabot[bot]
263d035181 chore(deps-dev): bump pytest-xdist in the pytest group
Bumps the pytest group with 1 update: [pytest-xdist](https://github.com/pytest-dev/pytest-xdist).


Updates `pytest-xdist` from 3.7.0 to 3.8.0
- [Release notes](https://github.com/pytest-dev/pytest-xdist/releases)
- [Changelog](https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-xdist/compare/v3.7.0...v3.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-07 03:51:40 +00:00
Matthias
8ecd7011cb Merge pull request #11953 from freqtrade/drop_3.10
Drop support for python 3.10
2025-07-06 08:58:54 +02:00
Matthias
f7d42ba60d chore: add TODO to eventually remove warning 2025-07-05 19:58:47 +02:00
Matthias
701cf47c4b fix: implement fall-through for leverage tier finding
We'll for now issue a warning about this - and use the "current" tier
This way, gaps in tier data (between maxNotional and the next
minNotional) no longer cause an operational exception.

closes #11923
2025-07-05 19:56:52 +02:00
Matthias
315009a7f0 chore: move comment to correct location 2025-07-05 19:50:26 +02:00
Matthias
6e98a369de test: add test case for #11923 2025-07-05 19:44:24 +02:00
Matthias
fa69b7017b test: add TIA/USDT:USDT test leverage tier
part of #11923
2025-07-05 19:44:12 +02:00
Matthias
e98f3cfedf docs: Update "tag" examples with advanced examples 2025-07-05 08:56:10 +02:00
Matthias
5f4184536a docs: update max enter_tag length 2025-07-05 08:41:08 +02:00
Matthias
ac904c60c8 fix: powershell syntax error 2025-07-05 08:38:02 +02:00
Matthias
16defdbfdf chore: autoformat actual code 2025-07-04 19:29:12 +02:00
Matthias
d010a050d3 chore: autoformat tests 2025-07-04 19:29:12 +02:00
Matthias
7b541ff958 test: refactor test to use asyncio.timeout 2025-07-04 19:29:12 +02:00
Matthias
78a47920ef chore: Update dockerfile syntax 2025-07-04 19:26:38 +02:00
Matthias
e5a2011a85 ci: don't switch docker to experimental 2025-07-04 18:29:15 +02:00
Matthias
640cab2ca8 refactor: tests - update timezone.utc to UTC 2025-07-04 18:22:42 +02:00
Matthias
deb8bde078 refactor: tests - update timezone.utc to UTC 2025-07-04 18:22:42 +02:00
Matthias
79f0271720 refactor: Asyncio timeoutError update 2025-07-04 18:22:42 +02:00
Matthias
5b8b80cf59 refactor: Update timezone.utc to UTC 2025-07-04 18:22:42 +02:00
Matthias
a7ee45a0ba refactor: Update timezone.utc to UTC 2025-07-04 18:22:42 +02:00
Matthias
37cc949d94 refactor: Update utc to UTC 2025-07-04 18:22:42 +02:00
Matthias
5f59e1435e chore: bump known 3.11+ dependencies 2025-07-04 18:22:42 +02:00
Matthias
e1f26aeb4e chore!: drop support for python 3.10 2025-07-04 18:22:42 +02:00
Matthias
b49dafc412 docs: update to 3.11+ version requirement 2025-07-04 18:22:42 +02:00
Matthias
7c84059b3a chore: drop support for pytohn 3.10 in setup scripts 2025-07-04 18:22:42 +02:00
Matthias
10a0bf386b ci: Don't test against 3.10 2025-07-04 18:22:42 +02:00
Matthias
2936cb425d Merge pull request #11948 from jorenham/scipy-stubs
Add `scipy-stubs` as dev dependency
2025-07-04 15:55:56 +02:00
Matthias
e5a9c65e66 ci: improve pre-commit-update check 2025-07-04 15:25:27 +02:00
Matthias
81fdff1039 chore: simplify exchangews_ohlcv further 2025-07-04 15:24:44 +02:00
Matthias
5101b1767b test: slightly cleanup ws_ohlcv test 2025-07-04 15:04:24 +02:00
Matthias
e90aa6abda test: Increased asyncio.sleep for ws_ohlcv test 2025-07-04 14:39:19 +02:00
Matthias
1dd56df5d8 chore: improve sorting in mypy deps 2025-07-04 14:24:30 +02:00
Matthias
9bd8b7acf5 test: use event based init for telegram 2025-07-03 21:08:09 +02:00
Matthias
2a5a422079 test: attempt to fix test_exchangews_ohlcv flakyness 2025-07-03 21:08:09 +02:00
Matthias
e92afb74c6 test: improve event-loop mocking 2025-07-03 21:08:09 +02:00
Matthias
4421e54cde fix: don't disable existing loggers when reinitializing logging
closes #11944
2025-07-03 17:44:23 +02:00
Matthias
b5938985f2 fix: don't log at "root" level. 2025-07-03 15:21:51 +02:00
jorenham
0601f15bd0 Add scipy-stubs as dev dependency
https://github.com/scipy/scipy-stubs
2025-07-03 13:58:12 +02:00
Matthias
66020d250c test: update test trades pagination handling to use _ft_has 2025-07-03 09:00:27 +02:00
Matthias
909286c0f7 chore: luno - remove unnecessary config 2025-07-03 08:58:16 +02:00
Matthias
5efad94d3d chore: add zizmor github action 2025-07-03 08:41:59 +02:00
Matthias
1e24653e79 feat: add luno basic exchange configuration
closes #11928
2025-07-03 08:37:54 +02:00
Matthias
c9bc2b880a feat: add always_require_api_keys to ft_has 2025-07-03 08:33:15 +02:00
Matthias
545cd3a994 chore: ft_has should be before remove_credentials 2025-07-03 08:33:12 +02:00
Matthias
51a09585db refactor: extract final ft_has construction to it's own method 2025-07-03 08:19:04 +02:00
Matthias
b98816635d chore: simplify exchange class setup
remove attributes that are only used once.
2025-07-03 08:18:58 +02:00
Matthias
f6ed609134 Merge pull request #11946 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-07-03 07:34:36 +02:00
Freqtrade Bot
aec2dc5bb0 chore: update pre-commit hooks 2025-07-03 03:27:09 +00:00
Matthias
cc807d1cf9 Merge pull request #11945 from freqtrade/new_release
New release 2025.6
2025-07-02 21:08:03 +02:00
Matthias
15c836c566 chore: bump version to 2025.7-dev 2025-07-02 20:18:15 +02:00
Matthias
5f907a4b1a chore: bump version to 2025.6 2025-07-02 20:03:29 +02:00
Matthias
a464a2fdbc Merge branch 'stable' into new_release 2025-07-02 20:03:16 +02:00
Matthias
fa3d95fd89 Merge pull request #11919 from freqtrade/stash86-patch-1
Fix example config
2025-07-02 18:16:51 +02:00
Matthias
ba8778b181 chore: revert max_open_trades in sample config for now 2025-07-02 17:55:28 +02:00
Matthias
6421f767c6 chore: remove github buttons js code 2025-07-02 16:49:36 +02:00
Matthias
f18c7f0cad docs: make sure github buttons render 2025-07-02 16:49:36 +02:00
Matthias
e63017a2b9 docs: enable "edit" functionality for docs 2025-07-02 16:49:36 +02:00
Matthias
049cc10169 docs: improved github icon for docs 2025-07-02 16:49:36 +02:00
Matthias
595db54ac7 Merge pull request #11917 from froggleston/frog-contrib-exch-1
Add short explanation of where exchange files are
2025-07-02 09:16:54 +02:00
Matthias
bfa9c818e6 chore: update margin/trading mode exception to be a configuration error 2025-07-02 07:47:38 +02:00
Matthias
30afedd4f8 chore: use value instead of string to avoid "none" output in "marginmode" 2025-07-02 07:47:19 +02:00
Matthias
6049ac1561 docs: update wording of developer docs 2025-07-02 07:35:02 +02:00
Matthias
25c24ddc9c chore: improve error message
part of #11923
2025-07-01 20:48:32 +02:00
Matthias
03df35b49b Merge pull request #11930 from freqtrade/dependabot/pip/develop/ast-comments-1.2.3
chore(deps): bump ast-comments from 1.2.2 to 1.2.3
2025-07-01 07:26:15 +02:00
Matthias
3b441cd08f Merge pull request #11942 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-07-01 07:22:09 +02:00
Freqtrade Bot
0f67d32b75 chore: update pre-commit hooks 2025-07-01 03:31:30 +00:00
Matthias
820a83c96f Merge pull request #11934 from freqtrade/dependabot/pip/develop/ccxt-4.4.91
chore(deps): bump ccxt from 4.4.90 to 4.4.91
2025-06-30 10:46:44 +02:00
dependabot[bot]
fae30c6ff9 chore(deps): bump ccxt from 4.4.90 to 4.4.91
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.90 to 4.4.91.
- [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/v4.4.90...v4.4.91)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 07:54:13 +00:00
Matthias
3e4ffb9c1d Merge pull request #11939 from freqtrade/dependabot/pip/develop/uvicorn-0.35.0
chore(deps): bump uvicorn from 0.34.3 to 0.35.0
2025-06-30 09:53:10 +02:00
Matthias
f6d10dad6a Merge pull request #11931 from freqtrade/dependabot/pip/develop/plotly-6.2.0
chore(deps): bump plotly from 6.1.2 to 6.2.0
2025-06-30 09:49:27 +02:00
Matthias
79b530d98e Merge pull request #11933 from freqtrade/dependabot/pip/develop/python-telegram-bot-22.2
chore(deps): bump python-telegram-bot from 22.1 to 22.2
2025-06-30 09:48:49 +02:00
Matthias
3b8e521b81 Merge pull request #11938 from freqtrade/dependabot/github_actions/develop/astral-sh/setup-uv-6.3.1
chore(deps): bump astral-sh/setup-uv from 6.3.0 to 6.3.1
2025-06-30 09:48:17 +02:00
Matthias
7e228ba7ab Merge pull request #11937 from freqtrade/dependabot/pip/develop/ruff-0.12.1
chore(deps-dev): bump ruff from 0.12.0 to 0.12.1
2025-06-30 08:23:56 +02:00
Matthias
6050d09ed8 Merge pull request #11936 from freqtrade/dependabot/github_actions/develop/rjstone/discord-webhook-notify-2.2.1
chore(deps): bump rjstone/discord-webhook-notify from 2.1.1 to 2.2.1
2025-06-30 08:23:18 +02:00
dependabot[bot]
b7f158a79e chore(deps): bump uvicorn from 0.34.3 to 0.35.0
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.34.3 to 0.35.0.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/docs/release-notes.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.34.3...0.35.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 06:13:21 +00:00
Matthias
bc13d1636c Merge pull request #11935 from freqtrade/dependabot/pip/develop/fastapi-0.115.14
chore(deps): bump fastapi from 0.115.13 to 0.115.14
2025-06-30 08:11:30 +02:00
dependabot[bot]
021fdcab43 chore(deps): bump astral-sh/setup-uv from 6.3.0 to 6.3.1
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 6.3.0 to 6.3.1.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](445689ea25...bd01e18f51)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 6.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 04:40:04 +00:00
dependabot[bot]
d206b601b3 chore(deps-dev): bump ruff from 0.12.0 to 0.12.1
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.12.0 to 0.12.1.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.12.0...0.12.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 04:39:33 +00:00
dependabot[bot]
949c7318f4 chore(deps): bump rjstone/discord-webhook-notify from 2.1.1 to 2.2.1
Bumps [rjstone/discord-webhook-notify](https://github.com/rjstone/discord-webhook-notify) from 2.1.1 to 2.2.1.
- [Release notes](https://github.com/rjstone/discord-webhook-notify/releases)
- [Commits](a975c85e53...c259727348)

---
updated-dependencies:
- dependency-name: rjstone/discord-webhook-notify
  dependency-version: 2.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 04:39:19 +00:00
dependabot[bot]
3666362479 chore(deps): bump fastapi from 0.115.13 to 0.115.14
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.115.13 to 0.115.14.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.115.13...0.115.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 04:39:08 +00:00
dependabot[bot]
f27540d221 chore(deps): bump python-telegram-bot from 22.1 to 22.2
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 22.1 to 22.2.
- [Release notes](https://github.com/python-telegram-bot/python-telegram-bot/releases)
- [Commits](https://github.com/python-telegram-bot/python-telegram-bot/compare/v22.1...v22.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 04:39:00 +00:00
dependabot[bot]
31dc0fe327 chore(deps): bump plotly from 6.1.2 to 6.2.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 6.1.2 to 6.2.0.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v6.1.2...v6.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 04:37:03 +00:00
dependabot[bot]
1125c60f07 chore(deps): bump ast-comments from 1.2.2 to 1.2.3
Bumps [ast-comments](https://github.com/t3rn0/ast-comments) from 1.2.2 to 1.2.3.
- [Release notes](https://github.com/t3rn0/ast-comments/releases)
- [Commits](https://github.com/t3rn0/ast-comments/compare/1.2.2...1.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 04:36:19 +00:00
Matthias
9f5fd574b4 Merge pull request #11922 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-06-26 10:47:19 +02:00
Freqtrade Bot
74eb0d9f88 chore: update pre-commit hooks 2025-06-26 03:24:41 +00:00
Stefano
52c78966ef Fix example config
- Fix the low stake anount
- Set max open trades to unlimited, as a good practice
2025-06-25 19:21:00 +09:00
froggleston
1641f56956 Add short explanation of where exchange files are 2025-06-24 15:23:45 +01:00
Matthias
d27981f8cf Merge pull request #11915 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-06-24 09:06:24 +02:00
Freqtrade Bot
6031ccabac chore: update pre-commit hooks 2025-06-24 03:25:22 +00:00
Matthias
c64b6b0d69 Merge pull request #11901 from freqtrade/dependabot/pip/develop/ruff-0.12.0
chore(deps-dev): bump ruff from 0.11.13 to 0.12.0
2025-06-23 15:16:57 +02:00
Matthias
4203693428 chore: Ruf ignore extension 2025-06-23 15:01:59 +02:00
Matthias
c76c26cc34 Merge pull request #11910 from freqtrade/dependabot/github_actions/develop/astral-sh/setup-uv-6.3.0
chore(deps): bump astral-sh/setup-uv from 6.1.0 to 6.3.0
2025-06-23 09:14:13 +02:00
Matthias
1c87748b99 Merge pull request #11906 from freqtrade/dependabot/pip/develop/optuna-4.4.0
chore(deps): bump optuna from 4.3.0 to 4.4.0
2025-06-23 08:58:31 +02:00
Matthias
4ae80423e0 Merge pull request #11903 from freqtrade/dependabot/pip/develop/markdown-3.8.2
chore(deps): bump markdown from 3.8 to 3.8.2
2025-06-23 08:09:38 +02:00
Matthias
4e6ae88557 Merge pull request #11911 from freqtrade/dependabot/pip/develop/fastapi-0.115.13
chore(deps): bump fastapi from 0.115.12 to 0.115.13
2025-06-23 07:56:52 +02:00
dependabot[bot]
102c33d68b chore(deps-dev): bump ruff from 0.11.13 to 0.12.0
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.13 to 0.12.0.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.11.13...0.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 05:41:30 +00:00
Matthias
12a72fa161 Merge pull request #11909 from freqtrade/dependabot/pip/develop/mypy-1.16.1
chore(deps-dev): bump mypy from 1.16.0 to 1.16.1
2025-06-23 07:41:01 +02:00
dependabot[bot]
3a5b555f1e chore(deps): bump markdown from 3.8 to 3.8.2
---
updated-dependencies:
- dependency-name: markdown
  dependency-version: 3.8.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 05:40:59 +00:00
Matthias
8f2ee28395 Merge pull request #11908 from freqtrade/dependabot/pip/develop/pytest-4784b1c68e
chore(deps-dev): bump the pytest group with 2 updates
2025-06-23 07:40:07 +02:00
Matthias
e57d0e3bc4 Merge pull request #11905 from freqtrade/dependabot/pip/develop/pymdown-extensions-10.16
chore(deps): bump pymdown-extensions from 10.15 to 10.16
2025-06-23 07:38:53 +02:00
Matthias
f5205da459 Merge pull request #11902 from freqtrade/dependabot/pip/develop/cachetools-6.1.0
chore(deps): bump cachetools from 6.0.0 to 6.1.0
2025-06-23 07:27:09 +02:00
Matthias
bd773b9baf Merge pull request #11907 from freqtrade/dependabot/pip/develop/ccxt-4.4.90
chore(deps): bump ccxt from 4.4.89 to 4.4.90
2025-06-23 07:20:53 +02:00
Matthias
7b4a6a48ee Merge pull request #11904 from freqtrade/dependabot/github_actions/develop/docker/setup-buildx-action-3.11.1
chore(deps): bump docker/setup-buildx-action from 3.10.0 to 3.11.1
2025-06-23 07:16:40 +02:00
dependabot[bot]
24a3a29360 chore(deps): bump fastapi from 0.115.12 to 0.115.13
---
updated-dependencies:
- dependency-name: fastapi
  dependency-version: 0.115.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 03:46:28 +00:00
dependabot[bot]
6a279043fa chore(deps): bump astral-sh/setup-uv from 6.1.0 to 6.3.0
---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 6.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 03:45:59 +00:00
dependabot[bot]
60764500db chore(deps-dev): bump mypy from 1.16.0 to 1.16.1
Bumps [mypy](https://github.com/python/mypy) from 1.16.0 to 1.16.1.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.16.0...v1.16.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 03:45:07 +00:00
dependabot[bot]
ba5a64aa34 chore(deps-dev): bump the pytest group with 2 updates
Bumps the pytest group with 2 updates: [pytest](https://github.com/pytest-dev/pytest) and [pytest-random-order](https://github.com/jbasko/pytest-random-order).


Updates `pytest` from 8.4.0 to 8.4.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/8.4.0...8.4.1)

Updates `pytest-random-order` from 1.1.1 to 1.2.0
- [Release notes](https://github.com/jbasko/pytest-random-order/releases)
- [Changelog](https://github.com/pytest-dev/pytest-random-order/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/jbasko/pytest-random-order/compare/v1.1.1...v1.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 03:44:37 +00:00
dependabot[bot]
f40576091a chore(deps): bump ccxt from 4.4.89 to 4.4.90
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.89 to 4.4.90.
- [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/v4.4.89...v4.4.90)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 03:43:55 +00:00
dependabot[bot]
de3eedb39e chore(deps): bump optuna from 4.3.0 to 4.4.0
---
updated-dependencies:
- dependency-name: optuna
  dependency-version: 4.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 03:43:46 +00:00
dependabot[bot]
fded8bf43e chore(deps): bump pymdown-extensions from 10.15 to 10.16
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.15 to 10.16.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.15...10.16)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 03:42:57 +00:00
dependabot[bot]
5a45b4a3e1 chore(deps): bump docker/setup-buildx-action from 3.10.0 to 3.11.1
---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: 3.11.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 03:39:03 +00:00
dependabot[bot]
0b3ea4d0ed chore(deps): bump cachetools from 6.0.0 to 6.1.0
Bumps [cachetools](https://github.com/tkem/cachetools) from 6.0.0 to 6.1.0.
- [Changelog](https://github.com/tkem/cachetools/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/tkem/cachetools/compare/v6.0.0...v6.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 03:38:14 +00:00
Matthias
822dce09b7 tests: keys are no longer added to the dict 2025-06-22 11:29:45 +00:00
mrpabloyeah
2ebc5374f4 Add current drawdown in telegram profit command 2025-06-21 12:10:53 +02:00
Matthias
3465f35d75 feat: reuse exchange secrets for exchange credential removal 2025-06-20 20:23:22 +02:00
Matthias
2165c3e542 tests: update tests to ues new module 2025-06-20 20:19:38 +02:00
Matthias
5e059660d4 chore: move remove_exchange_credentials to config module 2025-06-20 20:19:20 +02:00
Matthias
5ca69687dc chore: minor refactor of config cleanup 2025-06-20 20:12:50 +02:00
Matthias
d042085b24 chore: remove macos-13 from CI
(it's slow and going to be EOL in November 2025 anyway)
2025-06-19 20:16:18 +02:00
Matthias
effd989796 Merge pull request #11895 from freqtrade/dependabot/pip/urllib3-2.5.0
chore(deps): bump urllib3 from 2.4.0 to 2.5.0
2025-06-19 06:26:04 +02:00
Matthias
ca85deafb8 Merge pull request #11896 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-06-19 06:25:34 +02:00
Freqtrade Bot
d46cc552be chore: update pre-commit hooks 2025-06-19 03:23:34 +00:00
dependabot[bot]
1dc2bcb47e chore(deps): bump urllib3 from 2.4.0 to 2.5.0
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.4.0 to 2.5.0.
- [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/2.4.0...2.5.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.5.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-18 18:33:07 +00:00
Matthias
d6bf20b7b4 Merge pull request #11889 from racequite/develop
docs: Fix comment
2025-06-18 07:07:20 +02:00
Matthias
2d842ea129 Merge pull request #11891 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-06-17 06:30:06 +02:00
Freqtrade Bot
76d5423eee chore: update pre-commit hooks 2025-06-17 03:24:27 +00:00
racequite
489b7e6d18 docs: Fix comment
Signed-off-by: racequite <quiterace@gmail.com>
2025-06-16 22:16:14 +08:00
Matthias
18dfb0fe39 Merge pull request #11886 from freqtrade/dependabot/pip/develop/numexpr-2.11.0
chore(deps): bump numexpr from 2.10.2 to 2.11.0
2025-06-16 09:47:45 +02:00
Matthias
63efed736c Merge pull request #11885 from freqtrade/dependabot/pip/develop/aiohttp-3.12.13
chore(deps): bump aiohttp from 3.12.11 to 3.12.13
2025-06-16 09:44:14 +02:00
Matthias
4c568e40c2 Merge pull request #11879 from freqtrade/dependabot/pip/develop/types-8fad52cb21
chore(deps-dev): bump types-requests from 2.32.0.20250602 to 2.32.4.20250611 in the types group
2025-06-16 09:20:14 +02:00
dependabot[bot]
b54d231b79 chore(deps): bump numexpr from 2.10.2 to 2.11.0
Bumps [numexpr](https://github.com/pydata/numexpr) from 2.10.2 to 2.11.0.
- [Release notes](https://github.com/pydata/numexpr/releases)
- [Changelog](https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst)
- [Commits](https://github.com/pydata/numexpr/compare/v2.10.2...v2.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 07:09:21 +00:00
Matthias
58f361f8b3 Merge pull request #11888 from freqtrade/dependabot/pip/develop/bottleneck-1.5.0
chore(deps): bump bottleneck from 1.4.2 to 1.5.0
2025-06-16 09:08:13 +02:00
Matthias
f78d383448 Merge pull request #11887 from freqtrade/dependabot/pip/develop/scikit-learn-1.7.0
chore(deps): bump scikit-learn from 1.6.1 to 1.7.0
2025-06-16 09:04:43 +02:00
Matthias
1be9a79e96 Merge pull request #11884 from freqtrade/dependabot/pip/develop/stable-baselines3-2.6.0
chore(deps): bump stable-baselines3 from 2.5.0 to 2.6.0
2025-06-16 09:00:54 +02:00
Matthias
d9e98bb687 Merge pull request #11882 from freqtrade/dependabot/pip/develop/certifi-2025.6.15
chore(deps): bump certifi from 2025.4.26 to 2025.6.15
2025-06-16 08:37:07 +02:00
Matthias
7fd7061304 Merge pull request #11880 from freqtrade/dependabot/pip/develop/pytest-ed2313a973
chore(deps-dev): bump the pytest group with 2 updates
2025-06-16 08:36:20 +02:00
dependabot[bot]
db50d2b85d chore(deps): bump aiohttp from 3.12.11 to 3.12.13
---
updated-dependencies:
- dependency-name: aiohttp
  dependency-version: 3.12.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 06:29:44 +00:00
Matthias
d2a1e52d79 Merge pull request #11883 from freqtrade/dependabot/pip/develop/cryptography-45.0.4
chore(deps): bump cryptography from 45.0.3 to 45.0.4
2025-06-16 08:28:28 +02:00
Matthias
70e78e6521 Merge pull request #11881 from freqtrade/dependabot/pip/develop/pydantic-2.11.7
chore(deps): bump pydantic from 2.11.5 to 2.11.7
2025-06-16 07:59:13 +02:00
Matthias
913148bf1d Merge pull request #11877 from freqtrade/dependabot/github_actions/develop/rjstone/discord-webhook-notify-2.1.1
chore(deps): bump rjstone/discord-webhook-notify from 1.1.1 to 2.1.1
2025-06-16 06:40:30 +02:00
Matthias
0ecb3e45f6 chore: bump types-requests in pre-commit config 2025-06-16 06:39:55 +02:00
dependabot[bot]
74f870c435 chore(deps): bump bottleneck from 1.4.2 to 1.5.0
Bumps [bottleneck](https://github.com/pydata/bottleneck) from 1.4.2 to 1.5.0.
- [Release notes](https://github.com/pydata/bottleneck/releases)
- [Changelog](https://github.com/pydata/bottleneck/blob/master/RELEASE.rst)
- [Commits](https://github.com/pydata/bottleneck/compare/v1.4.2...v1.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 03:35:14 +00:00
dependabot[bot]
8f62462e15 chore(deps): bump scikit-learn from 1.6.1 to 1.7.0
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.6.1...1.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 03:35:06 +00:00
dependabot[bot]
38183fe952 chore(deps): bump stable-baselines3 from 2.5.0 to 2.6.0
Bumps [stable-baselines3](https://github.com/DLR-RM/stable-baselines3) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/DLR-RM/stable-baselines3/releases)
- [Commits](https://github.com/DLR-RM/stable-baselines3/compare/v2.5.0...v2.6.0)

---
updated-dependencies:
- dependency-name: stable-baselines3
  dependency-version: 2.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 03:34:39 +00:00
dependabot[bot]
215b111cff chore(deps): bump cryptography from 45.0.3 to 45.0.4
Bumps [cryptography](https://github.com/pyca/cryptography) from 45.0.3 to 45.0.4.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/45.0.3...45.0.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 03:34:35 +00:00
dependabot[bot]
4ea9d70743 chore(deps): bump certifi from 2025.4.26 to 2025.6.15
Bumps [certifi](https://github.com/certifi/python-certifi) from 2025.4.26 to 2025.6.15.
- [Commits](https://github.com/certifi/python-certifi/compare/2025.04.26...2025.06.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 03:34:29 +00:00
dependabot[bot]
0893350285 chore(deps): bump pydantic from 2.11.5 to 2.11.7
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.11.5 to 2.11.7.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v2.11.5...v2.11.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 03:34:20 +00:00
dependabot[bot]
27bd34c3be chore(deps-dev): bump the pytest group with 2 updates
Bumps the pytest group with 2 updates: [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) and [pytest-cov](https://github.com/pytest-dev/pytest-cov).


Updates `pytest-asyncio` from 0.26.0 to 1.0.0
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.26.0...v1.0.0)

Updates `pytest-cov` from 6.1.1 to 6.2.1
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v6.1.1...v6.2.1)

---
updated-dependencies:
- dependency-name: pytest-asyncio
  dependency-version: 1.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: pytest
- dependency-name: pytest-cov
  dependency-version: 6.2.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: pytest
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 03:34:05 +00:00
dependabot[bot]
ebf6ca1a5f chore(deps-dev): bump types-requests in the types group
Bumps the types group with 1 update: [types-requests](https://github.com/typeshed-internal/stub_uploader).


Updates `types-requests` from 2.32.0.20250602 to 2.32.4.20250611
- [Commits](https://github.com/typeshed-internal/stub_uploader/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 03:33:36 +00:00
dependabot[bot]
a91ed0b4d9 chore(deps): bump rjstone/discord-webhook-notify from 1.1.1 to 2.1.1
Bumps [rjstone/discord-webhook-notify](https://github.com/rjstone/discord-webhook-notify) from 1.1.1 to 2.1.1.
- [Release notes](https://github.com/rjstone/discord-webhook-notify/releases)
- [Commits](1399c1b2d5...a975c85e53)

---
updated-dependencies:
- dependency-name: rjstone/discord-webhook-notify
  dependency-version: 2.1.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 03:07:41 +00:00
Matthias
097b27208d chore: remove pointless TODO 2025-06-15 09:36:53 +02:00
Matthias
136623b3f5 Merge pull request #11874 from freqtrade/deps/ccxt_update
chore: bump ccxt to 4.4.89
2025-06-13 08:54:41 +02:00
Matthias
02648e29c4 chore: bump ccxt to 4.4.89 2025-06-13 06:43:10 +02:00
Matthias
beb6d41360 chore: remove py_find_1st from requirements
this was only required by edge
2025-06-13 06:38:21 +02:00
Matthias
a1207eca56 Merge pull request #11872 from freqtrade/dependabot/docker/python-3.13.5-slim-bookworm
chore(deps): bump python from 3.13.4-slim-bookworm to 3.13.5-slim-bookworm
2025-06-13 06:12:21 +02:00
dependabot[bot]
1a247a1035 chore(deps): bump python
Bumps python from 3.13.4-slim-bookworm to 3.13.5-slim-bookworm.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-13 03:37:34 +00:00
Matthias
4e0203d4af Merge pull request #11870 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-06-12 06:24:48 +02:00
Freqtrade Bot
332518c1a0 chore: update pre-commit hooks 2025-06-12 03:22:52 +00:00
Matthias
15353f44f0 fix: improve "missing fee" recovery
closes #11813
2025-06-11 06:43:51 +02:00
Matthias
093cdae39c chore: add explaining comments to some columns 2025-06-11 06:41:46 +02:00
Matthias
5dd5b95d6a Merge pull request #11867 from freqtrade/maint/remove_edge
Remove Edge from Freqtrade
2025-06-10 20:19:53 +02:00
Matthias
20e0b542e3 docs: update command partials 2025-06-10 19:36:02 +02:00
Matthias
1d24f9047c Merge pull request #11869 from mrpabloyeah/fix-telegram-balance-command-when-fiat_display_currency-is-not-set
Fix Telegram balance command when fiat_display_currency is not set
2025-06-10 19:30:16 +02:00
Matthias
f2c37e2575 test: remove missed test 2025-06-10 19:27:23 +02:00
Matthias
95fbe04225 test: add tests for edge startup errors 2025-06-10 18:24:47 +02:00
Matthias
43c5b8d0ed test: remove final edge test occurance 2025-06-10 18:21:45 +02:00
Matthias
301d85ef4f test: remove edge tests 2025-06-10 18:20:02 +02:00
mrpabloyeah
48f3d612e9 Fix Telegram balance command when fiat_display_currency is not set 2025-06-10 13:35:49 +02:00
Matthias
c53c70d597 tests: further test cleanup 2025-06-10 07:27:03 +02:00
Matthias
aa89ce80ab test: remove edge from tests (initial round) 2025-06-10 07:15:02 +02:00
Matthias
971dfef0ee chore: remove edge from RPC modules 2025-06-10 07:09:30 +02:00
Matthias
5d8a3cdb31 feat: fail if edge is in config 2025-06-10 07:09:20 +02:00
Matthias
5246eecaf6 chore: remove edge runmode 2025-06-10 07:09:10 +02:00
Matthias
18b6f374d6 chore: remove edge_cli module 2025-06-10 07:06:31 +02:00
Matthias
95c6997209 chore: remove edge as RunMode 2025-06-10 07:05:36 +02:00
Matthias
ca79b84e4a docs: reword section around edge in utility subcommands 2025-06-10 07:05:36 +02:00
Matthias
3670df8771 chore: remove edge from ft_rest_client 2025-06-10 07:05:24 +02:00
Matthias
ff06d58ace chore: remove edge module and config options 2025-06-10 07:01:33 +02:00
Matthias
1b4592a2f3 chore: remove edge from full_config 2025-06-10 07:00:11 +02:00
Matthias
5138e97b70 docs: remove edge from FAQ 2025-06-10 06:53:44 +02:00
Matthias
340cad3707 chore: remove edge from freqtradebot 2025-06-10 06:53:07 +02:00
Matthias
ca32cb9e61 docs: remove further edge usages 2025-06-10 06:50:55 +02:00
Matthias
c911b7fa70 chore: remove edge from config schema 2025-06-10 06:49:42 +02:00
Matthias
9323b6b946 chore: fail to start edge command. 2025-06-10 06:48:31 +02:00
Matthias
92ef1ef761 docs: deprecated: removal of Edge module 2025-06-10 06:46:39 +02:00
Matthias
e38504b9db chore: remove edge from docs 2025-06-10 06:44:14 +02:00
Matthias
e437847916 Merge pull request #11865 from freqtrade/dependabot/pip/requests-2.32.4
chore(deps): bump requests from 2.32.3 to 2.32.4
2025-06-10 06:28:18 +02:00
Matthias
a3a30f9046 Merge pull request #11866 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-06-10 06:28:09 +02:00
Freqtrade Bot
df507e2335 chore: update pre-commit hooks 2025-06-10 03:24:54 +00:00
dependabot[bot]
2f1f60a8fc chore(deps): bump requests from 2.32.3 to 2.32.4
Bumps [requests](https://github.com/psf/requests) from 2.32.3 to 2.32.4.
- [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.32.3...v2.32.4)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.32.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 21:15:23 +00:00
Matthias
1c1a165ba4 chore(ci): improve docker-build action 2025-06-09 19:20:48 +02:00
Matthias
00fe02c854 feat(ci): extract docker container building 2025-06-09 19:20:48 +02:00
Matthias
6ff26b075e fix: error during logging shutdown 2025-06-09 19:12:57 +02:00
Matthias
03a46ec784 chore: reorder requirements logically 2025-06-09 18:06:09 +02:00
Matthias
ec31764aed chore: update technical to 1.5.1 2025-06-09 18:05:07 +02:00
Matthias
1ba411cccf tests: Update empty error match 2025-06-09 18:04:21 +02:00
Matthias
7957231ce4 Merge pull request #11864 from freqtrade/deps/pip/talib
Update ta-lib to version 0.5.5
2025-06-09 12:10:19 +02:00
Matthias
6b88c49e0a chore: revert ta-lib install workarounds 2025-06-09 09:37:36 +02:00
Matthias
4fe99e0333 chore: update binary files for ta-lib 2025-06-09 09:37:36 +02:00
Matthias
9a38dfcc26 Merge pull request #11859 from freqtrade/dependabot/pip/develop/pytest-5ee6585723
chore(deps-dev): bump pytest from 8.3.5 to 8.4.0 in the pytest group
2025-06-09 09:27:04 +02:00
Matthias
3ecbfeb1d5 chore: bump ta-lib to 0.5.5 2025-06-09 09:20:37 +02:00
Matthias
02229c959f Merge pull request #11863 from freqtrade/dependabot/pip/develop/aiohttp-3.12.11
chore(deps): bump aiohttp from 3.12.6 to 3.12.11
2025-06-09 09:15:28 +02:00
Matthias
2a2f205fbe Merge pull request #11858 from freqtrade/dependabot/pip/develop/pandas-2.3.0
chore(deps): bump pandas from 2.2.3 to 2.3.0
2025-06-09 09:09:17 +02:00
dependabot[bot]
c415dab846 chore(deps-dev): bump pytest from 8.3.5 to 8.4.0 in the pytest group
Bumps the pytest group with 1 update: [pytest](https://github.com/pytest-dev/pytest).


Updates `pytest` from 8.3.5 to 8.4.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/8.3.5...8.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 06:11:09 +00:00
dependabot[bot]
5b47960567 chore(deps): bump aiohttp from 3.12.6 to 3.12.11
---
updated-dependencies:
- dependency-name: aiohttp
  dependency-version: 3.12.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 06:09:32 +00:00
dependabot[bot]
3f9749b03b chore(deps): bump pandas from 2.2.3 to 2.3.0
Bumps [pandas](https://github.com/pandas-dev/pandas) from 2.2.3 to 2.3.0.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Commits](https://github.com/pandas-dev/pandas/compare/v2.2.3...v2.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 06:09:32 +00:00
Matthias
528b11af07 Merge pull request #11861 from freqtrade/dependabot/pip/develop/ruff-0.11.13
chore(deps-dev): bump ruff from 0.11.12 to 0.11.13
2025-06-09 08:08:29 +02:00
Matthias
0a31ff3747 Merge pull request #11860 from freqtrade/dependabot/pip/develop/ccxt-4.4.88
chore(deps): bump ccxt from 4.4.87 to 4.4.88
2025-06-09 08:08:17 +02:00
dependabot[bot]
e1ee566634 chore(deps-dev): bump ruff from 0.11.12 to 0.11.13
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.12 to 0.11.13.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.11.12...0.11.13)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 03:41:24 +00:00
dependabot[bot]
1cff4d13de chore(deps): bump ccxt from 4.4.87 to 4.4.88
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.87 to 4.4.88.
- [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/v4.4.87...v4.4.88)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 03:41:22 +00:00
Matthias
22b1bc7210 Merge pull request #11855 from hippocritical/develop
fix parsing trade-data for kraken_csv
2025-06-08 19:57:05 +02:00
hippocritical
c741c168e8 Merge remote-tracking branch 'origin/develop' into develop 2025-06-08 19:33:50 +02:00
hippocritical
c997f02085 removed %1 = 0 since it was not truly necessary 2025-06-08 19:31:17 +02:00
hippocritical
ead6d89e35 Merge branch 'freqtrade:develop' into develop 2025-06-08 14:07:49 +02:00
hippocritical
985c15bdd9 checking kraken data for any rows not having a timestamp in the timestamp column, purging those
(there was a text in the 1st row of USDGEUR.csv, making the conversion fail previously)
2025-06-08 14:07:31 +02:00
Matthias
7fb7c43e45 chore: pip_constraint fix for dockerfile 2025-06-08 12:52:06 +02:00
Matthias
0e68de0c6d feat: document --notes usage 2025-06-08 12:51:38 +02:00
Matthias
ba5f771e65 chore: update documentation command 2025-06-08 12:46:25 +02:00
Matthias
e0f147e076 feat: add "--notes" to backtest command
closes #11847
2025-06-08 12:42:26 +02:00
Matthias
b874ceaf2f chore: improved "pins" for numpy 2025-06-08 11:11:15 +02:00
Matthias
11f339f802 chore(ci): UV workaround for build-online 2025-06-08 10:25:41 +02:00
Matthias
9d46fd21dc chore(ci): clean up after pip install 2025-06-08 10:17:14 +02:00
Matthias
286f385f99 chore(ci): use proper directory 2025-06-08 10:07:01 +02:00
Matthias
69cca13d15 chore: use UV_BUILD_CONSTRAINT 2025-06-08 10:05:56 +02:00
Matthias
37d03a5b44 chore: proper naming for environment var 2025-06-08 10:04:04 +02:00
Matthias
0e1d3e279c chore: attempt CI workaround for ta-lib build failure 2025-06-08 10:02:52 +02:00
Matthias
ae671c736e feat: don't lowercase ccxt_config keys
closes #11852
2025-06-08 09:52:58 +02:00
Matthias
28064d013c feat: add ccxt_sync_config to json schema 2025-06-08 09:36:38 +02:00
Matthias
5b9c03e7e2 fix: don't filter min duration on > 0
closes #11838
2025-06-08 09:15:52 +02:00
Matthias
f2569e36e8 chore: develop doesn't need to depend on coveralls
closes #11848
2025-06-07 20:58:13 +02:00
Matthias
bf2092977c chore: add docstring 2025-06-07 16:53:14 +02:00
Matthias
613e31a9a5 chore: simplify handle_order_fee code 2025-06-07 08:43:26 +02:00
Matthias
326a4f17d2 chore: update missleading comment 2025-06-07 08:39:08 +02:00
Matthias
a8d617d747 chore: load ft_fee_base when loading from_json 2025-06-07 08:35:19 +02:00
Matthias
ba9f795df5 fix: Order is not bound to a Session
closes #11831
2025-06-06 20:54:34 +02:00
Matthias
dbccc69f05 Merge pull request #11841 from freqtrade/dependabot/docker/python-3.13.4-slim-bookworm
chore(deps): bump python from 3.12.10-slim-bookworm to 3.13.4-slim-bookworm
2025-06-06 06:35:38 +02:00
Matthias
db80318946 Merge pull request #11843 from freqtrade/dependabot/pip/torch-2.7.1
chore(deps): bump torch from 2.7.0 to 2.7.1
2025-06-05 16:00:20 +02:00
dependabot[bot]
5698793dcc chore(deps): bump torch from 2.7.0 to 2.7.1
Bumps [torch](https://github.com/pytorch/pytorch) from 2.7.0 to 2.7.1.
- [Release notes](https://github.com/pytorch/pytorch/releases)
- [Changelog](https://github.com/pytorch/pytorch/blob/main/RELEASE.md)
- [Commits](https://github.com/pytorch/pytorch/compare/v2.7.0...v2.7.1)

---
updated-dependencies:
- dependency-name: torch
  dependency-version: 2.7.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-05 13:32:25 +00:00
Matthias
bf96be2b71 chore: bump ccxt to 4.4.87 2025-06-05 06:46:17 +02:00
dependabot[bot]
2af454333b chore(deps): bump python
Bumps python from 3.12.10-slim-bookworm to 3.13.4-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.13.4-slim-bookworm
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-05 04:32:28 +00:00
Matthias
cb869a2e4d chore: bump armhf dockerfile to 3.11.13 2025-06-05 06:31:29 +02:00
Matthias
afc5205bea Merge pull request #11840 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-06-05 06:26:34 +02:00
Freqtrade Bot
842f3a2a36 chore: update pre-commit hooks 2025-06-05 03:23:11 +00:00
Matthias
582871b0d5 Merge pull request #11837 from freqtrade/feat/python_13
Add support for python 3.13
2025-06-04 18:24:35 +02:00
Matthias
c6c2934741 chore(ci): fix 3.13 tests and incompatibilities 2025-06-04 08:18:50 +02:00
Matthias
d3b5be6cb6 chore: update docs and ft_client taxonomy 2025-06-04 07:21:13 +02:00
Matthias
473a15c4ef chore: scripts should support 3.13 2025-06-04 07:20:58 +02:00
Matthias
2c4452453a chore: update pyproject for python 3.13 2025-06-04 07:19:40 +02:00
Matthias
da6affcd6a chore: run CI against 3.13 2025-06-04 07:18:24 +02:00
Matthias
3ebbe2b56c chore: pin ta-lib<0.6 to avoid false installs 2025-06-04 07:16:29 +02:00
Matthias
8f13a5db29 Merge pull request #11834 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-06-03 06:41:42 +02:00
Matthias
3155dfc14c Merge pull request #11789 from freqtrade/fix/customdata_sessions
fix: improved session handling for custom_data sessions
2025-06-03 06:30:39 +02:00
Freqtrade Bot
cc30e71ab2 chore: update pre-commit hooks 2025-06-03 03:23:16 +00:00
Matthias
f5cb486f5e Merge pull request #11828 from freqtrade/dependabot/pip/develop/mypy-1.16.0
chore(deps-dev): bump mypy from 1.15.0 to 1.16.0
2025-06-02 11:03:05 +02:00
Matthias
42c8795141 Merge pull request #11827 from freqtrade/dependabot/pip/develop/types-59cf8d3746
chore(deps-dev): bump types-requests from 2.32.0.20250515 to 2.32.0.20250602 in the types group
2025-06-02 09:40:14 +02:00
Matthias
f878d051df Merge pull request #11823 from freqtrade/dependabot/pip/develop/ccxt-4.4.86
chore(deps): bump ccxt from 4.4.85 to 4.4.86
2025-06-02 09:13:28 +02:00
Matthias
aefa7e401c chore: bump mypy in pre-commit config 2025-06-02 08:54:19 +02:00
Matthias
dc06510d4a chore: adjust type-ignores for new mypy version 2025-06-02 08:54:19 +02:00
Matthias
7740b61f02 chore: remove unused #type-ignore settings 2025-06-02 08:54:19 +02:00
dependabot[bot]
950f5a722e chore(deps-dev): bump mypy from 1.15.0 to 1.16.0
Bumps [mypy](https://github.com/python/mypy) from 1.15.0 to 1.16.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.15.0...v1.16.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 06:49:06 +00:00
Matthias
9b56245b1d Merge pull request #11830 from freqtrade/dependabot/pip/develop/ruff-0.11.12
chore(deps-dev): bump ruff from 0.11.11 to 0.11.12
2025-06-02 08:47:43 +02:00
Matthias
b05fb57fb7 chore: huobijp rename to bittrade
aligned with https://github.com/ccxt/ccxt/pull/26036
2025-06-02 08:40:05 +02:00
Matthias
1a4db77131 chore: types-requests update 2025-06-02 08:34:52 +02:00
dependabot[bot]
71920cefb1 chore(deps): bump ccxt from 4.4.85 to 4.4.86
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.85 to 4.4.86.
- [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/v4.4.85...v4.4.86)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 06:34:10 +00:00
Matthias
b5cbbd7c30 Merge pull request #11822 from freqtrade/dependabot/pip/develop/pytest-6fa8ff6387
chore(deps-dev): bump the pytest group with 2 updates
2025-06-02 08:33:40 +02:00
Matthias
f75a0817a6 Merge pull request #11826 from freqtrade/dependabot/pip/develop/plotly-6.1.2
chore(deps): bump plotly from 6.1.1 to 6.1.2
2025-06-02 08:33:17 +02:00
Matthias
d12132ae7a Merge pull request #11829 from freqtrade/dependabot/pip/develop/aiohttp-3.12.6
chore(deps): bump aiohttp from 3.11.18 to 3.12.6
2025-06-02 08:32:17 +02:00
Matthias
a81bec0da2 Merge pull request #11825 from freqtrade/dependabot/pip/develop/jsonschema-4.24.0
chore(deps): bump jsonschema from 4.23.0 to 4.24.0
2025-06-02 08:31:50 +02:00
Matthias
cc41cb831f Merge pull request #11824 from freqtrade/dependabot/pip/develop/uvicorn-0.34.3
chore(deps): bump uvicorn from 0.34.2 to 0.34.3
2025-06-02 08:31:35 +02:00
dependabot[bot]
2b70ec896d chore(deps-dev): bump ruff from 0.11.11 to 0.11.12
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.11 to 0.11.12.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.11.11...0.11.12)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 03:40:08 +00:00
dependabot[bot]
470dbb6060 chore(deps): bump aiohttp from 3.11.18 to 3.12.6
---
updated-dependencies:
- dependency-name: aiohttp
  dependency-version: 3.12.6
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 03:39:55 +00:00
dependabot[bot]
afc61ca788 chore(deps-dev): bump types-requests in the types group
Bumps the types group with 1 update: [types-requests](https://github.com/typeshed-internal/stub_uploader).


Updates `types-requests` from 2.32.0.20250515 to 2.32.0.20250602
- [Commits](https://github.com/typeshed-internal/stub_uploader/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 03:37:48 +00:00
dependabot[bot]
ba62e5e007 chore(deps): bump plotly from 6.1.1 to 6.1.2
Bumps [plotly](https://github.com/plotly/plotly.py) from 6.1.1 to 6.1.2.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v6.1.1...v6.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 03:37:38 +00:00
dependabot[bot]
9af401b091 chore(deps): bump jsonschema from 4.23.0 to 4.24.0
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.23.0 to 4.24.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.23.0...v4.24.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 03:37:22 +00:00
dependabot[bot]
1fdbace02d chore(deps): bump uvicorn from 0.34.2 to 0.34.3
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.34.2 to 0.34.3.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/docs/release-notes.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.34.2...0.34.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 03:37:05 +00:00
dependabot[bot]
cfeda4493b chore(deps-dev): bump the pytest group with 2 updates
Bumps the pytest group with 2 updates: [pytest-mock](https://github.com/pytest-dev/pytest-mock) and [pytest-xdist](https://github.com/pytest-dev/pytest-xdist).


Updates `pytest-mock` from 3.14.0 to 3.14.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.14.0...v3.14.1)

Updates `pytest-xdist` from 3.6.1 to 3.7.0
- [Release notes](https://github.com/pytest-dev/pytest-xdist/releases)
- [Changelog](https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-xdist/compare/v3.6.1...v3.7.0)

---
updated-dependencies:
- dependency-name: pytest-mock
  dependency-version: 3.14.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: pytest
- dependency-name: pytest-xdist
  dependency-version: 3.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: pytest
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 03:35:48 +00:00
Matthias
0de48d90f8 Merge pull request #11820 from mrpabloyeah/fix-telegram-profit-stats-when-fiat_display_currency-is-not-set
Fix telegram profit stats when fiat_display_currency is not set
2025-06-01 14:53:24 +02:00
mrpabloyeah
c4eb26be9d Fix telegram profit stats when fiat_display_currency is not set 2025-06-01 13:53:17 +02:00
Matthias
04a8539f10 Merge pull request #11819 from arenstar/patch-3
fix: order_by_id always true
2025-06-01 13:28:05 +02:00
David Arena
d600461a84 fix: order_by_id always true 2025-06-01 12:03:44 +02:00
Matthias
ce46cd7343 Merge pull request #11646 from freqtrade/deps/numpy2
Bump numpy to 2.x
2025-06-01 09:13:58 +02:00
Matthias
d1cca4ac51 Merge pull request #11796 from freqtrade/dependabot/pip/develop/ccxt-4.4.85
chore(deps): bump ccxt from 4.4.82 to 4.4.85
2025-05-31 17:57:26 +02:00
Matthias
28399aaab2 Merge pull request #11814 from freqtrade/new_release
New release 2025.5
2025-05-31 17:37:56 +02:00
Matthias
eb5d5e0d3f chore: bump dev version to 2025.6-dev 2025-05-31 16:39:46 +02:00
Matthias
560085ab92 chore: bump version to 2025.5 2025-05-31 16:34:27 +02:00
Matthias
17c315bf4a Merge branch 'stable' into new_release 2025-05-31 16:34:04 +02:00
Matthias
e8145e0057 Merge pull request #11805 from viotemp1/optuna_addons
fix hyperopt repeated parameters between batches
2025-05-31 16:26:32 +02:00
Matthias
ae9073885f chore: Update log wording, only log "duplicate parameters" once 2025-05-31 16:05:39 +02:00
Matthias
61886942c5 chore: fix log message missing space 2025-05-31 09:04:17 +02:00
viotemp1
12d31c4acb keep INITIAL_POINTS only in hyperopt_optimizer.py 2025-05-31 08:21:44 +03:00
viotemp1
14cfdb13c5 add back INITIAL_POINTS (default 30) for Samplers which support this 2025-05-30 18:17:15 +03:00
Matthias
e58ab7852a docs: add operatorId to bitvavo docs
closes #11748
2025-05-30 07:32:36 +02:00
Matthias
77dcc5354c test: update hyperliquid test for new load_markets behavior 2025-05-30 07:08:58 +02:00
Matthias
3ac4a872b1 Merge remote-tracking branch 'origin/develop' into dependabot/pip/develop/ccxt-4.4.85 2025-05-29 20:14:05 +02:00
Matthias
b8b94d58c4 test: update tests for new reload_markets behavior 2025-05-29 20:12:59 +02:00
viotemp1
dfae7ca2ec fix duplicate params in same batch also 2025-05-29 15:41:47 +03:00
vio
17cd0452ec Merge branch 'freqtrade:develop' into optuna_addons 2025-05-29 14:22:17 +03:00
Matthias
33b5482065 fix: memory leak on binance in combination with aiohttp>3.10
apparently, returning big data through
run_until_complete can cause this (or

closes #11317
2025-05-29 07:06:57 +02:00
Matthias
9fe361f6fc Merge pull request #11808 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-05-29 06:44:07 +02:00
Freqtrade Bot
da7f35db8d chore: update pre-commit hooks 2025-05-29 03:21:16 +00:00
Matthias
4f216eb861 Merge pull request #11790 from freqtrade/docs/compare_exit_callbacks
docs: add "exit logic comparisons" table
2025-05-28 15:22:15 +02:00
viotemp1
53383f3184 add up to 5 retries for ask in case of duplicate params 2025-05-28 09:35:20 +02:00
viotemp1
b51c937e87 fix hyperopt repeated parameters between batches 2025-05-27 13:38:03 +02:00
Matthias
f3d7f67671 Merge pull request #11803 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-05-27 06:31:54 +02:00
Freqtrade Bot
87001d0806 chore: update pre-commit hooks 2025-05-27 03:20:40 +00:00
Matthias
ffce0dfb2e Merge pull request #11800 from freqtrade/dependabot/github_actions/develop/astral-sh/setup-uv-6.1.0
chore(deps): bump astral-sh/setup-uv from 6.0.1 to 6.1.0
2025-05-26 08:21:17 +02:00
Matthias
c1d08019d9 Merge pull request #11798 from freqtrade/dependabot/pip/develop/ruff-0.11.11
chore(deps-dev): bump ruff from 0.11.10 to 0.11.11
2025-05-26 08:18:26 +02:00
Matthias
bfa95ad976 Merge pull request #11799 from freqtrade/dependabot/pip/develop/joblib-1.5.1
chore(deps): bump joblib from 1.5.0 to 1.5.1
2025-05-26 08:14:39 +02:00
Matthias
4a4b39f898 Merge pull request #11795 from freqtrade/dependabot/pip/develop/pydantic-2.11.5
chore(deps): bump pydantic from 2.11.4 to 2.11.5
2025-05-26 08:12:58 +02:00
Matthias
215499a3f8 Merge pull request #11793 from freqtrade/dependabot/pip/develop/plotly-6.1.1
chore(deps): bump plotly from 6.0.1 to 6.1.1
2025-05-26 08:08:58 +02:00
Matthias
8c11974644 Merge pull request #11791 from freqtrade/dependabot/pip/develop/types-af298ab694
chore(deps-dev): bump types-cachetools from 5.5.0.20240820 to 6.0.0.20250525 in the types group
2025-05-26 08:08:33 +02:00
Matthias
7dcbd8108e Merge pull request #11797 from freqtrade/dependabot/pip/develop/cryptography-45.0.3
chore(deps): bump cryptography from 45.0.2 to 45.0.3
2025-05-26 07:58:27 +02:00
Matthias
43fea43363 chore: bump aiohttp to 3.11.18
Aligns dependency with ccxt requirements.
2025-05-26 07:15:38 +02:00
Matthias
e00b74c0e0 fix: capture ws edge-case on reconnect 2025-05-26 07:06:56 +02:00
Matthias
5ef439dd0f Merge pull request #11794 from freqtrade/dependabot/pip/develop/cachetools-6.0.0
chore(deps): bump cachetools from 5.5.2 to 6.0.0
2025-05-26 07:00:18 +02:00
dependabot[bot]
538c7b3c97 chore(deps): bump joblib from 1.5.0 to 1.5.1
Bumps [joblib](https://github.com/joblib/joblib) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/joblib/joblib/releases)
- [Changelog](https://github.com/joblib/joblib/blob/main/CHANGES.rst)
- [Commits](https://github.com/joblib/joblib/compare/1.5.0...1.5.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 04:55:08 +00:00
Matthias
81456b2340 Merge pull request #11792 from freqtrade/dependabot/pip/develop/xgboost-3.0.2
chore(deps): bump xgboost from 3.0.1 to 3.0.2
2025-05-26 06:52:38 +02:00
Matthias
dfec3f16ab chore: Bump pre-commit types-cachetools 2025-05-26 06:34:46 +02:00
dependabot[bot]
e67499e6cc chore(deps): bump astral-sh/setup-uv from 6.0.1 to 6.1.0
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 6.0.1 to 6.1.0.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](6b9c6063ab...f0ec1fc3b3)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 03:45:35 +00:00
dependabot[bot]
a1b5e7899f chore(deps-dev): bump ruff from 0.11.10 to 0.11.11
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.10 to 0.11.11.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.11.10...0.11.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 03:13:45 +00:00
dependabot[bot]
a88a149999 chore(deps): bump cryptography from 45.0.2 to 45.0.3
Bumps [cryptography](https://github.com/pyca/cryptography) from 45.0.2 to 45.0.3.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/45.0.2...45.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 03:13:38 +00:00
dependabot[bot]
168593d7af chore(deps): bump ccxt from 4.4.82 to 4.4.85
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.82 to 4.4.85.
- [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/v4.4.82...v4.4.85)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 03:13:34 +00:00
dependabot[bot]
c646abc05d chore(deps): bump pydantic from 2.11.4 to 2.11.5
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.11.4 to 2.11.5.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v2.11.4...v2.11.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 03:13:27 +00:00
dependabot[bot]
f2a1561d31 chore(deps): bump cachetools from 5.5.2 to 6.0.0
Bumps [cachetools](https://github.com/tkem/cachetools) from 5.5.2 to 6.0.0.
- [Changelog](https://github.com/tkem/cachetools/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/tkem/cachetools/compare/v5.5.2...v6.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 03:13:20 +00:00
dependabot[bot]
d7a3aeaa1b chore(deps): bump plotly from 6.0.1 to 6.1.1
Bumps [plotly](https://github.com/plotly/plotly.py) from 6.0.1 to 6.1.1.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v6.0.1...v6.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 03:13:18 +00:00
dependabot[bot]
4b9a63de19 chore(deps): bump xgboost from 3.0.1 to 3.0.2
Bumps [xgboost](https://github.com/dmlc/xgboost) from 3.0.1 to 3.0.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/v3.0.1...v3.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 03:13:10 +00:00
dependabot[bot]
07985c2cae chore(deps-dev): bump types-cachetools in the types group
Bumps the types group with 1 update: [types-cachetools](https://github.com/typeshed-internal/stub_uploader).


Updates `types-cachetools` from 5.5.0.20240820 to 6.0.0.20250525
- [Commits](https://github.com/typeshed-internal/stub_uploader/commits)

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-version: 6.0.0.20250525
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: types
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 03:12:22 +00:00
Robert Davey
0c13414f14 Slight rewording for clarity 2025-05-25 12:47:19 +01:00
Robert Davey
1021c7a7af Minor typo 2025-05-25 12:41:31 +01:00
Robert Davey
5306fb3709 Add clarification to the exit table 2025-05-25 12:40:11 +01:00
Matthias
1afddf9db4 docs: no dots on exit comparison 2025-05-25 10:01:39 +02:00
Matthias
929538dd5f docs: refactor exit logic comparisons to includes file
this might allow us to reuse this in other parts of the docs.
2025-05-25 09:44:52 +02:00
Matthias
f432e65a14 docs: add "exit logic comparisons" table 2025-05-25 09:42:37 +02:00
Matthias
dfc1193c52 Merge pull request #11656 from mrpabloyeah/add-custom-roi-strategy-callback
Add custom_roi() strategy callback
2025-05-25 09:13:32 +02:00
Matthias
25077a1008 feat: write empty "custom_roi" with advanced strategy template 2025-05-25 08:56:39 +02:00
Matthias
b3b3bf6c1d feat: allow break-even (0.0) as valid return from custom_roi 2025-05-25 08:54:11 +02:00
Matthias
29ae71333a fix: improved session handling for custom_data sessions 2025-05-25 08:37:01 +02:00
Matthias
a7ebbd89c0 feat: add strategy-ResultValidator to backtesting
helps issues such as #11781
2025-05-24 16:46:29 +02:00
Matthias
ee25635c79 test: update tests for new StrategyValidator 2025-05-24 16:35:12 +02:00
Matthias
b8e19ae78a refactor: move dataframe assertion to it's own class 2025-05-24 16:10:15 +02:00
Matthias
937bd892fd fix: workaround for ccxt bybit stop_order bug 2025-05-24 11:20:47 +02:00
Matthias
adce6e4f68 fix: don't try to place stoploss orders with blocking assets 2025-05-24 11:20:47 +02:00
Robert Caulk
0b1ba0458d Merge pull request #11490 from freqtrade/fix/continual_learning_pytorch
Fix continual learning pytorch
2025-05-24 11:12:05 +02:00
Robert Caulk
7668b95900 Merge pull request #11588 from skyoo2003/develop
fix: remove spaces from rename_dict/rename_dict_old in BaseReinforcementLearningModel
2025-05-24 10:47:31 +02:00
Robert Caulk
47465f198c Merge pull request #11772 from freqtrade/dependabot/pip/develop/xgboost-3.0.1
chore(deps): bump xgboost from 2.1.4 to 3.0.1
2025-05-24 10:35:26 +02:00
Matthias
f3d03dd26a feat: ensure uniqueness among fetched orders
closes #11786
2025-05-23 07:39:35 +02:00
Matthias
ecdd84efd8 fix: "until" shouldn't be in the future.
part of #11786
2025-05-23 07:26:39 +02:00
Matthias
0ad6a6a951 docs: fix broken links 2025-05-22 20:25:59 +02:00
Matthias
dc97f709d7 docs: exclude "import only" links 2025-05-22 20:23:11 +02:00
Matthias
34ccf141d1 test: enhance now_is_time_to_refresh test 2025-05-22 20:03:43 +02:00
Matthias
f0b16c277c docs: add "sold the bots capital" FAQ entry 2025-05-22 19:22:59 +02:00
Matthias
68061444d8 chore: remove unused imports 2025-05-22 19:11:04 +02:00
Matthias
93356286d8 fix: Activate fetch-orders pagination for binance
potential fix for #11786
2025-05-22 19:10:53 +02:00
Matthias
84e816fc5b refactor: fetch_orders pagination to base class 2025-05-22 19:07:10 +02:00
Matthias
12a482a6ba Merge pull request #11785 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-05-22 06:25:35 +02:00
Freqtrade Bot
a26a40d00f chore: update pre-commit hooks 2025-05-22 03:20:06 +00:00
Matthias
64c6b4718d Merge pull request #11758 from mrpabloyeah/add-max-trade-duration-to-backtest-results
Add min/max trade duration to backtest results
2025-05-21 20:45:24 +02:00
Matthias
d1ebdf5df2 chore: remove polyfill.io from mkdocs 2025-05-21 19:36:15 +02:00
Matthias
496c4947bd chore: Fix lint error 2025-05-21 19:34:30 +02:00
Matthias
82f98746bd test: update test for new behavior 2025-05-21 19:27:23 +02:00
hippocritical
65418c7c00 changed the text a bit 2025-05-20 21:32:21 +02:00
hippocritical
bbf6bade7c Fixed a bug where the pairlist was just .*/USDT (with a length of 1.)
The bug happened since it just checked the length of the list itself, not what it represents. in this case .*/USDT could be any amount of pairs

when the user sets a max_open_trades of let's say 3 then the pairs only have 3 trade slots of whatever amount of pairs it really has and thereby creating a bottleneck.

This just sets the max_open_trades to -1 without even checking it, letting freqtrade itself handle the amount of trades allowed at a given time.
2025-05-20 21:30:41 +02:00
Matthias
b6cde05f0d chore: remove unused import 2025-05-20 19:39:07 +02:00
Matthias
0a3a1d7eca fix: remove unnecessary kraken workaround
fixes "list-pairs" command for kraken.
2025-05-20 19:22:05 +02:00
Matthias
947cbdd858 test: add format_duration test 2025-05-20 18:15:54 +02:00
Matthias
7a84d1ecba chore: bump numpy to 2.2.6 2025-05-20 07:14:55 +02:00
Matthias
8c999cd60c chore: treat webhook.url as secret 2025-05-20 07:05:08 +02:00
Matthias
ad5d2a36bc feat: Further ENV recommendations to config schema 2025-05-20 07:05:08 +02:00
Matthias
1666746692 feat: recommend setting secrets via environment variable 2025-05-20 07:05:08 +02:00
Matthias
3a74fc85b4 chore: update schema.json 2025-05-20 07:05:08 +02:00
Matthias
92a1c304a8 feat: add additional supported keys to config schema 2025-05-20 07:05:08 +02:00
Matthias
d8c24663fc Merge pull request #11736 from viotemp1/optuna_addons
add early stopping for hyperopt
2025-05-20 06:45:15 +02:00
Matthias
195c15c8dc Merge pull request #11778 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-05-20 06:27:41 +02:00
Freqtrade Bot
44c06f6d20 chore: update pre-commit hooks 2025-05-20 03:20:51 +00:00
Matthias
c268f20d18 Merge pull request #11776 from freqtrade/dependabot/pip/develop/sqlalchemy-2.0.41
chore(deps): bump sqlalchemy from 2.0.40 to 2.0.41
2025-05-19 16:26:48 +02:00
Matthias
83c92f3ac1 chore: Bump sqlalchemy in pre-commit 2025-05-19 14:36:11 +02:00
dependabot[bot]
b4a3eccfa3 chore(deps): bump sqlalchemy from 2.0.40 to 2.0.41
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.40 to 2.0.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-version: 2.0.41
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 11:59:40 +00:00
Matthias
837d006e11 Merge pull request #11774 from freqtrade/dependabot/pip/develop/ccxt-4.4.82
chore(deps): bump ccxt from 4.4.80 to 4.4.82
2025-05-19 13:58:26 +02:00
dependabot[bot]
c1f1639807 chore(deps): bump ccxt from 4.4.80 to 4.4.82
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.80 to 4.4.82.
- [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/v4.4.80...v4.4.82)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 06:29:16 +00:00
Matthias
8f71e45666 Merge pull request #11775 from freqtrade/dependabot/pip/develop/cryptography-45.0.2
chore(deps): bump cryptography from 44.0.3 to 45.0.2
2025-05-19 08:28:06 +02:00
Matthias
17fa2c9933 Merge pull request #11768 from freqtrade/dependabot/pip/develop/types-462239796a
chore(deps-dev): bump the types group with 2 updates
2025-05-19 08:10:35 +02:00
dependabot[bot]
22fdf157ef chore(deps): bump cryptography from 44.0.3 to 45.0.2
Bumps [cryptography](https://github.com/pyca/cryptography) from 44.0.3 to 45.0.2.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/44.0.3...45.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 05:10:41 +00:00
Matthias
6c8b39d32a Merge pull request #11770 from freqtrade/dependabot/pip/develop/python-telegram-bot-22.1
chore(deps): bump python-telegram-bot from 22.0 to 22.1
2025-05-19 07:09:30 +02:00
Matthias
5a2b3d9d87 chore: show the actually used value 2025-05-19 07:04:11 +02:00
Matthias
8641796d04 test: Add test for early-stop config adjustment 2025-05-19 07:03:41 +02:00
Matthias
c5c5cfb4d5 Merge pull request #11771 from freqtrade/dependabot/pip/develop/ruff-0.11.10
chore(deps-dev): bump ruff from 0.11.9 to 0.11.10
2025-05-19 06:53:50 +02:00
Matthias
c74033d7f1 chore: bump types for pre-commit 2025-05-19 06:49:45 +02:00
Matthias
d8c6873ee9 Merge pull request #11769 from freqtrade/dependabot/pip/develop/mkdocs-90ecda04c5
chore(deps): bump mkdocs-material from 9.6.13 to 9.6.14 in the mkdocs group
2025-05-19 06:34:43 +02:00
Matthias
b0cc2a2a1d chore: slightly improve comment wording 2025-05-19 06:32:09 +02:00
Matthias
226f9b7857 Merge pull request #11766 from AchmadFathoni/develop
docs: trades space not included in default spaces
2025-05-19 06:31:11 +02:00
dependabot[bot]
1abf72855e chore(deps): bump xgboost from 2.1.4 to 3.0.1
Bumps [xgboost](https://github.com/dmlc/xgboost) from 2.1.4 to 3.0.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/v2.1.4...v3.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 03:10:25 +00:00
dependabot[bot]
b044410e42 chore(deps-dev): bump ruff from 0.11.9 to 0.11.10
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.9 to 0.11.10.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.11.9...0.11.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 03:10:15 +00:00
dependabot[bot]
b64052850f chore(deps): bump python-telegram-bot from 22.0 to 22.1
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 22.0 to 22.1.
- [Release notes](https://github.com/python-telegram-bot/python-telegram-bot/releases)
- [Commits](https://github.com/python-telegram-bot/python-telegram-bot/compare/v22.0...v22.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 03:10:08 +00:00
dependabot[bot]
8868b10042 chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.6.13 to 9.6.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/9.6.13...9.6.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 03:10:04 +00:00
dependabot[bot]
b18190891d chore(deps-dev): bump the types group with 2 updates
Bumps the types group with 2 updates: [types-requests](https://github.com/typeshed-internal/stub_uploader) and [types-python-dateutil](https://github.com/typeshed-internal/stub_uploader).


Updates `types-requests` from 2.32.0.20250328 to 2.32.0.20250515
- [Commits](https://github.com/typeshed-internal/stub_uploader/commits)

Updates `types-python-dateutil` from 2.9.0.20241206 to 2.9.0.20250516
- [Commits](https://github.com/typeshed-internal/stub_uploader/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 03:09:28 +00:00
Achmad Fathoni
5b001eec3e docs: trades space not included in default spaces 2025-05-18 21:26:57 +07:00
mrpabloyeah
882ca44816 Fix test_optimize_reports 2025-05-18 14:19:10 +02:00
mrpabloyeah
60157606fe Format only winner/loser durations 2025-05-18 13:39:50 +02:00
mrpabloyeah
cbb0294cd2 Format duration to make results more readable 2025-05-18 13:02:47 +02:00
Matthias
1b4802ab73 chore: Improved wording in issue templates 2025-05-18 08:38:27 +02:00
Matthias
6b7f210ef3 chore: Improve bug report template about AI
AI generated strategies and configs cause a lot of noise.
we should be clear that people shall read the documentation first
(this will also allow us to point people at this within the issue).
2025-05-18 08:35:59 +02:00
Matthias
571b154345 Merge pull request #11763 from emmanuel-ferdman/develop
fix: display pair information in message
2025-05-17 19:37:09 +02:00
Emmanuel Ferdman
9a2b5a1219 Display pair information in message
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2025-05-17 07:51:03 -07:00
Matthias
fe9de41d58 docs: fix Note boxes not rendering correctly 2025-05-17 16:16:27 +02:00
Matthias
daff50e79e test: improve admotion test by skipping empty lines 2025-05-17 16:16:19 +02:00
Matthias
09b687d66f test: add test checking proper admotion logic 2025-05-17 16:12:19 +02:00
Matthias
665ff9f14e test: extend test_docs for collapsed info boxes 2025-05-17 15:36:32 +02:00
viotemp1
bd1a12ceaa fix formatting 2025-05-17 16:27:33 +03:00
viotemp1
d33e931a0d early stop - replace values lower than 20 with 20 and display a warning. 2025-05-17 16:23:25 +03:00
mrpabloyeah
fbe38c362c Fix typo 2025-05-17 15:10:04 +02:00
mrpabloyeah
718efc828a Also add min trade duration and display the info horizontally 2025-05-17 14:22:25 +02:00
mrpabloyeah
6d3ed84807 Add max trade duration to backtest results 2025-05-17 02:50:10 +02:00
viotemp1
28e5efc902 fix docs 2025-05-17 01:15:10 +03:00
Matthias
510c47bd78 docs: update doc wording in custom_exit callback 2025-05-16 06:39:24 +02:00
Matthias
2e0065216f Merge pull request #11755 from Silur/develop
fix binance futures candle type hardcoding for trades data
2025-05-15 19:52:58 +02:00
silur
ce024c74e1 fix binance futures candle type hardcoding 2025-05-15 21:31:01 +04:00
mrpabloyeah
90e2935abf Add trade_duration parameter to custom_roi 2025-05-15 11:53:48 +02:00
mrpabloyeah
12cd654bce Merge branch 'freqtrade:develop' into add-custom-roi-strategy-callback 2025-05-15 10:14:53 +02:00
Matthias
c3ea793abb Merge branch 'develop' into add-custom-roi-strategy-callback 2025-05-15 07:22:25 +02:00
Matthias
c901f6d1dd test: add test for custom_roi behavior 2025-05-15 07:22:18 +02:00
Matthias
193cfb634c Merge pull request #11754 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-05-15 06:28:13 +02:00
Freqtrade Bot
a2b7620b64 chore: update pre-commit hooks 2025-05-15 03:19:37 +00:00
Matthias
9d91a4a298 fix: default max_open_trades to inf instead of -1
Without this, the auto-conversion doesn't backpopulate to the config

closes #11752
2025-05-14 20:14:10 +02:00
Matthias
3b6dbaccf8 test: add failing test for #11752 2025-05-14 20:12:33 +02:00
Matthias
3fe9e6b82b fix: don't use exchange.precision_mode_price
closes #11751
2025-05-14 06:59:51 +02:00
Matthias
b6614045aa Merge pull request #11738 from snussik/patch-1
Update strategy-callbacks.md
2025-05-13 20:03:57 +02:00
Matthias
cbf27f0bdb docs: Simplify doc examples 2025-05-13 19:38:06 +02:00
Matthias
bc78e2e1b9 feat: update to ft-pandas-ta
Freqtrade's compatibility fork of pandas-ta
available at https://github.com/freqtrade/pandas-ta/
2025-05-13 07:03:52 +02:00
Matthias
deafe39f76 Merge pull request #11750 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-05-13 07:03:13 +02:00
Freqtrade Bot
1f63eca1a8 chore: update pre-commit hooks 2025-05-13 03:20:47 +00:00
Matthias
3fb6bc888b chore: Mypy-exclusions to account for ta-lib import problem 2025-05-12 18:22:01 +02:00
Matthias
2c0db908b5 Merge pull request #11747 from nisuhw/patch-1
Update installation.md for older Raspberry Pi 2
2025-05-12 13:14:58 +02:00
nisuhw
ca9403f981 Update installation.md for older Raspberry Pi 2
I got the following error on Pi 2 (using Debian Bookworm armhf arch)
```
...
            running bdist_wheel
            running build
            running build_py
            creating build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/lock.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/backend_ctypes.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/_imp_emulation.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/model.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/ffiplatform.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/setuptools_ext.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/error.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/vengine_gen.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/api.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/__init__.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/recompiler.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/cffi_opcode.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/pkgconfig.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/verifier.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/cparser.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/_shimmed_dist_utils.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/commontypes.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/vengine_cpy.py -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/_cffi_include.h -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/parse_c_type.h -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/_embedding.h -> build/lib.linux-armv7l-cpython-311/cffi
            copying src/cffi/_cffi_errors.h -> build/lib.linux-armv7l-cpython-311/cffi
            running build_ext
            building '_cffi_backend' extension
            creating build/temp.linux-armv7l-cpython-311/src/c
            arm-linux-gnueabihf-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -DFFI_BUILDING=1 -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/freqtrade/.venv/include -I/usr/include/python3.11 -c src/c/_cffi_backend.c -o build/temp.linux-armv7l-cpython-311/src/c/_cffi_backend.o
            src/c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory
               15 | #include <ffi.h>
                  |          ^~~~~~~
            compilation terminated.
            error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1
            [end of output]
      
        note: This error originates from a subprocess, and is likely not a problem with pip.
        ERROR: Failed building wheel for cffi
      Failed to build cffi
      ERROR: Failed to build installable wheels for some pyproject.toml based projects (cffi)
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
Failed installing dependencies
```

It can be Easily solved by installing libffi-dev before hand
2025-05-12 16:01:25 +07:00
Matthias
a8d96087c1 Merge pull request #11743 from freqtrade/dependabot/pip/develop/ccxt-4.4.80
chore(deps): bump ccxt from 4.4.78 to 4.4.80
2025-05-12 08:50:16 +02:00
Matthias
1649505121 Merge pull request #11741 from freqtrade/dependabot/pip/develop/optuna-4.3.0
chore(deps): bump optuna from 4.2.1 to 4.3.0
2025-05-12 08:03:05 +02:00
Matthias
41a063e2ac Merge pull request #11745 from freqtrade/dependabot/pip/develop/datasieve-0.1.9
chore(deps): bump datasieve from 0.1.7 to 0.1.9
2025-05-12 07:45:57 +02:00
dependabot[bot]
ba019ad143 chore(deps): bump optuna from 4.2.1 to 4.3.0
Bumps [optuna](https://github.com/optuna/optuna) from 4.2.1 to 4.3.0.
- [Release notes](https://github.com/optuna/optuna/releases)
- [Commits](https://github.com/optuna/optuna/compare/v4.2.1...v4.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 05:35:28 +00:00
Matthias
6f3071f6ce Merge pull request #11742 from freqtrade/dependabot/pip/develop/scipy-1.15.3
chore(deps): bump scipy from 1.15.2 to 1.15.3
2025-05-12 07:34:16 +02:00
Matthias
5cdb2dd601 Merge pull request #11744 from freqtrade/dependabot/pip/develop/ruff-0.11.9
chore(deps-dev): bump ruff from 0.11.8 to 0.11.9
2025-05-12 07:21:22 +02:00
Matthias
4db41f0225 Merge pull request #11740 from freqtrade/dependabot/pip/develop/mkdocs-b2e01260d9
chore(deps): bump mkdocs-material from 9.6.12 to 9.6.13 in the mkdocs group
2025-05-12 06:46:32 +02:00
Matthias
cc8581164d Merge pull request #11739 from freqtrade/dependabot/pip/develop/pytest-5fb0fe6743
chore(deps-dev): bump pytest-timeout from 2.3.1 to 2.4.0 in the pytest group
2025-05-12 06:26:25 +02:00
dependabot[bot]
7d50353697 chore(deps): bump datasieve from 0.1.7 to 0.1.9
Bumps [datasieve](https://github.com/emergentmethods/datasieve) from 0.1.7 to 0.1.9.
- [Release notes](https://github.com/emergentmethods/datasieve/releases)
- [Commits](https://github.com/emergentmethods/datasieve/compare/v0.1.7...v0.1.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 03:43:51 +00:00
dependabot[bot]
d742f8b88f chore(deps-dev): bump ruff from 0.11.8 to 0.11.9
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.8 to 0.11.9.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.11.8...0.11.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 03:43:39 +00:00
dependabot[bot]
22bf036a66 chore(deps): bump ccxt from 4.4.78 to 4.4.80
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.78 to 4.4.80.
- [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/v4.4.78...v4.4.80)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 03:43:28 +00:00
dependabot[bot]
c45351beff chore(deps): bump scipy from 1.15.2 to 1.15.3
Bumps [scipy](https://github.com/scipy/scipy) from 1.15.2 to 1.15.3.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.15.2...v1.15.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 03:43:14 +00:00
dependabot[bot]
6d1d0751e8 chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.6.12 to 9.6.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.6.12...9.6.13)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 03:42:57 +00:00
dependabot[bot]
15012ec58c chore(deps-dev): bump pytest-timeout in the pytest group
Bumps the pytest group with 1 update: [pytest-timeout](https://github.com/pytest-dev/pytest-timeout).


Updates `pytest-timeout` from 2.3.1 to 2.4.0
- [Commits](https://github.com/pytest-dev/pytest-timeout/compare/2.3.1...2.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 03:42:46 +00:00
snussik
fed91ff5a1 Update strategy-callbacks.md
Taking leverage into account https://github.com/freqtrade/freqtrade-strategies/issues/322
2025-05-11 17:58:10 +03:00
Matthias
0228ec796b chore: bump datasieve to 0.1.9 2025-05-11 16:28:15 +02:00
viotemp1
5b92af6a90 fix some spelling errors 2025-05-10 19:45:16 +03:00
viotemp1
442a1ba50d add early stopping for hyperopt 2025-05-10 19:36:48 +03:00
Matthias
c3f6aa17ee Merge pull request #11711 from freqtrade/feat/bt_historic_precision
Improve price precision logic and add significant digits calculation
2025-05-10 16:03:38 +02:00
Matthias
69de7b4045 chore: bump datasieve to 0.1.8 2025-05-10 13:51:37 +02:00
Matthias
8dc278f1a0 refactor: simplify ws exchange handling 2025-05-10 13:30:26 +02:00
Matthias
5f907d4219 chore: move candletype check to can_use_websocket. 2025-05-10 11:43:52 +02:00
Matthias
c39c5f254f Extract "can use websocket" method 2025-05-10 11:31:30 +02:00
Matthias
0dfc4ed696 refactor: extract websocket builder logic to it's own function 2025-05-10 11:24:54 +02:00
Matthias
950a0df8b1 docs: improved documentation of order object 2025-05-10 08:38:45 +02:00
Matthias
2a0dd4cf55 Merge pull request #11558 from viotemp1/optuna
switch hyperopt from scikit-optimize to  Optuna
2025-05-09 09:53:13 +02:00
Matthias
575c381e65 chore: fix mypy error 2025-05-09 09:36:08 +02:00
Matthias
87061bcce8 docs: adopt autosampler example as advanced hyperopt approach 2025-05-09 06:42:37 +02:00
Matthias
a6d3995013 feat: Improved typing, exception if neither step nor decimals is set 2025-05-09 06:34:59 +02:00
Matthias
d0d40f4fce test: Improve skdecimal test 2025-05-09 06:34:33 +02:00
Matthias
ce7d81325d chore: improved docstring for skdecimal 2025-05-09 06:32:43 +02:00
Matthias
7cfecab7e2 Merge branch 'develop' into optuna 2025-05-08 19:25:33 +02:00
Matthias
8f8da51808 feat: round hyperopt results to 13 digits (this removes floating point errors) 2025-05-08 19:24:31 +02:00
Matthias
f94fd7d5fc chore: minor formatting 2025-05-08 07:07:22 +02:00
Matthias
befc41ae54 Merge pull request #11717 from freqtrade/dependabot/pip/develop/certifi-2025.4.26
chore(deps): bump certifi from 2025.01.31 to 2025.4.26
2025-05-08 07:03:09 +02:00
dependabot[bot]
02092926ab chore(deps): bump certifi from 2025.01.31 to 2025.4.26
Bumps [certifi](https://github.com/certifi/python-certifi) from 2025.01.31 to 2025.4.26.
- [Commits](https://github.com/certifi/python-certifi/compare/2025.01.31...2025.04.26)

---
updated-dependencies:
- dependency-name: certifi
  dependency-version: 2025.4.26
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-08 04:44:37 +00:00
Matthias
a49b4ab93a Merge pull request #11731 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-05-08 06:23:36 +02:00
Freqtrade Bot
bd7549bc8b chore: update pre-commit hooks 2025-05-08 03:19:45 +00:00
viotemp1
47e1d209db round to decimals low and high 2025-05-08 05:49:34 +03:00
viotemp1
5d2f5ec12f change SKDecimal low/high to be rounded by decimals 2025-05-07 21:57:56 +03:00
viotemp1
2d2dc7f14a Merge remote-tracking branch 'refs/remotes/origin/optuna' into optuna 2025-05-07 17:25:14 +03:00
viotemp1
43bd2a060c fix optuna userwarning the range is not divisible by step 2025-05-07 17:20:17 +03:00
Matthias
b518d66aa2 chore: improve docstring for get_Trades_proxy. 2025-05-06 19:37:06 +02:00
Matthias
2ba59cebe3 Merge pull request #11724 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-05-06 06:33:06 +02:00
Freqtrade Bot
f165c85e69 chore: update pre-commit hooks 2025-05-06 03:18:59 +00:00
Matthias
fca454bba3 Merge pull request #11708 from hippocritical/develop
lookahead-analysis docs changed to better explain the output table
2025-05-05 19:52:45 +02:00
Matthias
3dc1adfad4 docs: slight formatting tweaks 2025-05-05 19:35:04 +02:00
Robert Davey
38754e0598 Small tweaks to lookahead docs 2025-05-05 11:50:29 +01:00
Matthias
8fb4446d82 Merge pull request #11716 from freqtrade/dependabot/pip/develop/cryptography-44.0.3
chore(deps): bump cryptography from 44.0.2 to 44.0.3
2025-05-05 09:37:47 +02:00
Matthias
3725ac145b Merge pull request #11720 from freqtrade/dependabot/pip/develop/humanize-4.12.3
chore(deps): bump humanize from 4.12.2 to 4.12.3
2025-05-05 08:08:13 +02:00
Matthias
7df0d06005 Merge pull request #11719 from freqtrade/dependabot/pip/develop/orjson-3.10.18
chore(deps): bump orjson from 3.10.16 to 3.10.18
2025-05-05 08:00:50 +02:00
Matthias
4e855b638b Merge pull request #11721 from freqtrade/dependabot/github_actions/develop/astral-sh/setup-uv-6.0.1
chore(deps): bump astral-sh/setup-uv from 6.0.0 to 6.0.1
2025-05-05 07:32:06 +02:00
Matthias
9783aba09c Merge pull request #11718 from freqtrade/dependabot/pip/develop/pydantic-2.11.4
chore(deps): bump pydantic from 2.11.3 to 2.11.4
2025-05-05 07:20:59 +02:00
Matthias
1936b20309 Merge pull request #11715 from freqtrade/dependabot/pip/develop/ruff-0.11.8
chore(deps-dev): bump ruff from 0.11.7 to 0.11.8
2025-05-05 06:58:02 +02:00
dependabot[bot]
69de9687d0 chore(deps): bump cryptography from 44.0.2 to 44.0.3
Bumps [cryptography](https://github.com/pyca/cryptography) from 44.0.2 to 44.0.3.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/44.0.2...44.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 04:49:45 +00:00
Matthias
bdeeca7d43 Merge pull request #11714 from freqtrade/dependabot/pip/develop/ccxt-4.4.78
chore(deps): bump ccxt from 4.4.77 to 4.4.78
2025-05-05 06:48:36 +02:00
Matthias
a7ba3cad85 Merge pull request #11713 from freqtrade/dependabot/pip/develop/joblib-1.5.0
chore(deps): bump joblib from 1.4.2 to 1.5.0
2025-05-05 06:30:45 +02:00
dependabot[bot]
ef5fcad8cf chore(deps): bump astral-sh/setup-uv from 6.0.0 to 6.0.1
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](c7f87aa956...6b9c6063ab)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 03:57:55 +00:00
dependabot[bot]
d8de6c8f7b chore(deps): bump humanize from 4.12.2 to 4.12.3
Bumps [humanize](https://github.com/python-humanize/humanize) from 4.12.2 to 4.12.3.
- [Release notes](https://github.com/python-humanize/humanize/releases)
- [Commits](https://github.com/python-humanize/humanize/compare/4.12.2...4.12.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 03:26:59 +00:00
dependabot[bot]
c3239da266 chore(deps): bump orjson from 3.10.16 to 3.10.18
Bumps [orjson](https://github.com/ijl/orjson) from 3.10.16 to 3.10.18.
- [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.10.16...3.10.18)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 03:26:54 +00:00
dependabot[bot]
1edf948e49 chore(deps): bump pydantic from 2.11.3 to 2.11.4
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.11.3 to 2.11.4.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v2.11.3...v2.11.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 03:26:49 +00:00
dependabot[bot]
224c4a717b chore(deps-dev): bump ruff from 0.11.7 to 0.11.8
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.7 to 0.11.8.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.11.7...0.11.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 03:26:29 +00:00
dependabot[bot]
6202436bfd chore(deps): bump ccxt from 4.4.77 to 4.4.78
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.77 to 4.4.78.
- [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/v4.4.77...v4.4.78)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 03:26:19 +00:00
dependabot[bot]
122144857e chore(deps): bump joblib from 1.4.2 to 1.5.0
Bumps [joblib](https://github.com/joblib/joblib) from 1.4.2 to 1.5.0.
- [Release notes](https://github.com/joblib/joblib/releases)
- [Changelog](https://github.com/joblib/joblib/blob/main/CHANGES.rst)
- [Commits](https://github.com/joblib/joblib/compare/1.4.2...1.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 03:26:13 +00:00
Matthias
92bcf672fb docs: document consumer's initial_candle_limit 2025-05-04 19:53:09 +02:00
Matthias
6f4ffa0758 chore: minor cleanup 2025-05-04 19:32:09 +02:00
Matthias
82186c8a7f docs: fix typo in docs causing note-box to not render 2025-05-04 19:26:26 +02:00
hippocritical
50596e1a6a fixed typo 2025-05-04 17:53:23 +02:00
hippocritical
9edcbbb9a8 Changed formatting to be more readable in source
Added
- How to find and remove bias? How can I salvage the strategy?
- Examples of lookahead-bias
2025-05-04 16:59:24 +02:00
Matthias
a59805d739 docs: small formatting 2025-05-04 14:05:23 +02:00
Robert Davey
b96c06ffdc Update lookahead-analysis.md
Englishified.
2025-05-04 12:34:48 +01:00
Matthias
8abe358c1e docs: improved rendering 2025-05-04 11:57:03 +02:00
Matthias
2142b2aea3 chore: fix type-check 2025-05-04 11:49:03 +02:00
Matthias
53ba3ced06 test: add test for backtest "get price precision" logic 2025-05-04 11:47:42 +02:00
hippocritical
a0f336c31f changed lookahead-analysis.md to better explain the output of the command 2025-05-03 22:12:25 +02:00
Matthias
081fa2209a refactor: correct naming of new function 2025-05-03 20:45:52 +02:00
Matthias
ca67d3fb2c chore: improve price_precision logic resiliancy 2025-05-03 20:44:14 +02:00
Matthias
5a6b43da46 feat: use hsitoric price precision for improved accuracy
closes #11203
2025-05-03 20:37:57 +02:00
Matthias
7d3fa41911 test: add tests for get_significant_digits_over_time 2025-05-03 20:30:25 +02:00
Matthias
b8f3f5e8d2 fix: use month-start for the resample 2025-05-03 20:28:10 +02:00
Matthias
4849d5413f feat: add function to count "significant digits over time". 2025-05-03 20:14:37 +02:00
Matthias
8b8bf6f97d refactor: automatically load detailed bt data 2025-05-03 20:01:13 +02:00
viotemp1
9eea958e17 remove unwrap 2025-05-03 16:55:41 +03:00
Matthias
f8a151c2a5 feat: Add funding_fee to backtest results
closes #11699
2025-05-03 14:14:32 +02:00
Matthias
1013c32316 fix: duplicate generate_optimizer to have a non-delayed alternative 2025-05-03 09:19:50 +02:00
viotemp1
d9ed7e1fb2 remove backtest from assign_params 2025-05-03 09:49:34 +03:00
Matthias
689da4c479 Merge pull request #11158 from freqtrade/feat/plot_annotations
add support for plot_annotations
2025-05-03 08:25:57 +02:00
Matthias
87d954a322 refactor: fix variable typo 2025-05-03 08:03:16 +02:00
Matthias
74f601b352 docs: Improved plot annotations sample 2025-05-03 08:02:09 +02:00
Matthias
a3359b62d4 feat: validate annotation-type before returning
this avoids breaking the whole chart due to annotations.
2025-05-02 20:58:13 +02:00
Matthias
064708a354 feat: validate annotations and only return valid ones to avoid breaking the whole chart 2025-05-02 20:45:42 +02:00
Matthias
066a46d7aa Switch annotationType to Pydantic 2025-05-02 20:41:43 +02:00
Matthias
333660e628 feat: improved doc-string for plot-annotations 2025-05-02 20:41:30 +02:00
Matthias
81f80a6b22 docs: add visual documentation for plot annotations 2025-05-02 20:28:32 +02:00
viotemp1
dd613ac86c fix formatting 2025-05-02 21:07:34 +03:00
viotemp1
73c28890d7 move @delayed and @wrap_non_picklable_objects in hyperopt_optimizer.py
one test with analyze_per_epoch is failing
2025-05-02 21:03:51 +03:00
Matthias
61dd94ceb0 test: add tests for annotations feature 2025-05-02 19:59:23 +02:00
Matthias
1fec5a873e Merge branch 'develop' into feat/plot_annotations 2025-05-02 19:48:50 +02:00
Matthias
9c4abcc927 refactor: improve variable naming 2025-05-02 13:17:16 +02:00
Matthias
b74e38ef63 refactor: improve variable naming 2025-05-02 13:17:03 +02:00
Matthias
86f640627f Merge pull request #11692 from freqtrade/reenable_htx
chore(ci): reenable htx online tests
2025-05-01 16:46:29 +02:00
Matthias
e27568a9d8 chore: pin certifi until upstream issue is fixed
problematic point: https://github.com/certifi/python-certifi/issues/349
2025-05-01 16:22:47 +02:00
Matthias
149133cc44 refactor: remove _get_params_dict method 2025-05-01 12:03:04 +02:00
Matthias
1b2d5a357f test: change level of test mock 2025-05-01 11:57:17 +02:00
Matthias
ecc6371733 test: reduce amount of mocking 2025-05-01 10:19:20 +02:00
Matthias
0c66180cf3 chore: add optuna to hyperopt optional dependencies 2025-05-01 10:15:35 +02:00
Matthias
5954c64cc3 chore: use ubuntu 24.04 for online tests 2025-05-01 08:55:35 +02:00
Matthias
d0b7a52202 Merge pull request #11703 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-05-01 08:10:03 +02:00
Freqtrade Bot
c18085d173 chore: update pre-commit hooks 2025-05-01 03:22:32 +00:00
Matthias
b11119dbe5 Merge pull request #11698 from freqtrade/new_release
New release 2025.4
2025-04-30 18:00:04 +02:00
Matthias
67f88ea97a Merge pull request #11681 from JamesLinxun/develop
skip trade-related columns
2025-04-30 17:59:54 +02:00
Matthias
14353afa78 chore: bump develop version to 2025.5-dev 2025-04-30 07:02:57 +02:00
Matthias
cefc833ab1 chore: bump version to 2025.4 2025-04-30 06:59:57 +02:00
Matthias
5c7c3a88fb Merge branch 'stable' into new_release 2025-04-30 06:59:40 +02:00
Matthias
14e2e160af chore: reformat utility script 2025-04-30 06:53:02 +02:00
Matthias
000eb875a2 chore: bump binance leverage tiers 2025-04-30 06:51:51 +02:00
Matthias
33c8969411 Merge pull request #11697 from froggleston/frog_logs_docs_1
Improve logging docs in 101 and advanced setup
2025-04-29 21:04:07 +02:00
Matthias
d90666d2e8 docs: minor link refactor 2025-04-29 20:22:47 +02:00
Matthias
f568d63c41 Merge pull request #11695 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-04-29 20:08:24 +02:00
James Lin
a77618cc6b fix 2025-04-29 12:09:13 -04:00
JamesLinxun
cac2c363fa Merge branch 'freqtrade:develop' into develop 2025-04-29 10:18:13 -04:00
viotemp1
ced1ce340a fix some formatting issues 2025-04-29 17:09:16 +03:00
froggleston
78943bf88d Add link to FAQ 2025-04-29 14:57:54 +01:00
froggleston
1b8a42d472 Improve logging docs in 101 and advanced setup 2025-04-29 14:55:36 +01:00
James Lin
1d99b7d0f9 move ORDERFLOW_ADDED_COLUMNS to constant 2025-04-29 09:18:07 -04:00
viotemp1
5c47a75f63 move back delayed and wrap_non_picklable_objects from hyperopt_optimizer to hyperopt.
There are tests failing when using delayed and wrap_non_picklable_objects as decorator.
until I'll find a solution to run generate_optimizer standalone for analyze_per_epoch=True
2025-04-29 08:16:44 +03:00
Matthias
1ef2eeb456 chore(ci): reenable htx online tests through proxy 2025-04-29 06:58:59 +02:00
Freqtrade Bot
faa398053a chore: update pre-commit hooks 2025-04-29 03:17:49 +00:00
viotemp1
c32f8e972a move delayed and wrap_non_picklable_objects from hyperopt to hyperopt_optimizer 2025-04-28 18:50:09 +03:00
Matthias
23e4943b3a Merge pull request #11690 from freqtrade/dependabot/pip/develop/pyarrow-20.0.0
chore(deps): bump pyarrow from 19.0.1 to 20.0.0
2025-04-28 12:40:41 +02:00
Matthias
b3ec69fa8a chore: update pyarrow prebuilt wheel 2025-04-28 12:21:27 +02:00
Matthias
dc4aaf0a82 Merge pull request #11688 from freqtrade/dependabot/pip/develop/ccxt-4.4.77
chore(deps): bump ccxt from 4.4.75 to 4.4.77
2025-04-28 10:49:21 +02:00
Matthias
d5b9c6dde8 Merge pull request #11689 from freqtrade/dependabot/pip/develop/torch-2.7.0
chore(deps): bump torch from 2.6.0 to 2.7.0
2025-04-28 09:18:41 +02:00
Matthias
bdfd3396cc Merge pull request #11685 from freqtrade/dependabot/pip/develop/ruff-0.11.7
chore(deps-dev): bump ruff from 0.11.6 to 0.11.7
2025-04-28 08:55:14 +02:00
dependabot[bot]
c9256e0d9f chore(deps): bump torch from 2.6.0 to 2.7.0
Bumps [torch](https://github.com/pytorch/pytorch) from 2.6.0 to 2.7.0.
- [Release notes](https://github.com/pytorch/pytorch/releases)
- [Changelog](https://github.com/pytorch/pytorch/blob/main/RELEASE.md)
- [Commits](https://github.com/pytorch/pytorch/compare/v2.6.0...v2.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 06:42:31 +00:00
dependabot[bot]
c7e02b9a7f chore(deps): bump ccxt from 4.4.75 to 4.4.77
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.75 to 4.4.77.
- [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/v4.4.75...v4.4.77)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 06:42:29 +00:00
Matthias
7d5cd998a3 Merge pull request #11683 from freqtrade/dependabot/github_actions/develop/astral-sh/setup-uv-6.0.0
chore(deps): bump astral-sh/setup-uv from 5.4.2 to 6.0.0
2025-04-28 07:59:41 +02:00
Matthias
96e8319e82 Merge pull request #11686 from freqtrade/dependabot/pip/develop/pymdown-extensions-10.15
chore(deps): bump pymdown-extensions from 10.14.3 to 10.15
2025-04-28 07:41:33 +02:00
Matthias
12d8fc8c3a Merge pull request #11684 from freqtrade/dependabot/github_actions/develop/rjstone/discord-webhook-notify-1.1.1
chore(deps): bump rjstone/discord-webhook-notify from 1.0.4 to 1.1.1
2025-04-28 07:38:09 +02:00
Matthias
1ad0e423c9 chore(ci): add new mandatory parameter to setup-uv 2025-04-28 06:56:19 +02:00
dependabot[bot]
2ef1e203c6 chore(deps): bump pymdown-extensions from 10.14.3 to 10.15
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.14.3 to 10.15.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.14.3...10.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 04:42:22 +00:00
dependabot[bot]
959f81f4ac chore(deps): bump rjstone/discord-webhook-notify from 1.0.4 to 1.1.1
Bumps [rjstone/discord-webhook-notify](https://github.com/rjstone/discord-webhook-notify) from 1.0.4 to 1.1.1.
- [Release notes](https://github.com/rjstone/discord-webhook-notify/releases)
- [Commits](89b0bf43c2...1399c1b2d5)

---
updated-dependencies:
- dependency-name: rjstone/discord-webhook-notify
  dependency-version: 1.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 04:41:01 +00:00
dependabot[bot]
3090e47a12 chore(deps-dev): bump ruff from 0.11.6 to 0.11.7
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.6 to 0.11.7.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.11.6...0.11.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 04:32:42 +00:00
Matthias
02ab0eb139 test: temporarily disable HTX tests 2025-04-28 06:29:48 +02:00
dependabot[bot]
5d8759de78 chore(deps): bump pyarrow from 19.0.1 to 20.0.0
Bumps [pyarrow](https://github.com/apache/arrow) from 19.0.1 to 20.0.0.
- [Release notes](https://github.com/apache/arrow/releases)
- [Commits](https://github.com/apache/arrow/compare/apache-arrow-19.0.1...apache-arrow-20.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 03:55:39 +00:00
dependabot[bot]
b13b00df17 chore(deps): bump astral-sh/setup-uv from 5.4.2 to 6.0.0
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 5.4.2 to 6.0.0.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](d4b2f3b6ec...c7f87aa956)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 03:53:27 +00:00
viotemp1
04492e75b2 remove # Suppress optuna ExperimentalWarning from skopt
with warnings.catch_warnings():
    from optuna.exceptions import ExperimentalWarning
    warnings.filterwarnings("ignore", category=FutureWarning)
this should be when importing sampler
2025-04-27 22:02:39 +03:00
viotemp1
8d0ca7f5c1 remove backtesting from generate_optimizer 2025-04-27 21:26:06 +03:00
Matthias
d8b51875bf test: update tests for new file structure 2025-04-27 11:35:06 +02:00
Matthias
7f12f3a0e4 refactor: rename btanalysis file to be clearer 2025-04-27 11:23:40 +02:00
Matthias
6afcc80937 refactor: move some utils to a separate file 2025-04-27 11:17:14 +02:00
Matthias
efdb726362 refactor: btanalysis -> package 2025-04-27 11:13:35 +02:00
Matthias
3ca7407b09 refactor: improve variable naming 2025-04-27 11:05:51 +02:00
Matthias
22ba0e61e3 chore: add docstring to explain what the migration method does 2025-04-27 09:12:39 +02:00
Matthias
6e83890a13 chore: reduce log-level of binance migration 2025-04-27 08:45:06 +02:00
Matthias
8a8cc5e563 chore: don't rerun binance futures migration
once it's migrated, new migrations shouldn't be necessary.
2025-04-27 08:44:48 +02:00
Matthias
e1bf3bb825 chore: improve type-safety for migrations 2025-04-26 18:14:39 +02:00
James Lin
0a4f82bc22 update columns from ORDERFLOW_ADDED_COLUMNS 2025-04-26 10:24:53 -04:00
James Lin
5ee7f8037d fix 2025-04-26 10:20:09 -04:00
James Lin
12728c0fcc fix 2025-04-26 10:18:39 -04:00
Matthias
875216cdc5 refactor: improved variable naming 2025-04-26 09:20:55 +02:00
James Lin
362f0895f4 skip trade-related columns 2025-04-25 16:13:33 -04:00
Matthias
903b580026 fix: new_pair logic for binance won't work on funding rates
closes #11680
2025-04-25 16:18:12 +02:00
Matthias
073b625355 test: update test for calculate_market_change 2025-04-25 08:28:31 +02:00
Matthias
b3b21e6b93 fix: market_change deviation between backtesting and hyperopt
closes #11672
2025-04-25 08:28:19 +02:00
Matthias
b8b4b2d2f3 Merge pull request #11676 from mrpabloyeah/fix-mixed-tag-stats-in-backtest-output
Fix mixed tag stats in backtest output
2025-04-24 19:43:19 +02:00
mrpabloyeah
0cf1f6dc88 Fix 2 for passing CI 2025-04-24 14:53:25 +02:00
mrpabloyeah
502d50c988 Fix for passing CI 2025-04-24 14:44:33 +02:00
mrpabloyeah
ed8b8fbf61 Fix mixed tag stats in backtest output 2025-04-24 14:24:36 +02:00
Matthias
956398ab21 Merge pull request #11671 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-04-24 06:25:54 +02:00
Freqtrade Bot
f3154423bd chore: update pre-commit hooks 2025-04-24 03:17:07 +00:00
Matthias
fb64ac942b chore: raise freqtrade exception so upstream handling is in place 2025-04-23 20:18:58 +02:00
Matthias
3fc40f45b3 chore: simplify diff in hyperopt-tinterface
Use aliases where possible.
2025-04-23 20:15:24 +02:00
Matthias
ca5ccc8799 chore: cleanup some code 2025-04-23 20:07:40 +02:00
Matthias
057cc2538e chore: use optuna distribution aliases in parameters 2025-04-23 20:02:58 +02:00
Matthias
ed22789a1a chore: cleanup unused import 2025-04-23 19:53:07 +02:00
Matthias
2abf22e37b chore: simplify usage of data_pickle_file 2025-04-23 19:50:17 +02:00
Matthias
9b08b51ad8 chore: cleanup dead code 2025-04-23 19:50:17 +02:00
Matthias
83cdf76636 chore: simplify import/exports 2025-04-23 19:50:17 +02:00
Matthias
f545113840 chore: improve EstimatorType type 2025-04-23 19:50:17 +02:00
Matthias
f86bc71c43 chore: cleanup some test code 2025-04-23 19:19:55 +02:00
Matthias
8af9875d45 docs: remove scikit-optimize references from docs 2025-04-23 19:17:43 +02:00
Matthias
8a9b31eccd chore: remove scikit-optimize dependency 2025-04-23 19:16:17 +02:00
Matthias
124c051432 docs: add "realized_profit" field to trade object docs
closes #11668
2025-04-22 19:09:07 +02:00
Matthias
67bcf38ea5 Merge pull request #11669 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-04-22 07:19:45 +02:00
Matthias
a98dd0eea3 chore: Pin docker github action versions 2025-04-22 07:02:07 +02:00
Matthias
103f64227f chore: Pin more github action versions 2025-04-22 07:00:33 +02:00
Matthias
5b481009d6 chore(ci): pin github actions 2025-04-22 06:56:45 +02:00
Freqtrade Bot
3da6a8146e chore: update pre-commit hooks 2025-04-22 03:16:59 +00:00
Matthias
a8b313d387 Merge pull request #11661 from freqtrade/dependabot/pip/develop/mkdocs-206b511215
chore(deps): bump mkdocs-material from 9.6.11 to 9.6.12 in the mkdocs group
2025-04-21 11:52:58 +02:00
Matthias
574419f3a4 test: freeze time to avoid random test failure 2025-04-21 11:22:16 +02:00
Matthias
5793888113 Merge pull request #11665 from freqtrade/dependabot/pip/develop/uvicorn-0.34.2
chore(deps): bump uvicorn from 0.34.1 to 0.34.2
2025-04-21 08:57:00 +02:00
Matthias
b835af58c5 Merge pull request #11666 from freqtrade/dependabot/pip/develop/prompt-toolkit-3.0.51
chore(deps): bump prompt-toolkit from 3.0.50 to 3.0.51
2025-04-21 08:15:35 +02:00
Matthias
ca0b6998f0 Merge pull request #11662 from freqtrade/dependabot/pip/develop/packaging-25.0
chore(deps): bump packaging from 24.2 to 25.0
2025-04-21 08:15:02 +02:00
Matthias
77c3894fe2 Merge pull request #11667 from freqtrade/dependabot/pip/develop/ruff-0.11.6
chore(deps-dev): bump ruff from 0.11.5 to 0.11.6
2025-04-21 08:14:46 +02:00
dependabot[bot]
0c46afaee4 chore(deps-dev): bump ruff from 0.11.5 to 0.11.6
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.5 to 0.11.6.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.11.5...0.11.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 04:07:25 +00:00
dependabot[bot]
b6e9609039 chore(deps): bump prompt-toolkit from 3.0.50 to 3.0.51
Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.50 to 3.0.51.
- [Release notes](https://github.com/prompt-toolkit/python-prompt-toolkit/releases)
- [Changelog](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/main/CHANGELOG)
- [Commits](https://github.com/prompt-toolkit/python-prompt-toolkit/compare/3.0.50...3.0.51)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 04:06:57 +00:00
dependabot[bot]
1b6dadbc87 chore(deps): bump uvicorn from 0.34.1 to 0.34.2
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.34.1 to 0.34.2.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/docs/release-notes.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.34.1...0.34.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 04:06:46 +00:00
dependabot[bot]
1b18856d0b chore(deps): bump packaging from 24.2 to 25.0
Bumps [packaging](https://github.com/pypa/packaging) from 24.2 to 25.0.
- [Release notes](https://github.com/pypa/packaging/releases)
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pypa/packaging/compare/24.2...25.0)

---
updated-dependencies:
- dependency-name: packaging
  dependency-version: '25.0'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 04:06:02 +00:00
dependabot[bot]
35e9805ef1 chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.6.11 to 9.6.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.6.11...9.6.12)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 04:02:45 +00:00
Matthias
dcf38557ee chore: add segment about AI
We'll reserve the right to close questions asking for help with AI
generated strategies or configurations.
2025-04-20 15:55:34 +02:00
Matthias
54d78fd1c6 chore: update documentation link in template 2025-04-20 15:54:47 +02:00
Matthias
6040c391d3 chore: improved bug-report wording 2025-04-20 15:51:16 +02:00
mrpabloyeah
b4a5f66f29 Return the trade duration along with the profit threshold returned by custom_roi 2025-04-20 13:39:35 +02:00
mrpabloyeah
e105ea660b Improve documentation 2025-04-20 13:16:27 +02:00
mrpabloyeah
1149393789 Fix LocalTrade compatibility correctly 2025-04-20 01:33:34 +02:00
mrpabloyeah
d4655660f4 Fix LocalTrade compatibility in custom_roi and min_roi_reached_entry 2025-04-19 16:36:13 +02:00
mrpabloyeah
e656063771 Add custom_roi strategy callback 2025-04-19 15:42:44 +02:00
Matthias
0c6ed588b5 Merge pull request #11655 from freqtrade/fix/11650
Fix max-stake-amount with high leverage
2025-04-19 14:19:39 +02:00
Matthias
45dc667233 Merge pull request #11651 from hippocritical/develop
added mentioning of the base exchange folder to list-data
2025-04-18 15:34:57 +02:00
Matthias
10d79f6232 feat: update --datadir description
Updates across all subcommands and when running with `--help`.
2025-04-18 14:59:06 +02:00
Matthias
3c20106e7d Merge pull request #11652 from Code0x58/bugfix/log_config
Fix config["log_config"] use so it doesn't break during deepcopy/backtesting
2025-04-18 14:53:41 +02:00
Matthias
1e1c9a28f2 chore: simplify types in exchange class 2025-04-18 14:46:13 +02:00
Matthias
6a01985fd1 test: add test case to ensure max_stake considers leverage tiers 2025-04-18 14:35:54 +02:00
Matthias
be572ba046 fix: include leverage tiers in max_stake calculation
closes #11650
2025-04-18 14:19:28 +02:00
Matthias
f711afd843 chore: slight reordering within stake_amount_limit method 2025-04-18 14:07:04 +02:00
Matthias
d6f58cd6cf test: fix leverage test 2025-04-18 14:02:05 +02:00
Matthias
9dd1ce71ca fix: improve get_max_leverage logic 2025-04-18 14:01:34 +02:00
Matthias
0a0a8428d5 chore: simplify method 2025-04-18 13:02:22 +02:00
Matthias
fdc248a1b1 fix: entry_stakes should be leverage adjusted 2025-04-18 12:53:52 +02:00
Matthias
bfadd54ea3 Merge pull request #11653 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-04-17 06:29:17 +02:00
Freqtrade Bot
ed23dc0f72 chore: update pre-commit hooks 2025-04-17 03:16:17 +00:00
hippocritical
27e3ae8c24 added list-data comment for --datadir to have the user not specify [exchange]/futures/ by themselves. They should use --trading-mode.
They will get a timerange of 1970-1970 in conjunction with --show-timerange otherwise.
2025-04-16 21:23:26 +02:00
hippocritical
f6cb446bff added list-data comment for --datadir to have the user not specify [exchange]/futures/ by themselves. They should use --trading-mode.
They will get a timerange of 1970-1970 in conjunction with --show-timerange otherwise.
2025-04-16 21:22:55 +02:00
Matthias
72786ca706 chore: drop pandas_ta from default template 2025-04-16 18:28:07 +02:00
Matthias
825c059c2e chore: update ta-lib binaries 2025-04-16 07:12:56 +02:00
Oliver Bristow
3e2a799d9f Fix config["log_config"] use so it doesn't break in backtesting
The issue as that `logging.config.dictConfig(log_config)` ends up using the dictionary in place and including non-picklable items (saw an RLock), blowing up backtesting.
2025-04-16 00:13:05 +01:00
Matthias
8e8f4dbdd3 chore: drop stable-baselines install from mac x64
in line with #11541
2025-04-15 06:38:08 +02:00
Matthias
841f57800e Merge pull request #11645 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-04-15 06:35:55 +02:00
Matthias
865c253922 chore: bump dockerfile and windows install numpy 2025-04-15 06:31:16 +02:00
Matthias
cd6e06c86e chore: bump ta-lib to 0.5.4
This version supports numpy2 - while still remaining on ta-lib C of 0.4
This will avoid huge update problems, as the underlying library doesn't need to be updated
2025-04-15 06:30:34 +02:00
Matthias
422f225e8e chore: update numpy pyproject lock range 2025-04-15 06:29:26 +02:00
Matthias
9921c54882 chore: bump nunmpy to 2.2.4 2025-04-15 06:28:40 +02:00
Freqtrade Bot
5b6ea5ca90 chore: update pre-commit hooks 2025-04-15 03:17:51 +00:00
Matthias
162c1c606c Merge pull request #11639 from freqtrade/dependabot/pip/develop/urllib3-2.4.0
chore(deps): bump urllib3 from 2.3.0 to 2.4.0
2025-04-14 18:26:23 +02:00
Matthias
de0759c36a Merge pull request #11635 from freqtrade/dependabot/pip/develop/uvicorn-0.34.1
chore(deps): bump uvicorn from 0.34.0 to 0.34.1
2025-04-14 07:41:30 +02:00
Matthias
1dbef58fe9 Merge pull request #11637 from freqtrade/dependabot/pip/develop/ccxt-4.4.75
chore(deps): bump ccxt from 4.4.73 to 4.4.75
2025-04-14 07:17:59 +02:00
Matthias
a63280bfa5 Merge pull request #11640 from freqtrade/dependabot/pip/develop/markdown-3.8
chore(deps): bump markdown from 3.7 to 3.8
2025-04-14 07:17:22 +02:00
Matthias
093a3f0e25 Merge pull request #11638 from freqtrade/dependabot/pip/develop/ruff-0.11.5
chore(deps-dev): bump ruff from 0.11.4 to 0.11.5
2025-04-14 07:12:39 +02:00
Matthias
f8fc8a7f33 Merge pull request #11636 from freqtrade/dependabot/pip/develop/catboost-1.2.8
chore(deps): bump catboost from 1.2.7 to 1.2.8
2025-04-14 07:03:17 +02:00
dependabot[bot]
f8bf850673 chore(deps): bump uvicorn from 0.34.0 to 0.34.1
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.34.0 to 0.34.1.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/docs/release-notes.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.34.0...0.34.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 04:54:35 +00:00
Matthias
d06a531c72 Merge pull request #11634 from freqtrade/dependabot/pip/develop/pydantic-2.11.3
chore(deps): bump pydantic from 2.11.2 to 2.11.3
2025-04-14 06:53:12 +02:00
dependabot[bot]
b341bc5a8c chore(deps): bump markdown from 3.7 to 3.8
Bumps [markdown](https://github.com/Python-Markdown/markdown) from 3.7 to 3.8.
- [Release notes](https://github.com/Python-Markdown/markdown/releases)
- [Changelog](https://github.com/Python-Markdown/markdown/blob/master/docs/changelog.md)
- [Commits](https://github.com/Python-Markdown/markdown/compare/3.7...3.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 03:36:31 +00:00
dependabot[bot]
5ac1cf929b chore(deps): bump urllib3 from 2.3.0 to 2.4.0
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.3.0 to 2.4.0.
- [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/2.3.0...2.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 03:36:23 +00:00
dependabot[bot]
eca2ca3dc2 chore(deps-dev): bump ruff from 0.11.4 to 0.11.5
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.4 to 0.11.5.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.11.4...0.11.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 03:36:19 +00:00
dependabot[bot]
1d8fd059c6 chore(deps): bump ccxt from 4.4.73 to 4.4.75
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.73 to 4.4.75.
- [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/v4.4.73...v4.4.75)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 03:36:07 +00:00
dependabot[bot]
a95972ae3f chore(deps): bump catboost from 1.2.7 to 1.2.8
Bumps [catboost](https://github.com/catboost/catboost) from 1.2.7 to 1.2.8.
- [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.2.7...v1.2.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 03:35:59 +00:00
dependabot[bot]
37985dfeea chore(deps): bump pydantic from 2.11.2 to 2.11.3
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.11.2 to 2.11.3.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v2.11.2...v2.11.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 03:35:46 +00:00
Matthias
768efc45ff Merge pull request #11628 from mrpabloyeah/allow-warning-messages-when-starting-backtesting
Allow warning messages when starting backtesting
2025-04-13 19:28:20 +02:00
mrpabloyeah
e6b5233d2f Add space after docstring 2025-04-13 13:25:30 +02:00
mrpabloyeah
6fa1133c61 Remove space at the end of logging_mixin.py 2025-04-13 13:12:43 +02:00
Matthias
b1adb2b13d Merge pull request #11627 from arenstar/ftclient_trades_order_fix
Ftclient trades order fix
2025-04-13 13:09:07 +02:00
mrpabloyeah
16378d32d7 Show only selected warnings using the force_show parameter 2025-04-13 13:06:35 +02:00
mrpabloyeah
33105a996e Show only whitelist warnings 2025-04-13 12:27:19 +02:00
viotemp1
20fca07d8f fixed mypy errors
freqtrade/optimize/space/optunaspaces.py:39: error: Argument 1 to "__init__" of "IntDistribution" has incompatible type "int | float"; expected "int"  [arg-type]
	freqtrade/optimize/space/optunaspaces.py:39: error: Argument 2 to "__init__" of "IntDistribution" has incompatible type "int | float"; expected "int"  [arg-type]
remove all references for ExtraTreesRegressor and skopt.space
2025-04-13 12:39:44 +03:00
viotemp1
8ee40ade45 update docs/advanced-hyperopt.md 2025-04-13 11:27:33 +03:00
Matthias
a6d76cad39 test: improve api test to ensure the default is what we expect 2025-04-13 10:24:34 +02:00
viotemp1
30ead79e11 fixed freqtrade/optimize/space/__init__.py:1:66: RUF100 [*] Unused noqa directive (unused: F401) 2025-04-13 11:22:07 +03:00
viotemp1
5c859d929b add optunaspaces.py 2025-04-13 11:06:39 +03:00
viotemp1
c89058788e remove decimal module 2025-04-13 09:49:33 +03:00
viotemp1
35c3868c56 change for SKDecimal and othercomments 2025-04-13 08:58:42 +03:00
mrpabloyeah
3d1568783e Allow warning messages when starting backtesting 2025-04-13 01:39:03 +02:00
David Arena
194d53acf8 fix: adding checks for trades and order_by_id 2025-04-12 16:57:30 +02:00
Matthias
85689ebc1c test: update skdecimal test to use optuna 2025-04-12 12:37:17 +02:00
Matthias
4fcc9dd587 feat: use floatDistribution for SKDecimal 2025-04-12 12:10:48 +02:00
Matthias
05f19d574a chore: remove commented skopt usages 2025-04-12 10:13:42 +02:00
Matthias
1a24559729 chore: cleanup old usages 2025-04-12 10:08:41 +02:00
Matthias
7a51c9d540 types: slightly improved typing 2025-04-12 10:05:11 +02:00
Matthias
1d22377cad chore: remove some skopt usages 2025-04-12 09:58:44 +02:00
Matthias
82cd343fc1 Merge pull request #11626 from hippocritical/develop
removed legacy port 3000 at frequenthippo.ddns.net
2025-04-12 07:59:14 +02:00
David Arena
751d98495f fix: tests/formatting 2025-04-12 00:02:31 +02:00
David Arena
49b119f1dc Feat: option for order_by_id 2025-04-11 23:53:27 +02:00
David Arena
6ba0eaf593 Merge pull request #1 from freqtrade/develop
Merge from upstream
2025-04-11 23:40:05 +02:00
hippocritical
87f07d5f91 fixed description 2025-04-11 21:11:54 +02:00
hippocritical
a24f5d64a1 removed legacy port 3000 at frequenthippo.ddns.net 2025-04-11 20:25:23 +02:00
Matthias
30eb32862c docs: update title in parameter table 2025-04-11 06:31:15 +02:00
Matthias
6ae5724ad1 Merge pull request #11618 from mrpabloyeah/hyperopt_loss_max_drawdown_per_pair
Add new loss function based on profit/drawdown ratio per pair
2025-04-10 07:14:34 +02:00
Matthias
90a57e7384 Merge pull request #11621 from freqtrade/dependabot/docker/python-3.13.3-slim-bookworm
chore(deps): bump python from 3.12.9-slim-bookworm to 3.12.10-slim-bookworm
2025-04-10 06:43:18 +02:00
Matthias
16379bbcc5 test: small adjustment to test
(simplifying future usage)
2025-04-10 06:43:12 +02:00
Matthias
05bb7e2fad Merge pull request #11620 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-04-10 06:22:55 +02:00
Matthias
6e98635345 chore: bump armhf dockerfile to 3.11.12 2025-04-10 06:22:38 +02:00
Matthias
de8dd83340 chore: docker should stay at 3.12 for now. 2025-04-10 06:21:39 +02:00
dependabot[bot]
b3296b75e9 chore(deps): bump python
Bumps python from 3.12.9-slim-bookworm to 3.13.3-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.13.3-slim-bookworm
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-10 03:36:43 +00:00
Freqtrade Bot
2f9ec970a5 chore: update pre-commit hooks 2025-04-10 03:15:12 +00:00
mrpabloyeah
568c579cab Improve documentation 2025-04-10 00:46:07 +02:00
Matthias
e116b71400 feat: Improve ruff config (use RUF rules) 2025-04-09 20:10:44 +02:00
Matthias
a85dc6972d chore: Fix errors through S404 noqa's 2025-04-09 20:10:19 +02:00
Matthias
feab28de91 chore: unpack instead of list concat 2025-04-09 20:05:15 +02:00
Matthias
0aa05855d5 chore: unpack instead of list concat 2025-04-09 20:03:38 +02:00
Matthias
44591053b6 refactor: simplify some checks 2025-04-09 19:58:55 +02:00
Matthias
c11de3ac38 chore: remove pointless ambiguous unicode characters 2025-04-09 19:52:05 +02:00
Matthias
b797a5bf2f chore: remove some unused noqa's 2025-04-09 19:51:38 +02:00
Matthias
1d9d2fce7f chore: add noQA for S404 2025-04-09 19:49:02 +02:00
Matthias
0e92372b0b chore: don't use list[0] - but next 2025-04-09 19:42:46 +02:00
Matthias
68fbab5c32 test: fix type-problem in tests 2025-04-09 19:31:30 +02:00
Matthias
596f6711f3 chore: don't use deprecated logger.warn method 2025-04-09 18:58:24 +02:00
mrpabloyeah
c2296d83c3 Fix for passing CI 2025-04-08 23:17:34 +02:00
mrpabloyeah
9a3ada65f5 Complete the integration on freqtrade 2025-04-08 23:12:51 +02:00
mrpabloyeah
df50e03239 Complete the integration on freqtrade 2025-04-08 22:58:42 +02:00
Matthias
9d0f5df549 docs: update docs about reduce_df_footprint 2025-04-08 19:38:23 +02:00
Matthias
6b41594c53 refactor: _if_enabled_populate_trades may mutate the dataframe 2025-04-08 19:33:50 +02:00
Matthias
2d194995bc feat: add reduce_df_footprint to backtest/hyperopt modes
Co-authored-by: alisayyah <ali.sayyah2@gmail.com>
2025-04-08 19:21:49 +02:00
mrpabloyeah
904580b914 Fix 2 for passing CI 2025-04-08 17:41:13 +02:00
mrpabloyeah
9373779fba Fix for passing CI 2025-04-08 17:29:12 +02:00
mrpabloyeah
692bb36c80 Add new loss function based on profit/drawodown ratio per pair 2025-04-08 17:06:43 +02:00
Matthias
8de5e2b7b8 Merge pull request #11609 from Axel-CH/doc/update-stopbuy-doc
doc: Update telegram usage doc to match paused state feature and usage
2025-04-08 06:49:52 +02:00
Matthias
6185761727 chore: add note about multiTarget being a copy
It's a copy of XGBoostRegressor.
2025-04-08 06:33:20 +02:00
Matthias
6c625c77c0 Merge pull request #11616 from freqtrade/alias-xgboost-model
Make XgboostMulti an alias of Xgboost
2025-04-08 06:30:07 +02:00
Matthias
9950ed715e Merge pull request #11617 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-04-08 06:28:17 +02:00
Matthias
9b9ef6ae6d docs: Minor adjustment to doc wording 2025-04-08 06:26:49 +02:00
Freqtrade Bot
8075106286 chore: update pre-commit hooks 2025-04-08 03:14:59 +00:00
Matthias
6b033c211e chore: ensure trades are committed after the exit loop 2025-04-07 19:52:35 +02:00
Matthias
8be31275d7 chore: use "pass" for empty type 2025-04-07 19:31:14 +02:00
Matthias
a3d3a4de51 test: Update test to reflect new total_profit calculation 2025-04-07 19:28:43 +02:00
Matthias
f1b890954a test: enable total_profit_ratio asserts 2025-04-07 19:28:43 +02:00
Matthias
0f2ff70bdf test: adjust test to reflect reality
(amount is * leverage)
2025-04-07 19:28:43 +02:00
Matthias
4c42bd7100 fix: correct relative total_profit calculation
closes freqtrade/frequi#2369
2025-04-07 19:28:43 +02:00
Matthias
9acf8943ed Don't recalculate profit_abs twice 2025-04-07 19:28:43 +02:00
Matthias
4986f356ee refactor: Type backtest results 2025-04-07 19:28:43 +02:00
Matthias
ca390eea6a refactor: move import to list_exchanges function 2025-04-07 19:28:43 +02:00
Axel-CH
cd9c45e875 doc: slight order change in pause telegram command description 2025-04-07 09:23:49 -04:00
Axel-CH
c90ac30077 doc: combine /pause and /stopentry /stopbuy sections in telegram usage doc 2025-04-07 09:20:21 -04:00
Matthias
466914d5c7 Merge pull request #11614 from freqtrade/dependabot/pip/develop/pydantic-2.11.2
chore(deps): bump pydantic from 2.11.1 to 2.11.2
2025-04-07 06:59:03 +02:00
Matthias
f86f955e24 Merge pull request #11613 from freqtrade/dependabot/pip/develop/ruff-0.11.4
chore(deps-dev): bump ruff from 0.11.2 to 0.11.4
2025-04-07 06:47:48 +02:00
Matthias
affab24185 Merge pull request #11611 from freqtrade/dependabot/pip/develop/mkdocs-004cc99d25
chore(deps): bump mkdocs-material from 9.6.10 to 9.6.11 in the mkdocs group
2025-04-07 06:43:42 +02:00
Matthias
125126fb86 Merge pull request #11612 from freqtrade/dependabot/pip/develop/ccxt-4.4.73
chore(deps): bump ccxt from 4.4.71 to 4.4.73
2025-04-07 06:36:35 +02:00
Matthias
010ed6992b Merge pull request #11610 from freqtrade/dependabot/pip/develop/pytest-acfb5e3268
chore(deps-dev): bump pytest-cov from 6.0.0 to 6.1.1 in the pytest group
2025-04-07 06:26:52 +02:00
dependabot[bot]
d8bbd4054e chore(deps): bump pydantic from 2.11.1 to 2.11.2
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.11.1 to 2.11.2.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v2.11.1...v2.11.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 03:27:54 +00:00
dependabot[bot]
baefaeb311 chore(deps-dev): bump ruff from 0.11.2 to 0.11.4
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.2 to 0.11.4.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.11.2...0.11.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 03:27:49 +00:00
dependabot[bot]
288db16198 chore(deps): bump ccxt from 4.4.71 to 4.4.73
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.71 to 4.4.73.
- [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/v4.4.71...v4.4.73)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 03:27:39 +00:00
dependabot[bot]
eb4199fe80 chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.6.10 to 9.6.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.6.10...9.6.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 03:27:25 +00:00
dependabot[bot]
9a151b1ecf chore(deps-dev): bump pytest-cov from 6.0.0 to 6.1.1 in the pytest group
Bumps the pytest group with 1 update: [pytest-cov](https://github.com/pytest-dev/pytest-cov).


Updates `pytest-cov` from 6.0.0 to 6.1.1
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v6.0.0...v6.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 03:27:16 +00:00
Axel-CH
7dddab18c4 doc: update telegram usage doc to match paused state feature and usage 2025-04-06 20:02:44 -04:00
Matthias
a85afd9af3 feat: add "indicator_periods_candles" to config schema 2025-04-06 12:52:20 +02:00
Matthias
d09efa6dd1 Merge pull request #11598 from Code0x58/feature/test-args-coupling
Add tests for coupling of `AVAILABLE_CLI_OPTIONS`, `ARGS_*`, and `Arguments`
2025-04-05 18:48:00 +02:00
Matthias
f817b21d17 chore: fix ruff 2025-04-05 18:14:20 +02:00
Matthias
b7298f472c Merge pull request #11561 from mrpabloyeah/calculate-and-save-all-metrics-per-pair
Calculate and save all metrics per pair
2025-04-05 18:12:35 +02:00
Matthias
96baa90003 Merge pull request #11599 from freqtrade/feat/config_schema_precommit
Add custom pre-commit hook for schema extraction
2025-04-04 19:32:35 +02:00
Robert Caulk
fae7198bb4 fix: Make XgboostMulti an alias of Xgboost since it supports multiple targets implicitly now 2025-04-04 13:53:44 +02:00
Oliver Bristow
55be046933 Add test for coupling of AVAILABLE_CLI_OPTIONS and Arguments 2025-04-04 11:21:20 +01:00
Oliver Bristow
38fa7068ca Add test for coupling of AVAILABLE_CLI_OPTIONS and ARGS_* 2025-04-04 11:21:20 +01:00
Matthias
e5389be209 chore: import sys only when necessary 2025-04-04 09:32:16 +02:00
Matthias
19a997a2db chore: add comment for custom pre-commit hook 2025-04-04 07:25:37 +02:00
Matthias
eac440649b refactor: move config_schema to it's own package
This is to avoid import conflicts and allow running
 the schema extraction without a full freqtrade installation.
2025-04-04 07:23:45 +02:00
Matthias
21a47bb1ac chore: add config-schema extract to pre-commit 2025-04-04 07:20:04 +02:00
Matthias
b839e159a8 chore: Support config schema extract without installation 2025-04-04 07:19:47 +02:00
Matthias
91df1257e7 chore: update install-ui command partial 2025-04-04 06:48:42 +02:00
Matthias
88f8e831d7 test: Update ui test to also test for pre-release filtering 2025-04-03 20:28:47 +02:00
Matthias
627eee5fcf feat: allow explicit download of pre-release UI versions 2025-04-03 20:28:25 +02:00
Matthias
26c7752b7c feat: don't install pre-releases 2025-04-03 20:21:08 +02:00
Matthias
1aaf0c2034 Merge pull request #11539 from Axel-CH/feat/add-paused-state
Feature: add paused state
2025-04-03 06:48:48 +02:00
Matthias
ac3a5900b4 Merge pull request #11593 from mrpabloyeah/fix-drawdown-calculation-2
Fix drawdown calculation when maximum drawdown happens on the first trade
2025-04-03 06:31:53 +02:00
Matthias
60695fe205 Merge pull request #11595 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-04-03 06:24:17 +02:00
Freqtrade Bot
2e2f40ca10 chore: update pre-commit hooks 2025-04-03 03:14:19 +00:00
Matthias
1f09b90dbe chore: improved docstring 2025-04-02 19:43:56 +02:00
Matthias
9c39b99ec6 test: add test case for new next_limit_in_list usecase 2025-04-02 19:43:20 +02:00
Matthias
2e343b9fbd fix: add l2 upper-limit (for gate)
closes #11592
2025-04-02 19:41:07 +02:00
viotemp1
90aaaa50fc fix increasing memory usage. 2025-04-02 18:45:49 +03:00
mrpabloyeah
087fb31f26 Fix for passing CI 2025-04-02 16:02:42 +02:00
mrpabloyeah
3edc442f48 Fix drawdown calculation when maximum drawdown occurs on the first trade 2025-04-02 15:46:05 +02:00
Matthias
b6cf3cc57d Merge branch 'develop' into pr/mrpabloyeah/11561 2025-04-02 07:05:36 +02:00
Matthias
be2d97b559 Merge pull request #11590 from mrpabloyeah/fix-drawdown-calculation
Fix drawdown calculation when there are no winning trades
2025-04-02 07:04:48 +02:00
mrpabloyeah
a3f23fd4fb Also fix the expected result in the test 2025-04-01 22:51:29 +02:00
mrpabloyeah
68f32d76ae Fix drawdown calculation when there are no winning trades 2025-04-01 20:54:03 +02:00
Sung-Kyu Yoo
bffb3120c1 fix: remove space in rename_dict/rename_dict_old 2025-04-01 22:18:26 +09:00
Matthias
bb596d6f8d Merge pull request #11586 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-04-01 06:51:59 +02:00
Axel-CH
ca573a828f chore: update _rpc_pause return wording 2025-04-01 00:34:38 -04:00
Freqtrade Bot
e9cd840f5b chore: update pre-commit hooks 2025-04-01 03:20:59 +00:00
viotemp1
3fcf6559ab change from skopt.space.Real to optuna.distributions.FloatDistribution 2025-03-31 13:48:12 +03:00
Matthias
7894c08b83 Merge pull request #11574 from freqtrade/dependabot/pip/develop/types-5caadd7f67
chore(deps-dev): bump types-requests from 2.32.0.20250306 to 2.32.0.20250328 in the types group
2025-03-31 09:40:31 +02:00
Matthias
296c14afc0 chore: bump pre-commit types-requests 2025-03-31 09:06:26 +02:00
dependabot[bot]
b2b1518708 chore(deps-dev): bump types-requests in the types group
Bumps the types group with 1 update: [types-requests](https://github.com/python/typeshed).


Updates `types-requests` from 2.32.0.20250306 to 2.32.0.20250328
- [Commits](https://github.com/python/typeshed/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 07:04:07 +00:00
Matthias
93967ad8f0 Merge pull request #11580 from freqtrade/dependabot/pip/develop/ccxt-4.4.71
chore(deps): bump ccxt from 4.4.69 to 4.4.71
2025-03-31 09:02:38 +02:00
Matthias
6082beb58d Merge pull request #11579 from freqtrade/dependabot/pip/develop/sqlalchemy-2.0.40
chore(deps): bump sqlalchemy from 2.0.39 to 2.0.40
2025-03-31 08:14:26 +02:00
Matthias
8309853439 Merge pull request #11583 from freqtrade/dependabot/pip/develop/pytz-2025.2
chore(deps): bump pytz from 2025.1 to 2025.2
2025-03-31 07:55:00 +02:00
Matthias
2522a3be61 Merge pull request #11582 from freqtrade/dependabot/pip/develop/orjson-3.10.16
chore(deps): bump orjson from 3.10.15 to 3.10.16
2025-03-31 07:48:31 +02:00
Matthias
19b38a02fa Merge pull request #11578 from freqtrade/dependabot/pip/develop/humanize-4.12.2
chore(deps): bump humanize from 4.12.1 to 4.12.2
2025-03-31 07:25:35 +02:00
Matthias
4935e23271 Merge pull request #11581 from freqtrade/dependabot/pip/develop/rich-14.0.0
chore(deps): bump rich from 13.9.4 to 14.0.0
2025-03-31 07:13:15 +02:00
Matthias
a4f9a25007 Merge pull request #11577 from freqtrade/dependabot/pip/develop/pydantic-2.11.1
chore(deps): bump pydantic from 2.10.6 to 2.11.1
2025-03-31 06:55:18 +02:00
Matthias
795a0b81ee chore: remove workaround for Kraken ".F" workaround 2025-03-31 06:47:23 +02:00
Matthias
e5268a0449 chore: bump sqlalchemy in pre-commit config 2025-03-31 06:28:40 +02:00
Matthias
c81761e3e2 Merge pull request #11576 from freqtrade/dependabot/pip/develop/mkdocs-5dc90396f2
chore(deps): bump mkdocs-material from 9.6.9 to 9.6.10 in the mkdocs group
2025-03-31 06:27:48 +02:00
Matthias
8fbb4e1e60 Merge pull request #11575 from freqtrade/dependabot/pip/develop/pytest-535e56647f
chore(deps-dev): bump pytest-asyncio from 0.25.3 to 0.26.0 in the pytest group
2025-03-31 06:27:27 +02:00
dependabot[bot]
937aa5c70e chore(deps): bump pytz from 2025.1 to 2025.2
Bumps [pytz](https://github.com/stub42/pytz) from 2025.1 to 2025.2.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2025.1...release_2025.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 03:05:55 +00:00
dependabot[bot]
db647ab4d5 chore(deps): bump orjson from 3.10.15 to 3.10.16
Bumps [orjson](https://github.com/ijl/orjson) from 3.10.15 to 3.10.16.
- [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.10.15...3.10.16)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 03:05:49 +00:00
dependabot[bot]
98652bfd89 chore(deps): bump rich from 13.9.4 to 14.0.0
Bumps [rich](https://github.com/Textualize/rich) from 13.9.4 to 14.0.0.
- [Release notes](https://github.com/Textualize/rich/releases)
- [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Textualize/rich/compare/v13.9.4...v14.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 03:05:45 +00:00
dependabot[bot]
63010bc5e9 chore(deps): bump ccxt from 4.4.69 to 4.4.71
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.69 to 4.4.71.
- [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/v4.4.69...v4.4.71)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 03:05:41 +00:00
dependabot[bot]
dd388a51e0 chore(deps): bump sqlalchemy from 2.0.39 to 2.0.40
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.39 to 2.0.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>
2025-03-31 03:05:33 +00:00
dependabot[bot]
22f109bab1 chore(deps): bump humanize from 4.12.1 to 4.12.2
Bumps [humanize](https://github.com/python-humanize/humanize) from 4.12.1 to 4.12.2.
- [Release notes](https://github.com/python-humanize/humanize/releases)
- [Commits](https://github.com/python-humanize/humanize/compare/4.12.1...4.12.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 03:05:18 +00:00
dependabot[bot]
67e2d9c730 chore(deps): bump pydantic from 2.10.6 to 2.11.1
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.10.6 to 2.11.1.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v2.10.6...v2.11.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 03:05:12 +00:00
dependabot[bot]
07fb941758 chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.6.9 to 9.6.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/9.6.9...9.6.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 03:05:07 +00:00
dependabot[bot]
6fca35adae chore(deps-dev): bump pytest-asyncio in the pytest group
Bumps the pytest group with 1 update: [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio).


Updates `pytest-asyncio` from 0.25.3 to 0.26.0
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.25.3...v0.26.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 03:04:57 +00:00
viotemp1
85f4a8daea fix formatting 2025-03-31 00:10:52 +03:00
viotemp1
2595479e43 change CategoricalParameter and IntParameter in parameters.py to use optuna.distributions CategoricalDistribution and IntDistribution instead of skopt 2025-03-30 21:13:15 +03:00
Matthias
ac9b26cc57 fix: allow backtesting for specific exchanges 2025-03-30 19:34:01 +02:00
Robert Caulk
31aa397492 Merge pull request #11541 from freqtrade/drop_pytorch_support
drop support for macos x64 PyTorch
2025-03-30 17:43:24 +02:00
Matthias
b77739b5ca docs: add exchange docs about hyperliquid historic data 2025-03-30 15:22:11 +02:00
viotemp1
b603771242 Merge branch 'freqtrade:develop' into optuna 2025-03-30 16:19:16 +03:00
Axel-CH
722d5b2319 test: update test of _rpc_pause after removal of specific fallback if bot already paused 2025-03-28 10:18:21 -04:00
Axel-CH
91ace759c5 chore: update _rpc_pause remove specific fallback if bot alreadu paused 2025-03-28 10:17:16 -04:00
Axel-CH
3d8d2fc0c6 test: update tests related to paused state status message wording 2025-03-28 02:32:15 -04:00
Axel-CH
58154d76ae chore: update paused state status message wording 2025-03-28 02:31:18 -04:00
viotemp1
9c1183bc59 fix formatting requirements-hyperopt.txt 2025-03-28 08:12:37 +02:00
Matthias
38feb90f9e chore: update function naming 2025-03-28 06:42:07 +01:00
Matthias
4632839fc5 chore(ci): run coveralls on ubuntu 24.04 runner 2025-03-27 20:05:27 +01:00
Matthias
26ea4fdcc9 chore(ci): simplified syntax 2025-03-27 19:22:35 +01:00
Matthias
3637d7a54c chore(ci): run mypy only on the latest OS each 2025-03-27 18:14:36 +01:00
Matthias
6ee500db4f Merge pull request #11566 from freqtrade/new_release
New release 2025.3
2025-03-27 17:56:46 +01:00
Matthias
583e20dc9d chore: bump dev version to 2025.4-dev 2025-03-27 07:10:48 +01:00
Matthias
b3296a06d9 chore: bump version to 2025.3 2025-03-27 07:04:07 +01:00
Matthias
09051fb641 Merge branch 'stable' into new_release 2025-03-27 07:03:41 +01:00
Matthias
3c6500c2bc Merge pull request #11565 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-03-27 06:50:51 +01:00
Freqtrade Bot
f242110957 chore: update pre-commit hooks 2025-03-27 03:13:26 +00:00
viotemp1
6b78b1c882 fix formatting 2025-03-26 21:30:18 +02:00
viotemp1
ee3d46c8fa change default optimizer to NSGAIIISampler - best results so far 2025-03-26 21:25:56 +02:00
viotemp1
59e52bb601 fix type-errors by declaring the type of o_dimensions in convert_dimensions_to_optuna_space 2025-03-26 16:55:43 +02:00
viotemp1
553dbccec7 simplify get_optimizer 2025-03-26 16:42:09 +02:00
viotemp1
2e06eb0e7b update docs for optuna sampler 2025-03-26 08:46:05 +02:00
viotemp1
31c4d35932 update docs for optuna sampler 2025-03-26 08:44:46 +02:00
viotemp1
eb03382b2d remove SKOPT_MODEL_QUEUE_SIZE comments 2025-03-26 08:36:55 +02:00
Matthias
bb08880c4a test: simplify test_worker_lifecycle 2025-03-26 06:48:57 +01:00
Matthias
948487518d test: improve test_worker_lifecycle 2025-03-26 06:44:39 +01:00
Matthias
9480331b45 Merge pull request #11548 from freqtrade/feat/config_to_btresults
Save config and Strategy to backtest result file
2025-03-26 06:36:23 +01:00
mrpabloyeah
be5d158761 Calculate and save all metrics per pair (fix 5) 2025-03-25 22:03:22 +01:00
mrpabloyeah
4f2681500a Calculate and save all metrics per pair (fix 4) 2025-03-25 21:08:38 +01:00
mrpabloyeah
00237d68e4 Calculate and save all metrics per pair (fix 3) 2025-03-25 20:53:09 +01:00
mrpabloyeah
20325a2b5e Calculate and save all metrics per pair (fix 2) 2025-03-25 20:24:29 +01:00
mrpabloyeah
be40e828a9 Calculate and save all metrics per pair (fix) 2025-03-25 20:16:57 +01:00
mrpabloyeah
916ef43f7f Calculate and save all metrics per pair 2025-03-25 19:53:40 +01:00
Axel-CH
2b01d2e06b feat: display current status in notification after reload config 2025-03-25 13:38:06 -04:00
viotemp1
fcd0c1d606 formatting fix 2025-03-25 19:16:08 +02:00
Axel-CH
0553486e55 feat: prevent raising position size using adjustment position in paused state 2025-03-25 12:09:24 -04:00
Axel-CH
4fa8c3f9ab fix: worker startup condition 2025-03-25 11:55:57 -04:00
Axel-CH
543c77fe00 chore: slight refactor on rpc stop handler 2025-03-25 11:43:23 -04:00
Axel-CH
e77ce8d481 chore: cosmetic worker condition refactoring 2025-03-25 11:39:31 -04:00
Axel-CH
285867f8c6 test: add test_worker_lifecycle 2025-03-25 11:35:48 -04:00
viotemp1
276ef6cdde Merge branch 'freqtrade:develop' into optuna 2025-03-25 15:08:03 +02:00
viotemp1
c5088e6b66 fix formatting 2025-03-25 15:07:09 +02:00
viotemp1
62f05964b4 change optimizer to optuna 2025-03-25 14:06:35 +02:00
Matthias
7c5b2fdffb Merge pull request #11554 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-03-25 06:31:27 +01:00
Freqtrade Bot
8cf3f3826f chore: update pre-commit hooks 2025-03-25 03:14:17 +00:00
Matthias
799ce4e1f2 test: Enhance test to also cover params file saving 2025-03-24 07:10:43 +01:00
Matthias
1fdce89806 chore: Implement safeguard against non-existing strategy files 2025-03-24 06:41:58 +01:00
Matthias
e1f2f0cb64 Merge pull request #11542 from freqtrade/dependabot/pip/develop/mkdocs-05e23a3903
chore(deps): bump mkdocs-material from 9.6.8 to 9.6.9 in the mkdocs group
2025-03-24 06:35:42 +01:00
Matthias
c3b6258dfe Merge pull request #11545 from freqtrade/dependabot/pip/develop/ccxt-4.4.69
chore(deps): bump ccxt from 4.4.68 to 4.4.69
2025-03-24 06:35:15 +01:00
Matthias
4154a7058d Merge pull request #11547 from freqtrade/dependabot/pip/develop/pre-commit-4.2.0
chore(deps-dev): bump pre-commit from 4.1.0 to 4.2.0
2025-03-24 06:34:58 +01:00
Matthias
bdfa9c146e Merge pull request #11543 from freqtrade/dependabot/pip/develop/fastapi-0.115.12
chore(deps): bump fastapi from 0.115.11 to 0.115.12
2025-03-24 06:34:37 +01:00
Matthias
c6d6bc62eb Merge pull request #11546 from freqtrade/dependabot/pip/develop/plotly-6.0.1
chore(deps): bump plotly from 6.0.0 to 6.0.1
2025-03-24 06:34:26 +01:00
Matthias
2347195b0b Merge pull request #11544 from freqtrade/dependabot/pip/develop/ruff-0.11.2
chore(deps-dev): bump ruff from 0.11.0 to 0.11.2
2025-03-24 06:34:09 +01:00
dependabot[bot]
f3101e8a75 chore(deps-dev): bump pre-commit from 4.1.0 to 4.2.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 4.1.0 to 4.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/v4.1.0...v4.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>
2025-03-24 03:21:46 +00:00
dependabot[bot]
43dd90f6d4 chore(deps): bump plotly from 6.0.0 to 6.0.1
Bumps [plotly](https://github.com/plotly/plotly.py) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/main/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v6.0.0...v6.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 03:21:41 +00:00
dependabot[bot]
7ef52365f7 chore(deps): bump ccxt from 4.4.68 to 4.4.69
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.68 to 4.4.69.
- [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/v4.4.68...v4.4.69)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 03:21:33 +00:00
dependabot[bot]
00bdf13fae chore(deps-dev): bump ruff from 0.11.0 to 0.11.2
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.0 to 0.11.2.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.11.0...0.11.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 03:21:22 +00:00
dependabot[bot]
5f8608d3b3 chore(deps): bump fastapi from 0.115.11 to 0.115.12
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.115.11 to 0.115.12.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.115.11...0.115.12)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 03:21:15 +00:00
dependabot[bot]
d19498667a chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.6.8 to 9.6.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/9.6.8...9.6.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 03:21:05 +00:00
Axel-CH
b2898cf742 feat: add stop state change from pause state 2025-03-23 22:27:49 -04:00
Axel-CH
31625befd1 feat: trigger startup function only when the bot leave the stopped state 2025-03-23 22:19:16 -04:00
Axel-CH
394535c2e8 chore: update telegram _stopentry handling function description 2025-03-23 22:13:09 -04:00
Axel-CH
16576d37b1 feat: allow force_exit, rpc_cancel_open_order and _rpc_count in paused state 2025-03-23 15:25:34 -04:00
Axel-CH
53bd2d71a0 test: update test_worker_paused 2025-03-23 15:13:57 -04:00
Axel-CH
df4b44d09e feat: update worker to make paused state capable of bot startup and running process 2025-03-23 15:12:42 -04:00
Axel-CH
b6b3429b62 chore: remove _pause handler to use already existing _stopentry handler 2025-03-23 14:44:30 -04:00
Axel-CH
0adb264c9b test: update test_telegram_init with pause 2025-03-23 14:43:05 -04:00
Matthias
286371c1e4 docs: add documentation for output zip file format 2025-03-23 19:35:02 +01:00
Axel-CH
445c3a67db add pause in telegram commandHandler init 2025-03-23 14:31:36 -04:00
Axel-CH
06c4b661f7 test: fix test__send_msg_keyboard after pause key removal 2025-03-23 14:17:06 -04:00
Matthias
3ffc69ad02 chore: fix typing errors 2025-03-23 19:09:11 +01:00
Matthias
7b44dd17ae feat: strategy-file saving for api backtest 2025-03-23 17:24:00 +01:00
Matthias
5b0b44069a test: Ensure strategy file is added to the test file. 2025-03-23 17:23:05 +01:00
Matthias
85fc936431 feat: add Strategy and parameter file to backtest zip file 2025-03-23 17:22:50 +01:00
Matthias
04a28b2550 fix: backtestResulttype - simplify 2025-03-23 15:51:48 +01:00
Matthias
9fa3a15e24 feat: store (sanitized) configuration 2025-03-23 15:44:55 +01:00
Matthias
23b10161d5 test: improve test resiliance 2025-03-23 15:42:38 +01:00
Axel-CH
b8dffe0eb0 chore: revert telegram keyboard list, remove paused button 2025-03-23 04:09:18 -04:00
Axel-CH
85772ac7f7 test: update stopentry related tests for rpc api and telegram 2025-03-23 00:27:52 -04:00
Axel-CH
3ec72f88e2 test: update test_rpc_stopentry, small wording change on _rpc_stopentry status 2025-03-23 00:14:22 -04:00
Axel-CH
4f4f927b97 chore: wording alignement update between schema.json and .py 2025-03-22 23:58:57 -04:00
Axel-CH
46fab55378 feat: /pause telegram command now use _rpc_stopentry function 2025-03-22 23:57:07 -04:00
Axel-CH
1d44f75659 feat: update api, change /pause from individual route to alias with /stopentry and /stopbuy 2025-03-22 23:50:27 -04:00
Axel-CH
a4416b885a feat: _rpc_stopentry to handle paused state, remove _rpc_pause 2025-03-22 23:45:01 -04:00
Axel-CH
209c2e0ceb doc: paused state small wording fix 2025-03-22 23:31:38 -04:00
Axel-CH
324aada2bc feat: add paused state to config schema, restore it in generated shema.json 2025-03-22 23:24:39 -04:00
Matthias
6f58e01f8e chore: drop support for macos x64 PyTorch 2025-03-22 20:15:18 +01:00
Matthias
31e4501765 docs: improve static pairlist documentation 2025-03-22 14:37:52 +01:00
Axel-CH
50d60fad89 chore: remove paused state from schema.json enum 2025-03-21 20:13:04 -04:00
Axel-CH
7286568447 chore: change order of initial_states schema enum 2025-03-21 19:49:45 -04:00
Axel-CH
3116fd34cf chore: update wording on initial_state description field of schema 2025-03-21 19:18:57 -04:00
Axel-CH
f70815dd8e test: update test_rpc_telegram with new paused state telegram commands 2025-03-21 19:04:14 -04:00
Axel-CH
47151e77e1 feat: add paused state to telegram commands 2025-03-21 19:02:48 -04:00
Axel-CH
5a1f96d35c doc: update the doc with newly added paused state 2025-03-21 18:45:49 -04:00
Axel-CH
fe03bf7ce0 test: add test_worker_paused 2025-03-21 18:16:31 -04:00
Axel-CH
d09160fff8 feat: allow entry only if state is running 2025-03-21 17:30:32 -04:00
Axel-CH
f46c8cdc4a feat: add paused state path to api 2025-03-21 16:58:23 -04:00
Axel-CH
db57f83922 feat: add paused state handler to rpc 2025-03-21 16:49:05 -04:00
Matthias
c6e64bad49 chore: backtesting will always be "true" for dry-run. 2025-03-21 19:09:30 +01:00
Axel-CH
bbf0ac83a1 feat: add paused state to State class 2025-03-21 12:01:28 -04:00
Axel-CH
a9714727b1 feat: add paused state to initial state in schema 2025-03-21 11:54:44 -04:00
Matthias
8e2de9ef7e docs: improve adjust_trade_position formatting 2025-03-21 07:11:08 +01:00
Matthias
5ea7ba6b9a docs: improve adjust_trade_position docs further
part of #11461
2025-03-21 07:05:21 +01:00
Matthias
e3e924d888 docs: minor update to realign summary metric docs 2025-03-21 06:50:52 +01:00
Matthias
02b0f0abd6 refactor: extract replace_order handling 2025-03-20 20:35:17 +01:00
Matthias
7735ea91bb fix: adjust_order_price return type 2025-03-20 20:32:34 +01:00
Matthias
7178ce8559 chore: Add descriptions to api parameters 2025-03-20 18:05:25 +01:00
Matthias
26ba076143 Merge pull request #11093 from arenstar/api-server-list-custom-data
feat: api_server and client supporting list_custom_data
2025-03-20 07:05:48 +01:00
Matthias
425701ddcf test: simplify assert message 2025-03-20 06:44:34 +01:00
Matthias
42e45a0a65 chore: simplify import and docstring 2025-03-20 06:43:50 +01:00
Matthias
b97f3ca818 Merge pull request #11531 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-03-20 06:38:29 +01:00
Freqtrade Bot
dfc77945ce chore: update pre-commit hooks 2025-03-20 03:10:55 +00:00
Axel-CH
6d8011e075 chore: use Trade id for _rpc_list_custom_data output ordering 2025-03-19 15:48:04 -04:00
Axel-CH
1b4f8dfa54 chore: use open_date for _rpc_list_custom_data output ordering 2025-03-19 15:30:02 -04:00
Axel-CH
48b7a85c90 chore: update schema after removal of cd_value field from list custom-data response 2025-03-19 15:24:55 -04:00
Axel-CH
0d7854ff1b test: update tests after removal of cd_value field from list custom-data response 2025-03-19 15:24:19 -04:00
Axel-CH
d3464ac2dc chore: remove cd_value from rpc custom data output 2025-03-19 15:18:33 -04:00
Axel-CH
95f5db9dcd fix: implement ordering for rpc_list_custom_data 2025-03-19 03:11:43 -04:00
Axel-CH
61b29962c4 test: update test after trade id removal from telegram response for list_custom_data 2025-03-19 03:10:23 -04:00
Axel-CH
b83754c5a4 chore: remove trade id from telegram response for list_custom_data 2025-03-19 02:55:51 -04:00
Axel-CH
9a1f2d42a7 fix: list_custom_data trade id variable value 2025-03-19 02:52:38 -04:00
Axel-CH
bd511c2158 fix: rest client custom-data path 2025-03-18 14:56:33 -04:00
Matthias
6b6d7fc310 Merge pull request #11505 from freqtrade/feat/log_from_config
allow loading logging from config
2025-03-18 18:08:07 +01:00
Matthias
c6959c92ac Merge pull request #11499 from mrpabloyeah/add-relevant-metrics-to-backtest-breakdowns
Add relevant metrics to backtest breakdowns
2025-03-18 07:27:05 +01:00
Matthias
7bc6a2279c chore: only round to 2 for output, not for the saved file 2025-03-18 07:02:30 +01:00
Matthias
b431c5b343 Merge pull request #11525 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-03-18 06:37:15 +01:00
Axel-CH
176f5518ea Merge branch 'develop' into api-server-list-custom-data 2025-03-18 00:53:10 -04:00
Axel-CH
06406b7103 test: update test_telegram_list_custom_data 2025-03-18 00:52:21 -04:00
Axel-CH
17e4f5ed1f chore: update telegram _list_custom_data 2025-03-18 00:51:18 -04:00
Axel-CH
578ba9ea4a test: update custom-data api related tests according rpc_list_custom_data output 2025-03-18 00:50:03 -04:00
Axel-CH
83a8651d41 chore: update api schema according rpc_list_custom_data output 2025-03-18 00:48:18 -04:00
Axel-CH
ba0c22b6f0 chore: enhance update rpc_list_custom_data output 2025-03-18 00:46:46 -04:00
Axel-CH
90219f040b chore: enhance list custom-data output format 2025-03-17 23:18:44 -04:00
Freqtrade Bot
fef234d80f chore: update pre-commit hooks 2025-03-18 03:12:53 +00:00
Axel-CH
68ad688665 test: update test_telegram_list_custom_data wording 2025-03-17 18:04:36 -04:00
Axel-CH
0c7a2747d3 chore: revert unnecessary get_custom_data changes 2025-03-17 18:02:04 -04:00
Axel-CH
23187f0c41 chore: simplify error handling in _rpc_list_custom_data 2025-03-17 17:52:29 -04:00
Axel-CH
f66d81c4b8 chore: wording update in _rpc_list_custom_data 2025-03-17 17:45:29 -04:00
Axel-CH
87a64cbe68 chore: small refactor in _rpc_list_custom_data 2025-03-17 17:43:08 -04:00
Axel-CH
ef58aaf9e9 chore: update rest client custom-data related functions inline comment and help content 2025-03-17 17:33:40 -04:00
Axel-CH
4a432760ed feat: add list_open_trades_custom_data to ft rest client 2025-03-17 17:14:37 -04:00
Axel-CH
484943a640 feat: set trade_id as required param in list_custom_data, add key as optional 2025-03-17 15:13:47 -04:00
Axel-CH
eec16cfc8a chore: move list_custom_data closer to trades related functions 2025-03-17 14:58:16 -04:00
Matthias
fddceb2572 chore: pin ccxt version to more recent number 2025-03-17 19:13:26 +01:00
Matthias
d665a01fe6 Merge pull request #11516 from freqtrade/dependabot/pip/develop/sqlalchemy-2.0.39
chore(deps): bump sqlalchemy from 2.0.38 to 2.0.39
2025-03-17 07:23:50 +01:00
Matthias
8f93ac5770 Merge pull request #11514 from freqtrade/dependabot/pip/develop/ccxt-4.4.68
chore(deps): bump ccxt from 4.4.65 to 4.4.68
2025-03-17 07:12:19 +01:00
Matthias
33164ec041 chore: bump sqlalchemy in pre-commit config 2025-03-17 06:35:29 +01:00
dependabot[bot]
0e6cd72edd chore(deps): bump ccxt from 4.4.65 to 4.4.68
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.65 to 4.4.68.
- [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/v4.4.65...v4.4.68)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 05:34:06 +00:00
dependabot[bot]
4f218e4fb2 chore(deps): bump sqlalchemy from 2.0.38 to 2.0.39
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.38 to 2.0.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>
2025-03-17 05:33:48 +00:00
Matthias
0bf411ae19 Merge pull request #11518 from freqtrade/dependabot/pip/develop/python-telegram-bot-22.0
chore(deps): bump python-telegram-bot from 21.11.1 to 22.0
2025-03-17 06:32:43 +01:00
Matthias
283199b6ed Merge pull request #11515 from freqtrade/dependabot/pip/develop/filelock-3.18.0
chore(deps): bump filelock from 3.17.0 to 3.18.0
2025-03-17 06:31:48 +01:00
Matthias
0270a61cba Merge pull request #11519 from freqtrade/dependabot/pip/develop/ruff-0.11.0
chore(deps-dev): bump ruff from 0.9.10 to 0.11.0
2025-03-17 06:31:32 +01:00
Matthias
1aeed3951b Merge pull request #11513 from freqtrade/dependabot/pip/develop/mkdocs-7637a67f6b
chore(deps): bump mkdocs-material from 9.6.7 to 9.6.8 in the mkdocs group
2025-03-17 06:29:17 +01:00
dependabot[bot]
ba38f8120c chore(deps-dev): bump ruff from 0.9.10 to 0.11.0
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.9.10 to 0.11.0.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.9.10...0.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 03:56:11 +00:00
dependabot[bot]
7de9e2c4b6 chore(deps): bump python-telegram-bot from 21.11.1 to 22.0
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 21.11.1 to 22.0.
- [Release notes](https://github.com/python-telegram-bot/python-telegram-bot/releases)
- [Commits](https://github.com/python-telegram-bot/python-telegram-bot/compare/v21.11.1...v22.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 03:56:01 +00:00
dependabot[bot]
331c6beafc chore(deps): bump filelock from 3.17.0 to 3.18.0
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.17.0 to 3.18.0.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.17.0...3.18.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 03:55:37 +00:00
dependabot[bot]
93cbbbbe31 chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.6.7 to 9.6.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.6.7...9.6.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 03:55:22 +00:00
mrpabloyeah
ddd2e2cc3b Add relevant metrics to backtest breakdowns (fix 5) 2025-03-16 18:20:38 +01:00
mrpabloyeah
55301b8d0c Add relevant metrics to backtest breakdowns (fix 4) 2025-03-16 14:25:32 +01:00
mrpabloyeah
a47ed1dbdb Add relevant metrics to backtest breakdowns (fix 3) 2025-03-16 14:17:40 +01:00
Matthias
17b161cb03 chore: improve types in telegram 2025-03-16 14:00:25 +01:00
Matthias
5d3c764e27 test for authorized_users telegram functionality
closes #11503
2025-03-16 14:00:17 +01:00
Matthias
f3aac3d66d feat: add authorized-users key to config schema 2025-03-16 13:48:50 +01:00
Matthias
39903d521e docs: add authorized_users to documentation
closes #11504
2025-03-16 13:48:22 +01:00
Matthias
7255beddea chore: improved null check 2025-03-16 13:47:59 +01:00
Matthias
a95c3ace92 feat: add authorized_users support for telegram 2025-03-16 13:44:23 +01:00
Matthias
d543feb032 tests: simplify telegram test setup 2025-03-16 13:42:15 +01:00
Matthias
623f27341f chore: simplify telegram safety wrapper 2025-03-16 13:21:10 +01:00
Matthias
55dc2d4bf4 chore: update watch reuse log message 2025-03-16 13:07:52 +01:00
Matthias
24e94cfaa7 feat: Improved default fmt_dict for json formatter 2025-03-16 09:54:21 +01:00
Matthias
7db62689c4 test: add test for json formatter 2025-03-16 09:50:58 +01:00
Matthias
da53b5d115 docs: document logging JSON format 2025-03-16 09:43:23 +01:00
Matthias
03dfe4ec45 feat: add jsonFormatter 2025-03-16 09:37:57 +01:00
Matthias
39288d2e53 test: Add fixture to prevent having disabled loggers 2025-03-15 08:30:32 +01:00
Matthias
2a6dc3e45d Merge pull request #11508 from kowhi/develop
Fix the type of the fit_live_predictions_candles field in the config …
2025-03-15 08:05:25 +01:00
Matthias
5964845265 chore: Export json schema 2025-03-15 07:50:43 +01:00
kowhi
9911d2aa32 fix the type of the fit_live_predictions_candles field in the config schema 2025-03-15 12:23:42 +08:00
Matthias
bfd2c3f942 chore: pin freqtrade CI badge to develop branch 2025-03-13 20:43:53 +01:00
Matthias
74c837519a chore: don't use deprecated pandas timeperiod 2025-03-13 20:40:38 +01:00
Matthias
415e361c66 docs: fix note syntax 2025-03-13 20:19:12 +01:00
Matthias
7e154c6fb6 chore: fix too long comment 2025-03-13 20:17:07 +01:00
Matthias
385b39ff66 docs: enhance logging documentation with links 2025-03-13 20:16:11 +01:00
Matthias
9d232c4949 docs: add log_config to supported log options 2025-03-13 19:58:34 +01:00
Matthias
85ccc31a63 docs: document basic log_config setup 2025-03-13 19:57:24 +01:00
Matthias
65d19c38b6 docs: document deprecation of --logfile syslog 2025-03-13 19:46:18 +01:00
Matthias
5b8752e649 chore: deprecate syslog from configuration 2025-03-13 19:44:44 +01:00
Matthias
8832bae371 docs: document syslog logging via log_config 2025-03-13 19:44:16 +01:00
Matthias
a85e044e99 docs: improve log formatting 2025-03-13 19:33:49 +01:00
Matthias
7b1ee84b34 chore: deprecate --logfile=journald 2025-03-13 19:33:20 +01:00
Matthias
79ebc943a2 docs: Document journald logging via configuration file 2025-03-13 19:33:09 +01:00
Matthias
eabcaa38e2 feat: try improved config schema 2025-03-13 19:25:18 +01:00
Matthias
e930221b78 test: update logging tests 2025-03-13 19:18:00 +01:00
Matthias
08c4f24bdf test: add log setup workaround for tests 2025-03-13 19:18:00 +01:00
Matthias
56c23f9dd8 tests: remove unnecessary log-config 2025-03-13 19:18:00 +01:00
Matthias
6edee269d8 chore: deepcopy log config 2025-03-13 19:18:00 +01:00
Matthias
f9d978f16a chore: migrate set_log_levels to log_config 2025-03-13 19:18:00 +01:00
Matthias
1eac77fe0b chore: don't shadow built-in functions 2025-03-13 19:17:32 +01:00
Matthias
a98121ea26 chore: update json schema 2025-03-13 19:17:32 +01:00
Matthias
cc9c373a76 feat: update config_schema for logging 2025-03-13 19:17:32 +01:00
Matthias
390b113776 feat: Ensure freqtrade-logger is always configured 2025-03-13 19:17:32 +01:00
Matthias
bf33f8b632 chore: clean up log-levels 2025-03-13 19:17:32 +01:00
Matthias
030dcfdd83 chore: extract log formatter addition 2025-03-13 19:17:32 +01:00
Matthias
cd77758852 chore: remove some unnecessary comments 2025-03-13 19:17:32 +01:00
Matthias
1aa6c2ad55 feat: Improve filehandler config 2025-03-13 19:17:32 +01:00
Matthias
55d71cecdd refactor: move root-handler adding to separate function 2025-03-13 19:17:32 +01:00
Matthias
70a81c86ba feat: dynamically assign error console 2025-03-13 19:17:32 +01:00
Matthias
1c6c710696 chore: rename log_config naming 2025-03-13 19:17:32 +01:00
Matthias
4ca2a043b5 refactor: extract log_config creation 2025-03-13 19:17:32 +01:00
Matthias
41418784e3 feat: add log_config generator 2025-03-13 19:17:32 +01:00
Matthias
9afd572948 chore: add "log init from config" ... 2025-03-13 19:17:32 +01:00
mrpabloyeah
51a99f2a66 Add relevant metrics to backtest breakdowns (fix 2) 2025-03-13 14:49:24 +01:00
mrpabloyeah
969b0570c2 Add relevant metrics to backtest breakdowns (fix) 2025-03-13 14:29:10 +01:00
mrpabloyeah
e94ccece93 Add relevant metrics to backtest breakdowns 2025-03-13 13:51:35 +01:00
Matthias
cd435098bd Merge pull request #11497 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-03-13 06:29:31 +01:00
Freqtrade Bot
33659ee273 chore: update pre-commit hooks 2025-03-13 03:10:53 +00:00
Axel-CH
c30db9d0d6 Merge branch 'develop' into api-server-list-custom-data 2025-03-12 10:39:43 -04:00
Axel-CH
429505b134 test: add test_api_custom_data_multiple_open_trades to validate api route behaviour 2025-03-12 10:37:39 -04:00
Axel-CH
2c2cc086c3 test: add test_api_custom_data_single_trade to validate api route behaviour 2025-03-12 00:24:17 -04:00
Axel-CH
fe16654733 test: slight change on expected string in test_telegram_list_custom_data 2025-03-12 00:21:24 -04:00
Axel-CH
f85891941f chore: update telegram _list_custom_data according to _rpc_list_custom_data output format change 2025-03-12 00:17:12 -04:00
Axel-CH
493b6f6592 chore: update api custom-data related routes with better not found error handling 2025-03-12 00:12:43 -04:00
Axel-CH
97faa7fc5a feat: update api schema custom data related classes 2025-03-11 23:43:30 -04:00
Axel-CH
5402b14336 chore: enhance _rpc_list_custom_data error handling, output format and docstring 2025-03-11 23:38:50 -04:00
Axel-CH
4c7ff7ab0c feat: add retrieval_mode in get_custom_data function to chose between value or full custom_data object 2025-03-11 23:36:24 -04:00
Matthias
8288a5cf91 Merge pull request #11481 from mrpabloyeah/add-year-to-backtest-breakdowns
Add year to backtest breakdowns
2025-03-11 20:45:15 +01:00
Matthias
442b29e0ea chore: run schema export 2025-03-11 20:01:21 +01:00
Matthias
b6a65ce125 fix: pickle error due to Lock object
tb_logger get's closed after training.
So we need to re-assign the new one, otherwise pickling fails.

closes #10034
2025-03-11 19:53:41 +01:00
Axel-CH
743422ccf3 feat: implement pagination for open trades custom-data rpc endpoint 2025-03-11 11:19:36 -04:00
Matthias
d69b1566b1 chore: auto-build schema.json 2025-03-11 07:10:37 +01:00
Matthias
5c01023d55 feat: add missing freqAI parameters to config schema 2025-03-11 07:10:04 +01:00
Matthias
97d303579a feat: add continual_learning to config schema 2025-03-11 07:09:56 +01:00
Matthias
265a798f78 docs: auto-generate command snippets 2025-03-11 06:37:44 +01:00
Matthias
db19446e27 Merge pull request #11488 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-03-11 06:30:36 +01:00
Freqtrade Bot
e62a0f76ed chore: update pre-commit hooks 2025-03-11 03:11:15 +00:00
Axel-CH
673447794e chore: implement pagination for _rpc_list_custom_data 2025-03-10 22:17:34 -04:00
Axel-CH
76aefccd03 fix: on custom-data endpoints key is now an optional parameter 2025-03-10 16:18:42 -04:00
Matthias
b0b9e398e1 fix: assume 200char terminal if no terminal size is available
closes #11477
2025-03-10 21:13:32 +01:00
Axel-CH
fac0491658 fix: _rpc_list_custom_data send custom-data for all trades if a key is provided 2025-03-10 16:01:16 -04:00
Axel-CH
7770f082c8 chore: relocate custom-data endpoints of api server near trade related endpoint, replace info tag by trading 2025-03-10 15:51:34 -04:00
mrpabloyeah
3281049264 Add year also in cli_options 2025-03-10 18:44:01 +01:00
Matthias
fe48f6769f Merge pull request #11482 from freqtrade/dependabot/pip/develop/types-dfbe43a2fe
chore(deps-dev): bump types-requests from 2.32.0.20250301 to 2.32.0.20250306 in the types group
2025-03-10 07:12:15 +01:00
Matthias
6a5be68367 Merge pull request #11485 from freqtrade/dependabot/pip/develop/ccxt-4.4.65
chore(deps): bump ccxt from 4.4.64 to 4.4.65
2025-03-10 06:40:07 +01:00
Matthias
6613366343 chore: bump types-requests for pre-commit config 2025-03-10 06:28:39 +01:00
Matthias
48c1aaaa38 Merge pull request #11483 from freqtrade/dependabot/pip/develop/websockets-15.0.1
chore(deps): bump websockets from 15.0 to 15.0.1
2025-03-10 06:25:50 +01:00
Matthias
23928e55a3 Merge pull request #11484 from freqtrade/dependabot/pip/develop/ruff-0.9.10
chore(deps-dev): bump ruff from 0.9.9 to 0.9.10
2025-03-10 06:25:32 +01:00
dependabot[bot]
6d84b93715 chore(deps): bump ccxt from 4.4.64 to 4.4.65
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.64 to 4.4.65.
- [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/v4.4.64...v4.4.65)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 03:54:03 +00:00
dependabot[bot]
5b1011668a chore(deps-dev): bump ruff from 0.9.9 to 0.9.10
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.9.9 to 0.9.10.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.9.9...0.9.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 03:53:55 +00:00
dependabot[bot]
30d2298d54 chore(deps): bump websockets from 15.0 to 15.0.1
Bumps [websockets](https://github.com/python-websockets/websockets) from 15.0 to 15.0.1.
- [Release notes](https://github.com/python-websockets/websockets/releases)
- [Commits](https://github.com/python-websockets/websockets/compare/15.0...15.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>
2025-03-10 03:53:40 +00:00
dependabot[bot]
98b6f58eb2 chore(deps-dev): bump types-requests in the types group
Bumps the types group with 1 update: [types-requests](https://github.com/python/typeshed).


Updates `types-requests` from 2.32.0.20250301 to 2.32.0.20250306
- [Commits](https://github.com/python/typeshed/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 03:52:54 +00:00
mrpabloyeah
a0cbdc9135 Add year to backtest breakdowns 2025-03-09 18:21:33 +01:00
Matthias
805e03b83b test: update test for new bt cache behavior 2025-03-09 15:00:20 +01:00
Matthias
35cc7da9b3 fix: keep pair index per pair
closes #11479
2025-03-09 15:00:13 +01:00
Matthias
6efe6bbfc2 fix: restore previous startup time 2025-03-08 19:53:11 +01:00
Matthias
ac29ef67fd chore: fall back to 0.0 if min-pair returns None 2025-03-08 19:39:02 +01:00
Matthias
4a7140c05d chore: Update bybit dry-liquidation calculation
the result remains the same - but the calculation now matches
the bybit documentation better.
2025-03-08 17:29:55 +01:00
Matthias
cd971cff4f test: improve liquidation-calculation test
Move maintenance margin to parameter, add tests from bybit page
2025-03-08 17:27:25 +01:00
Matthias
538139ef31 chore: fix incorrect docstrings 2025-03-08 17:10:23 +01:00
Matthias
8bd4926c29 feat: add Min Stake to list-pairs command 2025-03-08 17:00:55 +01:00
Matthias
a9195c8ff9 chore: remove pointless else 2025-03-08 16:49:07 +01:00
Axel-CH
93c8a11824 fix: update _rpc_list_custom_data to add all custom data only if key is not provided 2025-03-07 14:08:21 -04:00
Axel-CH
aec496a73b fix: update _rpc_list_custom_data with proper typing and custom_data collection loop 2025-03-07 09:40:15 -04:00
Axel-CH
7bc1398574 Merge branch 'develop' into api-server-list-custom-data 2025-03-07 09:37:56 -04:00
Matthias
3371bad504 test: initialize exception for mock 2025-03-06 20:07:24 +01:00
Matthias
64e27637dc test: adjust test for raise-exception behavior 2025-03-06 07:17:39 +01:00
Matthias
ee4f05a5b8 fix: have download-data hard-fail if it times out
this will avoid holes in data if individual requests fail.
The tradeoff is that the download will stop for this pair/timeframe combination.
2025-03-06 07:17:39 +01:00
Matthias
6636a2fda8 docs: improved adjust_trade_position sample 2025-03-06 07:17:39 +01:00
Matthias
754936d253 chore: improved backtest method wording 2025-03-06 07:17:39 +01:00
Matthias
3762f40538 Merge pull request #11468 from freqtrade/dependabot/pip/docs/jinja2-3.1.6
chore(deps): bump jinja2 from 3.1.5 to 3.1.6 in /docs
2025-03-06 06:59:35 +01:00
Matthias
4a3c45af2d chore(deps): fix dependabot missing the bump of 2nd jinja2 reference 2025-03-06 06:33:40 +01:00
dependabot[bot]
29fdbc8f7f chore(deps): bump jinja2 from 3.1.5 to 3.1.6 in /docs
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.5 to 3.1.6.
- [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.5...3.1.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-06 05:31:04 +00:00
Matthias
6116c6abb9 Merge pull request #11467 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-03-06 06:29:27 +01:00
Freqtrade Bot
466c21e9fd chore: update pre-commit hooks 2025-03-06 03:09:52 +00:00
Matthias
d461d6f8e8 fix: spot data is in microseconds
closes #11465
As announced in the documentation:
https://github.com/binance/binance-public-data

> Note: The timestamp for SPOT Data from January 1st 2025 onwards will be in microseconds.
2025-03-05 20:18:49 +01:00
Matthias
53f68a3834 chore: let BaseException pass in binance 2025-03-05 20:18:49 +01:00
Matthias
76d43782db chore: fix typo in exception 2025-03-05 20:18:49 +01:00
Robert Caulk
e7a6db8916 Merge pull request #10173 from freqtrade/fix/mutable_defaults
Fix mutable defaults, enable bugbear ruff rule also for freqAI code
2025-03-04 10:43:48 +01:00
Matthias
cdb7fa83e4 Merge pull request #11462 from freqtrade/enhance-pricing-logs
Enhance pricing logs
2025-03-04 07:12:27 +01:00
Matthias
f785f9ff00 chore: use log_has_re for test log assertion 2025-03-04 06:46:13 +01:00
Matthias
4d87d13165 Merge pull request #11463 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-03-04 06:39:49 +01:00
Freqtrade Bot
9128011208 chore: update pre-commit hooks 2025-03-04 03:10:52 +00:00
Matthias
3dd7f7f17b chore: improved log messages for partial filled entries 2025-03-03 20:48:45 +01:00
Matthias
7665d3d1f2 docs: add has_open_orders to trade object documentation 2025-03-03 20:48:25 +01:00
Axel-CH
e055feb1d3 chore: update test_process_trade_creation test 2025-03-03 15:32:41 -04:00
Axel-CH
dfe6982099 chore: change log level of get_valid_price log from warning to info 2025-03-03 15:18:04 -04:00
Axel-CH
ad2aef09c4 chore: fix format 2025-03-03 14:55:15 -04:00
Axel-CH
facfdfd85c chore: add price in execute_entry logs 2025-03-03 14:42:16 -04:00
Axel-CH
1bba2a5f21 chore: add a warning log if custom_price_max_distance_ratio change the price 2025-03-03 14:32:39 -04:00
Matthias
ef239b8d0c fix: update datadir when exchange is changed for an endpoint 2025-03-03 19:28:02 +01:00
Matthias
bccbac9f23 Merge pull request #11453 from freqtrade/dependabot/pip/develop/ccxt-4.4.64
chore(deps): bump ccxt from 4.4.62 to 4.4.64
2025-03-03 10:20:39 +01:00
Matthias
113efe129d Merge pull request #11448 from freqtrade/dependabot/pip/develop/types-5ea53ede25
chore(deps-dev): bump types-requests from 2.32.0.20241016 to 2.32.0.20250301 in the types group
2025-03-03 08:57:00 +01:00
Matthias
8d73cccde5 Merge pull request #11457 from freqtrade/dependabot/pip/develop/ruff-0.9.9
chore(deps-dev): bump ruff from 0.9.7 to 0.9.9
2025-03-03 07:56:01 +01:00
dependabot[bot]
055c56edfc chore(deps): bump ccxt from 4.4.62 to 4.4.64
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.62 to 4.4.64.
- [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/v4.4.62...v4.4.64)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 06:37:01 +00:00
Matthias
942c1c1f5c Merge pull request #11456 from freqtrade/dependabot/pip/develop/cryptography-44.0.2
chore(deps): bump cryptography from 44.0.1 to 44.0.2
2025-03-03 07:35:44 +01:00
Matthias
243a91a141 chore: bump types-requests in pre-commit 2025-03-03 06:46:58 +01:00
dependabot[bot]
281bd69fa5 chore(deps): bump cryptography from 44.0.1 to 44.0.2
Bumps [cryptography](https://github.com/pyca/cryptography) from 44.0.1 to 44.0.2.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/44.0.1...44.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>
2025-03-03 05:46:06 +00:00
Matthias
6630259833 Merge pull request #11452 from freqtrade/dependabot/pip/develop/fastapi-0.115.11
chore(deps): bump fastapi from 0.115.8 to 0.115.11
2025-03-03 06:45:32 +01:00
Matthias
674d28622b Merge pull request #11450 from freqtrade/dependabot/pip/develop/mkdocs-8a51c936ee
chore(deps): bump mkdocs-material from 9.6.5 to 9.6.7 in the mkdocs group
2025-03-03 06:45:08 +01:00
dependabot[bot]
e21aedfb73 chore(deps-dev): bump ruff from 0.9.7 to 0.9.9
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.9.7 to 0.9.9.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.9.7...0.9.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 05:44:23 +00:00
Matthias
8f22c58875 Merge pull request #11451 from freqtrade/dependabot/pip/develop/python-telegram-bot-21.11.1
chore(deps): bump python-telegram-bot from 21.10 to 21.11.1
2025-03-03 06:44:03 +01:00
Matthias
e3d1c4c9c7 Merge pull request #11455 from freqtrade/dependabot/pip/develop/isort-6.0.1
chore(deps-dev): bump isort from 6.0.0 to 6.0.1
2025-03-03 06:43:41 +01:00
Matthias
40f87c9ab5 Merge pull request #11449 from freqtrade/dependabot/pip/develop/pytest-6c7deac02c
chore(deps-dev): bump pytest from 8.3.4 to 8.3.5 in the pytest group
2025-03-03 06:43:05 +01:00
dependabot[bot]
bd5f02a8df chore(deps-dev): bump isort from 6.0.0 to 6.0.1
Bumps [isort](https://github.com/PyCQA/isort) from 6.0.0 to 6.0.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/6.0.0...6.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 03:30:33 +00:00
dependabot[bot]
91438affc8 chore(deps): bump fastapi from 0.115.8 to 0.115.11
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.115.8 to 0.115.11.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.115.8...0.115.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 03:29:54 +00:00
dependabot[bot]
1548fdfca6 chore(deps): bump python-telegram-bot from 21.10 to 21.11.1
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 21.10 to 21.11.1.
- [Release notes](https://github.com/python-telegram-bot/python-telegram-bot/releases)
- [Changelog](https://github.com/python-telegram-bot/python-telegram-bot/blob/v21.11.1/CHANGES.rst)
- [Commits](https://github.com/python-telegram-bot/python-telegram-bot/compare/v21.10...v21.11.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>
2025-03-03 03:29:50 +00:00
dependabot[bot]
4bebb20477 chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.6.5 to 9.6.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/9.6.5...9.6.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 03:29:41 +00:00
dependabot[bot]
3fb4524c5a chore(deps-dev): bump pytest from 8.3.4 to 8.3.5 in the pytest group
Bumps the pytest group with 1 update: [pytest](https://github.com/pytest-dev/pytest).


Updates `pytest` from 8.3.4 to 8.3.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/8.3.4...8.3.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 03:29:30 +00:00
dependabot[bot]
cdd1273ed0 chore(deps-dev): bump types-requests in the types group
Bumps the types group with 1 update: [types-requests](https://github.com/python/typeshed).


Updates `types-requests` from 2.32.0.20241016 to 2.32.0.20250301
- [Commits](https://github.com/python/typeshed/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 03:29:01 +00:00
Matthias
717f17a9b5 chore: fix mutable defaults bug 2025-03-02 19:56:59 +01:00
Matthias
11763e8cd1 chore: improve clarity 2025-03-02 16:09:55 +01:00
Matthias
5e50348150 Merge branch 'develop' into fix/mutable_defaults 2025-03-02 16:04:30 +01:00
Matthias
ccfc690281 feat: add SQN to backtest result
closes #11397
2025-03-02 15:47:30 +01:00
Matthias
e1f6702932 feat: add SQN calculation as backtest metric 2025-03-02 15:41:43 +01:00
Matthias
13e9f8a98e fix: use initialMargin over collateral for position wallet
closes #11415
2025-03-02 14:43:58 +01:00
Matthias
cc0337585e Merge pull request #11289 from freqtrade/feat/binance_trades_fast
Binance: Download trades "fast" from binance.vision
2025-03-02 14:43:47 +01:00
Matthias
3070e37335 docs: add plain merge to known common mistakes
closes #11438
2025-03-01 08:01:35 +01:00
Matthias
c50edafac6 feat: add record_version to trades table 2025-02-28 19:14:38 +01:00
Matthias
7ccac492bb fix: max_stake_amount should not include leverage 2025-02-28 16:12:20 +01:00
Matthias
a23409b72f Merge pull request #11436 from freqtrade/new_release
New release 2025.2
2025-02-28 10:33:14 +01:00
Matthias
5b9102f9a8 tests: Use higher limit on x86 macos to avoid random fails 2025-02-28 07:01:50 +01:00
Matthias
f447de4840 chore: bump version to 2025.3-dev 2025-02-28 06:36:02 +01:00
Matthias
186bc4d272 chore: bump version to 2025.2 2025-02-28 06:30:43 +01:00
Matthias
06fd176286 Merge branch 'stable' into develop 2025-02-28 06:30:27 +01:00
Matthias
c5fd6f4519 Merge pull request #11432 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-02-27 07:25:48 +01:00
Freqtrade Bot
efe0275ae1 chore: update pre-commit hooks 2025-02-27 05:50:03 +00:00
Matthias
ba98f1a9be chore: update pre-commit author to freqtradeBot 2025-02-27 06:49:19 +01:00
Matthias
5380b22729 chore: update leverage tiers author to use the bot email 2025-02-27 06:48:54 +01:00
Matthias
338bc7c677 chore: Bump docker image to 3.12.9 2025-02-27 06:33:05 +01:00
Matthias
449a5e85b4 Merge pull request #11431 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-02-27 06:20:15 +01:00
xmatthias
0f5cb87c65 chore: update pre-commit hooks 2025-02-27 03:08:16 +00:00
Matthias
822e7bad1f Merge pull request #11426 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-02-25 06:23:10 +01:00
xmatthias
86a5240174 chore: update pre-commit hooks 2025-02-25 03:08:51 +00:00
Matthias
7b7c8d9374 chore(deps): bump ccxt from 4.4.61 to 4.4.62
closes #11405
2025-02-24 19:51:54 +01:00
Matthias
fde3547dbb docs: add warning about duplicate symbols in coingecko 2025-02-24 18:06:52 +01:00
Matthias
9bd7fac86f Merge pull request #11424 from freqtrade/dependabot/pip/develop/pyarrow-19.0.1
chore(deps): bump pyarrow from 19.0.0 to 19.0.1
2025-02-24 09:57:58 +01:00
Matthias
8085d8cd00 chore: update prebuilt pyarrow binary 2025-02-24 09:40:06 +01:00
Matthias
3f656a9758 Merge pull request #11421 from freqtrade/dependabot/pip/develop/humanize-4.12.1
chore(deps): bump humanize from 4.12.0 to 4.12.1
2025-02-24 08:12:28 +01:00
Matthias
38f1981d6f Merge pull request #11412 from freqtrade/feat/adjust_order_price
Add adjust_order_price callback
2025-02-24 07:02:27 +01:00
Matthias
d55b3e0228 Merge pull request #11420 from freqtrade/dependabot/pip/develop/ccxt-4.4.61
chore(deps): bump ccxt from 4.4.59 to 4.4.61
2025-02-24 06:55:12 +01:00
Matthias
d3f8bef2ef Merge pull request #11422 from freqtrade/dependabot/pip/develop/ruff-0.9.7
chore(deps-dev): bump ruff from 0.9.6 to 0.9.7
2025-02-24 06:45:43 +01:00
dependabot[bot]
f78f52f78e chore(deps): bump humanize from 4.12.0 to 4.12.1
Bumps [humanize](https://github.com/python-humanize/humanize) from 4.12.0 to 4.12.1.
- [Release notes](https://github.com/python-humanize/humanize/releases)
- [Commits](https://github.com/python-humanize/humanize/compare/4.12.0...4.12.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 05:26:05 +00:00
Matthias
d451dcf28b Merge pull request #11419 from freqtrade/dependabot/pip/develop/mkdocs-ab7c602706
chore(deps): bump mkdocs-material from 9.6.4 to 9.6.5 in the mkdocs group
2025-02-24 06:25:31 +01:00
Matthias
063964ed38 Merge pull request #11423 from freqtrade/dependabot/pip/develop/cachetools-5.5.2
chore(deps): bump cachetools from 5.5.1 to 5.5.2
2025-02-24 06:24:15 +01:00
dependabot[bot]
ac70d559a4 chore(deps): bump pyarrow from 19.0.0 to 19.0.1
Bumps [pyarrow](https://github.com/apache/arrow) from 19.0.0 to 19.0.1.
- [Release notes](https://github.com/apache/arrow/releases)
- [Commits](https://github.com/apache/arrow/compare/apache-arrow-19.0.0...apache-arrow-19.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>
2025-02-24 03:24:23 +00:00
dependabot[bot]
685e575f6b chore(deps): bump cachetools from 5.5.1 to 5.5.2
Bumps [cachetools](https://github.com/tkem/cachetools) from 5.5.1 to 5.5.2.
- [Changelog](https://github.com/tkem/cachetools/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/tkem/cachetools/compare/v5.5.1...v5.5.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 03:24:18 +00:00
dependabot[bot]
1640267798 chore(deps-dev): bump ruff from 0.9.6 to 0.9.7
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.9.6 to 0.9.7.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.9.6...0.9.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 03:24:14 +00:00
dependabot[bot]
d5585dd5e3 chore(deps): bump ccxt from 4.4.59 to 4.4.61
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.59 to 4.4.61.
- [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/go/v4.4.59...go/v4.4.61)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 03:23:46 +00:00
dependabot[bot]
90e2db708e chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.6.4 to 9.6.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.6.4...9.6.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 03:23:30 +00:00
Matthias
64303e90d6 feat: Be more verbose on startup regarding what the bot is doing
closes #11416
2025-02-23 17:16:46 +01:00
Matthias
901dfa21fc Merge pull request #11418 from Cygra/patch-1
fix: typo in strategy-customization.md
2025-02-23 16:24:55 +01:00
Cygra Wang
5e7d883732 fix: typo in strategy-customization.md 2025-02-23 15:11:05 +08:00
Matthias
840f074c66 chore: simplify rpc imports 2025-02-22 12:50:51 +01:00
Matthias
0408ad1095 fix: exception when rounded price is nan
closes #11414
2025-02-22 08:21:24 +01:00
Matthias
e262110c3b test: add test case for #11414 2025-02-22 08:19:38 +01:00
Matthias
09b9ff2c68 fix: provide default for exit reason 2025-02-20 20:32:51 +01:00
Matthias
e76574b79f docs: update documentation for adjust_order_price() 2025-02-20 20:25:35 +01:00
Matthias
08587d826e test: Long adjust-exit-price test 2025-02-20 20:07:44 +01:00
Matthias
584b84a941 test: extend backtest-detail tests for exit_adjust 2025-02-20 20:02:18 +01:00
Matthias
44182783c0 feat: don't limit backtest calls to entry orders 2025-02-20 20:02:03 +01:00
Matthias
90f52ba8ad test: add integration test for adjust_exit_price 2025-02-20 19:45:34 +01:00
Matthias
f8f10f27e9 chore: improved variable naming 2025-02-20 19:39:33 +01:00
Matthias
7f393252e2 docs: update bot-basics with new callback 2025-02-20 19:24:03 +01:00
Matthias
dd8938ced2 test: add test for adjust_order_price and adjust_entry_price collision 2025-02-20 19:22:03 +01:00
Matthias
67ce9a41f2 feat: implement load error when colliding methods are decected 2025-02-20 19:21:37 +01:00
Matthias
756bada570 feat: Add "replace-exit_order" to backtesting 2025-02-20 19:09:36 +01:00
Matthias
25c0036012 feat: Update strategy template 2025-02-20 07:25:38 +01:00
Matthias
3b03fae939 chore: improve variable naming 2025-02-20 07:24:07 +01:00
Matthias
0f9e61371c feat: Implement live "replace_exit_order" functionality 2025-02-20 07:23:36 +01:00
Matthias
1970cc65c0 feat: add "is_entry" attribute for order_replacement 2025-02-20 07:04:59 +01:00
Matthias
8d74e8b8dd feat: add adjust_order_price callback 2025-02-20 06:55:54 +01:00
Matthias
fc4e09f398 Merge pull request #11404 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-02-20 06:35:26 +01:00
xmatthias
a45d941b11 chore: update pre-commit hooks 2025-02-20 03:05:52 +00:00
Matthias
39fd27c7ec Merge pull request #11396 from freqtrade/fix/constant_exit_cancels
Fix constant exit cancels and replacements
2025-02-18 19:43:54 +01:00
Matthias
fa939a7f66 Merge pull request #11399 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-02-18 06:36:19 +01:00
xmatthias
6fc81fa9c7 chore: update pre-commit hooks 2025-02-18 03:04:55 +00:00
Matthias
89cd46d2e5 test: adapt test for "evaluate exit signal once once" behavior 2025-02-17 20:00:44 +01:00
Matthias
f287d0ad24 chore: improve variable naming 2025-02-17 20:00:27 +01:00
Matthias
93e3bbea5a fix: only evaluate the same exit-reason once
Limit this behavior to if it caused an actual exit.
2025-02-17 19:51:39 +01:00
Matthias
6be25bd86a chore: simplify IF condition 2025-02-17 19:40:56 +01:00
Matthias
ec82894990 Merge pull request #11390 from freqtrade/dependabot/pip/develop/cryptography-44.0.1
chore(deps): bump cryptography from 42.0.8 to 44.0.1
2025-02-17 08:20:57 +01:00
Matthias
ea1b7c692a Merge pull request #11384 from freqtrade/dependabot/pip/develop/websockets-15.0
chore(deps): bump websockets from 14.2 to 15.0
2025-02-17 08:04:01 +01:00
Matthias
0e08173235 Merge pull request #11394 from freqtrade/dependabot/pip/develop/lightgbm-4.6.0
chore(deps): bump lightgbm from 4.5.0 to 4.6.0
2025-02-17 07:46:26 +01:00
Matthias
cdf33761c0 Merge pull request #11383 from freqtrade/dependabot/pip/develop/mkdocs-f2d694b1ef
chore(deps): bump mkdocs-material from 9.6.3 to 9.6.4 in the mkdocs group
2025-02-17 07:11:37 +01:00
Matthias
63ca07aeac chore: bump cryptography for armv7
Starting with 44.0.0, cryptography provides wheels for armv7.

Testing these, it installs fine on the rpi image, so the split hard pin can be removed.
2025-02-17 06:52:30 +01:00
Matthias
5022407021 Merge pull request #11392 from freqtrade/dependabot/pip/develop/psutil-7.0.0
chore(deps): bump psutil from 6.1.1 to 7.0.0
2025-02-17 06:51:50 +01:00
dependabot[bot]
f54b7d56d3 chore(deps): bump lightgbm from 4.5.0 to 4.6.0
Bumps [lightgbm](https://github.com/microsoft/LightGBM) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/microsoft/LightGBM/releases)
- [Commits](https://github.com/microsoft/LightGBM/compare/v4.5.0...v4.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 05:30:51 +00:00
dependabot[bot]
382befb053 chore(deps): bump cryptography from 42.0.8 to 44.0.1
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.8 to 44.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/42.0.8...44.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>
2025-02-17 05:30:25 +00:00
Matthias
11404ef230 Merge pull request #11385 from freqtrade/dependabot/pip/develop/scipy-1.15.2
chore(deps): bump scipy from 1.15.1 to 1.15.2
2025-02-17 06:29:32 +01:00
Matthias
8964cfc123 Merge pull request #11391 from freqtrade/dependabot/pip/develop/humanize-4.12.0
chore(deps): bump humanize from 4.11.0 to 4.12.0
2025-02-17 06:28:45 +01:00
Matthias
ec97723c54 Merge pull request #11386 from freqtrade/dependabot/pip/develop/tensorboard-2.19.0
chore(deps): bump tensorboard from 2.18.0 to 2.19.0
2025-02-17 06:28:19 +01:00
Matthias
4cfbcefb33 Merge pull request #11388 from freqtrade/dependabot/pip/develop/ccxt-4.4.59
chore(deps): bump ccxt from 4.4.58 to 4.4.59
2025-02-17 06:27:48 +01:00
Matthias
1f575d95e6 Merge pull request #11389 from freqtrade/dependabot/pip/develop/ruff-0.9.6
chore(deps-dev): bump ruff from 0.9.5 to 0.9.6
2025-02-17 06:26:59 +01:00
dependabot[bot]
d4900c28e1 chore(deps): bump psutil from 6.1.1 to 7.0.0
Bumps [psutil](https://github.com/giampaolo/psutil) from 6.1.1 to 7.0.0.
- [Changelog](https://github.com/giampaolo/psutil/blob/master/HISTORY.rst)
- [Commits](https://github.com/giampaolo/psutil/compare/release-6.1.1...release-7.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 03:27:29 +00:00
dependabot[bot]
f12964f543 chore(deps): bump humanize from 4.11.0 to 4.12.0
Bumps [humanize](https://github.com/python-humanize/humanize) from 4.11.0 to 4.12.0.
- [Release notes](https://github.com/python-humanize/humanize/releases)
- [Commits](https://github.com/python-humanize/humanize/compare/4.11.0...4.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 03:27:25 +00:00
dependabot[bot]
c339853ec0 chore(deps-dev): bump ruff from 0.9.5 to 0.9.6
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.9.5 to 0.9.6.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.9.5...0.9.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 03:27:13 +00:00
dependabot[bot]
3924514d2b chore(deps): bump ccxt from 4.4.58 to 4.4.59
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.58 to 4.4.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/go/v4.4.58...go/v4.4.59)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 03:27:04 +00:00
dependabot[bot]
aae92c29db chore(deps): bump tensorboard from 2.18.0 to 2.19.0
Bumps [tensorboard](https://github.com/tensorflow/tensorboard) from 2.18.0 to 2.19.0.
- [Release notes](https://github.com/tensorflow/tensorboard/releases)
- [Changelog](https://github.com/tensorflow/tensorboard/blob/2.19.0/RELEASE.md)
- [Commits](https://github.com/tensorflow/tensorboard/compare/2.18.0...2.19.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 03:26:45 +00:00
dependabot[bot]
5683063379 chore(deps): bump scipy from 1.15.1 to 1.15.2
Bumps [scipy](https://github.com/scipy/scipy) from 1.15.1 to 1.15.2.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.15.1...v1.15.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 03:26:40 +00:00
dependabot[bot]
5ab993b6d5 chore(deps): bump websockets from 14.2 to 15.0
Bumps [websockets](https://github.com/python-websockets/websockets) from 14.2 to 15.0.
- [Release notes](https://github.com/python-websockets/websockets/releases)
- [Commits](https://github.com/python-websockets/websockets/compare/14.2...15.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 03:26:30 +00:00
dependabot[bot]
9584f6c549 chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.6.3 to 9.6.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.6.3...9.6.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 03:26:27 +00:00
Matthias
2a95a3aefe Merge pull request #11306 from Vaadasch/patch-1
Add some distinction on the trailing_only_offset_is_reached
2025-02-16 17:28:24 +01:00
Matthias
36eeac365e chore: fix merge mistake 2025-02-16 17:19:21 +01:00
Matthias
2b8c4942fd Merge branch 'develop' into fix/mutable_defaults 2025-02-16 17:16:31 +01:00
Matthias
4a190bd13c chore(ci): Move permissions into job 2025-02-16 17:03:18 +01:00
Matthias
cf6a89e161 chore: use zizmor to scan actions for security problems 2025-02-16 16:55:44 +01:00
Matthias
a29c5322ab chore(ci): Improve CI security 2025-02-16 16:55:13 +01:00
Matthias
4e2d2639ae fix: dockerfile.armhf should pin numpy<2 2025-02-16 16:48:22 +01:00
Matthias
a54f895ea9 chore(ci): don't persist credentials 2025-02-16 15:31:17 +01:00
Matthias
ad55615ecb chore(ci): Improve structure in devcontainer build 2025-02-16 15:30:47 +01:00
Matthias
c8aff5687d chore(ci): don't persist credentials 2025-02-16 15:30:21 +01:00
Matthias
02c2e451b1 chore(ci): don't persist credentials 2025-02-16 15:29:34 +01:00
Matthias
84d49a0f53 chore: disable all permissions on dockerhub permission update ci 2025-02-16 15:25:01 +01:00
Matthias
22b096be25 chore: Improve security of workflows 2025-02-16 15:24:23 +01:00
Matthias
b285cdd491 doc: add timeframe to 101 strategy so it's "auto-runnable"
closes #11379
2025-02-16 15:11:14 +01:00
Matthias
b2881affc0 fix: accidental modification 2025-02-16 15:09:02 +01:00
Matthias
b3e0b42155 test: add test for backtest-from_json 2025-02-16 13:27:48 +01:00
Matthias
314c017dd3 feat: enable trade.from_json to import backtested trades 2025-02-16 13:27:42 +01:00
Matthias
9fbc413d4d chore: start downloads in 1m batches 2025-02-15 15:44:05 +01:00
Matthias
ad96fa0f58 chore: improve download-trades-fast structure 2025-02-15 15:20:06 +01:00
Matthias
f2283410ce chore: improved logging, don't ignore end date 2025-02-15 13:36:30 +01:00
Matthias
f14c4ebcc8 chore: improve code structure in logging module 2025-02-15 08:24:35 +01:00
David Arena
ceff757bc6 fix: formating 2025-02-14 12:44:42 +01:00
Robert Caulk
c3c6207cda Merge pull request #11368 from freqtrade/fix/nan_metadata
Allow NAN in Freqai datadrawer metadata
2025-02-13 13:46:36 +01:00
Matthias
975ad26eb8 Merge branch 'develop' into feat/binance_trades_fast 2025-02-13 06:43:56 +01:00
Matthias
8a5ff4ed0d Merge pull request #11373 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-02-13 06:33:55 +01:00
xmatthias
7d19e0e692 chore: update pre-commit hooks 2025-02-13 03:05:01 +00:00
David Arena
a1a5cab04e fix E501 2025-02-13 02:04:22 +01:00
David Arena
8182947f29 fix 2025-02-13 02:03:19 +01:00
David Arena
2231ba3f04 fixes: ruff 2025-02-13 02:02:15 +01:00
David Arena
bf0a08f5a7 Merge branch 'develop' into api-server-list-custom-data 2025-02-12 19:32:49 +01:00
David Arena
552575c7e6 fix: key in _rpc_list_custom_data 2025-02-12 19:27:47 +01:00
David Arena
d0979d560f fix: endpoints 2025-02-12 18:40:44 +01:00
Matthias
e3a9b0aa17 Merge pull request #11371 from freqtrade/dependabot/pip/develop/ccxt-4.4.58
chore(deps): bump ccxt from 4.4.52 to 4.4.58
2025-02-12 06:23:01 +01:00
dependabot[bot]
7caa22c7a7 chore(deps): bump ccxt from 4.4.52 to 4.4.58
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.52 to 4.4.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/4.4.52...go/v4.4.58)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-11 20:13:52 +00:00
Matthias
91131d7884 Merge pull request #11370 from freqtrade/dependabot/pip/cryptography-44.0.1
chore(deps): bump cryptography from 42.0.8 to 44.0.1
2025-02-11 21:12:25 +01:00
dependabot[bot]
967ad2f8ff chore(deps): bump cryptography from 42.0.8 to 44.0.1
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.8 to 44.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/42.0.8...44.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-11 18:41:14 +00:00
Matthias
d00f82a641 chore: remove deprecated image form CI matrix 2025-02-11 18:15:16 +01:00
Matthias
2f83f07fd3 fix: use constant for metadata number mode 2025-02-11 09:22:39 +01:00
Matthias
78d213a8a0 test: add test coverage for unwatch_ohlcv 2025-02-11 09:15:03 +01:00
Matthias
44d798239d feat: unwatch_ohlcv - improved error handling 2025-02-11 09:15:03 +01:00
Matthias
08e1a616a0 feat: use unwatch to stop watching a websocket 2025-02-11 09:14:57 +01:00
Matthias
8009c03629 Merge pull request #11117 from arenstar/ftclient_timeout
feat: add timeout to FtRestClient
2025-02-11 08:09:45 +01:00
Matthias
ae068bd6f5 chore: fix formatting 2025-02-11 07:53:33 +01:00
Matthias
2350aa6a27 Merge branch 'develop' into ftclient_timeout 2025-02-11 07:52:25 +01:00
Matthias
8394826d62 docs: improve wording in trailing stop docs 2025-02-11 07:21:24 +01:00
Matthias
a46d41a594 Merge pull request #11367 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-02-11 06:39:25 +01:00
xmatthias
a0d8055917 chore: update pre-commit hooks 2025-02-11 03:06:02 +00:00
Matthias
3ec892a5ab Merge pull request #11355 from freqtrade/dependabot/pip/develop/ta-lib-0.6.2
chore(deps): bump ta-lib from 0.4.34 to 0.4.38
2025-02-10 10:53:09 +01:00
Matthias
3deffb57ce chore: update ta-lib pre-built binaries 2025-02-10 08:25:01 +01:00
Matthias
db8c1917e0 Merge pull request #11360 from freqtrade/dependabot/pip/develop/mypy-1.15.0
chore(deps-dev): bump mypy from 1.14.1 to 1.15.0
2025-02-10 07:57:42 +01:00
Matthias
57f55d416c Merge pull request #11357 from freqtrade/dependabot/pip/develop/sqlalchemy-2.0.38
chore(deps): bump sqlalchemy from 2.0.37 to 2.0.38
2025-02-10 07:35:26 +01:00
Matthias
315421037f Merge branch 'develop' into feat/plot_annotations 2025-02-10 07:13:55 +01:00
dependabot[bot]
0b4a6e7e11 chore(deps-dev): bump mypy from 1.14.1 to 1.15.0
Bumps [mypy](https://github.com/python/mypy) from 1.14.1 to 1.15.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.14.1...v1.15.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 05:57:49 +00:00
Matthias
f918a66292 Merge pull request #11359 from freqtrade/dependabot/pip/develop/ruff-0.9.5
chore(deps-dev): bump ruff from 0.9.4 to 0.9.5
2025-02-10 06:56:44 +01:00
Matthias
d795af5921 chore: bump sqlalchemy in pre-commit config 2025-02-10 06:36:25 +01:00
Matthias
21b8982e55 chore: ta-lib bump to 0.4.38 2025-02-10 06:34:07 +01:00
Matthias
5a9f66e6d6 Merge pull request #11351 from freqtrade/dependabot/pip/develop/mkdocs-694d3e3e45
chore(deps): bump mkdocs-material from 9.6.1 to 9.6.3 in the mkdocs group
2025-02-10 06:30:34 +01:00
Matthias
4fd77e7ee7 Merge pull request #11356 from freqtrade/dependabot/pip/develop/xgboost-2.1.4
chore(deps): bump xgboost from 2.1.3 to 2.1.4
2025-02-10 06:30:22 +01:00
dependabot[bot]
428ca972e2 chore(deps-dev): bump ruff from 0.9.4 to 0.9.5
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.9.4 to 0.9.5.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.9.4...0.9.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 03:28:24 +00:00
dependabot[bot]
3913e4fa96 chore(deps): bump sqlalchemy from 2.0.37 to 2.0.38
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.37 to 2.0.38.
- [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>
2025-02-10 03:27:58 +00:00
dependabot[bot]
e296242072 chore(deps): bump xgboost from 2.1.3 to 2.1.4
Bumps [xgboost](https://github.com/dmlc/xgboost) from 2.1.3 to 2.1.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/v2.1.3...v2.1.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 03:27:46 +00:00
dependabot[bot]
82001d1e8b chore(deps): bump ta-lib from 0.4.34 to 0.6.2
Bumps [ta-lib](https://github.com/ta-lib/ta-lib-python) from 0.4.34 to 0.6.2.
- [Changelog](https://github.com/TA-Lib/ta-lib-python/blob/master/CHANGELOG)
- [Commits](https://github.com/ta-lib/ta-lib-python/compare/TA_Lib-0.4.34...TA_Lib-0.6.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 03:27:40 +00:00
dependabot[bot]
137bfc2b56 chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.6.1 to 9.6.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.6.1...9.6.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 03:27:15 +00:00
Matthias
a8ae767576 fix: Hyperopt-magic - allow parent classes within the same file 2025-02-09 19:48:26 +01:00
Matthias
b9c77124fc chore: add typing for hyperopt-pickle-magic 2025-02-09 19:43:32 +01:00
Matthias
f060548134 chore: remove unused method 2025-02-09 08:10:10 +01:00
Matthias
18ce8af084 fix: validate config when calling pair_history
closes #11271
2025-02-08 16:51:51 +01:00
Matthias
7f7cff85c1 chore: use dt_now in backtesting 2025-02-07 20:39:14 +01:00
Matthias
9a22e5c775 chore: try downgrade aiohttp
part of #11317
2025-02-07 06:56:42 +01:00
Matthias
2cfb8834b6 chore: rework docstring of MultiOutputRegressor
closes #11309
2025-02-06 06:34:19 +01:00
Matthias
013006050f chore: add comment to clarify usage of retrier 2025-02-06 06:33:55 +01:00
Matthias
99df346bf5 Merge pull request #11339 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-02-06 06:30:49 +01:00
xmatthias
2e57158556 chore: update pre-commit hooks 2025-02-06 03:04:59 +00:00
Matthias
b75eb85e66 fix: Calculate liquidation price only once the initial order filled
closes #11318
2025-02-05 18:13:52 +01:00
Matthias
dbb9f225d0 fix: Runtime error on ohlcv deepcopy
closes #11335
2025-02-05 18:07:03 +01:00
Matthias
85753be7cb chore: Bump armhf dockerversion to 3.11.11 2025-02-05 07:02:44 +01:00
Matthias
18b35b0657 chore: bump dockerfile base from 3.12.7 to 3.12.8 2025-02-05 07:01:59 +01:00
Matthias
857aeaa9eb chore: fix init sequence to avoid risk of "unbound error" 2025-02-04 19:34:26 +01:00
Matthias
3e06971038 Merge pull request #11333 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-02-04 06:47:37 +01:00
Matthias
323b9f8693 fix(api): only write export when backtest happened
closes freqtrade/frequi#2282
2025-02-04 06:35:37 +01:00
xmatthias
a412ff76bc chore: update pre-commit hooks 2025-02-04 03:03:58 +00:00
Matthias
2bfd66d271 chore: use loop_lock for all run_until_complete usages 2025-02-03 19:43:08 +01:00
Matthias
8cad9c8436 chore: add improved exception logging 2025-02-03 19:43:08 +01:00
Matthias
3504073428 fix: random fail on parallel webserver requests 2025-02-03 19:43:08 +01:00
Matthias
b4af89380b Merge pull request #11326 from freqtrade/dependabot/pip/develop/torch-2.6.0
chore(deps): bump torch from 2.5.1 to 2.6.0
2025-02-03 19:40:45 +01:00
Matthias
c131493eca Merge pull request #11328 from freqtrade/dependabot/pip/develop/stable-baselines3-2.5.0
chore(deps): bump stable-baselines3 from 2.4.1 to 2.5.0
2025-02-03 11:55:31 +01:00
Matthias
37031ba83d chore: pin sb3 for macos x86 2025-02-03 11:13:36 +01:00
Matthias
69106633cd Merge pull request #11331 from freqtrade/dependabot/pip/develop/fastapi-0.115.8
chore(deps): bump fastapi from 0.115.7 to 0.115.8
2025-02-03 09:42:17 +01:00
Matthias
a2e674b237 Merge pull request #11329 from freqtrade/dependabot/pip/develop/isort-6.0.0
chore(deps-dev): bump isort from 5.13.2 to 6.0.0
2025-02-03 09:20:38 +01:00
Matthias
c1c9f0151e Merge pull request #11332 from freqtrade/dependabot/pip/develop/pymdown-extensions-10.14.3
chore(deps): bump pymdown-extensions from 10.14.1 to 10.14.3
2025-02-03 08:01:03 +01:00
Matthias
963ec23ae2 Merge pull request #11330 from freqtrade/dependabot/pip/develop/plotly-6.0.0
chore(deps): bump plotly from 5.24.1 to 6.0.0
2025-02-03 07:14:18 +01:00
dependabot[bot]
0c35f3a47a chore(deps): bump pymdown-extensions from 10.14.1 to 10.14.3
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.14.1 to 10.14.3.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.14.1...10.14.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 05:58:16 +00:00
Matthias
f4fdcfc78d Merge pull request #11323 from freqtrade/dependabot/pip/develop/ccxt-4.4.52
chore(deps): bump ccxt from 4.4.50 to 4.4.52
2025-02-03 06:57:17 +01:00
Matthias
97c67d55c6 Merge pull request #11322 from freqtrade/dependabot/pip/develop/mkdocs-03e80ceb70
chore(deps): bump mkdocs-material from 9.5.50 to 9.6.1 in the mkdocs group
2025-02-03 06:53:46 +01:00
Matthias
9983b44e6f Merge pull request #11325 from freqtrade/dependabot/pip/develop/pytz-2025.1
chore(deps): bump pytz from 2024.2 to 2025.1
2025-02-03 06:53:05 +01:00
dependabot[bot]
78bf9bf60d chore(deps-dev): bump isort from 5.13.2 to 6.0.0
Bumps [isort](https://github.com/pycqa/isort) from 5.13.2 to 6.0.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.13.2...6.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 05:44:16 +00:00
Matthias
9d22dac28d Merge pull request #11327 from freqtrade/dependabot/pip/develop/nbconvert-7.16.6
chore(deps-dev): bump nbconvert from 7.16.5 to 7.16.6
2025-02-03 06:34:17 +01:00
Matthias
37e16acc80 Merge pull request #11324 from freqtrade/dependabot/pip/develop/ruff-0.9.4
chore(deps-dev): bump ruff from 0.9.3 to 0.9.4
2025-02-03 06:23:55 +01:00
Matthias
6d5cd69764 Merge pull request #11321 from freqtrade/dependabot/pip/develop/pytest-ccc7fb3faf
chore(deps-dev): bump pytest-asyncio from 0.25.2 to 0.25.3 in the pytest group
2025-02-03 06:23:43 +01:00
dependabot[bot]
3a8c594ae8 chore(deps): bump fastapi from 0.115.7 to 0.115.8
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.115.7 to 0.115.8.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.115.7...0.115.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 03:30:46 +00:00
dependabot[bot]
5f72ed9b3c chore(deps): bump plotly from 5.24.1 to 6.0.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.24.1 to 6.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/v5.24.1...v6.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>
2025-02-03 03:30:42 +00:00
dependabot[bot]
bee897f5b7 chore(deps): bump stable-baselines3 from 2.4.1 to 2.5.0
Bumps [stable-baselines3](https://github.com/DLR-RM/stable-baselines3) from 2.4.1 to 2.5.0.
- [Release notes](https://github.com/DLR-RM/stable-baselines3/releases)
- [Commits](https://github.com/DLR-RM/stable-baselines3/compare/v2.4.1...v2.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 03:30:27 +00:00
dependabot[bot]
75542cdd93 chore(deps-dev): bump nbconvert from 7.16.5 to 7.16.6
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.16.5 to 7.16.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.16.5...v7.16.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 03:30:24 +00:00
dependabot[bot]
97da78c499 chore(deps): bump torch from 2.2.2 to 2.6.0
Bumps [torch](https://github.com/pytorch/pytorch) from 2.2.2 to 2.6.0.
- [Release notes](https://github.com/pytorch/pytorch/releases)
- [Changelog](https://github.com/pytorch/pytorch/blob/main/RELEASE.md)
- [Commits](https://github.com/pytorch/pytorch/compare/v2.2.2...v2.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 03:30:20 +00:00
dependabot[bot]
d8d35ec234 chore(deps): bump pytz from 2024.2 to 2025.1
Bumps [pytz](https://github.com/stub42/pytz) from 2024.2 to 2025.1.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2024.2...release_2025.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 03:30:10 +00:00
dependabot[bot]
86d65f8428 chore(deps-dev): bump ruff from 0.9.3 to 0.9.4
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.9.3 to 0.9.4.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.9.3...0.9.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 03:30:06 +00:00
dependabot[bot]
973aa6a0c3 chore(deps): bump ccxt from 4.4.50 to 4.4.52
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.50 to 4.4.52.
- [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/4.4.50...4.4.52)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 03:29:58 +00:00
dependabot[bot]
aaab2a1c86 chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.5.50 to 9.6.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.5.50...9.6.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 03:29:48 +00:00
dependabot[bot]
16924525ff chore(deps-dev): bump pytest-asyncio in the pytest group
Bumps the pytest group with 1 update: [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio).


Updates `pytest-asyncio` from 0.25.2 to 0.25.3
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.25.2...v0.25.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 03:29:40 +00:00
Matthias
f1f355330c chore: re-add candle-limit for funding fee candles 2025-02-02 17:15:21 +01:00
Matthias
4c5c054bca fix: since_ms is mandatory 2025-02-02 14:33:45 +01:00
Matthias
0181e00c19 test: add test for /markets endpoint 2025-02-02 14:33:13 +01:00
Matthias
ecf013dd18 feat: include exchangeID in /markets response 2025-02-02 13:30:17 +01:00
Matthias
59837ef6ac feat: add "/markets" endpoint 2025-02-02 13:22:54 +01:00
Matthias
b42a91d783 test: remove unused parameter 2025-02-02 13:17:06 +01:00
Matthias
187c8b8070 test: add test for "live" mode of /pair_history 2025-02-01 18:20:27 +01:00
Matthias
a807d2d6c8 test: Add test for /pair_history without strategy 2025-02-01 18:09:35 +01:00
Matthias
fda7b0f1ef chore: increment api_version 2025-02-01 17:39:40 +01:00
Matthias
ae42f8d512 feat: api /pair_history - make Strategy optional 2025-02-01 17:39:28 +01:00
Matthias
6fb74fa166 feat: add "live_mode" flag to pair_history 2025-02-01 17:25:58 +01:00
Matthias
7dd0f2174c feat: Add "exchange" fields to pair_history 2025-02-01 15:47:33 +01:00
Matthias
e1cc7dcfdf feat: allow pair-history from "live" candles 2025-02-01 15:47:10 +01:00
Matthias
6b3fff6b7e refactor: pair_history should only be available in webserver mode 2025-02-01 14:09:56 +01:00
Matthias
5d4324dd55 test: update percentChange pairlist test
there's little reason to have this test for a particular number
2025-02-01 13:53:14 +01:00
Matthias
fc0cae21e6 fix: improve reliability when fetching from "features" 2025-02-01 13:49:17 +01:00
Matthias
89b6cc89a3 test: update test for removed manual limits 2025-02-01 13:49:04 +01:00
Matthias
26af62e4dd feat: remove manual ohlcv limit definitions where possible 2025-02-01 08:13:33 +01:00
Matthias
f90cd44a9e feat: default ohlcv_limit to ccxt's features definition 2025-02-01 08:12:19 +01:00
Matthias
35f7c97c76 test: add "ohlcv_limit" live test 2025-01-31 18:27:47 +01:00
Matthias
d530527f11 test: add test for exchange.features 2025-01-31 07:03:06 +01:00
Matthias
8af8260b7c feat: initial "features" support 2025-01-31 06:56:41 +01:00
Matthias
7a17cd781a chore: remove coinbasepro exchange
ccxt removed this exchange in https://github.com/ccxt/ccxt/pull/22502.
2025-01-31 06:30:39 +01:00
Matthias
7c8b934c1d Merge pull request #11307 from freqtrade/new_release
New release 2025.1
2025-01-31 06:22:51 +01:00
Matthias
ba244cd2f6 chore: bump develop version to 2025.2 2025-01-30 19:43:51 +01:00
Matthias
10eef02e58 chore: bump version to 2025.1 2025-01-30 19:41:27 +01:00
Matthias
20380b616a Merge branch 'stable' into new_release 2025-01-30 19:41:09 +01:00
Vaadasch
7d3c8b48dd Add some distinction on the trailing_only_offset_is_reached 2025-01-30 14:48:15 +01:00
Matthias
6931b81daa test: add test for binance specific history_id 2025-01-30 07:27:55 +01:00
Matthias
92405f94ec test: further add tests for public trades dl 2025-01-30 07:13:03 +01:00
Matthias
3e1daf50b0 test: add test for download_archive_trades 2025-01-30 07:10:14 +01:00
Matthias
94010287cc Merge pull request #11304 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-01-30 06:30:58 +01:00
xmatthias
24ebe1a205 chore: update pre-commit hooks 2025-01-30 03:02:38 +00:00
Matthias
63ca884dbe chore: remove unused import 2025-01-29 19:42:57 +01:00
Matthias
a6005fde28 feat: simplify traceback display
The Rich way to display is confusing and pretty verbose.
2025-01-29 18:21:07 +01:00
Matthias
486a4ed5c0 chore: remove unused fixture 2025-01-28 19:27:50 +01:00
Matthias
fd4cd11de2 test: simplify api_ws_test 2025-01-28 19:27:50 +01:00
Matthias
262cfedfc9 Merge pull request #11302 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-01-28 06:48:46 +01:00
Matthias
0e807d4a18 chore: fix typo as identified by codespell 2025-01-28 06:29:54 +01:00
xmatthias
de8b3a89fd chore: update pre-commit hooks 2025-01-28 03:03:24 +00:00
Matthias
0caeb6b5f7 chore: improve types 2025-01-27 20:52:16 +01:00
Matthias
85d235958e Merge branch 'develop' into feat/binance_trades_fast 2025-01-27 20:40:59 +01:00
Matthias
62e3f408a6 chore: make some internal fetch-trades methods require since 2025-01-27 20:36:14 +01:00
Matthias
008f875282 chore: improve edge-case bug 2025-01-27 20:26:08 +01:00
Matthias
9b0beb0e6d Merge pull request #11300 from freqtrade/dependabot/pip/develop/prompt-toolkit-3.0.50
chore(deps): bump prompt-toolkit from 3.0.36 to 3.0.50
2025-01-27 19:13:43 +01:00
Matthias
939e3e4a53 Merge pull request #11299 from freqtrade/dependabot/pip/develop/cachetools-5.5.1
chore(deps): bump cachetools from 5.5.0 to 5.5.1
2025-01-27 08:12:44 +01:00
Matthias
e257589fdb Merge pull request #11298 from freqtrade/dependabot/pip/develop/ccxt-4.4.50
chore(deps): bump ccxt from 4.4.49 to 4.4.50
2025-01-27 08:12:07 +01:00
Matthias
4d00309717 Merge pull request #11297 from freqtrade/dependabot/pip/develop/pydantic-2.10.6
chore(deps): bump pydantic from 2.10.5 to 2.10.6
2025-01-27 08:10:38 +01:00
Matthias
41535bef1f Merge pull request #11296 from freqtrade/dependabot/pip/develop/pre-commit-4.1.0
chore(deps-dev): bump pre-commit from 4.0.1 to 4.1.0
2025-01-27 07:26:03 +01:00
Matthias
ddad3ba616 Merge pull request #11301 from freqtrade/dependabot/github_actions/develop/pypa/gh-action-pypi-publish-1.12.4
chore(deps): bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4
2025-01-27 07:05:52 +01:00
Matthias
d70a48970d Merge pull request #11295 from freqtrade/dependabot/pip/develop/filelock-3.17.0
chore(deps): bump filelock from 3.16.1 to 3.17.0
2025-01-27 07:03:14 +01:00
dependabot[bot]
b91deaa0cd chore(deps): bump pydantic from 2.10.5 to 2.10.6
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.10.5 to 2.10.6.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v2.10.5...v2.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>
2025-01-27 05:31:26 +00:00
dependabot[bot]
152705bc62 chore(deps-dev): bump pre-commit from 4.0.1 to 4.1.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 4.0.1 to 4.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/v4.0.1...v4.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>
2025-01-27 05:31:08 +00:00
Matthias
f288381a08 Merge pull request #11294 from freqtrade/dependabot/pip/develop/pymdown-extensions-10.14.1
chore(deps): bump pymdown-extensions from 10.14 to 10.14.1
2025-01-27 06:30:35 +01:00
Matthias
cfbc6a524c Merge pull request #11293 from freqtrade/dependabot/pip/develop/fastapi-0.115.7
chore(deps): bump fastapi from 0.115.6 to 0.115.7
2025-01-27 06:30:16 +01:00
Matthias
1495a15563 Merge pull request #11292 from freqtrade/dependabot/pip/develop/ruff-0.9.3
chore(deps-dev): bump ruff from 0.9.2 to 0.9.3
2025-01-27 06:30:00 +01:00
dependabot[bot]
4a582e5ce5 chore(deps): bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.12.3 to 1.12.4.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.12.3...v1.12.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>
2025-01-27 04:09:13 +00:00
dependabot[bot]
5b06db2529 chore(deps): bump prompt-toolkit from 3.0.36 to 3.0.50
Bumps [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) from 3.0.36 to 3.0.50.
- [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.50)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 03:37:10 +00:00
dependabot[bot]
8e357934ed chore(deps): bump cachetools from 5.5.0 to 5.5.1
Bumps [cachetools](https://github.com/tkem/cachetools) from 5.5.0 to 5.5.1.
- [Changelog](https://github.com/tkem/cachetools/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/tkem/cachetools/compare/v5.5.0...v5.5.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 03:37:05 +00:00
dependabot[bot]
223ea8acec chore(deps): bump ccxt from 4.4.49 to 4.4.50
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.49 to 4.4.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/4.4.49...4.4.50)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 03:36:58 +00:00
dependabot[bot]
567a4f9aad chore(deps): bump filelock from 3.16.1 to 3.17.0
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.16.1 to 3.17.0.
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.16.1...3.17.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 03:36:41 +00:00
dependabot[bot]
997f914d56 chore(deps): bump pymdown-extensions from 10.14 to 10.14.1
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.14 to 10.14.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.14...10.14.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>
2025-01-27 03:36:32 +00:00
dependabot[bot]
4a9483c669 chore(deps): bump fastapi from 0.115.6 to 0.115.7
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.115.6 to 0.115.7.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.115.6...0.115.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 03:36:28 +00:00
dependabot[bot]
319ea1072d chore(deps-dev): bump ruff from 0.9.2 to 0.9.3
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.9.2 to 0.9.3.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.9.2...0.9.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 03:36:22 +00:00
Matthias
33eaa4b53e chore: add bt note to _generic_performance_query 2025-01-26 23:23:45 +01:00
Matthias
cf563c1a56 test: update tests for new best-pair logic 2025-01-26 23:19:35 +01:00
Matthias
99b2857d3d fix: align profit calculations between best pair and /performance
part of #11236
2025-01-26 20:16:27 +01:00
Matthias
eb24d11259 chore: improve method docstring 2025-01-26 20:11:01 +01:00
Matthias
f9d4d38523 fix: only consider filled orders 2025-01-26 20:07:00 +01:00
Matthias
b01de10ab2 test: adjust further tests 2025-01-26 20:04:28 +01:00
Matthias
fa4a540f9e test: adjust tests for new performance calculation 2025-01-26 19:56:29 +01:00
Matthias
4ee875ce2a fix: use properly calculated relative ratio for /entries and /exits 2025-01-26 19:49:34 +01:00
Matthias
78c71cdf87 refactor: make performance_query work in a dynamic way 2025-01-26 19:43:39 +01:00
Matthias
1aac8dfa59 chore: align interface of get_overall_performance 2025-01-26 17:54:11 +01:00
Matthias
8b42c2558a feat: the "minimum" date limit applies to trades, too 2025-01-26 14:28:49 +01:00
Matthias
40f56e43cc test: add test for get_daily_trades 2025-01-26 13:34:27 +01:00
Matthias
e9c961802b test: add test for trades zip url 2025-01-26 13:18:05 +01:00
Matthias
948b6e041d test: add initial test for download-trades 2025-01-26 13:15:09 +01:00
Matthias
80d776af56 test: ensure tests use old method 2025-01-26 13:14:58 +01:00
Matthias
e62d84e35d refactor: pass candle_type 2025-01-26 13:04:44 +01:00
Matthias
098a6551f6 chore: add documentation link for binance.vision 2025-01-26 13:04:08 +01:00
Matthias
6e15fd0da6 feat: trades-fast download - improvements 2025-01-26 12:59:59 +01:00
Matthias
1f2dadc333 fix: edge-case problem 2025-01-26 12:59:59 +01:00
Matthias
c3b7a2b382 feat: use download-data fast if necessary 2025-01-26 12:59:59 +01:00
Matthias
3746305b5a feat: further work on download-trades-archive 2025-01-26 12:59:59 +01:00
Matthias
af3f9d5a75 feat: rough draft of public trades data
This won't work though - as according to https://github.com/binance/binance-public-data - trades does not contain "side".
2025-01-26 12:59:59 +01:00
Matthias
33549a6cef fix: add small offset to allow since to be slightly different 2025-01-26 12:57:12 +01:00
Matthias
a0bc3d968b refactor: simplify binance_public_data 2025-01-26 10:56:45 +01:00
Matthias
8aab8bc528 refactor: improve binance_vision method naming 2025-01-26 09:46:47 +01:00
Matthias
aa595ae8cb refactor: extract binance candle url_segment 2025-01-26 09:41:58 +01:00
Matthias
b657e349a2 chore: remove obsolete comment 2025-01-26 09:22:10 +01:00
Matthias
77e6b2a108 fix: remove potentially problematic call 2025-01-25 18:21:01 +01:00
Matthias
d3f6227d3f chore: improve ohlcvs interface 2025-01-25 18:13:11 +01:00
Matthias
2a370aecd8 chore: ws: make ccxt_object internal 2025-01-25 14:03:41 +01:00
Matthias
0cfb73b74b chore: add wrapper for ws ohlcvs
this avoids access to internal objects
2025-01-25 14:02:09 +01:00
Matthias
867020606c feat: simplify wallet by extracting log
disabling logging in backtesting can be done in one place
2025-01-25 13:52:54 +01:00
Matthias
222da034d1 chore: fix wrong config property in api_server verbosity 2025-01-25 12:51:43 +01:00
Matthias
63b72fb4eb chore: add help-text to --version 2025-01-24 20:01:10 +01:00
Matthias
7e08828537 chore: Remove unused import 2025-01-24 19:43:51 +01:00
Matthias
d843216343 test: update tests for new --version handling 2025-01-24 19:43:18 +01:00
Matthias
120194ff1e chore: improved formatting 2025-01-24 19:43:18 +01:00
Matthias
27a9cbf5e4 feat: print version info on "-V" calls
closes #11222
2025-01-24 19:43:07 +01:00
Matthias
08b18b7ff6 feat: add print_version_info function
part of #11222
2025-01-24 07:16:27 +01:00
Matthias
c3cc58a1af Merge pull request #11248 from xmatthias/fix/backtest_max_detail_2
Improved Backtest timeframe-detail execution logic
2025-01-24 06:39:36 +01:00
Matthias
713979d80c Merge pull request #11275 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-01-23 06:31:11 +01:00
xmatthias
3d28765238 chore: update pre-commit hooks 2025-01-23 03:03:23 +00:00
Matthias
9efa48f2a8 chore: ensure that logged message actually make sense 2025-01-22 19:03:40 +01:00
Matthias
4a7a51035d docs: improve doc formatting 2025-01-22 18:56:33 +01:00
Matthias
7f2e6966a6 fix: update total_volume calculation to actually reflect volume
closes #11268
2025-01-22 18:50:39 +01:00
Matthias
1d22cf98c8 feat: add cost to minimized order json output 2025-01-22 07:19:09 +01:00
Matthias
03a22186bb chore: have backtest exit orders account for fee 2025-01-22 07:12:54 +01:00
Matthias
f4bc956b1b chore: fix type declaration 2025-01-22 07:08:54 +01:00
Matthias
f8f21cfc9c fix: Improve error message for download-data edgecase
hyperliquid doesn't provide historic data, neither klines nor trades.
This made the error message missleading.

closes #11270
2025-01-22 06:58:22 +01:00
Matthias
2b915a76df Merge pull request #11264 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-01-21 06:42:34 +01:00
xmatthias
eb41cc3b00 chore: update pre-commit hooks 2025-01-21 03:03:18 +00:00
Matthias
c1d812c307 Merge pull request #11254 from freqtrade/dependabot/pip/develop/pyarrow-19.0.0
chore(deps): bump pyarrow from 18.1.0 to 19.0.0
2025-01-20 19:52:16 +01:00
Matthias
952a647c69 chore: add pre-built pyarrow wheels 2025-01-20 19:30:54 +01:00
dependabot[bot]
dff308062e chore(deps): bump pyarrow from 18.1.0 to 19.0.0
Bumps [pyarrow](https://github.com/apache/arrow) from 18.1.0 to 19.0.0.
- [Release notes](https://github.com/apache/arrow/releases)
- [Commits](https://github.com/apache/arrow/compare/apache-arrow-18.1.0...apache-arrow-19.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>
2025-01-20 19:30:53 +01:00
Matthias
81b4285d17 test: avoid potential odd timing issues in test 2025-01-20 19:23:04 +01:00
Matthias
822521136f docs: improve location of "many position adjustment" warning 2025-01-20 19:01:45 +01:00
Matthias
6f307e1e3d test: add more sleep 2025-01-20 19:00:35 +01:00
Matthias
588bf357a9 test: add more sleep 2025-01-20 18:26:57 +01:00
Matthias
9158a3d7d9 test: add small wait to reduce test flakyness 2025-01-20 10:25:27 +01:00
Matthias
47a86c3d54 Merge pull request #11253 from freqtrade/dependabot/pip/develop/mkdocs-2f8f3f13ab
chore(deps): bump mkdocs-material from 9.5.49 to 9.5.50 in the mkdocs group
2025-01-20 07:09:04 +01:00
Matthias
1e27c8af0a Merge pull request #11259 from freqtrade/dependabot/pip/develop/ccxt-4.4.49
chore(deps): bump ccxt from 4.4.48 to 4.4.49
2025-01-20 07:08:48 +01:00
Matthias
38bf71f02f Merge pull request #11257 from freqtrade/dependabot/pip/develop/websockets-14.2
chore(deps): bump websockets from 14.1 to 14.2
2025-01-20 07:02:44 +01:00
Matthias
ffef87f7d1 docs: improve FAQ entry 2025-01-20 06:57:11 +01:00
Matthias
fc1feb9abc chore: try fix random test failure 2025-01-20 06:45:27 +01:00
Matthias
a3b1428d28 Merge pull request #11256 from freqtrade/dependabot/pip/develop/orjson-3.10.15
chore(deps): bump orjson from 3.10.14 to 3.10.15
2025-01-20 06:34:51 +01:00
Matthias
63c63560dd Merge pull request #11260 from freqtrade/dependabot/pip/develop/ruff-0.9.2
chore(deps-dev): bump ruff from 0.9.1 to 0.9.2
2025-01-20 06:34:13 +01:00
dependabot[bot]
0358a4d23b chore(deps-dev): bump ruff from 0.9.1 to 0.9.2
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.9.1 to 0.9.2.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.9.1...0.9.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 03:07:52 +00:00
dependabot[bot]
df71670e6d chore(deps): bump ccxt from 4.4.48 to 4.4.49
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.48 to 4.4.49.
- [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/4.4.48...4.4.49)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 03:07:36 +00:00
dependabot[bot]
0a09c6cbd7 chore(deps): bump websockets from 14.1 to 14.2
Bumps [websockets](https://github.com/python-websockets/websockets) from 14.1 to 14.2.
- [Release notes](https://github.com/python-websockets/websockets/releases)
- [Commits](https://github.com/python-websockets/websockets/compare/14.1...14.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 03:07:09 +00:00
dependabot[bot]
152358ee18 chore(deps): bump orjson from 3.10.14 to 3.10.15
Bumps [orjson](https://github.com/ijl/orjson) from 3.10.14 to 3.10.15.
- [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.10.14...3.10.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 03:07:03 +00:00
dependabot[bot]
d710ea448f chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.5.49 to 9.5.50
- [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.5.49...9.5.50)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 03:06:38 +00:00
Matthias
36e4842fe9 chore: remove unnecessary commented line 2025-01-19 13:57:27 +01:00
Matthias
141286a88c feat: have performance account for leverage correctly 2025-01-19 13:57:00 +01:00
Matthias
1e2450d5b9 docs: improved telegram performance docs 2025-01-18 20:13:51 +01:00
Matthias
f773905d8e test: adjust rpc tests for new calculation 2025-01-18 20:08:19 +01:00
Matthias
2044af24a3 feat: improve performance query reliability 2025-01-18 20:08:19 +01:00
Matthias
6bca604bf9 feat: Add more comprehensive Relative % to performance list
closes #11236
2025-01-18 20:08:03 +01:00
Matthias
5d3a056ae5 test: update api_performance test to USDT 2025-01-18 20:03:12 +01:00
Matthias
e9eee11b2e test: simplify api_performance test setup 2025-01-18 20:00:28 +01:00
Matthias
cf5b6e5e20 test: improve test resiliance 2025-01-18 19:49:23 +01:00
Matthias
13050f0d67 chore: bump version to 2024.12.1 2025-01-18 14:22:50 +01:00
Matthias
61e5b4755c chore: Bump ccxt to 4.4.48
fixes a critical issue with bybit
2025-01-18 14:22:28 +01:00
Matthias
5e0ea48011 test: improve test_exit_positions slightly 2025-01-18 14:01:12 +01:00
Matthias
aceb3ac764 Merge pull request #10062 from Axel-CH/feature/proceed-exit-while-open-order
Feature: Proceed exit while having open order, for backtesting and live
2025-01-18 08:10:33 +01:00
Matthias
6b1af9b9a2 chore: move docstring to the right place 2025-01-17 19:37:15 +01:00
Matthias
e350dbd552 refactor: simplify backtesting class 2025-01-17 19:18:28 +01:00
Matthias
f7f78ad2a4 test: fix test comment 2025-01-17 19:01:11 +01:00
Matthias
26983c637a docs: document timeframe-detail potential difference 2025-01-17 07:07:25 +01:00
Matthias
733cd22dee chore: remove bt_open_open_trade_count_candle
it's no longer necessary if we support in-candle entries
2025-01-17 06:48:01 +01:00
Matthias
1e61aea23b feat: allow in-candle entries 2025-01-17 06:45:56 +01:00
Matthias
419d5d9946 feat: add backtesting support for ignore_buying_expired_candle_after
this is only relevant for detail candles - otherwise entries will never happen within a candle.
2025-01-17 06:38:39 +01:00
Matthias
d02b4d4c3f test: Fix detail futures test 2025-01-17 06:38:39 +01:00
Matthias
5f89708be4 test: fix long_short switch test 2025-01-16 19:47:12 +01:00
Matthias
e80ddcabe7 Merge pull request #11242 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-01-16 06:26:20 +01:00
xmatthias
12e0dcd523 chore: update pre-commit hooks 2025-01-16 03:04:05 +00:00
Matthias
4a6027b43f test: update pair_detail_simplified test
parallel analysis should cover more detailed cases to prevent intra-candle parallelism
2025-01-15 18:15:15 +01:00
Matthias
e81489807d fix: prevent multiple intra-candle trades 2025-01-15 18:11:46 +01:00
Matthias
a6601ba7d2 refactor: mark time_generators private 2025-01-15 07:11:44 +01:00
Matthias
2b4d3b3f15 refactor: extract detail/pair loop to separate generator 2025-01-15 07:10:37 +01:00
Matthias
a326af830f chore: simplify backtest loop interface 2025-01-15 07:05:52 +01:00
Matthias
cbe38c6f41 fix: don't detail-loop pairs if a trade closed within the current candle. 2025-01-15 06:46:33 +01:00
Matthias
d54af598ac Merge pull request #11237 from koistya/koistya/upgrade-ccxt
chore(deps): upgrade CCXT from 4.4.47 to 4.4.48
2025-01-14 21:44:14 +01:00
Matthias
1e1b4239e7 chore: improve a few typings 2025-01-14 21:29:43 +01:00
Matthias
f5be8fc70a fix: switch backtest loop to have linear timing
By running with timeframe-detail first, then pair, we can
have linear timing
This will avoid odd bugs due to in-candle closures

closes #11217
2025-01-14 21:10:11 +01:00
Matthias
807fcffdae chore: move more logic to generator 2025-01-14 20:15:17 +01:00
Matthias
96cea99d4f refactor: move index-handling into generator 2025-01-14 20:13:51 +01:00
Matthias
14acc6609f chore: remove unused statement 2025-01-14 20:00:00 +01:00
Matthias
8029729ab1 refactor: move more stuff into generator 2025-01-14 19:38:05 +01:00
Matthias
b525ba85c8 refactor: extract backtest detail_data_spread to function 2025-01-14 19:25:05 +01:00
Konstantin Tarkus
6db42f5fbc chore(deps): upgrade CCXT from 4.4.47 to 4.4.48 2025-01-14 17:22:18 +01:00
Matthias
1f0b23c5fc chore: fix typo in dataprovider 2025-01-14 06:33:53 +01:00
Matthias
a13feaf49f test: Update tests for short-circuit behavior 2025-01-14 06:33:45 +01:00
Matthias
2697ac3581 chore: stop detail processing once a trade closed 2025-01-14 06:33:31 +01:00
Matthias
70d9ac09d1 Merge pull request #11230 from freqtrade/dependabot/pip/develop/ruff-0.9.1
chore(deps-dev): bump ruff from 0.8.6 to 0.9.1
2025-01-13 19:10:51 +01:00
Matthias
be2907acca chore: bump ruff pre-commit version 2025-01-13 18:12:21 +01:00
Matthias
5b555cca57 Merge pull request #11231 from freqtrade/dependabot/pip/develop/orjson-3.10.14
chore(deps): bump orjson from 3.10.13 to 3.10.14
2025-01-13 18:11:52 +01:00
Matthias
f1c5d4a970 chore: ruff format updates 2025-01-13 18:05:20 +01:00
Matthias
2e482fbb3a Merge pull request #11227 from freqtrade/dependabot/pip/develop/sqlalchemy-2.0.37
chore(deps): bump sqlalchemy from 2.0.36 to 2.0.37
2025-01-13 07:47:34 +01:00
Matthias
35f914afa3 Merge pull request #11229 from freqtrade/dependabot/pip/develop/scipy-1.15.1
chore(deps): bump scipy from 1.15.0 to 1.15.1
2025-01-13 07:37:38 +01:00
Matthias
5356fc3191 Merge pull request #11226 from freqtrade/dependabot/pip/develop/stable-baselines3-2.4.1
chore(deps): bump stable-baselines3 from 2.4.0 to 2.4.1
2025-01-13 07:37:16 +01:00
Matthias
16ef348222 chore: improve docstring 2025-01-13 07:10:54 +01:00
Matthias
01ce4e42c6 chore: update type file name 2025-01-13 07:10:42 +01:00
Matthias
6addab2eae chore: update sqlalchemy in pre-commit 2025-01-13 07:04:42 +01:00
dependabot[bot]
f428e81469 chore(deps): bump scipy from 1.15.0 to 1.15.1
Bumps [scipy](https://github.com/scipy/scipy) from 1.15.0 to 1.15.1.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.15.0...v1.15.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 06:02:14 +00:00
Matthias
039bffb0e6 Merge pull request #11232 from freqtrade/dependabot/pip/develop/ccxt-4.4.47
chore(deps): bump ccxt from 4.4.46 to 4.4.47
2025-01-13 07:01:21 +01:00
Matthias
ea649fbdbf Merge pull request #11234 from freqtrade/dependabot/pip/develop/pymdown-extensions-10.14
chore(deps): bump pymdown-extensions from 10.13 to 10.14
2025-01-13 06:59:56 +01:00
Matthias
15a99b02bd Merge pull request #11228 from freqtrade/dependabot/pip/develop/pydantic-2.10.5
chore(deps): bump pydantic from 2.10.4 to 2.10.5
2025-01-13 06:59:34 +01:00
Matthias
f7c94f7e44 Merge pull request #11233 from freqtrade/dependabot/pip/develop/scikit-learn-1.6.1
chore(deps): bump scikit-learn from 1.6.0 to 1.6.1
2025-01-13 06:58:24 +01:00
dependabot[bot]
76ab888714 chore(deps-dev): bump ruff from 0.8.6 to 0.9.1
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.8.6 to 0.9.1.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.8.6...0.9.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 05:53:18 +00:00
Matthias
c52a07f2f1 Merge pull request #11225 from freqtrade/dependabot/pip/develop/pytest-43126348c1
chore(deps-dev): bump pytest-asyncio from 0.25.1 to 0.25.2 in the pytest group
2025-01-13 06:51:26 +01:00
dependabot[bot]
e987858109 chore(deps): bump pymdown-extensions from 10.13 to 10.14
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.13 to 10.14.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.13...10.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 03:19:24 +00:00
dependabot[bot]
a8dc5339ab chore(deps): bump scikit-learn from 1.6.0 to 1.6.1
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.6.0...1.6.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>
2025-01-13 03:19:20 +00:00
dependabot[bot]
fb09d4c534 chore(deps): bump ccxt from 4.4.46 to 4.4.47
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.46 to 4.4.47.
- [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/4.4.46...4.4.47)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 03:19:14 +00:00
dependabot[bot]
538c8c9805 chore(deps): bump orjson from 3.10.13 to 3.10.14
Bumps [orjson](https://github.com/ijl/orjson) from 3.10.13 to 3.10.14.
- [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.10.13...3.10.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 03:19:03 +00:00
dependabot[bot]
0e5f072f6c chore(deps): bump pydantic from 2.10.4 to 2.10.5
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.10.4 to 2.10.5.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v2.10.4...v2.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>
2025-01-13 03:18:34 +00:00
dependabot[bot]
ca6153715a chore(deps): bump sqlalchemy from 2.0.36 to 2.0.37
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.36 to 2.0.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>
2025-01-13 03:18:16 +00:00
dependabot[bot]
2a1144c827 chore(deps): bump stable-baselines3 from 2.4.0 to 2.4.1
Bumps [stable-baselines3](https://github.com/DLR-RM/stable-baselines3) from 2.4.0 to 2.4.1.
- [Release notes](https://github.com/DLR-RM/stable-baselines3/releases)
- [Commits](https://github.com/DLR-RM/stable-baselines3/compare/v2.4.0...v2.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 03:18:02 +00:00
dependabot[bot]
ffaf648d5c chore(deps-dev): bump pytest-asyncio in the pytest group
Bumps the pytest group with 1 update: [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio).


Updates `pytest-asyncio` from 0.25.1 to 0.25.2
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.25.1...v0.25.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 03:17:49 +00:00
Matthias
b1c5e0458c chore: use uv pip for CI runs 2025-01-11 14:47:34 +01:00
Matthias
cf1e8934aa chore: Update CI to use uv 2025-01-11 14:45:01 +01:00
Matthias
153e2f9628 chore: use UV action venv setup 2025-01-11 14:06:41 +01:00
Matthias
1b28be974c test: update tests for new behavior 2025-01-11 08:12:27 +01:00
Matthias
5bfd503cd8 fix: allow setting verbosity via Environment variable 2025-01-11 08:12:19 +01:00
Matthias
c90cfa896c test: never have more than 1 open order at a time. 2025-01-10 07:19:57 +01:00
Matthias
1a59ecf98e docs: update callback docs for new behavior 2025-01-10 07:16:24 +01:00
Matthias
711e680198 chore: improve log on adjust_entry_price cancels 2025-01-09 20:05:34 +01:00
Matthias
e5d508a507 docs: update adjust-entry docs about partial fills
These are canceled and NOT replaced - this needs to be pointed out.

closes #11212
2025-01-09 20:05:23 +01:00
Matthias
75fb2a0c86 fix: catch error when getting the last candle fails
It's unknown when this actually happens - but this should be the safer bet than crashing completely.

closes #11213
2025-01-09 18:21:51 +01:00
Matthias
092a9ff5db chore: fix error if precision.price is None 2025-01-09 18:06:58 +01:00
Matthias
dc7246413b chore: add futures only exchange variants to "bad exchanges" 2025-01-09 07:13:08 +01:00
Matthias
fbad2d5c89 Merge pull request #11211 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-01-09 06:32:39 +01:00
xmatthias
a6e44c9e4a chore: update pre-commit hooks 2025-01-09 03:19:10 +00:00
Matthias
cb0fc9c1a9 fix: don't show "**" for /status table 2025-01-07 19:19:38 +01:00
Matthias
b57cedeab7 Merge pull request #11178 from TheJoeSchr/fix/orderflow_imbalance_list
Fix:orderflow returns a list for stacked imbalances
2025-01-07 19:10:14 +01:00
Matthias
b863c6830d Merge pull request #11200 from freqtrade/feat/remove_hdf5
Remove hdf5 support
2025-01-07 06:48:48 +01:00
Matthias
3a8aba13d9 Merge pull request #11204 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2025-01-07 05:59:55 +01:00
xmatthias
09c272515e chore: update pre-commit hooks 2025-01-07 03:08:22 +00:00
Matthias
c266490ee4 fix: Try fix api_log test error in unfortunate timing scenarios 2025-01-06 14:19:16 +01:00
Matthias
ecd2d013df chore: remove hdf5 from data comparison 2025-01-06 13:59:02 +01:00
Matthias
fa306b090e feat: Add create-command-partials to CI to ensure we remain aligned 2025-01-06 13:56:33 +01:00
Matthias
6ca5d42c89 chore: add Script to auto-export create_command_partials 2025-01-06 13:55:12 +01:00
Matthias
353e3da2f8 docs: add "main" commands section 2025-01-06 13:55:01 +01:00
Matthias
054bccf24e docs: update Readme.md command output 2025-01-06 13:54:48 +01:00
Matthias
96490b7b7a docs: use includes for command help output 2025-01-06 13:51:56 +01:00
Matthias
fc9ea6d153 docs: improve hdf5 deprecation message 2025-01-06 13:33:25 +01:00
Matthias
817707711d Remove binary hdf5 dependencies 2025-01-06 13:32:42 +01:00
Matthias
e2bdf2a97f tests: fix remaining hdf5 occurance 2025-01-06 13:31:29 +01:00
Matthias
5bb109884c test: remove hdf5 testdata 2025-01-06 13:31:21 +01:00
Matthias
64c2c6a524 Merge pull request #11195 from freqtrade/dependabot/pip/develop/scipy-1.15.0
chore(deps): bump scipy from 1.14.1 to 1.15.0
2025-01-06 13:28:30 +01:00
Matthias
6760d44761 tests: Update tests with removed hdf5 handler 2025-01-06 13:26:06 +01:00
Matthias
1f0d304190 chore: remove hdf5 from supported data handlers 2025-01-06 13:25:30 +01:00
Matthias
de2b8dcfdd feat: remove hdf5 dependencies and install logic 2025-01-06 13:21:16 +01:00
Matthias
0e5a88bf93 feat: remove hdf5 datahandler, raise exception when still configured 2025-01-06 13:20:18 +01:00
Matthias
a19872d640 chore: clean up running event loops after test 2025-01-06 13:10:02 +01:00
Matthias
ee63e51cc5 chore: remove deprecated sklearn function call 2025-01-06 13:08:50 +01:00
Matthias
82e3e3d66e Merge pull request #11188 from jerome-benoit/docs
docs(freqai): point link anchor to right section
2025-01-06 12:40:49 +01:00
Matthias
cb5fd6ea71 Merge pull request #11190 from freqtrade/dependabot/pip/develop/nbconvert-7.16.5
chore(deps-dev): bump nbconvert from 7.16.4 to 7.16.5
2025-01-06 12:16:37 +01:00
Matthias
d12d3ac0b3 Merge pull request #11194 from freqtrade/dependabot/pip/develop/ruff-0.8.6
chore(deps-dev): bump ruff from 0.8.4 to 0.8.6
2025-01-06 11:48:44 +01:00
dependabot[bot]
489440fbc3 chore(deps-dev): bump ruff from 0.8.4 to 0.8.6
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.8.4 to 0.8.6.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.8.4...0.8.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 07:34:46 +00:00
Matthias
5a3b7f8915 Merge pull request #11189 from freqtrade/dependabot/pip/develop/pytest-60ad21c7c8
chore(deps-dev): bump pytest-asyncio from 0.25.0 to 0.25.1 in the pytest group
2025-01-06 08:33:25 +01:00
Matthias
49ef2393fb Merge pull request #11191 from freqtrade/dependabot/pip/develop/ccxt-4.4.46
chore(deps): bump ccxt from 4.4.43 to 4.4.46
2025-01-06 08:30:00 +01:00
dependabot[bot]
af673f568d chore(deps-dev): bump pytest-asyncio in the pytest group
Bumps the pytest group with 1 update: [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio).


Updates `pytest-asyncio` from 0.25.0 to 0.25.1
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.25.0...v0.25.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 06:56:15 +00:00
Matthias
eed89d2749 Merge pull request #11197 from freqtrade/dependabot/pip/develop/mypy-1.14.1
chore(deps-dev): bump mypy from 1.14.0 to 1.14.1
2025-01-06 07:53:57 +01:00
Matthias
a883114c92 Merge pull request #11196 from freqtrade/dependabot/pip/develop/python-telegram-bot-21.10
chore(deps): bump python-telegram-bot from 21.9 to 21.10
2025-01-06 07:53:16 +01:00
dependabot[bot]
22905baf55 chore(deps-dev): bump mypy from 1.14.0 to 1.14.1
Bumps [mypy](https://github.com/python/mypy) from 1.14.0 to 1.14.1.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.14.0...v1.14.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 03:12:39 +00:00
dependabot[bot]
999fc2208a chore(deps): bump python-telegram-bot from 21.9 to 21.10
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 21.9 to 21.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/v21.9...v21.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>
2025-01-06 03:12:21 +00:00
dependabot[bot]
767a145374 chore(deps): bump scipy from 1.14.1 to 1.15.0
Bumps [scipy](https://github.com/scipy/scipy) from 1.14.1 to 1.15.0.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.14.1...v1.15.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 03:12:17 +00:00
dependabot[bot]
4ef5a878d6 chore(deps): bump ccxt from 4.4.43 to 4.4.46
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.43 to 4.4.46.
- [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/4.4.43...4.4.46)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 03:11:46 +00:00
dependabot[bot]
70a53d68a4 chore(deps-dev): bump nbconvert from 7.16.4 to 7.16.5
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.16.4 to 7.16.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.16.4...v7.16.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 03:11:39 +00:00
Jérôme Benoit
4297c5830f docs(freqai): point link anchor to right section
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2025-01-06 01:59:45 +01:00
Matthias
00d1f14bcc Merge pull request #11184 from jerome-benoit/docs
docs: reference stable freqai docker images
2025-01-05 19:35:47 +01:00
Jérôme Benoit
c100009b00 docs: reference stable freqai docker images
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
2025-01-05 16:58:48 +01:00
Matthias
93c2d6a7ad tests: Add test for get_ohlcv to ensure behavior is and stays correct 2025-01-05 13:13:51 +01:00
Matthias
649739b8e4 test: fix test failure due to missing commonCurrencies attr 2025-01-05 13:05:03 +01:00
Matthias
f109d08bd0 tests: add test for exchange_ws cleanup error 2025-01-05 13:00:57 +01:00
Matthias
6b96d4d145 test: improve exchange_ws tests 2025-01-05 13:00:47 +01:00
Matthias
98e49ab187 fix: add workaround for missing kraken balance mapping
closes #11118
2025-01-05 11:30:25 +01:00
Matthias
b70d02e46d test: add test for kraken balance problem
part of #11118
2025-01-05 11:29:15 +01:00
Matthias
4f1bf6a1f0 test: add test for kraken balance response parsing
part of #11118
2025-01-05 11:21:37 +01:00
Matthias
5f0df2c1de chore: Improve websocket behavior with unsynched time
closes #11139
2025-01-05 11:11:34 +01:00
Matthias
ece7b0d9f2 feat: add format_ms_time_detailed view 2025-01-05 10:49:53 +01:00
Matthias
e620f55cd6 chore: improve variable naming in exchange_ws 2025-01-05 10:13:20 +01:00
Matthias
08fa82dc53 test: adjust test for new value unit 2025-01-05 10:08:20 +01:00
Matthias
a9483edaac chore: convert _pairs_last_refresh_time to milliseconds 2025-01-05 10:06:27 +01:00
Matthias
2fe9ceab8d chore: improve variable naming 2025-01-05 09:55:17 +01:00
Matthias
f6bf6c52c5 chore: use dt_ts to convert timestamp 2025-01-05 09:54:59 +01:00
Joe Schr
5f5e51326f chore: modify orderflow docs re. stacked imbalance changes 2025-01-04 23:59:11 +01:00
Joe Schr
7c148a0123 fix: remove superfluous territory return statement 2025-01-04 23:48:55 +01:00
Matthias
452358541b refactor: simplify some date calculations 2025-01-04 17:40:51 +01:00
Matthias
37c10c9b06 Merge pull request #11182 from 14790897/fix-docs-link-error
fix: link error in strategy-customization
2025-01-04 17:14:33 +01:00
liuweiqing
3682fcba4d fix: link error in strategy-customization 2025-01-04 23:55:45 +08:00
Matthias
046e1534f3 chore: Improve exchange_ws debug logging 2025-01-04 14:18:25 +01:00
Joe Schr
fd7272ba63 chore: fix unterminated string literal in test runner 2025-01-03 19:01:59 +01:00
Joe Schr
12adbeb7f3 fix: don't sort stacked imbalances, return empty list if no found...
... also removes helper functions `stacked_imbalance_bid` & `stacked_imbalance_ask`
2025-01-03 18:42:00 +01:00
Joe Schr
11976f11b0 fix: Improve stacked imbalance detection in orderflow converter 2025-01-03 18:42:00 +01:00
Joe Schr
ea96abecd0 test: Add comprehensive test for stacked_imbalances with multiple price entries 2025-01-03 18:42:00 +01:00
Joe Schr
5589578872 test: Update tests for stacked imbalances returning lists 2025-01-03 18:42:00 +01:00
Joe Schr
fb4aae080b refactor: Modify stacked_imbalance to return list of prices instead of max price 2025-01-03 16:21:54 +01:00
Matthias
471df70f62 test: add test for improved safe_wrapper behavior 2025-01-03 15:29:01 +01:00
Matthias
90b1e15eb2 feat: Skip trade deepcopy if the callback isn't implemented
closes #10946
2025-01-03 15:28:41 +01:00
Matthias
9c825fb156 chore: remove unnecessary verbosity of offset filter 2025-01-03 14:43:45 +01:00
Matthias
676cdab9a9 docs: improve adjust_entry_price documentation
closes #11177
2025-01-03 13:23:12 +01:00
Matthias
c4b34ea60c fix: Improve MultiMetricHyperoptLoss
Capping expectancy_ratio makes sense - but must be done in a better way

closes #11174
2025-01-03 13:20:11 +01:00
Matthias
af0d719b2c chore: prevent error exiting when an order is already open and due for cancelation 2025-01-02 15:03:29 +01:00
Matthias
0866b8fdca chore: bump py_find_1st to 1.1.7 2025-01-02 12:57:32 +01:00
Matthias
32d966a8a6 Merge pull request #11173 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2025-01-02 07:52:08 +01:00
xmatthias
b6f6afa15e chore: update pre-commit hooks 2025-01-02 03:05:14 +00:00
Matthias
9f69b4f1b6 Merge pull request #11172 from froggleston/frog-docs-adjust-1
Clarify trade.stake_amount as combined stake for all adjusted orders
2025-01-01 17:08:34 +01:00
froggleston
d23c3120e6 Clarify trade.stake_amount as combined stake for all adjusted orders 2025-01-01 15:07:40 +00:00
Matthias
9beae3d164 fix: download-data progressbars should work properly 2024-12-31 10:01:02 +01:00
Matthias
503eb1e55d Merge pull request #11120 from freqtrade/feat/BNFCR
Add support for BNFCR
2024-12-30 17:31:47 +01:00
Matthias
0919d4c274 test: improve integration test case 2024-12-30 13:56:02 +01:00
Matthias
f4c004347e chore: backtesting should avoid unnecessary logging 2024-12-30 13:47:36 +01:00
Matthias
d2beb07eef Merge pull request #11164 from freqtrade/dependabot/pip/develop/orjson-3.10.13
chore(deps): bump orjson from 3.10.12 to 3.10.13
2024-12-30 07:00:44 +01:00
Matthias
466e834680 Merge pull request #11160 from freqtrade/new_release
New release 2024.12
2024-12-30 06:58:30 +01:00
Matthias
5266f74708 Merge pull request #11163 from freqtrade/dependabot/pip/develop/pymdown-extensions-10.13
chore(deps): bump pymdown-extensions from 10.12 to 10.13
2024-12-30 06:47:49 +01:00
Matthias
243f219e22 Merge pull request #11162 from freqtrade/dependabot/pip/develop/questionary-2.1.0
chore(deps): bump questionary from 2.0.1 to 2.1.0
2024-12-30 06:47:27 +01:00
dependabot[bot]
0f5ef03dc9 chore(deps): bump orjson from 3.10.12 to 3.10.13
Bumps [orjson](https://github.com/ijl/orjson) from 3.10.12 to 3.10.13.
- [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.10.12...3.10.13)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-30 03:30:51 +00:00
dependabot[bot]
c1e032a4f0 chore(deps): bump pymdown-extensions from 10.12 to 10.13
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.12 to 10.13.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.12...10.13)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-30 03:30:38 +00:00
dependabot[bot]
c460511574 chore(deps): bump questionary from 2.0.1 to 2.1.0
Bumps [questionary](https://github.com/tmbo/questionary) from 2.0.1 to 2.1.0.
- [Commits](https://github.com/tmbo/questionary/compare/2.0.1...2.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-30 03:30:22 +00:00
Matthias
8624a9c306 Revert "chore: windows CI -> -n logical"
This reverts commit 1f6a0dccd5.
2024-12-29 18:01:06 +01:00
Matthias
1f6a0dccd5 chore: windows CI -> -n logical 2024-12-29 17:20:34 +01:00
Matthias
99ba489874 chore(CI): run windows tests in parallel 2024-12-29 17:20:34 +01:00
Matthias
ea00260e79 chore: bump version to 2025.1-dev 2024-12-29 17:20:34 +01:00
Matthias
fcc7c5cf5c Merge pull request #11159 from xmatthias/rich_console
Add rich log handler
2024-12-29 15:45:56 +01:00
Matthias
4285602323 Merge pull request #11154 from freqtrade/feat/zip_backtest
Zip backtest results
2024-12-29 15:40:17 +01:00
Matthias
9e0b9962ce chore: bump version to 2024.12 2024-12-29 15:28:46 +01:00
Matthias
4d2863baf5 Merge branch 'stable' into new_release 2024-12-29 15:28:30 +01:00
Matthias
10969b7139 chore: improved error handling 2024-12-29 14:27:29 +01:00
Matthias
a4f3fe70c5 feat: add "no-color" argument to general arguments 2024-12-29 11:52:56 +01:00
Matthias
3903e4455c chore: remove unused variable in hyperopt 2024-12-29 11:49:49 +01:00
Matthias
0f2d3f2638 test: Update tests to use rich Handler 2024-12-29 11:47:51 +01:00
Matthias
3ed1454168 chore: reduce traceback verbosity 2024-12-29 11:44:21 +01:00
Matthias
b6867d956c feat: improve Rich traceback rendering 2024-12-29 11:42:36 +01:00
Matthias
392486bc17 feat: Add rich traceback output 2024-12-29 11:32:28 +01:00
Matthias
dfcf4ba7fd chore: Improved types for rich_handler 2024-12-29 10:57:57 +01:00
Matthias
0f4330a6bb feat: properly set color_system 2024-12-29 10:50:05 +01:00
Matthias
e5da4d4be1 chore: move print_colorized to transfer to config before logging setup 2024-12-29 10:49:19 +01:00
Matthias
44d9cb85a0 chore: don't change time color for improved readability 2024-12-29 10:45:22 +01:00
Matthias
59f3d88c58 feat: allow disabling color output 2024-12-29 10:42:19 +01:00
Matthias
3e5ab8549f feat: add ftRichColorHandler 2024-12-29 10:11:10 +01:00
Matthias
af28656138 Add rich as loghandler instead of stdout 2024-12-29 08:53:31 +01:00
Matthias
4ff200d315 docs: clarify docs about plot annotation callback 2024-12-28 16:38:40 +01:00
Matthias
5700f789e2 chore: improve type-safety 2024-12-28 15:49:41 +01:00
Matthias
689767e3ca chore: rename response model attribute 2024-12-28 15:46:38 +01:00
Matthias
66efc9a469 docs: add documentation for plot_annotations 2024-12-28 15:43:45 +01:00
Matthias
4c3e477667 chore: rename Annotation type 2024-12-28 15:41:10 +01:00
Matthias
8cdae5f56e feat: add plot_annotations interface 2024-12-28 15:26:37 +01:00
Matthias
347295ecaf feat: Expand pair_candles with plot_annotations call 2024-12-28 15:18:02 +01:00
Matthias
7272204d58 feat: add MarkArea type 2024-12-28 15:17:16 +01:00
Matthias
0032f9a960 chore: bump ccxt to 4.4.43
this adds support for myokx, the OKX EAA subsidiary.
2024-12-28 12:49:55 +01:00
Matthias
5ca31508fb chore: remove "former huobi" terminology 2024-12-28 12:46:57 +01:00
Matthias
a58fde367c chore: remove "former OKEX" terminology 2024-12-28 12:46:35 +01:00
Matthias
3f41910eb4 docs: add myokx special case documentation 2024-12-28 12:10:25 +01:00
Matthias
9a201566f2 chore: fix typo in telegram help message 2024-12-28 12:05:55 +01:00
Matthias
a180cb95dc chore: Improve list-exchanges output 2024-12-28 12:05:02 +01:00
Matthias
fbb757fa2f chore: may myokx to okx - it's just an alias for european users 2024-12-28 12:03:37 +01:00
Matthias
6ee38adbb5 fix: round open_rate to tradable precisionThis prevents odd display issues with 16 decimals in case of multiple entries. 2024-12-27 19:18:10 +01:00
Matthias
6f3dca44a3 fix: apply hyperliquid market rate fix to fetch_orders 2024-12-27 18:16:37 +01:00
Matthias
a4ae5b74a4 chore: add log_response after average modification 2024-12-27 18:04:29 +01:00
Matthias
fc970a1af4 chore: Remove pin of matplotlib 2024-12-27 13:39:13 +01:00
Matthias
10063b205c chore: refresh liquidation prices at regular intervals 2024-12-26 16:55:54 +01:00
Matthias
6c94b75172 chore: improve zip loading errorhandling 2024-12-26 15:29:25 +01:00
Matthias
7a619594f6 chore: improve zip file loading interface 2024-12-26 15:29:25 +01:00
Matthias
0682d12fe3 feat: get_backtest_market_change should support zip files 2024-12-26 14:57:37 +01:00
Matthias
1119ee1cdd chore: load zip reusability 2024-12-26 14:57:37 +01:00
Matthias
8fe1f3cb95 feat: load backtest data via API from both zip and json 2024-12-26 14:57:37 +01:00
Matthias
6121fb30a9 chore: improved error-message when exportfilename wasn't found 2024-12-26 14:57:37 +01:00
Matthias
a40b2816a1 chore: greatly simplify analyze_commands 2024-12-26 14:57:37 +01:00
Matthias
bb372e380d test: clean up optimize_report tests 2024-12-26 14:57:37 +01:00
Matthias
aa99baf268 test: update a few tests 2024-12-26 14:57:37 +01:00
Matthias
606013a697 chore: import ZipFile directly 2024-12-26 14:57:37 +01:00
Matthias
a88675b693 test: improve test_metadata_filename test 2024-12-26 14:57:37 +01:00
Matthias
b08a93a287 feat: Detect both .json and .zip backtest results 2024-12-26 14:57:37 +01:00
Matthias
2768155e7d fix: use .json metadata file 2024-12-26 14:57:37 +01:00
Matthias
9f2142135e refactor: move load-analysis-data logic to btanalysis file 2024-12-26 14:57:37 +01:00
Matthias
258b85a860 feat: load backtest-analysis-data files from zipfile 2024-12-26 14:57:37 +01:00
Matthias
b1bf56cfab chore: use exception logging for exceptions 2024-12-26 14:57:37 +01:00
Matthias
d2d6c6fa81 feat: load backtest-results from either file or zip file 2024-12-26 14:57:37 +01:00
Matthias
b1fc271a7e chore: Update storage to store backtest results as zip file
this will enable further additions to files without polluting the filesystem further.
2024-12-26 14:57:37 +01:00
Matthias
37bbb0e0e0 refactor: move joblib_writer to use file interface 2024-12-26 14:57:37 +01:00
Matthias
2a9a3e020c chore: move joblib export to bt_storage function 2024-12-26 14:57:37 +01:00
Matthias
cd2520603a refactor: move json file dumping to separate method 2024-12-26 14:57:37 +01:00
Matthias
b5748fee6e docs: add FAQ about resetting a bot's database 2024-12-26 13:54:21 +01:00
Matthias
b092dfa2c9 Merge pull request #11149 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-12-26 12:10:19 +01:00
xmatthias
2ad1fbd771 chore: update pre-commit hooks 2024-12-26 03:06:05 +00:00
Matthias
1ca594bbcb chore: show "total" profit if necessary 2024-12-25 18:04:17 +01:00
Matthias
e66611c965 chore: fix 2 minor potential bugs 2024-12-25 17:53:12 +01:00
Matthias
c5a95dc682 refactor: reuse logic from get-status for get status-table 2024-12-25 17:40:02 +01:00
Matthias
d7ccbfef20 test: improve test accuracy 2024-12-25 17:37:21 +01:00
Matthias
79f35bb553 chore: add docstring to rpc_status_table 2024-12-25 16:30:52 +01:00
Matthias
9e30e5c34c Merge pull request #11144 from freqtrade/deprecate/hdf5
Deprecate hdf5
2024-12-25 08:09:57 +01:00
Matthias
4963a9668f chore: fix typo 2024-12-24 15:35:34 +01:00
Matthias
e59bd71c17 Merge pull request #11143 from freqtrade/feat/telegram_group_topics
Support Telegram group topics, add /tg_info command
2024-12-24 15:29:33 +01:00
Matthias
5750d05891 feat: deprecate hdf5 as data storage 2024-12-24 15:19:22 +01:00
Matthias
1810a911d4 chore: update chatID to be identical throughout docs. 2024-12-24 14:42:39 +01:00
Matthias
51ae0f0377 chore: check for update.message being present 2024-12-24 14:05:17 +01:00
Matthias
215b648edf Merge pull request #11141 from andrasmining/develop
Adding drawdown information for hyperopt-list --export-csv command & small fix stake currency source
2024-12-24 13:55:23 +01:00
Matthias
d73f01701e chore: reduce verbosity for topic_id wrong check 2024-12-24 13:52:51 +01:00
Matthias
010b282679 docs: document /tg_info command 2024-12-24 13:46:29 +01:00
Matthias
6ef8291b2e test: add test for tg_info, update chat_id to be not 0 2024-12-24 13:38:34 +01:00
Andras Kovacs
b820810afe hyperopt-list --export-csv command stake currency fix
Take stake currency from hyperopt result file instead of config
2024-12-24 13:33:58 +01:00
Matthias
cef21860eb feat: add _tg_info endpoint for easier information gathering 2024-12-24 13:27:15 +01:00
Andras Kovacs
0c08656965 Merge branch 'develop' of https://github.com/andrasmining/freqtrade into develop 2024-12-24 12:54:21 +01:00
Andras Kovacs
59b1460e30 Adding drawdown information for hyperopt-list --export-csv command 2024-12-24 12:52:35 +01:00
Matthias
b75ac1243a docs: document group-topic-id 2024-12-24 12:17:15 +01:00
Matthias
93af2b7b1d Merge pull request #11138 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-12-24 08:18:17 +01:00
xmatthias
7092edfe4c chore: update pre-commit hooks 2024-12-24 03:06:46 +00:00
Matthias
0663335011 chore: update config_schema with topic_id attribute 2024-12-23 20:12:21 +01:00
Matthias
6cc0c2be91 feat: add support for "topic_id" in telegram notifications 2024-12-23 20:11:24 +01:00
Matthias
4a256ed7ca chore: failed messages shouldn't return the wrapper but None 2024-12-23 19:57:44 +01:00
Matthias
2a526a815e fix: don't over-state stake-amount on first entry
closes #11135
2024-12-23 17:53:44 +01:00
Matthias
0a81658881 test: add test to confirm behavior in #11135 2024-12-23 17:53:44 +01:00
Matthias
5ac95a0507 test: close mock order for funding-fee test 2024-12-23 13:47:33 +01:00
Matthias
cefacf4a6d chore: fix typo causing double negation 2024-12-23 12:51:41 +01:00
Matthias
c9aa202be8 test: add additional Test case 2024-12-23 12:37:21 +01:00
Matthias
77e36ed313 Merge pull request #11125 from freqtrade/dependabot/pip/develop/technical-1.5.0
chore(deps): bump technical from 1.4.4 to 1.5.0
2024-12-23 11:16:12 +01:00
Matthias
52933e977b Merge pull request #11128 from freqtrade/dependabot/pip/develop/mypy-1.14.0
chore(deps-dev): bump mypy from 1.13.0 to 1.14.0
2024-12-23 09:06:20 +01:00
dependabot[bot]
cf4c29a57f chore(deps): bump technical from 1.4.4 to 1.5.0
Bumps [technical](https://github.com/freqtrade/technical) from 1.4.4 to 1.5.0.
- [Release notes](https://github.com/freqtrade/technical/releases)
- [Commits](https://github.com/freqtrade/technical/compare/1.4.4...1.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 07:43:41 +00:00
Matthias
90cd381efa Merge pull request #11129 from freqtrade/dependabot/pip/develop/jinja2-3.1.5
chore(deps): bump jinja2 from 3.1.4 to 3.1.5
2024-12-23 08:42:28 +01:00
dependabot[bot]
9405f415d0 chore(deps-dev): bump mypy from 1.13.0 to 1.14.0
Bumps [mypy](https://github.com/python/mypy) from 1.13.0 to 1.14.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.13.0...v1.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 07:10:13 +00:00
Matthias
3dcc130903 Merge pull request #11131 from freqtrade/dependabot/pip/develop/ccxt-4.4.42
chore(deps): bump ccxt from 4.4.40 to 4.4.42
2024-12-23 08:09:13 +01:00
dependabot[bot]
9d022180e7 chore(deps): bump jinja2 from 3.1.4 to 3.1.5
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.4 to 3.1.5.
- [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.4...3.1.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 07:04:05 +00:00
Matthias
ba42d8d8c6 Merge pull request #11133 from freqtrade/dependabot/pip/develop/ruff-0.8.4
chore(deps-dev): bump ruff from 0.8.3 to 0.8.4
2024-12-23 08:03:01 +01:00
Matthias
117887ff3a Merge pull request #11122 from freqtrade/dependabot/github_actions/develop/astral-sh/setup-uv-5
chore(deps): bump astral-sh/setup-uv from 4 to 5
2024-12-23 08:01:42 +01:00
Matthias
b62fa8190b Merge pull request #11123 from freqtrade/dependabot/pip/develop/mkdocs-c52ef7e6a7
chore(deps): bump mkdocs-material from 9.5.48 to 9.5.49 in the mkdocs group
2024-12-23 08:01:33 +01:00
Matthias
eadd4a7bb2 Merge pull request #11127 from freqtrade/dependabot/pip/develop/psutil-6.1.1
chore(deps): bump psutil from 6.1.0 to 6.1.1
2024-12-23 08:01:19 +01:00
Matthias
a93a1b8b48 Merge pull request #11130 from freqtrade/dependabot/pip/develop/urllib3-2.3.0
chore(deps): bump urllib3 from 2.2.3 to 2.3.0
2024-12-23 08:01:04 +01:00
Matthias
12cbe70371 Merge pull request #11126 from freqtrade/dependabot/pip/develop/pydantic-2.10.4
chore(deps): bump pydantic from 2.10.3 to 2.10.4
2024-12-23 08:00:44 +01:00
dependabot[bot]
ed3367244c chore(deps-dev): bump ruff from 0.8.3 to 0.8.4
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.8.3 to 0.8.4.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.8.3...0.8.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 03:47:30 +00:00
dependabot[bot]
b8b69eecb8 chore(deps): bump ccxt from 4.4.40 to 4.4.42
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.40 to 4.4.42.
- [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/4.4.40...4.4.42)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 03:47:08 +00:00
dependabot[bot]
65acd5d827 chore(deps): bump urllib3 from 2.2.3 to 2.3.0
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.2.3 to 2.3.0.
- [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/2.2.3...2.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 03:47:00 +00:00
dependabot[bot]
4d6732cd19 chore(deps): bump psutil from 6.1.0 to 6.1.1
Bumps [psutil](https://github.com/giampaolo/psutil) from 6.1.0 to 6.1.1.
- [Changelog](https://github.com/giampaolo/psutil/blob/master/HISTORY.rst)
- [Commits](https://github.com/giampaolo/psutil/compare/release-6.1.0...release-6.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 03:46:39 +00:00
dependabot[bot]
dc5942115d chore(deps): bump pydantic from 2.10.3 to 2.10.4
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.10.3 to 2.10.4.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v2.10.3...v2.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>
2024-12-23 03:46:33 +00:00
dependabot[bot]
c14492a6cf chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.5.48 to 9.5.49
- [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.5.48...9.5.49)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 03:46:01 +00:00
dependabot[bot]
07682c396e chore(deps): bump astral-sh/setup-uv from 4 to 5
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 4 to 5.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/v4...v5)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 03:31:33 +00:00
Matthias
84e5a9521d chore: improve left open trades handling 2024-12-22 20:11:32 +01:00
Matthias
48b0ffac06 chore: fix using non-existing attribute 2024-12-22 18:15:59 +01:00
Matthias
5c42c89505 Merge branch 'develop' into pr/Axel-CH/10062 2024-12-22 18:07:32 +01:00
Matthias
d37e23f68e feat: implement order replacement for backtesting 2024-12-22 18:07:07 +01:00
Matthias
9953903193 test: close mock order for funding-fee test 2024-12-22 18:06:07 +01:00
Matthias
48506f2945 fix: always cancel al open orders if the order ain't identical 2024-12-22 18:03:04 +01:00
Matthias
503305cbdb fix: properly pass timerange to data-download 2024-12-22 16:02:49 +01:00
Matthias
0a27a7ad38 docs: fix typo 2024-12-21 20:21:08 +01:00
Matthias
32f592444a Merge pull request #11119 from AchmadFathoni/fix_notebook
Fix KeyError: 'max_drawdown' in jupyter notebook
2024-12-21 19:52:03 +01:00
Matthias
daf655cd24 docs: add documentation for BNFCR futures 2024-12-21 19:50:07 +01:00
Achmad Fathoni
04813e452c Change unavailable "max_drawdown" key 2024-12-22 00:28:21 +07:00
Achmad Fathoni
b50d9f5c59 Fix KeyError: 'max_drawdown' in jupyter notebook 2024-12-22 00:14:07 +07:00
Matthias
44c29aa998 test: update tests for new calculate_fee_rate logic 2024-12-21 15:06:04 +01:00
Matthias
2a45ff08e4 fix: update "calculate_fee_rate" to use get_conversation_rate 2024-12-21 15:06:04 +01:00
Matthias
7b1ea81a27 chore: use safe_value_fallback to get currency rate 2024-12-21 15:06:04 +01:00
Matthias
d559572718 fix: exclude balances matching trades in futures mode 2024-12-21 15:06:04 +01:00
Matthias
2c1400a9ff test: update trading mode test for binance cross support 2024-12-21 15:06:04 +01:00
Matthias
85af1c91a2 feat: enable cross futures on binance 2024-12-21 15:06:04 +01:00
Matthias
dcc8c8800f feat: conversion_rate should map both sides 2024-12-21 15:06:04 +01:00
Matthias
5a24292d34 chore: update config_schema 2024-12-21 15:06:04 +01:00
Matthias
c492dcc7ba feat: make proxy_coin dynamic (config setting) 2024-12-21 15:06:04 +01:00
Matthias
c5f89f34fd tests: improve rpc_handle test 2024-12-21 15:06:04 +01:00
Matthias
1ef4b063ea test: adjust test to reflect that futures uses "free", not "total" 2024-12-21 15:06:04 +01:00
Matthias
d05cae10f7 test: remove duplicate test assertion 2024-12-21 15:06:04 +01:00
Matthias
478387531d feat: Updates for proxy coin functionalities 2024-12-21 15:06:04 +01:00
Matthias
0b9cca27e2 feat: add "get_proxy_coin" method
used for BNFCR mode
2024-12-21 15:06:04 +01:00
Matthias
ca9589b2e8 chore: reduce pointless verbosity of cross liquidation update 2024-12-21 15:06:04 +01:00
Matthias
e7b1a7e493 test: add test for proxy coin conversion 2024-12-21 15:05:37 +01:00
Matthias
c112b84d0f feat: support dynamic proxy coin conversion 2024-12-21 15:05:37 +01:00
Matthias
40cb70fca1 fix: one-side pairlocks not showing in UI 2024-12-21 14:30:47 +01:00
David Arena
7d5f021717 feat: add timeout to FtRestClient 2024-12-20 23:47:18 +01:00
Matthias
0b0bbd4c42 chore: improve comment wording 2024-12-20 18:18:44 +01:00
Matthias
4704f2b08e chore: fix blosc version selectors 2024-12-20 06:38:15 +01:00
Matthias
f9bd11f6fb chore: blosc2 only supports python 3.11+ 2024-12-20 06:29:42 +01:00
Matthias
0d73e961a4 chore: pin blosc2 for raspberry builds 2024-12-20 06:26:45 +01:00
Matthias
e1f759e70e Merge pull request #11112 from froggleston/frog-docs-api-2
Add params to REST API table description, fix first column width
2024-12-19 21:06:03 +01:00
Robert Davey
66380566c8 Update docs/stylesheets/ft.extra.css
Co-authored-by: Matthias <xmatthias@outlook.com>
2024-12-19 19:35:28 +00:00
Matthias
8cb69e4d5a test: Update test for new liquidation price precision rounding 2024-12-19 19:37:55 +01:00
Matthias
8ee2c849b4 fix: round liquidation price to precision in a different spot
closes #11110
2024-12-19 19:37:35 +01:00
Matthias
564d874869 chore: improve typing 2024-12-19 19:25:00 +01:00
froggleston
d38fcd2db4 Fix missing EOL 2024-12-19 16:24:07 +00:00
froggleston
06e20b38b5 Add params to REST API table description, fix first column width 2024-12-19 16:18:30 +00:00
Matthias
c8b7449b25 Merge pull request #11111 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-12-19 08:10:34 +01:00
Matthias
6edfebdfed Merge pull request #11102 from froggleston/frog-docs-api-1
Add more detail to the REST API endpoint docs
2024-12-19 08:10:01 +01:00
Matthias
c4b39a4fb1 docs: add suggestion to prefix all urls with base url. 2024-12-19 06:50:36 +01:00
xmatthias
cdcca3da1c chore: update pre-commit hooks 2024-12-19 03:12:44 +00:00
David Arena
9207cf501c fix: returned object 2024-12-17 22:25:09 +01:00
Matthias
44d1f169c3 chore: type rpc._freqtradebot for improved DX 2024-12-17 20:39:04 +01:00
Matthias
d805ee6f3d chore: improve type safety 2024-12-17 20:38:46 +01:00
Matthias
ed2427852b test: adapt starting capital tests for tradable_balance_ratio 2024-12-17 20:32:11 +01:00
Matthias
5af894047e fix: starting balance should include tradable_balance_ratio 2024-12-17 20:08:40 +01:00
David Arena
fc1c3a8f97 fix 2024-12-17 19:22:09 +01:00
David Arena
83e56a09c2 fix: api url and rm key 2024-12-17 19:22:02 +01:00
David Arena
47613b1cf9 fix: no tradeID only returns open trades 2024-12-17 18:32:27 +01:00
Matthias
fced0c4952 Merge pull request #11105 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-12-17 06:30:46 +01:00
xmatthias
609893f7ec chore: update pre-commit hooks 2024-12-17 03:15:40 +00:00
Matthias
3f795a8918 chore: improve logic for live wallet update 2024-12-16 20:57:44 +01:00
Matthias
a5907db5d8 chore: update pip-install command for windows ci 2024-12-16 19:02:21 +01:00
froggleston
ad7b70a354 Add more detail to the REST API endpoint docs 2024-12-16 15:15:57 +00:00
Matthias
d992772492 Merge pull request #11097 from freqtrade/dependabot/pip/develop/scikit-learn-1.6.0
chore(deps): bump scikit-learn from 1.5.2 to 1.6.0
2024-12-16 06:33:25 +01:00
Matthias
7ba879c441 Merge pull request #11096 from freqtrade/dependabot/pip/develop/matplotlib-3.10.0
chore(deps): bump matplotlib from 3.9.3 to 3.10.0
2024-12-16 06:32:08 +01:00
Matthias
3fa2238e9c Merge pull request #11095 from freqtrade/dependabot/pip/develop/pytest-c02b329de1
chore(deps-dev): bump pytest-asyncio from 0.24.0 to 0.25.0 in the pytest group
2024-12-16 06:31:41 +01:00
Matthias
274136dacb Merge pull request #11094 from freqtrade/dependabot/github_actions/develop/pypa/gh-action-pypi-publish-1.12.3
chore(deps): bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3
2024-12-16 06:31:12 +01:00
Matthias
d5d65cfd56 Merge pull request #11098 from freqtrade/dependabot/pip/develop/uvicorn-0.34.0
chore(deps): bump uvicorn from 0.32.1 to 0.34.0
2024-12-16 06:30:42 +01:00
Matthias
17c11d09fc Merge pull request #11099 from freqtrade/dependabot/pip/develop/janus-2.0.0
chore(deps): bump janus from 1.1.0 to 2.0.0
2024-12-16 06:30:16 +01:00
Matthias
6bf42173a1 Merge pull request #11100 from freqtrade/dependabot/pip/develop/ruff-0.8.3
chore(deps-dev): bump ruff from 0.8.2 to 0.8.3
2024-12-16 06:29:22 +01:00
dependabot[bot]
c8649a77d2 chore(deps-dev): bump ruff from 0.8.2 to 0.8.3
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.8.2 to 0.8.3.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.8.2...0.8.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 03:26:36 +00:00
dependabot[bot]
d780d56b9a chore(deps): bump janus from 1.1.0 to 2.0.0
Bumps [janus](https://github.com/aio-libs/janus) from 1.1.0 to 2.0.0.
- [Release notes](https://github.com/aio-libs/janus/releases)
- [Changelog](https://github.com/aio-libs/janus/blob/master/CHANGES.rst)
- [Commits](https://github.com/aio-libs/janus/compare/v1.1.0...v2.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 03:26:25 +00:00
dependabot[bot]
2587b549a0 chore(deps): bump uvicorn from 0.32.1 to 0.34.0
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.32.1 to 0.34.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.32.1...0.34.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 03:26:10 +00:00
dependabot[bot]
dd805c4c25 chore(deps): bump scikit-learn from 1.5.2 to 1.6.0
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.5.2 to 1.6.0.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.5.2...1.6.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>
2024-12-16 03:26:01 +00:00
dependabot[bot]
5cd1892dee chore(deps): bump matplotlib from 3.9.3 to 3.10.0
Bumps [matplotlib](https://github.com/matplotlib/matplotlib) from 3.9.3 to 3.10.0.
- [Release notes](https://github.com/matplotlib/matplotlib/releases)
- [Commits](https://github.com/matplotlib/matplotlib/compare/v3.9.3...v3.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 03:25:53 +00:00
dependabot[bot]
f575e56e46 chore(deps-dev): bump pytest-asyncio in the pytest group
Bumps the pytest group with 1 update: [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio).


Updates `pytest-asyncio` from 0.24.0 to 0.25.0
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.24.0...v0.25.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 03:25:42 +00:00
dependabot[bot]
af7974adda chore(deps): bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.12.2 to 1.12.3.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.12.2...v1.12.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>
2024-12-16 03:25:38 +00:00
David Arena
ef3a7d5c92 feat: api_server and client supporting list_custom_data 2024-12-16 00:56:34 +01:00
Matthias
685811ef63 feat: update backtest_api with new storage interface 2024-12-15 15:10:06 +01:00
Matthias
12ae36e99e test: use tmp_path instead of testdatadir for writing 2024-12-15 15:02:35 +01:00
Matthias
abfe683763 test: fix tests data pollution 2024-12-15 15:02:16 +01:00
Matthias
a1ab8de593 test: Update tests for new bt storage method 2024-12-15 13:20:25 +01:00
Matthias
b04c5aec88 refactor: move backtest "storage" logic to storage file 2024-12-15 13:18:25 +01:00
Matthias
b862927c8c chore: don't exclude tests from pyright 2024-12-15 13:07:39 +01:00
Matthias
5744e16a07 refactor: use 1 structure to save analysis signals 2024-12-14 19:50:59 +01:00
Matthias
11f0a59031 docs: slightly improve position adjust doc wording 2024-12-14 18:20:47 +01:00
Matthias
8dfbf342fd Merge pull request #11086 from freqtrade/fix-docs
add warning about loose logic
2024-12-14 14:13:11 +01:00
Matthias
5f947a86c7 docs: improve ordering in adjust trade position callback docs 2024-12-14 13:47:14 +01:00
Matthias
0f18e78bb4 Merge pull request #11084 from freqtrade/improve/orderflow_times
Improve orderflow execution times
2024-12-14 13:43:55 +01:00
Matthias
d0c5d614f7 docs: add note about incompatibility between orderflow and freqAI 2024-12-14 13:08:13 +01:00
Matthias
e2e1c610d8 Merge pull request #11087 from freqtrade/bump/ccxt
Bump ccxt to 4.4.40
2024-12-14 12:52:04 +01:00
Matthias
1e74aa3087 chore: bump ccxt to 4.4.40 2024-12-14 08:04:29 +01:00
Stefano Ariestasia
f54a141918 fix typo 2024-12-14 14:41:32 +09:00
Stefano Ariestasia
b54d8c53a7 add warning about loose logic 2024-12-14 14:37:16 +09:00
Matthias
23d6c362c4 feat: cancel orders of both sides in one go 2024-12-13 15:51:01 +01:00
Matthias
41a548d625 chore: move logging to "handle_similar_open_order" 2024-12-13 15:28:22 +01:00
Matthias
016cabb7b2 chore: simplify imports 2024-12-13 14:59:35 +01:00
Matthias
9129266f54 feat: greatly improve performance of orderflow by not using apply 2024-12-13 14:28:26 +01:00
Matthias
e8376d5b79 feat: add timeframe_to_DateOffset 2024-12-13 14:27:54 +01:00
Matthias
cc7b1a5642 chore: clean up install_windows call 2024-12-13 14:24:27 +01:00
Matthias
f11fe14cdd chore: remove system mode, set path globally 2024-12-13 14:24:27 +01:00
Matthias
219e6b420e chore: Try using uv venv creation 2024-12-13 14:24:27 +01:00
Matthias
3a6ef8c34b chore: use link mode for UV installs 2024-12-13 14:24:27 +01:00
Matthias
4f318a5981 chore: uv - different caching 2024-12-13 14:24:27 +01:00
Matthias
f978a5c754 chore: uv - different caching 2024-12-13 14:24:27 +01:00
Matthias
f378e10752 chore: link mode copy 2024-12-13 14:24:27 +01:00
Matthias
30909d13ba chore: uv: glob 2024-12-13 14:24:27 +01:00
Matthias
8cd03c9624 chore: uv - enable cache 2024-12-13 14:24:27 +01:00
Matthias
8f617d01d4 chore: further uv tests 2024-12-13 14:24:27 +01:00
Matthias
569ac2bc5b chore: move uv work 2024-12-13 14:24:27 +01:00
Matthias
c1be014499 chore: package name lowercase ?? 2024-12-13 14:24:27 +01:00
Matthias
7d1ac0248b chore: only binary ... 2024-12-13 14:24:27 +01:00
Matthias
aa8e504ef7 chore: remove non-existing UV argument 2024-12-13 14:24:27 +01:00
Matthias
6963141eb8 chore: fix aliasing 2024-12-13 14:24:27 +01:00
Matthias
3295b1c8de chore: try using UV for windows runs 2024-12-13 14:24:27 +01:00
Matthias
0159d25e48 chore: add missing dev-deps to pyproject.toml 2024-12-13 14:24:27 +01:00
Matthias
abbfe04642 Merge pull request #11080 from stash86/docs-dca
add more explanation regarding reducing position partially
2024-12-12 20:11:39 +01:00
Matthias
8cf3c7b826 chore: use FtPrecise for stake_amount_filled calculation
closes #11073
2024-12-12 20:08:35 +01:00
Matthias
0fb927e709 Merge pull request #11081 from freqtrade/frog-docs-state-1
Add initial_state option to FAQ
2024-12-12 16:43:08 +01:00
Robert Davey
c00b248d1a Add initial_state option to FAQ 2024-12-12 13:17:52 +00:00
Stefano
d2b4d1e183 add more explanation regarding reducing position partially 2024-12-12 11:45:40 +00:00
Matthias
8fb9140c21 Merge pull request #11046 from freqtrade/fix/orderflow_cache
Fix orderflow cache
2024-12-12 06:49:58 +01:00
Matthias
cb9d828ba0 Merge pull request #11079 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-12-12 06:28:12 +01:00
xmatthias
467c0dfffa chore: update pre-commit hooks 2024-12-12 03:16:05 +00:00
Matthias
d887a4aa4a Merge branch 'develop' into fix/orderflow_cache 2024-12-11 19:28:06 +01:00
Matthias
34835752f8 chore: improve typing in percentChange Pairlist 2024-12-11 07:25:07 +01:00
Matthias
b9aa78b987 fix: crash in PercentChange pairlist
Could happen if pairs were removed due to empty Ticker when the pairlist is not a generator.

closes #11074
2024-12-11 07:12:50 +01:00
Matthias
d8fa782f13 test: Add test with faulty behavior
part of #11074
2024-12-11 07:07:47 +01:00
Matthias
f3d7b249be test: Improve wallet tests 2024-12-10 21:05:05 +01:00
Matthias
097836d193 feat: improve logic for liquidation price calc 2024-12-10 21:05:04 +01:00
Matthias
7552ad5edb Merge pull request #11070 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-12-10 06:31:30 +01:00
xmatthias
e9cf0a71d8 chore: update pre-commit hooks 2024-12-10 05:05:39 +00:00
Matthias
cf731d7296 Merge pull request #11057 from freqtrade/dependabot/pip/develop/types-e0d1a7aad6
chore(deps-dev): bump the types group with 2 updates
2024-12-09 07:20:55 +01:00
Matthias
946e6fd4c2 Merge pull request #11066 from freqtrade/dependabot/pip/develop/pydantic-2.10.3
chore(deps): bump pydantic from 2.10.2 to 2.10.3
2024-12-09 07:10:14 +01:00
Matthias
fe9d1a053e chore: bump pre-commit dependencies 2024-12-09 06:40:49 +01:00
Matthias
6b1ac499ba tests: more tests for cross wallet 2024-12-09 06:39:54 +01:00
Matthias
0fc0b2a1be test: add test for cross balance logic 2024-12-09 06:39:54 +01:00
Matthias
6887ed4bf7 feat: add cross margin balance logic 2024-12-09 06:39:54 +01:00
Matthias
8cb82df055 chore: simplify dry_wallets call 2024-12-09 06:39:54 +01:00
dependabot[bot]
6788214671 chore(deps): bump pydantic from 2.10.2 to 2.10.3
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.10.2 to 2.10.3.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v2.10.2...v2.10.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 05:32:50 +00:00
Matthias
4c2488ff65 Merge pull request #11065 from freqtrade/dependabot/pip/develop/fastapi-0.115.6
chore(deps): bump fastapi from 0.115.5 to 0.115.6
2024-12-09 06:31:58 +01:00
Matthias
05b101b612 Merge pull request #11064 from freqtrade/dependabot/pip/develop/ccxt-4.4.37
chore(deps): bump ccxt from 4.4.35 to 4.4.37
2024-12-09 06:29:55 +01:00
Matthias
65ab47dc63 Merge pull request #11063 from freqtrade/dependabot/pip/develop/python-telegram-bot-21.9
chore(deps): bump python-telegram-bot from 21.8 to 21.9
2024-12-09 06:29:21 +01:00
Matthias
23579df8da Merge pull request #11058 from freqtrade/dependabot/pip/develop/mkdocs-3ba6cc2ae5
chore(deps): bump mkdocs-material from 9.5.47 to 9.5.48 in the mkdocs group
2024-12-09 06:29:05 +01:00
Matthias
2b91be6237 Merge pull request #11061 from freqtrade/dependabot/pip/develop/ruff-0.8.2
chore(deps-dev): bump ruff from 0.8.1 to 0.8.2
2024-12-09 06:26:55 +01:00
dependabot[bot]
f1fabb07bf chore(deps): bump fastapi from 0.115.5 to 0.115.6
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.115.5 to 0.115.6.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.115.5...0.115.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 03:47:54 +00:00
dependabot[bot]
8aea015452 chore(deps): bump ccxt from 4.4.35 to 4.4.37
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.35 to 4.4.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/4.4.35...4.4.37)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 03:47:48 +00:00
dependabot[bot]
83471228e7 chore(deps): bump python-telegram-bot from 21.8 to 21.9
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 21.8 to 21.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/v21.8...v21.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>
2024-12-09 03:47:37 +00:00
dependabot[bot]
e97a647b54 chore(deps-dev): bump ruff from 0.8.1 to 0.8.2
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.8.1 to 0.8.2.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.8.1...0.8.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 03:47:13 +00:00
dependabot[bot]
f5dceb0b09 chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.5.47 to 9.5.48
- [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.5.47...9.5.48)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 03:46:15 +00:00
dependabot[bot]
d4fbdeee94 chore(deps-dev): bump the types group with 2 updates
Bumps the types group with 2 updates: [types-tabulate](https://github.com/python/typeshed) and [types-python-dateutil](https://github.com/python/typeshed).


Updates `types-tabulate` from 0.9.0.20240106 to 0.9.0.20241207
- [Commits](https://github.com/python/typeshed/commits)

Updates `types-python-dateutil` from 2.9.0.20241003 to 2.9.0.20241206
- [Commits](https://github.com/python/typeshed/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 03:45:29 +00:00
Matthias
f529cfe8cf chore: fix wrong return typing 2024-12-08 16:58:31 +01:00
Matthias
4d36aaff39 feat: convert get_valid_pair_combination to generator 2024-12-08 16:54:17 +01:00
Matthias
f07aec457a chore: remove unnecessary imports 2024-12-08 16:50:10 +01:00
Matthias
d898c80e65 test: Add test for get_conversion_rate 2024-12-08 16:40:56 +01:00
Matthias
2ff0abc6e7 refactor: conversation rate retrieval to exchange class
for better reusability across the bot.
2024-12-08 15:44:46 +01:00
Matthias
0276e65f39 test: update rpc test for new behavior 2024-12-08 15:29:23 +01:00
Matthias
4cd8e6b444 chore: simplify rpc_balance method by relying on exchange cache 2024-12-08 15:22:40 +01:00
Matthias
58357a0746 chore: calculate total_stake only once 2024-12-08 14:41:26 +01:00
Matthias
d0223e6f48 chore: simplify dry-run wallet update 2024-12-08 14:41:26 +01:00
Matthias
142ea68dce chore: fix oddity of price_to_precision 2024-12-08 14:41:26 +01:00
Matthias
654d2ab63d fix: Round stoploss_dist to price_precision 2024-12-08 14:41:26 +01:00
Matthias
a30f281478 Merge pull request #11023 from freqtrade/dependabot/pip/develop/xgboost-2.1.3
chore(deps): bump xgboost from 2.0.3 to 2.1.3
2024-12-08 13:46:58 +01:00
Matthias
ae1baf5789 test: mock price_to_precision for liquidation calculations 2024-12-08 13:35:46 +01:00
Matthias
3c88bdc60c fix: round liquidation price to price precision 2024-12-08 13:35:46 +01:00
Matthias
6d698e584b chore: return 0 total balances
total may be 0, while still having "free" balance (cross futures scenarios)
2024-12-08 13:35:46 +01:00
Matthias
193b989342 chore: Be more precise with binance account limitation 2024-12-08 13:35:46 +01:00
Matthias
8dc322d7f2 chore: don't allow negative stake amounts 2024-12-08 13:35:46 +01:00
Matthias
eee5d710e7 chore: patch torch all the time -
"list"tests do load the modules as well - so they
need the same patch.
2024-12-08 10:06:23 +01:00
Matthias
489db37bbd Merge pull request #10979 from amalysh/develop
allow json in environment variables
2024-12-08 08:55:21 +01:00
Matthias
10b5d5e56b docs: add "list parsing" logic to documentation 2024-12-08 08:35:13 +01:00
Matthias
934bcf253e test: add tests for list parsing 2024-12-08 08:34:54 +01:00
Matthias
0683ba3a54 feat: limit environment-variable json parsing to lists 2024-12-08 08:30:45 +01:00
Matthias
a85f200450 Merge pull request #11000 from freqtrade/feat/multi_wallet
Dry-run multi-wallet support
2024-12-07 17:49:32 +01:00
Matthias
98e0a5f101 chore: remove unused arguments in loss functions 2024-12-07 15:52:14 +01:00
Matthias
fb9e11b7b5 chore: improve type safety 2024-12-07 13:21:18 +01:00
Matthias
e77ca024d7 chore: improve naming, don't duplicate column list 2024-12-06 20:16:46 +01:00
Matthias
63f8217cd5 chore: ensure exif-data is removed from images 2024-12-06 20:11:46 +01:00
Matthias
9f5cb3a07e chore: add exif-stripper to ensure exif data is removed 2024-12-06 20:11:09 +01:00
Matthias
e09d1b42f2 chore: eliminate duplicate trades data grouping 2024-12-06 20:09:43 +01:00
Matthias
267d9333a1 chore: remove pointless, very noisy log message. 2024-12-06 20:09:07 +01:00
Matthias
ab39ac29e8 fix: ensure data type is maintained when data comes from cache. 2024-12-06 20:05:33 +01:00
Matthias
6c25feabf2 tests: assert type of orderflow object 2024-12-06 20:05:07 +01:00
Matthias
171157c100 chore: further simplify orderflow code 2024-12-06 07:03:24 +01:00
Matthias
3137d7cf2c chore: remove unnecessary config alias 2024-12-06 06:43:01 +01:00
Matthias
6ab528748e tests: Update orderflow tests 2024-12-06 06:40:15 +01:00
Matthias
621dfc136e fix: Improved caching
closes #11008
2024-12-06 06:38:49 +01:00
Matthias
9d07f5dc2e chore: reduce orderflow code duplication 2024-12-05 19:37:36 +01:00
Matthias
48dd86bd9b chore: use .at for assignments 2024-12-05 19:33:49 +01:00
Matthias
4879582896 feat: use dataframe.at directly to avoid intermediate series 2024-12-05 19:32:40 +01:00
Matthias
6584f86bce test: add Spy to improve test 2024-12-05 19:19:17 +01:00
Matthias
82d517fcbb test: improve orderflow test 2024-12-05 07:12:35 +01:00
Matthias
ff371c43e0 tests: add test to ensure caching works
part of #11008
2024-12-05 07:11:58 +01:00
Matthias
0bf0e1808c chore: add todo for future cleanup 2024-12-05 06:58:25 +01:00
Matthias
6be5947f69 chore: Move local Import out of the loop 2024-12-05 06:37:19 +01:00
Matthias
b1d7d7304d Merge pull request #11041 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-12-05 06:29:25 +01:00
xmatthias
1d0702e143 chore: update pre-commit hooks 2024-12-05 03:16:51 +00:00
Matthias
298ce335b9 chore: eliminate duplicate trades data grouping 2024-12-04 19:56:26 +01:00
Matthias
e04f630f41 chore: further improve typing in orderflow 2024-12-04 07:10:53 +01:00
Matthias
7dfee16e25 chore: improved logic ordering in orderflow method 2024-12-04 07:09:09 +01:00
Matthias
d6c21e2af6 chore: orderflow: better typing 2024-12-03 20:13:25 +01:00
Matthias
ebae0a7248 chore: improve typing of new functionality 2024-12-03 19:44:26 +01:00
Matthias
fe834f00a2 fix: import causing long startup time 2024-12-03 19:37:14 +01:00
Robert Caulk
3855d44bf5 Merge pull request #11005 from freqtrade/fix/freqai_bug
freqAI bug causing failures on 2nd backtest
2024-12-03 19:18:43 +01:00
Matthias
ad8f621287 tests: Improve hyperopt loss tests 2024-12-03 19:17:01 +01:00
Matthias
18305a5bf6 docs: update hyperopt docs to include new argument 2024-12-03 19:16:48 +01:00
Matthias
b0b73bf166 feat: add starting_balance as argument to hyperopt_loss_function 2024-12-03 19:15:57 +01:00
Matthias
7a8971b9b6 feat: use get_dry_run_wallet helper 2024-12-03 07:27:45 +01:00
Matthias
c082e5f6a6 feat: add dry_run_wallet helper 2024-12-03 07:26:47 +01:00
Matthias
ef0703f209 fix: Set timeframe for api calls
closes #11009
2024-12-03 06:53:39 +01:00
Matthias
196c122e0a Merge pull request #11031 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-12-03 06:30:30 +01:00
xmatthias
57d5a55ca0 chore: update pre-commit hooks 2024-12-03 03:17:35 +00:00
Matthias
94e09f9fa0 Merge pull request #11028 from xzmeng/fix-none
fix: check if days is None before conversion
2024-12-02 20:11:00 +01:00
Matthias
2f4bd6a0c9 chore: split pypi and pypi test jobs to enable proper attestation
Related: https://github.com/pypa/gh-action-pypi-publish/issues/283
2024-12-02 20:03:53 +01:00
Matthias
58d3555102 Merge pull request #11027 from xzmeng/fix-cond
fix: invert API download condition from `and` to `or`
2024-12-02 18:22:58 +01:00
Matthias
b032c329e3 Merge pull request #11017 from freqtrade/dependabot/pip/develop/pyarrow-18.1.0
chore(deps): bump pyarrow from 18.0.0 to 18.1.0
2024-12-02 18:19:43 +01:00
Meng Xiangzhuo
73f00d2bc3 fix: check if days is None before conversion 2024-12-03 00:31:34 +08:00
Meng Xiangzhuo
cf896bbb52 chore: add the missing space in log 2024-12-03 00:04:56 +08:00
Meng Xiangzhuo
ba162e35c4 fix: invert logic and to or 2024-12-02 23:56:59 +08:00
Matthias
00e9178d5f chore: bump pyarrow wheel 2024-12-02 16:04:23 +01:00
Matthias
62b0995f6a Merge pull request #11020 from freqtrade/dependabot/pip/develop/ruff-0.8.1
chore(deps-dev): bump ruff from 0.8.0 to 0.8.1
2024-12-02 07:38:15 +01:00
Matthias
4107e5cc9a Merge pull request #11021 from freqtrade/dependabot/pip/develop/cryptography-44.0.0
chore(deps): bump cryptography from 43.0.3 to 44.0.0
2024-12-02 07:26:15 +01:00
Matthias
c841146968 chore: Remove non-suppored callback from XGBRFRegressor
According to the XGBoost docs, this probably never worked
as it was never supported - but is now raising an error for user clarity.
2024-12-02 07:12:30 +01:00
dependabot[bot]
6c9e6cc198 chore(deps): bump xgboost from 2.0.3 to 2.1.3
Bumps [xgboost](https://github.com/dmlc/xgboost) from 2.0.3 to 2.1.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/v2.0.3...v2.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 06:00:19 +00:00
dependabot[bot]
980bfddd8a chore(deps-dev): bump ruff from 0.8.0 to 0.8.1
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.8.0 to 0.8.1.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.8.0...0.8.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 05:37:46 +00:00
dependabot[bot]
06327e8f04 chore(deps): bump cryptography from 42.0.8 to 44.0.0
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.8 to 44.0.0.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/42.0.8...44.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>
2024-12-02 05:37:30 +00:00
Matthias
2290b44f82 Merge pull request #11018 from freqtrade/dependabot/pip/develop/matplotlib-3.9.3
chore(deps): bump matplotlib from 3.9.2 to 3.9.3
2024-12-02 06:37:00 +01:00
Matthias
c0cec2b9de Merge pull request #11015 from freqtrade/dependabot/pip/develop/python-telegram-bot-21.8
chore(deps): bump python-telegram-bot from 21.7 to 21.8
2024-12-02 06:36:46 +01:00
Matthias
e376889f3d Merge pull request #11013 from freqtrade/dependabot/pip/develop/pytest-e05860fc06
chore(deps-dev): bump pytest from 8.3.3 to 8.3.4 in the pytest group
2024-12-02 06:36:33 +01:00
Matthias
8584cacb6e Merge pull request #11016 from freqtrade/dependabot/pip/develop/pydantic-2.10.2
chore(deps): bump pydantic from 2.10.1 to 2.10.2
2024-12-02 06:34:33 +01:00
Matthias
3ff19babf5 Merge pull request #11019 from freqtrade/dependabot/pip/develop/pyjwt-2.10.1
chore(deps): bump pyjwt from 2.10.0 to 2.10.1
2024-12-02 06:34:23 +01:00
Matthias
8b5aa08c57 Merge pull request #11014 from freqtrade/dependabot/pip/develop/mkdocs-16f9823690
chore(deps): bump mkdocs-material from 9.5.45 to 9.5.47 in the mkdocs group
2024-12-02 06:33:38 +01:00
dependabot[bot]
cffcb2b985 chore(deps): bump pyjwt from 2.10.0 to 2.10.1
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.10.0 to 2.10.1.
- [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.10.0...2.10.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 03:19:54 +00:00
dependabot[bot]
1da8b68906 chore(deps): bump matplotlib from 3.9.2 to 3.9.3
Bumps [matplotlib](https://github.com/matplotlib/matplotlib) from 3.9.2 to 3.9.3.
- [Release notes](https://github.com/matplotlib/matplotlib/releases)
- [Commits](https://github.com/matplotlib/matplotlib/compare/v3.9.2...v3.9.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 03:19:49 +00:00
dependabot[bot]
d53f4fb81b chore(deps): bump pyarrow from 18.0.0 to 18.1.0
Bumps [pyarrow](https://github.com/apache/arrow) from 18.0.0 to 18.1.0.
- [Release notes](https://github.com/apache/arrow/releases)
- [Commits](https://github.com/apache/arrow/compare/apache-arrow-18.0.0...apache-arrow-18.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 03:19:42 +00:00
dependabot[bot]
02fcd3b489 chore(deps): bump pydantic from 2.10.1 to 2.10.2
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.10.1 to 2.10.2.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v2.10.1...v2.10.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 03:19:25 +00:00
dependabot[bot]
7b70a7a68a chore(deps): bump python-telegram-bot from 21.7 to 21.8
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 21.7 to 21.8.
- [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/v21.7...v21.8)

---
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>
2024-12-02 03:19:08 +00:00
dependabot[bot]
5060725ef5 chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.5.45 to 9.5.47
- [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.5.45...9.5.47)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 03:19:00 +00:00
dependabot[bot]
6bf3218665 chore(deps-dev): bump pytest from 8.3.3 to 8.3.4 in the pytest group
Bumps the pytest group with 1 update: [pytest](https://github.com/pytest-dev/pytest).


Updates `pytest` from 8.3.3 to 8.3.4
- [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/8.3.3...8.3.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 03:18:44 +00:00
Matthias
ab42f84daa Merge pull request #11011 from freqtrade/new_release
New release 2024.11
2024-12-01 20:11:57 +01:00
Matthias
29f86afaf4 Merge pull request #10858 from xzmeng/binance-public-data
Improve binance historic OHLCV download speed
2024-12-01 19:41:40 +01:00
Matthias
ac5a3b9217 Merge pull request #11010 from freqtrade/bump/ta-lib
Bump ta lib to 0.4.34
2024-12-01 19:39:40 +01:00
Matthias
d7d73364e9 chore: version bump 2024.12-dev 2024-12-01 19:38:37 +01:00
Matthias
f83a57ae5c chore: version bump to 2024.11 2024-12-01 19:35:02 +01:00
Matthias
56d747818d Merge branch 'stable' into new_release 2024-12-01 19:34:50 +01:00
Axel-CH
309adb2ffd Merge branch 'develop' into feature/proceed-exit-while-open-order 2024-12-01 11:36:10 -04:00
Matthias
64b50d13fa chore: Add typehint for consolidated method 2024-12-01 16:25:00 +01:00
Axel-CH
16d2dbc9d7 on backtesting try to create exit orders also if there is open order without position yet, to allow entry order adjustment 2024-12-01 11:13:59 -04:00
Axel-CH
73d53579d9 remove Optinal property of replacing param in cancel_open_orders_of_trade 2024-12-01 11:05:38 -04:00
Axel-CH
fbd6a58e3d Merge branch 'develop' into feature/proceed-exit-while-open-order 2024-12-01 10:51:41 -04:00
Axel-CH
4717f716de fix test_dca_exiting 2024-12-01 10:41:41 -04:00
Axel-CH
02a089cb64 fix test_dca_order_adjust_entry_replace_fails 2024-12-01 10:36:49 -04:00
Matthias
0ada6fbd46 test: Add test case for kraken balance rewards 2024-12-01 15:34:36 +01:00
Matthias
2c8840b7e0 fix(kraken): consolidate balances from "rewards"
These currencies show up as <currency>.F -
but can be traded normally - hence we should count them as "tradable" balance.

closes #11007
closes #10925
2024-12-01 15:33:53 +01:00
Axel-CH
8f15bce680 fix test_check_and_call_adjust_trade_position 2024-12-01 10:32:04 -04:00
Matthias
1510c5517b chore: update ta-lib wheels for 0.4.34 2024-12-01 15:28:48 +01:00
Matthias
f6e2fcbf15 chore: bump ta-lib to 0.4.34 2024-12-01 15:28:37 +01:00
Matthias
55247b4e12 chore: bump ccxt to 4.4.35 2024-12-01 15:19:45 +01:00
Matthias
f31b26b1ab tests: Improve sample_order online testing 2024-11-30 18:12:32 +01:00
Matthias
2b350eb872 tests: improve assert accuracy 2024-11-30 13:50:12 +01:00
Matthias
88d77658f8 tests: extract strategy_safe_wrapper tests 2024-11-30 13:49:04 +01:00
Matthias
cbbc386170 docs: update Hyperliquid docs to guide users to use API Wallets 2024-11-30 07:05:19 +01:00
Matthias
7f9226861a docs: slight formatting improvement 2024-11-30 07:04:19 +01:00
Matthias
162c79029f chore: slightly reorganize test file layout 2024-11-29 07:12:54 +01:00
Matthias
5f363f5c9d chore: properly remove ccxt reference 2024-11-29 07:00:42 +01:00
Matthias
bd5877ad49 chore: add space in log message 2024-11-29 06:55:33 +01:00
Matthias
71cf7aedb5 chore: remove unnecessary test-file
that test is flaky for new pairs - and wouldn't run in production anyway.
2024-11-29 06:48:39 +01:00
Matthias
fa1e0af19f chore: remove direct exchange connection 2024-11-29 06:46:55 +01:00
Axel-CH
0a51006da2 update process_open_trade_positions to handle position adjustment for initial entry order (before filling) 2024-11-28 22:27:07 -04:00
Axel-CH
4c365f6afc update test_dca_handle_similar_open_order 2024-11-28 22:25:58 -04:00
Axel-CH
a49b0a922a enhance check_and_call_adjust_trade_position logging 2024-11-28 22:17:53 -04:00
Matthias
a6199680cd fix: freqAI bug causing failures on 2nd backtest 2024-11-28 19:53:41 +01:00
Matthias
9ff4298475 docs: update documentation for expanding pairs
This needs quoting otherwise zsh tries to expand the command,
causing failures.

closes #10996
2024-11-28 19:22:08 +01:00
Matthias
5793216d5c properly account for fee when assigning order.cost in backtesting
(although it's not relevant for operations, it shouldn't be obivously wrong).

closes #11003
2024-11-28 18:15:55 +01:00
Matthias
d1710826e6 chore: improved naming 2024-11-28 07:27:29 +01:00
Matthias
675b996f57 chore: improved naming in test case 2024-11-28 07:20:32 +01:00
Matthias
21777a5804 chore: do more pinpointed imports 2024-11-28 07:09:57 +01:00
Matthias
b1ca00b037 chore: don't shadow pandas builtin methods 2024-11-28 07:04:28 +01:00
Matthias
e2a09f272a chore: Improve naming, remove unnecessary method 2024-11-28 06:55:15 +01:00
Matthias
cf9c9fe278 Merge pull request #11001 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-11-28 06:53:38 +01:00
Matthias
0e77c89d79 chore: simplify code structure by moving conditional to parent method 2024-11-28 06:43:51 +01:00
xmatthias
7571ae19a0 chore: update pre-commit hooks 2024-11-28 03:14:33 +00:00
Matthias
69c1de7e4a chore: move fallback param to config directly 2024-11-27 18:20:44 +01:00
Matthias
09308e568d fix: increase code reliability by not relying on stake-currency to be in the dict 2024-11-27 07:24:11 +01:00
Matthias
671821aeb3 docs: Add documentation for dry-run-wallet as dict 2024-11-27 06:48:07 +01:00
Matthias
7369331e2d tests: add test for multi-pair dry-run wallets 2024-11-27 06:41:54 +01:00
Matthias
e6e193f252 test: assert tickers is called a 2nd time if necessary 2024-11-27 06:41:54 +01:00
Matthias
2bb111605c feat: update rpc_balance to fetch spot tickers
Happens if there is no market for the given pair
2024-11-27 06:41:54 +01:00
Matthias
37aba6f7d5 feat: Allow fetch_tickers from different marketsegment 2024-11-27 06:41:54 +01:00
Matthias
3fc259bb9b feat: add non-trading balance to wallet 2024-11-27 06:41:54 +01:00
Matthias
15c1a8ee0b chore: reduce dict lookups, reuse attribute 2024-11-27 06:41:54 +01:00
Matthias
b4b6de4e0d test: update test ... 2024-11-27 06:41:54 +01:00
Matthias
5b0be7e1a9 feat: support dict like dry_run_wallet 2024-11-27 06:41:54 +01:00
Matthias
92e64927b0 feat: allow object as dry-run balance 2024-11-27 06:41:54 +01:00
Matthias
58cde3253d docs: Fix rendering of $ signs 2024-11-27 06:41:45 +01:00
Matthias
47262b9350 docs: align character used for lists 2024-11-27 06:41:39 +01:00
Matthias
183909f474 chore: kwonly for cached arguments 2024-11-26 18:29:33 +01:00
Matthias
06bb43b13e chore: add missing docstring 2024-11-26 18:29:28 +01:00
Matthias
2ed8e1639f chore: move comment to where it belongs 2024-11-26 18:29:21 +01:00
Matthias
e78d5b7787 chore: improved typing of rpc class 2024-11-26 18:29:17 +01:00
Matthias
e0c6cc1563 feat: add log_responses to /balance endpoint
part of #10994
2024-11-26 10:23:03 +01:00
Matthias
472132c236 tests: update test for renamed prop 2024-11-26 07:08:55 +01:00
Matthias
1262aa19ec chore: make start_cap in wallets private 2024-11-26 06:37:35 +01:00
Matthias
e9e3f7ef16 Merge pull request #10992 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-11-26 06:01:23 +01:00
xmatthias
d9d4c478cc chore: update pre-commit hooks 2024-11-26 03:13:21 +00:00
Axel-CH
0c79c32b0d add test_dca_handle_similar_open_order (wip) 2024-11-25 19:25:54 -04:00
Matthias
db56fc158f test: update test market 2024-11-25 19:35:25 +01:00
Matthias
af8d2490e2 feat: improve is_futures market check 2024-11-25 19:35:25 +01:00
Matthias
fdc77bfd5b Merge pull request #10986 from freqtrade/dependabot/pip/develop/ruff-0.8.0
chore(deps-dev): bump ruff from 0.7.4 to 0.8.0
2024-11-25 07:55:15 +01:00
Matthias
5572d37c7f Merge pull request #10985 from freqtrade/dependabot/pip/develop/stable-baselines3-2.4.0
chore(deps): bump stable-baselines3 from 2.3.2 to 2.4.0
2024-11-25 07:39:01 +01:00
Matthias
57f2ab2f67 Merge pull request #10983 from freqtrade/dependabot/pip/develop/pydantic-2.10.1
chore(deps): bump pydantic from 2.9.2 to 2.10.1
2024-11-25 07:22:20 +01:00
Matthias
1cab52f555 Merge pull request #10988 from freqtrade/dependabot/pip/develop/numexpr-2.10.2
chore(deps): bump numexpr from 2.10.1 to 2.10.2
2024-11-25 07:07:41 +01:00
Matthias
748233ca70 chore: update imports to prevent shadowing internal exceptions 2024-11-25 06:39:18 +01:00
dependabot[bot]
f76108c5b5 chore(deps): bump pydantic from 2.9.2 to 2.10.1
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.9.2 to 2.10.1.
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v2.9.2...v2.10.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 05:31:31 +00:00
dependabot[bot]
09f94f7b56 chore(deps): bump stable-baselines3 from 2.3.2 to 2.4.0
Bumps [stable-baselines3](https://github.com/DLR-RM/stable-baselines3) from 2.3.2 to 2.4.0.
- [Release notes](https://github.com/DLR-RM/stable-baselines3/releases)
- [Commits](https://github.com/DLR-RM/stable-baselines3/compare/v2.3.2...v2.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 05:31:16 +00:00
Matthias
a85b8d6edc Merge pull request #10984 from freqtrade/dependabot/pip/develop/uvicorn-0.32.1
chore(deps): bump uvicorn from 0.32.0 to 0.32.1
2024-11-25 06:30:54 +01:00
Matthias
52c9761e5b Merge pull request #10980 from freqtrade/dependabot/pip/develop/mkdocs-f608445ecc
chore(deps): bump mkdocs-material from 9.5.44 to 9.5.45 in the mkdocs group
2024-11-25 06:30:41 +01:00
Matthias
c2dbb9cb43 Merge pull request #10981 from freqtrade/dependabot/pip/develop/tqdm-4.67.1
chore(deps): bump tqdm from 4.67.0 to 4.67.1
2024-11-25 06:30:26 +01:00
Matthias
59c3743f77 Merge pull request #10982 from freqtrade/dependabot/pip/develop/orjson-3.10.12
chore(deps): bump orjson from 3.10.11 to 3.10.12
2024-11-25 06:30:09 +01:00
dependabot[bot]
98422f8476 chore(deps): bump numexpr from 2.10.1 to 2.10.2
Bumps [numexpr](https://github.com/pydata/numexpr) from 2.10.1 to 2.10.2.
- [Release notes](https://github.com/pydata/numexpr/releases)
- [Changelog](https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst)
- [Commits](https://github.com/pydata/numexpr/compare/v2.10.1...v2.10.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 03:46:25 +00:00
dependabot[bot]
8c6283a687 chore(deps-dev): bump ruff from 0.7.4 to 0.8.0
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.4 to 0.8.0.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.7.4...0.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 03:45:45 +00:00
dependabot[bot]
1fd492d838 chore(deps): bump uvicorn from 0.32.0 to 0.32.1
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.32.0 to 0.32.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.32.0...0.32.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 03:45:25 +00:00
dependabot[bot]
fc63a713fd chore(deps): bump orjson from 3.10.11 to 3.10.12
Bumps [orjson](https://github.com/ijl/orjson) from 3.10.11 to 3.10.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.10.11...3.10.12)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 03:45:09 +00:00
dependabot[bot]
e97b9820a4 chore(deps): bump tqdm from 4.67.0 to 4.67.1
Bumps [tqdm](https://github.com/tqdm/tqdm) from 4.67.0 to 4.67.1.
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](https://github.com/tqdm/tqdm/compare/v4.67.0...v4.67.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 03:45:01 +00:00
dependabot[bot]
52f24af701 chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.5.44 to 9.5.45
- [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.5.44...9.5.45)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 03:44:56 +00:00
Alexander Malysh
c3032feaf7 * allow json in env variables 2024-11-24 14:23:04 +01:00
Matthias
b30c1523e3 chore: don't use e if not used 2024-11-24 10:36:31 +01:00
Matthias
6e1c4c2efd test: add test-case for improved error-handling 2024-11-24 10:36:09 +01:00
Matthias
3b542ea008 fix: add better error-handling for dataloading
closes #10978
2024-11-24 10:36:02 +01:00
Matthias
5841b56f2d chore: NotRequired from typing_extensions 2024-11-23 14:18:05 +01:00
Matthias
85ea29c93c fix: pydantic - typing_extensions type-dict 2024-11-23 14:05:52 +01:00
Matthias
f7e979141b chore: simplify imports 2024-11-23 13:09:17 +01:00
Matthias
e0bdc68a9e feat: support all parameters 2024-11-23 12:55:54 +01:00
Matthias
e6cfde211b feat: enhance api_download capabilities 2024-11-22 16:18:28 +01:00
Matthias
978aaa5c4b chore: improve API server cleanup 2024-11-22 16:17:26 +01:00
Matthias
b67beaa35a chore: simplify progress-tracker typing 2024-11-22 15:24:52 +01:00
Matthias
19f23106e7 tests: add test for download_data api method 2024-11-22 15:06:58 +01:00
Matthias
d8a2c59b04 chore: Add proper typing to jobContainer response 2024-11-22 15:06:58 +01:00
Matthias
dea785f562 feat: add progress_tasks to /background endpoint 2024-11-22 15:06:58 +01:00
Matthias
ca42f86900 feat: set progressTasks in Callback correctly 2024-11-22 15:06:58 +01:00
Matthias
de9294d1f4 feat: return progressTasks in API 2024-11-22 15:06:58 +01:00
Matthias
91b83519f5 feat: update types to support multiple progressbars 2024-11-22 15:06:58 +01:00
Matthias
3eb7f296aa fix: callback must be called after parent call 2024-11-22 15:06:58 +01:00
Matthias
f3b0e404f0 chore: update to new syntax 2024-11-22 15:06:58 +01:00
Matthias
3ba3d7ffcf feat: increment api_version 2024-11-22 15:06:58 +01:00
Matthias
832fa88f08 feat: api-download-data shouldn't require stake-currency 2024-11-22 15:06:58 +01:00
Matthias
6e9d349ceb feat: api progressbar handling 2024-11-22 15:06:57 +01:00
Matthias
8bd1524abc feat: pass progressbar into download-data functions 2024-11-22 15:06:57 +01:00
Matthias
72f5633061 feat: add ProgressLike protocol 2024-11-22 15:06:57 +01:00
Matthias
3b25bdc1cb feat(data-dl): Simplify download-data calls 2024-11-22 15:06:57 +01:00
Matthias
3690609519 feat: simplify api_download_data code duplication 2024-11-22 15:06:57 +01:00
Matthias
43c9d14ac2 refactor: extract exchangeInit from download-data main 2024-11-22 15:06:57 +01:00
Matthias
83122fa58b feat: add initial download-data api endpoints 2024-11-22 15:06:57 +01:00
Matthias
f23da7ea75 feat: Add initial data-download api schema 2024-11-22 15:06:57 +01:00
Matthias
7ef93e92e6 feat: Log if user has a Gate unified account 2024-11-21 20:57:20 +01:00
Matthias
945f9f8c47 docs: update unfilledtimeout.entry comment to remove false statement
closes #10966
2024-11-21 20:38:38 +01:00
Matthias
29b40d27e7 fix: hyperliquid doesn't provide "average" in fetch_order
therefore this needs to be filled from trades to have a good price
 for market orders
2024-11-21 20:31:56 +01:00
Matthias
cd83ed699c chore: add rejected to canceled order states 2024-11-21 20:04:52 +01:00
Matthias
02fcded368 chore: bump ccxt to 4.4.33
closes #10942
2024-11-21 18:17:14 +01:00
Matthias
18b0dfe28c fix: add stop_price_prop for hyperliquid
temporary workaround for #10960
2024-11-21 06:45:03 +01:00
Matthias
69be62f1e6 Merge pull request #10965 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-11-21 06:28:15 +01:00
xmatthias
7136c5b414 chore: update pre-commit hooks 2024-11-21 03:10:53 +00:00
Matthias
b637e7dde4 docs: add "impossible to load" FAQ entry 2024-11-20 07:00:29 +01:00
Matthias
f545274a0e test: add test for bybit classic account behavior
related: #10872
2024-11-19 18:19:27 +01:00
Matthias
e8c122d5ed fix: bybit classic market buy orders require price
closes #10872
2024-11-19 18:18:47 +01:00
Matthias
9457f63e01 Merge pull request #10954 from freqtrade/dependabot/pip/aiohttp-3.10.11
chore(deps): bump aiohttp from 3.10.10 to 3.10.11
2024-11-19 06:28:51 +01:00
Matthias
df004a2c7a Merge pull request #10955 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-11-19 06:26:43 +01:00
xmatthias
a698ee8bc8 chore: update pre-commit hooks 2024-11-19 03:12:02 +00:00
dependabot[bot]
1228ffe109 chore(deps): bump aiohttp from 3.10.10 to 3.10.11
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.10.10 to 3.10.11.
- [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.10.10...v3.10.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 21:04:54 +00:00
Matthias
076a10887b Merge pull request #10947 from freqtrade/dependabot/pip/develop/pycoingecko-3.2.0
chore(deps): bump pycoingecko from 3.1.0 to 3.2.0
2024-11-18 07:48:22 +01:00
Matthias
fc3db2d29c chore: force pycoingecko to be > 3.2.0
that's the first version supporting demo API keys
2024-11-18 07:13:21 +01:00
Matthias
971cdbb918 chore: Simplify coingecko wrapper after update 2024-11-18 07:13:21 +01:00
dependabot[bot]
73adbe9e0c chore(deps): bump pycoingecko from 3.1.0 to 3.2.0
Bumps [pycoingecko](https://github.com/man-c/pycoingecko) from 3.1.0 to 3.2.0.
- [Changelog](https://github.com/man-c/pycoingecko/blob/master/CHANGELOG.md)
- [Commits](https://github.com/man-c/pycoingecko/compare/3.1.0...3.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 07:13:02 +01:00
Matthias
8363609637 chore: fix typo in comment 2024-11-18 07:05:13 +01:00
Matthias
705c3a408a Merge pull request #10953 from freqtrade/dependabot/pip/develop/fastapi-0.115.5
chore(deps): bump fastapi from 0.115.4 to 0.115.5
2024-11-18 06:35:26 +01:00
Matthias
228fc5ce73 Merge pull request #10949 from freqtrade/dependabot/pip/develop/pyjwt-2.10.0
chore(deps): bump pyjwt from 2.9.0 to 2.10.0
2024-11-18 06:35:04 +01:00
Matthias
09885535ac Merge pull request #10950 from freqtrade/dependabot/pip/develop/ruff-0.7.4
chore(deps-dev): bump ruff from 0.7.3 to 0.7.4
2024-11-18 06:34:42 +01:00
Matthias
de139af5a5 Merge pull request #10951 from freqtrade/dependabot/pip/develop/websockets-14.1
chore(deps): bump websockets from 14.0 to 14.1
2024-11-18 06:33:56 +01:00
dependabot[bot]
d9c7790e82 chore(deps): bump fastapi from 0.115.4 to 0.115.5
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.115.4 to 0.115.5.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.115.4...0.115.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 03:58:03 +00:00
dependabot[bot]
aa03b7d9a0 chore(deps): bump websockets from 14.0 to 14.1
Bumps [websockets](https://github.com/python-websockets/websockets) from 14.0 to 14.1.
- [Release notes](https://github.com/python-websockets/websockets/releases)
- [Commits](https://github.com/python-websockets/websockets/compare/14.0...14.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 03:57:52 +00:00
dependabot[bot]
8f9d0019e6 chore(deps-dev): bump ruff from 0.7.3 to 0.7.4
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.3 to 0.7.4.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.7.3...0.7.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 03:57:42 +00:00
dependabot[bot]
9e3fae1991 chore(deps): bump pyjwt from 2.9.0 to 2.10.0
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.9.0 to 2.10.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.9.0...2.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 03:57:19 +00:00
Matthias
5dcb239253 Merge pull request #10944 from smith558/patch-1
Fix typo
2024-11-17 09:04:38 +01:00
Stanislav (Stanley) Modrak
9fcdea14d7 Fix typo 2024-11-16 20:52:31 +00:00
Matthias
85dbe83154 Merge pull request #10943 from emmanuel-ferdman/develop
docs: update `VolumePairList` reference
2024-11-16 17:07:16 +01:00
Matthias
ee48da2a0a docs: slightly reword data message 2024-11-16 15:51:33 +01:00
Emmanuel Ferdman
f477389159 docs: update VolumePairList reference
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2024-11-16 06:26:56 -08:00
Matthias
3bb7f78255 chore: fix import sorting 2024-11-16 13:25:54 +01:00
Matthias
25aecfa9b2 docs: slightly update download-data docs 2024-11-16 13:07:23 +01:00
Matthias
f821e504c3 tests: update test for new behavior 2024-11-16 12:58:31 +01:00
Matthias
d66381863e feat: don't force-redownload all data
If the given timerange starts prior to the available data,
the bot shouldn't force-download everything unless forced via `--erase`
or via `--prepend`.
2024-11-16 12:58:23 +01:00
Matthias
68712c884e chore: fix line length 2024-11-16 12:51:13 +01:00
Matthias
db9b31cb85 chore: don't use unsupported syntax 2024-11-16 12:40:03 +01:00
Matthias
7090d4e5ba fix: override gate funding fee limit to 90
(seems to be the new limit)
2024-11-16 11:56:05 +01:00
Matthias
b2423fa390 chore: remove explicit ohlcv_candle_limit in favor of config option 2024-11-16 11:54:54 +01:00
Matthias
83b87cb812 feat: add explicit funding_fee_candle_limit for simplified overriding 2024-11-16 11:54:28 +01:00
Matthias
44dcb4cc78 Merge pull request #10839 from gaardiolor/hyperliquid
Hyperliquid
2024-11-16 11:18:03 +01:00
Matthias
64803a735d tests: update commands tests to early fail approach 2024-11-16 11:07:19 +01:00
Matthias
20e77bb5d9 test: update tests to recognize early failing 2024-11-16 11:02:22 +01:00
Matthias
f11e5128ad tests: update tests for new dl-trades behavior 2024-11-16 10:58:25 +01:00
Matthias
bbe13cafcb tests: Remove pointless test 2024-11-16 10:46:48 +01:00
Matthias
1acca87fbf chore: early-exit when no pairs are available 2024-11-16 10:46:23 +01:00
Matthias
2012bb7c53 chore: improve logging sequence 2024-11-16 10:43:01 +01:00
Matthias
14d384a30a feat: don't auto-delete trades data due to invalid timerange
trades-data is already slow enough to download
2024-11-16 10:34:24 +01:00
Matthias
927f5e2c8b tests: enhanced test for get_trade_history on binance 2024-11-16 10:10:30 +01:00
Matthias
d59bedf977 feat: download-trades-data on binance has limited history
with from=0, we can get the initial data available.

closes #10941
2024-11-16 10:02:22 +01:00
Matthias
c61a71a36e fix: percent_change from candle must provide percentage, not ratio
closes #10937
2024-11-16 08:50:41 +01:00
Matthias
46f2e693bc chore: bump ccxt to 4.4.31 2024-11-15 21:57:58 +01:00
Matthias
cbc4bb5420 chore: use __all__ for hyperopt main export 2024-11-15 07:24:46 +01:00
Matthias
49e85e0680 docs: update migration docs to new syntax
only update the "after" parts.
No changs to highlighting, as the actual syntax used is not relevant for the strategy.
2024-11-15 07:21:22 +01:00
Matthias
e8d724680a chore: improved log msg wording 2024-11-15 07:19:05 +01:00
Matthias
6d9ab5e9ff docs: update more typing wordings 2024-11-15 07:18:41 +01:00
Matthias
a6d513a0e6 docs: update callback docs to new syntax 2024-11-15 07:15:31 +01:00
Matthias
d565c40f4b docs: Updated syntax 2024-11-15 07:11:54 +01:00
Matthias
52b4ae5eae Docs: Align to 3.10 syntax 2024-11-15 07:10:31 +01:00
Meng Xiangzhuo
0f53dc1b7b chore: improve log level to warning when falling back to API 2024-11-15 12:08:50 +08:00
Matthias
5c4b9e59d1 chore: add Hyperliquid as supported exchange to docs 2024-11-14 07:08:27 +01:00
Matthias
a02f63dcc3 chore: add hyperliquid to supported exchange list 2024-11-14 07:06:43 +01:00
Matthias
a3a94e6ea4 chore: reorder hyperliquid docs, add note about order types 2024-11-14 07:06:09 +01:00
Matthias
c039a45def fix: hyperliquid market orders don't exist and always require price 2024-11-14 07:04:39 +01:00
Matthias
3276dd6b94 Merge pull request #10931 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-11-14 06:34:32 +01:00
xmatthias
de306de78b chore: update pre-commit hooks 2024-11-14 03:06:23 +00:00
xzmeng
19f96d60e3 refactor: streamline error handling by raising instead of returning 2024-11-14 09:47:23 +08:00
xzmeng
bfdbf0248c refactor: rename asset_type to asset_type_url_segment 2024-11-14 07:51:58 +08:00
xzmeng
660863392b refactor: rename fetch_ohlcv to download_archive_ohlcv 2024-11-14 07:29:37 +08:00
xzmeng
8baa0f7310 chore: add user friendly warnings 2024-11-14 06:06:15 +08:00
xzmeng
6b18c4f24c feat: cancel uncompleted tasks before return 2024-11-14 05:24:31 +08:00
xzmeng
40f70a1cc0 chore: warning when fall back to rest API 2024-11-14 04:36:24 +08:00
Meng Xiangzhuo
c869dfea3f chore: add more docstrings 2024-11-13 17:32:25 +08:00
Meng Xiangzhuo
39b4263b8b chore: improve comments 2024-11-13 17:14:49 +08:00
Meng Xiangzhuo
cf7016b36d chore: remove unused code 2024-11-13 16:09:02 +08:00
Meng Xiangzhuo
1893ac7ed6 tests: patch thirty party libs from imported location 2024-11-13 13:08:29 +08:00
Meng Xiangzhuo
a748d105ed chore: remove performance compare script 2024-11-13 12:45:46 +08:00
Meng Xiangzhuo
fc307bcf5b tests: fix 2024-11-13 12:44:27 +08:00
Meng Xiangzhuo
03033a0684 refactor: use exchange.markets to avoid loading ccxt markets 2024-11-13 12:36:18 +08:00
Meng Xiangzhuo
7ca39a5c38 Merge branch 'develop' into binance-public-data 2024-11-13 12:14:50 +08:00
Meng Xiangzhuo
d7555e1f29 feat: support proxy from environment variables 2024-11-13 12:03:41 +08:00
Meng Xiangzhuo
37726fba58 refactor: use CCXT for pair to symbol conversion 2024-11-13 11:55:10 +08:00
Meng Xiangzhuo
c4cf582c9d refacotr: default to stop on 404 2024-11-13 11:18:32 +08:00
Meng Xiangzhuo
acc53065e5 refactor: strip fast download logic into a method 2024-11-13 10:16:06 +08:00
Matthias
9360c109a9 docs: fix spelling 2024-11-12 19:32:42 +01:00
Matthias
5d9af5a7da test: update tests with new formatting 2024-11-12 19:27:17 +01:00
Matthias
88e0fed4c4 fix: Consistently format pair rate between entry and exit messages
closes #10922
2024-11-12 19:27:17 +01:00
Matthias
98dcc08c6d feat: add fmt_coin2 2024-11-12 19:27:17 +01:00
gaardiolor
702b50e7e9 Update exchanges.md - less details on the private key conversion 2024-11-12 18:22:19 +01:00
gaardiolor
8f946ea1b2 Update exchanges.md - further clarify private key best practices 2024-11-12 18:13:31 +01:00
Matthias
4e5ae0af84 Merge pull request #10919 from freqtrade/refactor/hyperopt
Restore hyperopt logging, refactor hyperopt layout
2024-11-12 18:13:02 +01:00
Matthias
ca00871362 chore: adopt hyperopt class to new ruff formatting 2024-11-12 18:05:51 +01:00
Matthias
a1d8658297 Merge branch 'develop' into pr/gaardiolor/10839 2024-11-12 18:05:25 +01:00
gaardiolor
31814e8bf9 Update docs/stoploss.md - clarify that stoploss_on_exchange is only supported for hyperliquid futures
Co-authored-by: Matthias <xmatthias@outlook.com>
2024-11-12 17:55:12 +01:00
Matthias
0028df2564 feat(hyperliquid): fix a few settings to make spot work properly 2024-11-12 06:58:21 +01:00
Matthias
9b3764212f chore: fix bad import 2024-11-12 06:30:55 +01:00
Matthias
8128b85706 Merge pull request #10921 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-11-12 06:24:15 +01:00
xmatthias
d7c88a38fc chore: update pre-commit hooks 2024-11-12 03:04:16 +00:00
Matthias
0b0b221c02 chore: update advanced template to new formatting 2024-11-11 20:25:15 +01:00
Matthias
d9b8f46282 docs: update doc samples to use lowercased tuple and dict 2024-11-11 20:24:01 +01:00
Matthias
fbb64db3ae define log_queue globally 2024-11-11 20:14:37 +01:00
Matthias
33d8e67a87 docs: add note about logging 2024-11-11 20:12:31 +01:00
Matthias
f05f173d23 chore: improved docstring for logging_mp_handle 2024-11-11 19:53:59 +01:00
Matthias
81a622a9fa chore: remove unnecessary log messages 2024-11-11 19:53:26 +01:00
Matthias
67415dd7e2 chore: improved module docstring 2024-11-11 19:53:04 +01:00
Matthias
e8cd6b3be3 Merge pull request #10910 from freqtrade/dependabot/pip/develop/websockets-14.0
chore(deps): bump websockets from 13.1 to 14.0
2024-11-11 19:48:05 +01:00
Matthias
7e96e7af83 feat: add hyperopt log handlers to allow for multiprocessing logging 2024-11-11 19:43:37 +01:00
Matthias
119b73ead2 chore: improtve method sorting 2024-11-11 19:43:37 +01:00
Matthias
365c454da1 chore: Improve import comments 2024-11-11 19:43:37 +01:00
Matthias
b6d1f9f754 test: update hyperopt tests for new structure 2024-11-11 19:43:37 +01:00
Matthias
6719d9670d feat: split hyperopt class
this ensures it's clear which parts are passed to workers
2024-11-11 19:43:37 +01:00
Matthias
62234878a1 test: update mocks for new layout 2024-11-11 19:43:37 +01:00
Matthias
851a9a7620 refactor: move hyperopt-auto 2024-11-11 19:43:37 +01:00
Matthias
61d9002cb1 refactor: move hyperopt-output 2024-11-11 19:43:37 +01:00
Matthias
84fc5dfcf7 refactor: move hyperopt-loss interface 2024-11-11 19:43:37 +01:00
Matthias
e1b3ae208d chore: move hyperopt to it's own module 2024-11-11 19:43:37 +01:00
Matthias
60ec9739c2 chore: update websocket implementation to new asyncio api 2024-11-11 19:21:45 +01:00
Matthias
c9fb3dfb1d chore: Update websocket imports to use "legacy" client
temporary - must be updated to the new implementation
2024-11-11 07:09:13 +01:00
Matthias
8230d1b515 Merge pull request #10913 from freqtrade/dependabot/pip/develop/ccxt-4.4.29
chore(deps): bump ccxt from 4.4.26 to 4.4.29
2024-11-11 06:29:59 +01:00
dependabot[bot]
838b4f4e52 chore(deps): bump websockets from 13.1 to 14.0
Bumps [websockets](https://github.com/python-websockets/websockets) from 13.1 to 14.0.
- [Release notes](https://github.com/python-websockets/websockets/releases)
- [Commits](https://github.com/python-websockets/websockets/compare/13.1...14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 05:29:17 +00:00
Matthias
eae5b154c9 Merge pull request #10908 from freqtrade/dependabot/pip/develop/mkdocs-54fce57b69
chore(deps): bump mkdocs-material from 9.5.43 to 9.5.44 in the mkdocs group
2024-11-11 06:28:51 +01:00
Matthias
ebc870d2d4 Merge pull request #10911 from freqtrade/dependabot/pip/develop/packaging-24.2
chore(deps): bump packaging from 24.1 to 24.2
2024-11-11 06:28:15 +01:00
Matthias
986b1aadbf Merge pull request #10912 from freqtrade/dependabot/pip/develop/tqdm-4.67.0
chore(deps): bump tqdm from 4.66.6 to 4.67.0
2024-11-11 06:27:16 +01:00
Matthias
9ced73bf19 Merge pull request #10914 from freqtrade/dependabot/pip/develop/ruff-0.7.3
chore(deps-dev): bump ruff from 0.7.2 to 0.7.3
2024-11-11 06:26:38 +01:00
Matthias
f0428d5c99 Merge pull request #10915 from freqtrade/dependabot/pip/develop/python-telegram-bot-21.7
chore(deps): bump python-telegram-bot from 21.6 to 21.7
2024-11-11 06:26:11 +01:00
Matthias
486a0d2c6e Merge pull request #10916 from freqtrade/dependabot/github_actions/develop/pypa/gh-action-pypi-publish-1.12.2
chore(deps): bump pypa/gh-action-pypi-publish from 1.11.0 to 1.12.2
2024-11-11 06:25:47 +01:00
dependabot[bot]
13cf6a1007 chore(deps): bump pypa/gh-action-pypi-publish from 1.11.0 to 1.12.2
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.11.0 to 1.12.2.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.11.0...v1.12.2)

---
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>
2024-11-11 03:54:30 +00:00
dependabot[bot]
4c59bcc1bb chore(deps): bump python-telegram-bot from 21.6 to 21.7
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 21.6 to 21.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/v21.6...v21.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>
2024-11-11 03:11:15 +00:00
dependabot[bot]
057bb31d94 chore(deps-dev): bump ruff from 0.7.2 to 0.7.3
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.2 to 0.7.3.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.7.2...0.7.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 03:11:00 +00:00
dependabot[bot]
6258c0671b chore(deps): bump ccxt from 4.4.26 to 4.4.29
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.26 to 4.4.29.
- [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/4.4.26...4.4.29)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 03:10:48 +00:00
dependabot[bot]
b3b45458f6 chore(deps): bump tqdm from 4.66.6 to 4.67.0
Bumps [tqdm](https://github.com/tqdm/tqdm) from 4.66.6 to 4.67.0.
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](https://github.com/tqdm/tqdm/compare/v4.66.6...v4.67.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 03:10:40 +00:00
dependabot[bot]
54047a98b3 chore(deps): bump packaging from 24.1 to 24.2
Bumps [packaging](https://github.com/pypa/packaging) from 24.1 to 24.2.
- [Release notes](https://github.com/pypa/packaging/releases)
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pypa/packaging/compare/24.1...24.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 03:10:35 +00:00
dependabot[bot]
6411dcbf72 chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.5.43 to 9.5.44
- [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.5.43...9.5.44)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 03:10:03 +00:00
Matthias
1818215fee feat: add MultiMetricLoss to "builtin hyperopt loss" list 2024-11-10 10:11:15 +01:00
Matthias
1ffceef9f0 tests: Improve test further 2024-11-10 09:27:10 +01:00
Matthias
be1426a5f6 feat: create strategy-dir if it doesn't exist 2024-11-10 09:18:56 +01:00
Matthias
3ebb819ba3 tests: update new-strategy test to use tmpdir 2024-11-10 09:18:56 +01:00
Matthias
5f16e534ee feat: add support for --strategy-path to new-strategy 2024-11-10 09:18:56 +01:00
Matthias
8f8e6f16b4 chore: remove unused mock imports 2024-11-10 09:18:56 +01:00
Matthias
b5592b88fa Merge pull request #10898 from xzmeng/ruff310
chore: bump ruff target-version to 3.10
2024-11-10 09:06:28 +01:00
Matthias
ba06269ed7 chore: update commented type 2024-11-10 08:47:24 +01:00
Matthias
e450baeac4 Merge pull request #10902 from 14790897/develop
feat: enhance data fetching logic with pagination to increase market …
2024-11-09 18:39:47 +01:00
Matthias
3a81b6a08f chore: improve warning wording 2024-11-09 18:18:54 +01:00
Matthias
b7a2efcd6a docs: update docs with new marketcaplist behavior 2024-11-09 18:12:48 +01:00
Meng Xiangzhuo
a605d50d69 chore: revert minimum python version check 2024-11-10 00:22:32 +08:00
liuweiqing
27d894b8e9 chore: remove warnings 2024-11-09 18:40:32 +08:00
liuweiqing
14f1ef8e30 Merge branch 'develop' of https://github.com/freqtrade/freqtrade into develop 2024-11-09 18:23:30 +08:00
liuweiqing
7b471d59c5 chore: add warning when max_rank exceeds 250 in MarketCapPairList 2024-11-09 18:23:27 +08:00
Matthias
5ca102ffee Merge pull request #10901 from freqtrade/remove_brew
Attempt Remove brew hdf5 installs
2024-11-09 09:02:15 +01:00
Matthias
0e04f79b6d docs: add macos libomp to docs
closes #10900
2024-11-09 08:30:19 +01:00
Matthias
c141b873c3 docs: Update install docs 2024-11-09 08:24:37 +01:00
Matthias
3cc97690a4 tests: add hyperliquid lev_prep test 2024-11-09 08:11:23 +01:00
Matthias
5b7f08137f tests: improve hyperliquid tests 2024-11-09 08:09:57 +01:00
liuweiqing
00318be59f chore: Convert page number to string to ensure type compatibility 2024-11-09 11:25:31 +08:00
Matthias
37c00d4eeb chore: keep libomp brew install 2024-11-08 07:59:47 +01:00
liuweiqing
3300d25e57 feat: enhance data fetching logic with pagination to increase market cap rank limit 2024-11-08 14:50:21 +08:00
Matthias
f443b1426f chore: try removing all brew install steps
(hdf5 provides proper wheels now)
2024-11-08 07:03:03 +01:00
Matthias
96354ee1d8 docs: fix hyperliquid docs formatting 2024-11-08 06:45:45 +01:00
Meng Xiangzhuo
41b725714f chore: bump ruff target-version to 3.10 2024-11-08 04:37:33 +08:00
Matthias
12560e983c docs: Add note about custom-stoploss exit reasons 2024-11-07 19:57:41 +01:00
Matthias
44ff6d50ec docs: further clarify telegram docs 2024-11-07 07:22:54 +01:00
Matthias
29c1cca990 chore: don't modify original dict when initializing ccxt 2024-11-07 07:03:01 +01:00
Matthias
979f7ba78c docs: improved wording on telegram docs 2024-11-07 06:38:22 +01:00
Matthias
b6dfe01628 chore: improve loudness call structure 2024-11-07 06:32:23 +01:00
Matthias
d4cd5ba231 chore: Add loudness docstring 2024-11-07 06:29:23 +01:00
Matthias
e7cf1e34cf docs: update docs to better explain options for telegram settings
closes #10895
2024-11-07 06:29:23 +01:00
Matthias
c9718de24c feat: Update config_schema with support for exit_fill 2024-11-07 06:29:23 +01:00
Matthias
c58b1f0fd2 feat: add "*" to define custom default for non-defined exit reasons 2024-11-07 06:29:23 +01:00
Matthias
b720ae5d75 feat: Support individual exits for both exit-fill and exit messages 2024-11-07 06:29:23 +01:00
Matthias
3cea1a99b7 tests: add explicit notification enablement test 2024-11-07 06:29:23 +01:00
Matthias
03eb079a5e chore: slightly refactor telegram loudness control 2024-11-07 06:29:23 +01:00
Matthias
899db2de78 docs: improve formatting of telegram docs page 2024-11-07 06:29:23 +01:00
Matthias
22338d7058 Merge pull request #10896 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-11-07 06:29:11 +01:00
xmatthias
db6d7714a4 chore: update pre-commit hooks 2024-11-07 03:07:11 +00:00
gaardiolor
2de4f425ff Update stoploss.md - add hyperliquid 2024-11-06 21:41:59 +01:00
gaardiolor
a71ab6e2ae Update exchanges.md - add hyperliquid stoploss_on_exchange note 2024-11-06 21:39:56 +01:00
gaardiolor
0b6bf701ef Update exchanges.md - typo 2024-11-06 10:29:23 +01:00
gaardiolor
38eb4eed97 Reverted changes related to create_order_has_all_data 2024-11-05 22:37:12 +01:00
gaardiolor
bdb54f56d9 Update exchanges.md - add Hyperliquid 2024-11-05 21:21:11 +01:00
Matthias
3eb2981fb4 chore: add explaining comment for "not fill" branch 2024-11-05 20:45:58 +01:00
Matthias
835269825d fix: improve stake-amount in order "created" message 2024-11-05 20:35:59 +01:00
Matthias
12ab1cb2c4 tests: add explicit test for stake_amount_filled 2024-11-05 07:19:49 +01:00
Matthias
07f0e3803a docs: add stake_amount_filled documentation 2024-11-05 07:19:39 +01:00
Matthias
3d307fe8ff feat: add stake_amount_filled order attribute 2024-11-05 07:19:09 +01:00
Matthias
5cb4a65cbd fix: use order.safe_amount for "order created" entry message 2024-11-05 07:06:07 +01:00
Matthias
84ce065f76 Merge pull request #10890 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-11-05 06:24:12 +01:00
xmatthias
6398d7ff23 chore: update pre-commit hooks 2024-11-05 03:05:06 +00:00
Matthias
7e3f8ad012 tests: update test to not test for non-existing property 2024-11-04 20:14:30 +01:00
Matthias
8703c87880 chore: improve a few more types 2024-11-04 19:40:11 +01:00
Matthias
7e010c88b9 chore: Improve type safety 2024-11-04 19:32:46 +01:00
Matthias
dad921bf5b chore: use CcxtOrder in more places 2024-11-04 19:30:51 +01:00
Matthias
e020bafc38 chore: simplify calculation by reducing dict lookups 2024-11-04 18:22:20 +01:00
Matthias
ecf5e1ce6b chore: first step to improved ccxtOrder Typing 2024-11-04 18:16:00 +01:00
Matthias
31bcee1a13 Merge pull request #10887 from freqtrade/dependabot/pip/develop/pyarrow-18.0.0
chore(deps): bump pyarrow from 17.0.0 to 18.0.0
2024-11-04 09:55:54 +01:00
Matthias
6245127ce1 chore: update pyarrow armhf prebuilt wheel 2024-11-04 09:27:51 +01:00
Matthias
d1a4b9ad85 Merge pull request #10885 from freqtrade/dependabot/pip/develop/pymdown-extensions-10.12
chore(deps): bump pymdown-extensions from 10.11.2 to 10.12
2024-11-04 07:48:05 +01:00
Matthias
167e615f67 Merge pull request #10886 from freqtrade/dependabot/pip/develop/ccxt-4.4.26
chore(deps): bump ccxt from 4.4.24 to 4.4.26
2024-11-04 07:37:56 +01:00
Matthias
9c1b0471ca Merge pull request #10884 from freqtrade/dependabot/pip/develop/torch-2.5.1
chore(deps): bump torch from 2.5.0 to 2.5.1
2024-11-04 07:25:27 +01:00
Matthias
96a8a94309 Merge pull request #10883 from freqtrade/dependabot/pip/develop/orjson-3.10.11
chore(deps): bump orjson from 3.10.10 to 3.10.11
2024-11-04 07:15:13 +01:00
Matthias
d2960aae3c Merge pull request #10882 from freqtrade/dependabot/pip/develop/ruff-0.7.2
chore(deps-dev): bump ruff from 0.7.1 to 0.7.2
2024-11-04 07:11:01 +01:00
Matthias
3f1a23615a Merge pull request #10881 from freqtrade/dependabot/pip/develop/janus-1.1.0
chore(deps): bump janus from 1.0.0 to 1.1.0
2024-11-04 07:10:33 +01:00
dependabot[bot]
78de0f3167 chore(deps): bump pyarrow from 17.0.0 to 18.0.0
Bumps [pyarrow](https://github.com/apache/arrow) from 17.0.0 to 18.0.0.
- [Release notes](https://github.com/apache/arrow/releases)
- [Commits](https://github.com/apache/arrow/compare/go/v17.0.0...apache-arrow-18.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>
2024-11-04 05:40:36 +00:00
Matthias
718e900a39 Merge pull request #10879 from freqtrade/dependabot/pip/develop/rich-13.9.4
chore(deps): bump rich from 13.9.3 to 13.9.4
2024-11-04 06:39:56 +01:00
Matthias
eff2a857c0 Merge pull request #10878 from freqtrade/dependabot/pip/develop/tqdm-4.66.6
chore(deps): bump tqdm from 4.66.5 to 4.66.6
2024-11-04 06:39:42 +01:00
Matthias
cf2b5cc24d Merge pull request #10876 from freqtrade/dependabot/pip/develop/pytest-01f0e07c3f
chore(deps-dev): bump pytest-cov from 5.0.0 to 6.0.0 in the pytest group
2024-11-04 06:39:14 +01:00
dependabot[bot]
7859fadf6b chore(deps): bump pymdown-extensions from 10.11.2 to 10.12
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.11.2 to 10.12.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.11.2...10.12)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 05:27:37 +00:00
Matthias
34588b7dc0 Merge pull request #10875 from freqtrade/dependabot/github_actions/develop/pypa/gh-action-pypi-publish-1.11.0
chore(deps): bump pypa/gh-action-pypi-publish from 1.10.3 to 1.11.0
2024-11-04 06:26:39 +01:00
Matthias
f6999898d5 Merge pull request #10877 from freqtrade/dependabot/pip/develop/mkdocs-0610082a93
chore(deps): bump mkdocs-material from 9.5.42 to 9.5.43 in the mkdocs group
2024-11-04 06:26:25 +01:00
dependabot[bot]
821243ce7c chore(deps): bump ccxt from 4.4.24 to 4.4.26
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.24 to 4.4.26.
- [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/4.4.24...4.4.26)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 03:35:00 +00:00
dependabot[bot]
44d0abb111 chore(deps): bump torch from 2.2.2 to 2.5.1
Bumps [torch](https://github.com/pytorch/pytorch) from 2.2.2 to 2.5.1.
- [Release notes](https://github.com/pytorch/pytorch/releases)
- [Changelog](https://github.com/pytorch/pytorch/blob/main/RELEASE.md)
- [Commits](https://github.com/pytorch/pytorch/compare/v2.2.2...v2.5.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 03:34:44 +00:00
dependabot[bot]
10fd2b291e chore(deps): bump orjson from 3.10.10 to 3.10.11
Bumps [orjson](https://github.com/ijl/orjson) from 3.10.10 to 3.10.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.10.10...3.10.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 03:34:35 +00:00
dependabot[bot]
5034c7c312 chore(deps-dev): bump ruff from 0.7.1 to 0.7.2
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.1 to 0.7.2.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.7.1...0.7.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 03:34:25 +00:00
dependabot[bot]
ff36ba7742 chore(deps): bump janus from 1.0.0 to 1.1.0
Bumps [janus](https://github.com/aio-libs/janus) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/aio-libs/janus/releases)
- [Changelog](https://github.com/aio-libs/janus/blob/master/CHANGES.rst)
- [Commits](https://github.com/aio-libs/janus/compare/v1.0.0...v1.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 03:34:10 +00:00
dependabot[bot]
9b2fabfb3e chore(deps): bump rich from 13.9.3 to 13.9.4
Bumps [rich](https://github.com/Textualize/rich) from 13.9.3 to 13.9.4.
- [Release notes](https://github.com/Textualize/rich/releases)
- [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Textualize/rich/compare/v13.9.3...v13.9.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 03:33:48 +00:00
dependabot[bot]
4008eb20a3 chore(deps): bump tqdm from 4.66.5 to 4.66.6
Bumps [tqdm](https://github.com/tqdm/tqdm) from 4.66.5 to 4.66.6.
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](https://github.com/tqdm/tqdm/compare/v4.66.5...v4.66.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 03:33:44 +00:00
dependabot[bot]
e224ee8277 chore(deps): bump mkdocs-material in the mkdocs group
Bumps the mkdocs group with 1 update: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs-material` from 9.5.42 to 9.5.43
- [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.5.42...9.5.43)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 03:33:34 +00:00
dependabot[bot]
d236f97605 chore(deps-dev): bump pytest-cov from 5.0.0 to 6.0.0 in the pytest group
Bumps the pytest group with 1 update: [pytest-cov](https://github.com/pytest-dev/pytest-cov).


Updates `pytest-cov` from 5.0.0 to 6.0.0
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-cov/compare/v5.0.0...v6.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 03:33:20 +00:00
dependabot[bot]
0efb966b68 chore(deps): bump pypa/gh-action-pypi-publish from 1.10.3 to 1.11.0
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.10.3 to 1.11.0.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.10.3...v1.11.0)

---
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>
2024-11-04 03:04:18 +00:00
Matthias
63dfa52ea8 chore: Fix missing space in log message 2024-11-03 13:43:30 +01:00
Matthias
74507e9981 docs: remove more --dmmp docs 2024-11-02 17:24:31 +01:00
Matthias
d24bef7883 tests: remove --dmmp from tests 2024-11-02 16:54:54 +01:00
Matthias
59bf0c080a docs: update docs about removed --dmmp option 2024-11-02 16:54:45 +01:00
Matthias
e8553cfac0 docs: Update documentation about dmmp 2024-11-02 16:50:20 +01:00
Matthias
baadf62fc3 chore: remove --dmmp option 2024-11-02 16:49:26 +01:00
Meng Xiangzhuo
cf0f232635 refactor: move download klines count message 2024-11-02 06:00:37 +08:00
Meng Xiangzhuo
e2ee7f7b2f feat: fall back to rest API by catching all exceptions 2024-11-02 05:25:05 +08:00
Meng Xiangzhuo
76187d31cf feat: more binance fast download timeframes 2024-11-02 04:12:57 +08:00
Meng Xiangzhuo
c3bbedbc56 refactor: create coroutines on demand
to avoid "coroutine was never awaited" warnings
2024-11-02 04:10:46 +08:00
gaardiolor
c4312fbb31 _lev_prep: fixed typo. dry_run_liquidation_price: use wallet_balance instead of stake_amount 2024-11-01 19:14:37 +01:00
Matthias
1bf71b47df docs: add gate documentation about new permissions 2024-11-01 17:49:00 +01:00
Matthias
67f26fa1ac Merge pull request #10782 from freqtrade/feat/bt_reverse
Enable future positions to reverse their position
2024-11-01 09:29:35 +01:00
Matthias
dafabd5b99 Merge pull request #10860 from xzmeng/fix-test-download-data-timerange
tests: fix failure when local timezone is not utc
2024-11-01 09:19:39 +01:00
Matthias
878adfb0c0 tests: expand tests to cover several times and timezones 2024-11-01 08:57:03 +01:00
Matthias
3da9f6d0e3 Merge pull request #10857 from freqtrade/ci_mypy_cache
Improved caching
2024-11-01 08:44:13 +01:00
Matthias
f5fdd8a6ab Merge pull request #10866 from xzmeng/fix-strategy101-link
docs: fix strategy 101 link
2024-10-31 15:47:02 +01:00
Meng Xiangzhuo
47e4599fe2 docs: fix strategy 101 link 2024-10-31 22:20:45 +08:00
Matthias
81b432dc0e chore: bump dev-version to 2024.11-dev 2024-10-31 08:08:02 +01:00
Meng Xiangzhuo
3c76af9dab tests: fix windows 2024-10-31 04:18:37 +08:00
Meng Xiangzhuo
ad12a9eb99 tests: setup windows asyncio loop 2024-10-31 03:29:21 +08:00
Axel-CH
12424aef69 improve handle_similar_open_order description 2024-10-30 15:19:29 -04:00
Axel-CH
091fe6be88 improve handle_similar_open_order log message 2024-10-30 14:38:54 -04:00
Axel-CH
9432865bcd updated test_dca_order_adjust: if an exit order is open, a new one with same price, amount and side can't be created. 2024-10-30 14:27:33 -04:00
Meng Xiangzhuo
45bf046645 tests: add performance comparison 2024-10-31 01:51:54 +08:00
Meng Xiangzhuo
a8516ff0f5 tests: fix failure when local timezone is not utc 2024-10-31 01:37:24 +08:00
Meng Xiangzhuo
2ceda2987c feat: add binance 1s ohlcv fast download 2024-10-30 23:51:25 +08:00
Matthias
e99adc339e chore: re-use 3.12 cache for online tests 2024-10-30 15:55:50 +01:00
Meng Xiangzhuo
1aa863a92f tests: fix 2024-10-30 22:11:37 +08:00
Axel-CH
c0754587bf add handle_similar_open_order for execute_trade_exit 2024-10-29 23:30:36 -04:00
Meng Xiangzhuo
a417698fcd tests: fix test and improve coverage 2024-10-30 11:30:12 +08:00
Axel-CH
7ecf1b18c1 consider price in handle_similar_open_order 2024-10-29 22:05:42 -04:00
Axel-CH
9b8e485f00 fix handle_similar_open_order operator 2024-10-29 21:20:44 -04:00
Meng Xiangzhuo
e49b5b03db feat: stop on 404 to prevent missing data 2024-10-30 07:59:06 +08:00
Meng Xiangzhuo
b5f503dbbb tests: binance compare data.binance.vision to rest API 2024-10-30 07:30:03 +08:00
Meng Xiangzhuo
04d3633545 feat: implement fetch data from data.binance.vision 2024-10-30 07:29:52 +08:00
Meng Xiangzhuo
4e585c5c34 feat: implement Binance.get_historic_ohlcv detail 2024-10-30 07:29:38 +08:00
Meng Xiangzhuo
867aae868d refactor: move is_new_pair logic to Binance.get_historic_ohlcv 2024-10-30 07:29:19 +08:00
Matthias
04e8c3ceea chore: try improve caching 2024-10-29 19:31:08 +01:00
Matthias
22318eb80e chore: fix bad usage of variables 2024-10-29 18:14:53 +01:00
Matthias
c03f8afca1 docs: document new behavior 2024-10-29 07:15:47 +01:00
Matthias
88f8e0b8b1 test: improve test for long/short switch 2024-10-29 07:15:47 +01:00
Matthias
8f6b831512 tests: adjust test_locked_pairs for new auto-lock 2024-10-29 07:15:47 +01:00
Matthias
85a2c12768 feat: Lock pairs in direction of the trade only 2024-10-29 07:15:47 +01:00
Matthias
1b8fd63853 tests: BT Detail tests should cover position switch 2024-10-29 07:15:47 +01:00
Matthias
ae325ff124 tests: fix test based on changed behavior 2024-10-29 07:15:47 +01:00
Matthias
1698d96883 feat: Allow Backtesting to reverse position 2024-10-29 07:15:47 +01:00
gaardiolor
cfa527e9af added tests for hyperliquid 2024-10-28 20:34:24 +01:00
gaardiolor
67a0040732 added hyperliquid to conftest 2024-10-28 19:32:43 +01:00
gaardiolor
3913b450b6 check for tickers_have_bid_ask 2024-10-28 19:30:59 +01:00
gaardiolor
fd619de1d3 typo 2024-10-27 22:00:52 +01:00
gaardiolor
493fa8541b fixes related to ruff and mypy 2024-10-27 17:06:56 +01:00
gaardiolor
a7681fc712 revert ccxt version bump 2024-10-27 12:27:54 +01:00
gaardiolor
7d1976ad05 fix ohlcv_candle_limit funding_rate candles
Co-authored-by: Matthias <xmatthias@outlook.com>
2024-10-27 12:09:20 +01:00
gaardiolor
4c78b8c6d1 updated dry_run_liquidation_price to match new signature
fixed comment
2024-10-26 14:13:57 +02:00
gaardiolor
b88db55db3 Initial implementation of hyperliquid.
- Spot
- Swap (long, short, leverage, stoploss_on_exchange)
- dry_run_liquidation_price()
2024-10-25 17:47:53 +02:00
Axel-CH
5c9ec37609 abort execute_entry if similar_open_order found 2024-10-14 05:52:38 -04:00
Axel-CH
4dc20effb8 fix codespell 2024-10-14 05:40:21 -04:00
Axel-CH
084d951ffd mypy fix for handle_similar_open_order 2024-10-14 05:34:01 -04:00
Axel-CH
092fbe25b8 enhancement on cancel_open_orders_of_trade 2024-10-14 05:23:05 -04:00
Axel-CH
7d5d84763f add handling of simital open order 2024-10-14 05:12:03 -04:00
Axel-CH
95f709ae14 fix formating 2024-10-08 01:40:56 -04:00
Axel-CH
43b2ec1e3f replace existing entry order before placing new one in execute_entry 2024-10-08 01:31:47 -04:00
Axel-CH
acb3941776 fix typo for list type 2024-10-08 00:57:06 -04:00
Axel CH
f8807cf659 Merge branch 'develop' into feature/proceed-exit-while-open-order 2024-10-08 00:51:30 -04:00
Axel-CH
c01996d1d1 fix tests related to position adjustment 2024-10-07 15:31:26 -04:00
Axel-CH
3d6e186b30 allow position ajustment if position open 2024-10-07 12:35:09 -04:00
Matthias
584bbd93e0 tests: fix test to expected call count 2024-10-01 20:55:58 +02:00
Matthias
7e2d55743e Merge branch 'develop' into pr/Axel-CH/10062 2024-10-01 20:51:39 +02:00
Matthias
a194ef0b78 tests: revert accidental removal of leverage test case 2024-10-01 20:04:54 +02:00
Matthias
476960b5b7 tests: have apply different fix to exit_positions test 2024-10-01 20:01:49 +02:00
Axel-CH
69f0ea5199 remove unused import 2024-09-24 13:53:16 -04:00
Axel-CH
3fea958faf test cleanup 2024-09-24 13:47:28 -04:00
Axel-CH
5efc2a09e5 restore not having open order check before trying to retreive an exchange order 2024-09-24 13:00:59 -04:00
Axel-CH
9dd887f2ff update exit_positions, add trade.has_open_position check before trade handling, update comment 2024-09-24 12:39:16 -04:00
Axel-CH
bfaf9e690d add trade.has_open_position check to stoploss on exchange handling, remove deprecated comment 2024-09-24 12:26:36 -04:00
Axel-CH
beebc1743a simplify has_open_position property, restore process_open_trades_positions comment 2024-09-24 12:17:11 -04:00
Axel-CH
5ba592ff47 Merge remote-tracking branch 'origin/develop' into feature/proceed-exit-while-open-order 2024-09-24 11:58:15 -04:00
Axel-CH
bb4db022f0 remove unused properties 2024-09-24 11:11:42 -04:00
Axel-CH
418356f383 fix codespell 2024-09-20 19:23:30 -04:00
Axel-CH
c6d7ae9d27 fix ruff format 2024-09-20 19:10:52 -04:00
Axel-CH
0d3ab37eb7 fix test_trade_custom_data and test_backtest_results 2024-09-20 18:44:58 -04:00
Axel-CH
6b8ca7217b flake8 fix and cleanup 2024-09-11 21:48:48 -04:00
Axel-CH
2811a470aa handle pre existing open order cancelation on trade exit 2024-09-11 21:11:20 -04:00
Axel-CH
1fccdd8cda fix test_exit_positions 2024-09-11 18:59:29 -04:00
Axel-CH
33b421014d remove irrelevant trade.has_open_orders conditions 2024-09-11 18:42:51 -04:00
Axel-CH
730bef2920 add comments and logs for failing test, create untied_assets propertyto Trade 2024-09-09 19:28:04 -04:00
Axel-CH
79ce1ddaef rollback on process_open_trade_positions. Adjust position only if there is no open order, change will be made on other PR 2024-09-09 13:30:07 -04:00
Axel-CH
714822c93c add ETC/BTC pair to conftest get_markets 2024-09-09 13:15:17 -04:00
Axel-CH
fb3787173f fix test_exit_positions_exception 2024-09-09 12:07:50 -04:00
Axel-CH
e9ba0d2ce8 Merge remote-tracking branch 'origin/develop' into feature/proceed-exit-while-open-order 2024-09-06 17:29:07 -04:00
Matthias
705d1e4cc0 chore: remove freqAI per-line-ignores 2024-09-01 08:34:46 +02:00
Matthias
5b3f348bbb chore: Don't use method call in function header 2024-09-01 08:34:44 +02:00
Matthias
aa81c75bef chore: Further reduce mutable default usage 2024-09-01 08:34:42 +02:00
Matthias
6b889814ad chore: Fix further "mutable arguments" call 2024-09-01 08:34:39 +02:00
Matthias
1ade11f00b chore: Fix a few freqAI mutable defaults 2024-09-01 08:34:37 +02:00
Axel-CH
6a580176ea Merge branch 'develop' into feature/proceed-exit-while-open-order 2024-07-01 17:49:40 -04:00
Axel-CH
910b3ad536 allow adjust trade position, even if there is an open order 2024-04-15 15:40:57 -04:00
Axel-CH
05cf4cab8e add has_open_entry_orders property to trade 2024-04-15 15:18:39 -04:00
Axel-CH
6752c3e288 add has_untied_assets, replace one has_open_orders condition by has_untied_assets in exit_positions 2024-04-15 14:43:40 -04:00
Axel-CH
faeda2a166 fix mypy error on has_open_position function 2024-04-14 00:40:12 -04:00
Axel-CH
3d67e0893a edit backtest_loop to check exit if trade has open position 2024-04-14 00:25:40 -04:00
438 changed files with 79109 additions and 32272 deletions

View File

@@ -1,6 +1,6 @@
---
name: Bug report
about: Create a report to help us improve
about: Create a report to help us improve. Do not use this for strategy assistance.
title: ''
labels: "Triage Needed"
assignees: ''
@@ -12,7 +12,11 @@ Have you searched for similar issues before posting it?
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.
Has your strategy or configuration been generated by an AI model, and is now not working?
This is almost certainly NOT a bug in Freqtrade, but a problem with the code your AI model generated.
Please consult the documentation. We'll close such issues and point to the documentation.
Please do not use the bug report template to request new features.
-->
## Describe your environment

View File

@@ -1,6 +1,6 @@
---
name: Feature request
about: Suggest an idea for this project
about: Suggest a new feature or idea for this project
title: ''
labels: ''
assignees: ''

View File

@@ -1,6 +1,6 @@
---
name: Question
about: Ask a question you could not find an answer in the docs
about: Ask a question you could not find an answer in the docs. Use this template if you've got problems with your strategy.
title: ''
labels: "Question"
assignees: ''
@@ -8,9 +8,12 @@ assignees: ''
---
<!--
Have you searched for similar issues before posting it?
Did you have a VERY good look at the [documentation](https://www.freqtrade.io/en/latest/) and are sure that the question is not explained there
Did you have a VERY good look at the [documentation](https://www.freqtrade.io/) and are sure that the question is not explained there
Please do not use the question template to report bugs or to request new features.
Has your strategy or configuration been generated by an AI model, and is now not working?
Please consult the documentation. We'll close such issues and point to the documentation.
-->
## Describe your environment
@@ -22,4 +25,4 @@ Please do not use the question template to report bugs or to request new feature
## Your question
*Ask the question you have not been able to find an answer in the [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/)*

View File

@@ -1,5 +1,10 @@
<!-- 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)
Did you use AI to create your changes?
If so, please state it clearly in the PR description (failing to do so may result in your PR being closed).
Also, please do a self review of the changes made before submitting the PR to make sure only relevant changes are included.
-->
## Summary

View File

@@ -16,6 +16,8 @@ jobs:
name: develop
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-python@v5
with:
@@ -32,7 +34,7 @@ jobs:
run: python build_helpers/binance_update_lev_tiers.py
- uses: peter-evans/create-pull-request@v7
- uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
with:
token: ${{ secrets.REPO_SCOPED_TOKEN }}
add-paths: freqtrade/exchange/binance_leverage_tiers.json
@@ -42,6 +44,7 @@ jobs:
branch: update/binance-leverage-tiers
title: Update Binance Leverage Tiers
commit-message: "chore: update pre-commit hooks"
committer: Freqtrade Bot <noreply@github.com>
committer: Freqtrade Bot <154552126+freqtrade-bot@users.noreply.github.com>
author: Freqtrade Bot <154552126+freqtrade-bot@users.noreply.github.com>
body: Update binance leverage tiers.
delete-branch: true

View File

@@ -24,17 +24,29 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ "ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04" ]
python-version: ["3.10", "3.11", "3.12"]
os: [ "ubuntu-22.04", "ubuntu-24.04" ]
python-version: ["3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc # v6.4.3
with:
activate-environment: true
enable-cache: true
python-version: ${{ matrix.python-version }}
cache-dependency-glob: "requirements**.txt"
cache-suffix: "${{ matrix.python-version }}"
prune-cache: false
- name: Cache_dependencies
uses: actions/cache@v4
id: cache
@@ -42,12 +54,6 @@ jobs:
path: ~/dependencies/
key: ${{ runner.os }}-dependencies
- name: pip cache (linux)
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: test-${{ matrix.os }}-${{ matrix.python-version }}-pip
- name: TA binary *nix
if: steps.cache.outputs.cache-hit != 'true'
run: |
@@ -55,35 +61,36 @@ jobs:
- name: Installation - *nix
run: |
python -m pip install --upgrade pip wheel
uv pip install --upgrade 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 ft_client/
pip install -e .
uv pip install -r requirements-dev.txt
uv pip install -e ft_client/
uv pip install -e .
- name: Check for version alignment
run: |
python build_helpers/freqtrade_client_version_align.py
- name: Tests
if: (!(runner.os == 'Linux' && matrix.python-version == '3.12' && matrix.os == 'ubuntu-22.04'))
if: (!(runner.os == 'Linux' && matrix.python-version == '3.12' && matrix.os == 'ubuntu-24.04'))
run: |
pytest --random-order
- name: Tests with Coveralls
if: (runner.os == 'Linux' && matrix.python-version == '3.12' && matrix.os == 'ubuntu-22.04')
if: (runner.os == 'Linux' && matrix.python-version == '3.12' && matrix.os == 'ubuntu-24.04')
run: |
pytest --random-order --cov=freqtrade --cov=freqtrade_client --cov-config=.coveragerc
- name: Coveralls
if: (runner.os == 'Linux' && matrix.python-version == '3.12' && matrix.os == 'ubuntu-22.04')
if: (runner.os == 'Linux' && matrix.python-version == '3.12' && matrix.os == 'ubuntu-24.04')
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
uv pip install coveralls
coveralls || true
- name: Run json schema extract
@@ -91,7 +98,14 @@ jobs:
run: |
python build_helpers/extract_config_json_schema.py
- name: Run command docs partials extract
# This should be kept before the repository check to ensure that the docs are up-to-date
run: |
python build_helpers/create_command_partials.py
- name: Check for repository changes
# TODO: python 3.13 slightly changed the output of argparse.
if: (matrix.python-version != '3.13')
run: |
if [ -n "$(git status --porcelain)" ]; then
echo "Repository is dirty, changes detected:"
@@ -129,11 +143,12 @@ jobs:
ruff format --check
- name: Mypy
if: matrix.os == 'ubuntu-24.04'
run: |
mypy freqtrade scripts tests
- name: Discord notification
uses: rjstone/discord-webhook-notify@v1
uses: rjstone/discord-webhook-notify@c2597273488aeda841dd1e891321952b51f7996f #v2.2.1
if: failure() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
with:
severity: error
@@ -144,11 +159,13 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ "macos-13", "macos-14", "macos-15" ]
python-version: ["3.10", "3.11", "3.12"]
os: [ "macos-14", "macos-15" ]
python-version: ["3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v5
@@ -156,6 +173,16 @@ jobs:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Install uv
uses: astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc # v6.4.3
with:
activate-environment: true
enable-cache: true
python-version: ${{ matrix.python-version }}
cache-dependency-glob: "requirements**.txt"
cache-suffix: "${{ matrix.python-version }}"
prune-cache: false
- name: Cache_dependencies
uses: actions/cache@v4
id: cache
@@ -163,12 +190,6 @@ jobs:
path: ~/dependencies/
key: ${{ matrix.os }}-dependencies
- name: pip cache (macOS)
uses: actions/cache@v4
with:
path: ~/Library/Caches/pip
key: ${{ matrix.os }}-${{ matrix.python-version }}-pip
- name: TA binary *nix
if: steps.cache.outputs.cache-hit != 'true'
run: |
@@ -196,17 +217,17 @@ jobs:
rm /usr/local/bin/python3.11-config || true
rm /usr/local/bin/python3.12-config || true
brew install hdf5 c-blosc libomp
brew install libomp
- name: Installation (python)
run: |
python -m pip install --upgrade pip wheel
uv pip install 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 ft_client/
pip install -e .
uv pip install -r requirements-dev.txt
uv pip install -e ft_client/
uv pip install -e .
- name: Tests
run: |
@@ -249,11 +270,12 @@ jobs:
ruff format --check
- name: Mypy
if: matrix.os == 'macos-15'
run: |
mypy freqtrade scripts
- name: Discord notification
uses: rjstone/discord-webhook-notify@v1
uses: rjstone/discord-webhook-notify@c2597273488aeda841dd1e891321952b51f7996f #v2.2.1
if: failure() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
with:
severity: info
@@ -266,29 +288,38 @@ jobs:
strategy:
matrix:
os: [ windows-latest ]
python-version: ["3.10", "3.11", "3.12"]
python-version: ["3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Pip cache (Windows)
uses: actions/cache@v4
- name: Install uv
uses: astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc # v6.4.3
with:
path: ~\AppData\Local\pip\Cache
key: ${{ matrix.os }}-${{ matrix.python-version }}-pip
activate-environment: true
enable-cache: true
python-version: ${{ matrix.python-version }}
cache-dependency-glob: "requirements**.txt"
cache-suffix: "${{ matrix.python-version }}"
prune-cache: false
- name: Installation
run: |
function uvpipFunction { uv pip $args }
Set-Alias -name pip -value uvpipFunction
./build_helpers/install_windows.ps1
- name: Tests
run: |
pytest --random-order
pytest --random-order --durations 20 -n auto
- name: Check for repository changes
run: |
@@ -338,7 +369,7 @@ jobs:
shell: powershell
- name: Discord notification
uses: rjstone/discord-webhook-notify@v1
uses: rjstone/discord-webhook-notify@c2597273488aeda841dd1e891321952b51f7996f #v2.2.1
if: failure() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
with:
severity: error
@@ -349,6 +380,8 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v5
@@ -364,16 +397,20 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- uses: pre-commit/action@v3.0.1
- uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1
docs-check:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Documentation syntax
run: |
@@ -390,7 +427,7 @@ jobs:
mkdocs build
- name: Discord notification
uses: rjstone/discord-webhook-notify@v1
uses: rjstone/discord-webhook-notify@c2597273488aeda841dd1e891321952b51f7996f #v2.2.1
if: failure() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
with:
severity: error
@@ -400,15 +437,27 @@ jobs:
build-linux-online:
# Run pytest with "live" checks
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc # v6.4.3
with:
activate-environment: true
enable-cache: true
python-version: "3.12"
cache-dependency-glob: "requirements**.txt"
cache-suffix: "3.12"
prune-cache: false
- name: Cache_dependencies
uses: actions/cache@v4
id: cache
@@ -416,11 +465,6 @@ jobs:
path: ~/dependencies/
key: ${{ runner.os }}-dependencies
- name: pip cache (linux)
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: test-${{ matrix.os }}-${{ matrix.python-version }}-pip
- name: TA binary *nix
if: steps.cache.outputs.cache-hit != 'true'
@@ -429,13 +473,13 @@ jobs:
- name: Installation - *nix
run: |
python -m pip install --upgrade pip wheel
uv pip install --upgrade 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 ft_client/
pip install -e .
uv pip install -r requirements-dev.txt
uv pip install -e ft_client/
uv pip install -e .
- name: Tests incl. ccxt compatibility tests
env:
@@ -464,14 +508,14 @@ jobs:
- name: Check user permission
id: check
uses: scherermichael-oss/action-has-permission@1.0.6
uses: scherermichael-oss/action-has-permission@136e061bfe093832d87f090dd768e14e27a740d3 # 1.0.6
with:
required-permission: write
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Discord notification
uses: rjstone/discord-webhook-notify@v1
uses: rjstone/discord-webhook-notify@c2597273488aeda841dd1e891321952b51f7996f #v2.2.1
if: always() && steps.check.outputs.has-permission && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
with:
severity: info
@@ -485,6 +529,8 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v5
@@ -517,19 +563,21 @@ jobs:
ft_client/dist
retention-days: 10
deploy-pypi:
name: "Deploy to PyPI"
deploy-test-pypi:
name: "Publish Python 🐍 distribution 📦 to TestPyPI"
needs: [ build ]
runs-on: ubuntu-22.04
if: (github.event_name == 'release')
environment:
name: release
url: https://pypi.org/p/freqtrade
name: testpypi
url: https://test.pypi.org/p/freqtrade
permissions:
id-token: write
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Download artifact 📦
uses: actions/download-artifact@v4
@@ -538,104 +586,48 @@ jobs:
path: dist
merge-multiple: true
- name: Publish to PyPI (Test)
uses: pypa/gh-action-pypi-publish@v1.10.3
uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
with:
repository-url: https://test.pypi.org/legacy/
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@v1.10.3
deploy-docker:
needs: [ build-linux, build-macos, build-windows, docs-check, mypy-version-check, pre-commit ]
deploy-pypi:
name: "Publish Python 🐍 distribution 📦 to PyPI"
needs: [ build ]
runs-on: ubuntu-22.04
if: (github.event_name == 'push' || github.event_name == 'schedule' || github.event_name == 'release') && github.repository == 'freqtrade/freqtrade'
if: (github.event_name == 'release')
environment:
name: pypi
url: https://pypi.org/p/freqtrade
permissions:
id-token: write
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
persist-credentials: false
- name: Extract branch name
id: extract-branch
run: |
echo "GITHUB_REF='${GITHUB_REF}'"
echo "branch=${GITHUB_REF##*/}" >> "$GITHUB_OUTPUT"
- name: Download artifact 📦
uses: actions/download-artifact@v4
with:
pattern: freqtrade*-build
path: dist
merge-multiple: true
- 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: Publish to PyPI
uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
# We need docker experimental to pull the ARM image.
- name: Switch docker to experimental
run: |
docker version -f '{{.Server.Experimental}}'
echo $'{\n "experimental": true\n}' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker
docker version -f '{{.Server.Experimental}}'
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Available platforms
run: echo ${{ steps.buildx.outputs.platforms }}
- name: Build and test and push docker images
env:
BRANCH_NAME: ${{ steps.extract-branch.outputs.branch }}
run: |
build_helpers/publish_docker_multi.sh
deploy-arm:
name: "Deploy Docker"
docker-build:
name: "Docker Build and Deploy"
needs: [ build-linux, build-macos, build-windows, docs-check, mypy-version-check, pre-commit ]
if: (github.event_name == 'push' || github.event_name == 'schedule' || github.event_name == 'release') && github.repository == 'freqtrade/freqtrade'
uses: ./.github/workflows/docker-build.yml
permissions:
packages: write
needs: [ deploy-docker ]
# 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'
steps:
- uses: actions/checkout@v4
- name: Extract branch name
id: extract-branch
run: |
echo "GITHUB_REF='${GITHUB_REF}'"
echo "branch=${GITHUB_REF##*/}" >> "$GITHUB_OUTPUT"
- 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:
severity: info
details: Deploy Succeeded!
webhookUrl: ${{ secrets.DISCORD_WEBHOOK }}
contents: read
secrets:
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}

View File

@@ -20,6 +20,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: true
- name: Set up Python
uses: actions/setup-python@v5
@@ -43,12 +45,16 @@ jobs:
- name: Build and push Mike
if: ${{ github.event_name == 'push' }}
run: |
mike deploy ${{ github.ref_name }} latest --push --update-aliases
mike deploy ${REF_NAME} latest --push --update-aliases
env:
REF_NAME: ${{ github.ref_name }}
- name: Build and push Mike - Release
if: ${{ github.event_name == 'release' }}
run: |
mike deploy ${{ github.ref_name }} stable --push --update-aliases
mike deploy ${REF_NAME} stable --push --update-aliases
env:
REF_NAME: ${{ github.ref_name }}
- name: Show mike versions
run: |

View File

@@ -17,29 +17,26 @@ concurrency:
group: "${{ github.workflow }}"
cancel-in-progress: true
permissions:
packages: write
jobs:
build-and-push:
permissions:
packages: write
runs-on: ubuntu-latest
steps:
-
name: Checkout
id: checkout
uses: actions/checkout@v4
-
name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
-
name: Pre-build dev container image
uses: devcontainers/ci@v0.3
with:
subFolder: .github
imageName: ghcr.io/${{ github.repository }}-devcontainer
cacheFrom: ghcr.io/${{ github.repository }}-devcontainer
push: always
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Login to GitHub Container Registry
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Pre-build dev container image
uses: devcontainers/ci@8bf61b26e9c3a98f69cb6ce2f88d24ff59b785c6 # v0.3.19
with:
subFolder: .github
imageName: ghcr.io/${{ github.repository }}-devcontainer
cacheFrom: ghcr.io/${{ github.repository }}-devcontainer
push: always

124
.github/workflows/docker-build.yml vendored Normal file
View File

@@ -0,0 +1,124 @@
name: Docker Build and Deploy
on:
workflow_call:
secrets:
DOCKER_PASSWORD:
required: true
DOCKER_USERNAME:
required: true
DISCORD_WEBHOOK:
required: false
workflow_dispatch:
inputs:
branch_name:
description: 'Branch name to build Docker images for'
required: false
default: 'develop'
type: string
permissions:
contents: read
jobs:
deploy-docker:
runs-on: ubuntu-22.04
if: github.repository == 'freqtrade/freqtrade'
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Extract branch name
id: extract-branch
env:
BRANCH_NAME_INPUT: ${{ github.event.inputs.branch_name }}
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
BRANCH_NAME="${BRANCH_NAME_INPUT}"
else
BRANCH_NAME="${GITHUB_REF##*/}"
fi
echo "GITHUB_REF='${GITHUB_REF}'"
echo "branch=${BRANCH_NAME}" >> "$GITHUB_OUTPUT"
- 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: Set up QEMU
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 #v3.11.1
- name: Available platforms
run: echo ${PLATFORMS}
env:
PLATFORMS: ${{ steps.buildx.outputs.platforms }}
- name: Build and test and push docker images
env:
BRANCH_NAME: ${{ steps.extract-branch.outputs.branch }}
run: |
build_helpers/publish_docker_multi.sh
deploy-arm:
name: "Deploy Docker"
permissions:
packages: write
needs: [ deploy-docker ]
# Only run on 64bit machines
runs-on: [self-hosted, linux, ARM64]
if: github.repository == 'freqtrade/freqtrade'
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Extract branch name
id: extract-branch
env:
BRANCH_NAME_INPUT: ${{ github.event.inputs.branch_name }}
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
BRANCH_NAME="${BRANCH_NAME_INPUT}"
else
BRANCH_NAME="${GITHUB_REF##*/}"
fi
echo "GITHUB_REF='${GITHUB_REF}'"
echo "branch=${BRANCH_NAME}" >> "$GITHUB_OUTPUT"
- 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@c2597273488aeda841dd1e891321952b51f7996f #v2.2.1
if: always() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false) && (github.event_name != 'schedule')
with:
severity: info
details: Deploy Succeeded!
webhookUrl: ${{ secrets.DISCORD_WEBHOOK }}

View File

@@ -4,14 +4,19 @@ on:
branches:
- stable
# disable permissions for all of the available permissions
permissions: {}
jobs:
dockerHubDescription:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Docker Hub Description
uses: peter-evans/dockerhub-description@v4
uses: peter-evans/dockerhub-description@432a30c9e07499fd01da9f8a49f0faf9e0ca5b77 # v4.0.2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

View File

@@ -14,6 +14,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-python@v5
with:
@@ -26,7 +28,7 @@ jobs:
- name: Run auto-update
run: pre-commit autoupdate
- uses: peter-evans/create-pull-request@v7
- uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
with:
token: ${{ secrets.REPO_SCOPED_TOKEN }}
add-paths: .pre-commit-config.yaml
@@ -36,6 +38,7 @@ jobs:
branch: update/pre-commit-hooks
title: Update pre-commit hooks
commit-message: "chore: update pre-commit hooks"
committer: Freqtrade Bot <noreply@github.com>
committer: Freqtrade Bot <154552126+freqtrade-bot@users.noreply.github.com>
author: Freqtrade Bot <154552126+freqtrade-bot@users.noreply.github.com>
body: Update versions of pre-commit hooks to latest version.
delete-branch: true

29
.github/workflows/zizmor.yml vendored Normal file
View File

@@ -0,0 +1,29 @@
name: GitHub Actions Security Analysis with zizmor 🌈
on:
push:
branches:
- develop
- stable
pull_request:
branches:
- develop
- stable
permissions: {}
jobs:
zizmor:
runs-on: ubuntu-latest
permissions:
security-events: write
# contents: read # only needed for private repos
# actions: read # only needed for private repos
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- name: Run zizmor 🌈
uses: zizmorcore/zizmor-action@f52a838cfabf134edcbaa7c8b3677dde20045018 # v0.1.1

View File

@@ -1,29 +1,42 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: local
# Keep json schema in sync with the config schema
# This will write the files - and fail pre-commit if a file has been changed.
hooks:
- id: Extract config json schema
name: extract-config-json-schema
entry: "python build_helpers/extract_config_json_schema.py"
language: python
pass_filenames: false
additional_dependencies: ["python-rapidjson", "jsonschema"]
- repo: https://github.com/pycqa/flake8
rev: "7.1.1"
rev: "7.3.0"
hooks:
- id: flake8
additional_dependencies: [Flake8-pyproject]
# stages: [push]
- repo: https://github.com/pre-commit/mirrors-mypy
rev: "v1.13.0"
rev: "v1.17.0"
hooks:
- id: mypy
exclude: build_helpers
additional_dependencies:
- types-cachetools==5.5.0.20240820
- types-cachetools==6.1.0.20250717
- types-filelock==3.2.7
- types-requests==2.32.0.20241016
- types-tabulate==0.9.0.20240106
- types-python-dateutil==2.9.0.20241003
- SQLAlchemy==2.0.36
- types-requests==2.32.4.20250611
- types-tabulate==0.9.0.20241207
- types-python-dateutil==2.9.0.20250708
- scipy-stubs==1.16.0.2
- SQLAlchemy==2.0.41
# stages: [push]
- repo: https://github.com/pycqa/isort
rev: "5.13.2"
rev: "6.0.1"
hooks:
- id: isort
name: isort (python)
@@ -31,7 +44,7 @@ repos:
- repo: https://github.com/charliermarsh/ruff-pre-commit
# Ruff version.
rev: 'v0.7.1'
rev: 'v0.12.5'
hooks:
- id: ruff
- id: ruff-format
@@ -56,9 +69,20 @@ repos:
.*\.md
)$
- repo: https://github.com/stefmolin/exif-stripper
rev: 1.1.0
hooks:
- id: strip-exif
- repo: https://github.com/codespell-project/codespell
rev: v2.3.0
rev: v2.4.1
hooks:
- id: codespell
additional_dependencies:
- tomli
# Ensure github actions remain safe
- repo: https://github.com/woodruffw/zizmor-pre-commit
rev: v1.11.0
hooks:
- id: zizmor

View File

@@ -1,17 +1,17 @@
FROM python:3.12.7-slim-bookworm as base
FROM python:3.13.5-slim-bookworm AS base
# Setup env
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONFAULTHANDLER 1
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONFAULTHANDLER=1
ENV PATH=/home/ftuser/.local/bin:$PATH
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 libgomp1 \
&& apt-get -y install sudo libatlas3-base curl sqlite3 libgomp1 \
&& apt-get clean \
&& useradd -u 1000 -G sudo -U -m -s /bin/bash ftuser \
&& chown ftuser:ftuser /freqtrade \
@@ -21,7 +21,7 @@ RUN mkdir /freqtrade \
WORKDIR /freqtrade
# Install dependencies
FROM base as python-deps
FROM base AS python-deps
RUN apt-get update \
&& apt-get -y install build-essential libssl-dev git libffi-dev libgfortran5 pkg-config cmake gcc \
&& apt-get clean \
@@ -30,18 +30,18 @@ RUN apt-get update \
# Install TA-lib
COPY build_helpers/* /tmp/
RUN cd /tmp && /tmp/install_ta-lib.sh && rm -r /tmp/*ta-lib*
ENV LD_LIBRARY_PATH /usr/local/lib
ENV LD_LIBRARY_PATH=/usr/local/lib
# Install dependencies
COPY --chown=ftuser:ftuser requirements.txt requirements-hyperopt.txt /freqtrade/
USER ftuser
RUN pip install --user --no-cache-dir "numpy<2.0" \
RUN pip install --user --no-cache-dir "numpy<3.0" \
&& pip install --user --no-cache-dir -r requirements-hyperopt.txt
# Copy dependencies to runtime-image
FROM base as runtime-image
FROM base AS runtime-image
COPY --from=python-deps /usr/local/lib /usr/local/lib
ENV LD_LIBRARY_PATH /usr/local/lib
ENV LD_LIBRARY_PATH=/usr/local/lib
COPY --from=python-deps --chown=ftuser:ftuser /home/ftuser/.local /home/ftuser/.local

View File

@@ -1,6 +1,6 @@
# ![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/)
[![Freqtrade CI](https://github.com/freqtrade/freqtrade/actions/workflows/ci.yml/badge.svg?branch=develop)](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)
@@ -32,15 +32,18 @@ Please read the [exchange specific notes](docs/exchanges.md) to learn about even
- [X] [BingX](https://bingx.com/invite/0EM9RX)
- [X] [Bybit](https://bybit.com/)
- [X] [Gate.io](https://www.gate.io/ref/6266643)
- [X] [HTX](https://www.htx.com/) (Former Huobi)
- [X] [HTX](https://www.htx.com/)
- [X] [Hyperliquid](https://hyperliquid.xyz/) (A decentralized exchange, or DEX)
- [X] [Kraken](https://kraken.com/)
- [X] [OKX](https://okx.com/) (Former OKEX)
- [X] [OKX](https://okx.com/)
- [X] [MyOKX](https://okx.com/) (OKX EEA)
- [ ] [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] [Hyperliquid](https://hyperliquid.xyz/) (A decentralized exchange, or DEX)
- [X] [OKX](https://okx.com/)
- [X] [Bybit](https://bybit.com/)
@@ -61,13 +64,12 @@ Please find the complete documentation on the [freqtrade website](https://www.fr
## Features
- [x] **Based on Python 3.10+**: For botting on any operating system - Windows, macOS and Linux.
- [x] **Based on Python 3.11+**: 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] **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.
@@ -87,13 +89,13 @@ For further (native) installation methods, please refer to the [Installation doc
```
usage: freqtrade [-h] [-V]
{trade,create-userdir,new-config,show-config,new-strategy,download-data,convert-data,convert-trade-data,trades-to-ohlcv,list-data,backtesting,backtesting-show,backtesting-analysis,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-markets,list-pairs,list-strategies,list-freqaimodels,list-timeframes,show-trades,test-pairlist,convert-db,install-ui,plot-dataframe,plot-profit,webserver,strategy-updater,lookahead-analysis,recursive-analysis}
{trade,create-userdir,new-config,show-config,new-strategy,download-data,convert-data,convert-trade-data,trades-to-ohlcv,list-data,backtesting,backtesting-show,backtesting-analysis,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-markets,list-pairs,list-strategies,list-hyperoptloss,list-freqaimodels,list-timeframes,show-trades,test-pairlist,convert-db,install-ui,plot-dataframe,plot-profit,webserver,strategy-updater,lookahead-analysis,recursive-analysis}
...
Free, open source crypto trading bot
positional arguments:
{trade,create-userdir,new-config,show-config,new-strategy,download-data,convert-data,convert-trade-data,trades-to-ohlcv,list-data,backtesting,backtesting-show,backtesting-analysis,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-markets,list-pairs,list-strategies,list-freqaimodels,list-timeframes,show-trades,test-pairlist,convert-db,install-ui,plot-dataframe,plot-profit,webserver,strategy-updater,lookahead-analysis,recursive-analysis}
{trade,create-userdir,new-config,show-config,new-strategy,download-data,convert-data,convert-trade-data,trades-to-ohlcv,list-data,backtesting,backtesting-show,backtesting-analysis,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-markets,list-pairs,list-strategies,list-hyperoptloss,list-freqaimodels,list-timeframes,show-trades,test-pairlist,convert-db,install-ui,plot-dataframe,plot-profit,webserver,strategy-updater,lookahead-analysis,recursive-analysis}
trade Trade module.
create-userdir Create user-data directory.
new-config Create new config
@@ -109,7 +111,6 @@ positional arguments:
backtesting-show Show past Backtest results
backtesting-analysis
Backtest Analysis module.
edge Edge module.
hyperopt Hyperopt module.
hyperopt-list List Hyperopt results
hyperopt-show Show details of Hyperopt results
@@ -117,6 +118,7 @@ positional arguments:
list-markets Print markets on exchange.
list-pairs Print pairs on exchange.
list-strategies Print available strategies.
list-hyperoptloss Print available hyperopt loss functions.
list-freqaimodels Print available freqAI models.
list-timeframes Print available timeframes for the exchange.
show-trades Show trades.
@@ -133,7 +135,6 @@ positional arguments:
options:
-h, --help show this help message and exit
-V, --version show program's version number and exit
```
### Telegram RPC commands
@@ -145,6 +146,8 @@ Telegram is not mandatory. However, this is a great way to control your bot. Mor
- `/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.
- `/profit_long [<n>]`: Lists cumulative profit from all finished long trades, over the last n days.
- `/profit_short [<n>]`: Lists cumulative profit from all finished short trades, over the last n days.
- `/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
@@ -153,6 +156,7 @@ Telegram is not mandatory. However, this is a great way to control your bot. Mor
- `/help`: Show help message.
- `/version`: Show version.
## Development branches
The project is currently setup in two main branches:
@@ -218,7 +222,7 @@ To run this bot we recommend you a cloud instance with a minimum of:
### Software requirements
- [Python >= 3.10](http://docs.python-guide.org/en/latest/starting/installation/)
- [Python >= 3.11](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://ta-lib.github.io/ta-lib-python/)

View File

@@ -12,7 +12,12 @@ secret = os.environ.get("FREQTRADE__EXCHANGE__SECRET")
proxy = os.environ.get("CI_WEB_PROXY")
exchange = ccxt.binance(
{"apiKey": key, "secret": secret, "httpsProxy": proxy, "options": {"defaultType": "swap"}}
{
"apiKey": key,
"secret": secret,
"httpsProxy": proxy,
"options": {"defaultType": "swap"},
}
)
_ = exchange.load_markets()

View File

@@ -0,0 +1,53 @@
import subprocess # noqa: S404, RUF100
from pathlib import Path
subcommands = [
"trade",
"create-userdir",
"new-config",
"show-config",
"new-strategy",
"download-data",
"convert-data",
"convert-trade-data",
"trades-to-ohlcv",
"list-data",
"backtesting",
"backtesting-show",
"backtesting-analysis",
"edge",
"hyperopt",
"hyperopt-list",
"hyperopt-show",
"list-exchanges",
"list-markets",
"list-pairs",
"list-strategies",
"list-hyperoptloss",
"list-freqaimodels",
"list-timeframes",
"show-trades",
"test-pairlist",
"convert-db",
"install-ui",
"plot-dataframe",
"plot-profit",
"webserver",
"strategy-updater",
"lookahead-analysis",
"recursive-analysis",
]
result = subprocess.run(["freqtrade", "--help"], capture_output=True, text=True)
with Path("docs/commands/main.md").open("w") as f:
f.write(f"```\n{result.stdout}\n```\n")
for command in subcommands:
print(f"Running for {command}")
result = subprocess.run(["freqtrade", command, "--help"], capture_output=True, text=True)
with Path(f"docs/commands/{command}.md").open("w") as f:
f.write(f"```\n{result.stdout}\n```\n")

View File

@@ -4,10 +4,23 @@ from pathlib import Path
import rapidjson
from freqtrade.configuration.config_schema import CONF_SCHEMA
def extract_config_json_schema():
try:
# Try to import from the installed package
from freqtrade.config_schema import CONF_SCHEMA
except ImportError:
# If freqtrade is not installed, add the parent directory to sys.path
# to import directly from the source
import sys
script_dir = Path(__file__).parent
freqtrade_dir = script_dir.parent
sys.path.insert(0, str(freqtrade_dir))
# Now try to import from the source
from freqtrade.config_schema import CONF_SCHEMA
schema_filename = Path(__file__).parent / "schema.json"
with schema_filename.open("w") as f:
rapidjson.dump(CONF_SCHEMA, f, indent=2)

View File

@@ -1,11 +1,10 @@
# vendored Wheels compiled via https://github.com/xmatthias/ta-lib-python/tree/ta_bundled_040
python -m pip install --upgrade pip wheel
python -m pip install --upgrade pip
python -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')"
$pyv = python -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')"
pip install --find-links=build_helpers\ --prefer-binary TA-Lib
pip install -U wheel "numpy<3.0"
pip install --only-binary ta-lib --find-links=build_helpers\ "ta-lib<0.6.0"
pip install -r requirements-dev.txt
pip install -e .

View File

@@ -16,10 +16,12 @@ with require_dev.open("r") as rfile:
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")
]
# Extract relevant types only
supported = ("types-", "SQLAlchemy", "scipy-stubs")
# Find relevant dependencies
# Only keep the first part of the line up to the first space
type_reqs = [r.strip("\n").split()[0] for r in requirements if r.startswith(supported)]
with pre_commit_file.open("r") as file:
f = yaml.load(file, Loader=yaml.SafeLoader)

View File

@@ -13,6 +13,10 @@
"description": "The timeframe to use (e.g `1m`, `5m`, `15m`, `30m`, `1h` ...). \nUsually specified in the strategy and missing in the configuration.",
"type": "string"
},
"proxy_coin": {
"description": "Proxy coin - must be used for specific futures modes (e.g. BNFCR)",
"type": "string"
},
"stake_currency": {
"description": "Currency used for staking.",
"type": "string"
@@ -102,8 +106,17 @@
},
"dry_run_wallet": {
"description": "Initial wallet balance for dry run mode.",
"type": "number",
"default": 1000
"type": [
"number",
"object"
],
"default": 1000,
"patternProperties": {
"^[a-zA-Z0-9]+$": {
"type": "number"
}
},
"additionalProperties": false
},
"cancel_open_orders_on_exit": {
"description": "Cancel open orders when exiting.",
@@ -244,7 +257,8 @@
"enum": [
"day",
"week",
"month"
"month",
"year"
]
}
},
@@ -524,9 +538,9 @@
"description": "Exchange configuration.",
"$ref": "#/definitions/exchange"
},
"edge": {
"description": "Edge configuration.",
"$ref": "#/definitions/edge"
"log_config": {
"description": "Logging configuration.",
"$ref": "#/definitions/logging"
},
"freqai": {
"description": "FreqAI configuration.",
@@ -592,9 +606,21 @@
"type": "string"
},
"chat_id": {
"description": "Telegram chat ID",
"description": "Telegram chat or group ID. Recommended to be set via environment variable FREQTRADE__TELEGRAM__CHAT_ID",
"type": "string"
},
"topic_id": {
"description": "Telegram topic ID - only applicable for group chats. Recommended to be set via environment variable FREQTRADE__TELEGRAM__TOPIC_ID",
"type": "string"
},
"authorized_users": {
"description": "Authorized users for the bot.",
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"allow_custom_messages": {
"description": "Allow sending custom messages from the Strategy.",
"type": "boolean",
@@ -682,12 +708,18 @@
},
"exit_fill": {
"description": "Telegram setting for exit fill signals.",
"type": "string",
"enum": [
"on",
"off",
"silent"
"type": [
"string",
"object"
],
"additionalProperties": {
"type": "string",
"enum": [
"on",
"off",
"silent"
]
},
"default": "on"
},
"exit_cancel": {
@@ -737,9 +769,11 @@
"type": "object",
"properties": {
"enabled": {
"description": "Enable webhook notifications.",
"type": "boolean"
},
"url": {
"description": "Webhook URL. Recommended to be set via environment variable FREQTRADE__WEBHOOK__URL",
"type": "string"
},
"format": {
@@ -817,6 +851,7 @@
"type": "boolean"
},
"webhook_url": {
"description": "Discord webhook URL. Recommended to be set via environment variable FREQTRADE__DISCORD__WEBHOOK_URL",
"type": "string"
},
"exit_fill": {
@@ -956,7 +991,7 @@
"type": "string"
}
},
"x": {
"verbosity": {
"description": "Logging verbosity level.",
"type": "string",
"enum": [
@@ -996,6 +1031,7 @@
"type": "string",
"enum": [
"running",
"paused",
"stopped"
]
},
@@ -1032,7 +1068,6 @@
"enum": [
"json",
"jsongz",
"hdf5",
"feather",
"parquet"
],
@@ -1044,7 +1079,6 @@
"enum": [
"json",
"jsongz",
"hdf5",
"feather",
"parquet"
],
@@ -1133,28 +1167,35 @@
"description": "Name of the exchange.",
"type": "string"
},
"enable_ws": {
"description": "Enable WebSocket connections to the exchange.",
"type": "boolean",
"default": true
},
"key": {
"description": "API key for the exchange.",
"description": "API key for the exchange. Recommended to be set via environment variable FREQTRADE__EXCHANGE__KEY",
"type": "string",
"default": ""
},
"secret": {
"description": "API secret for the exchange.",
"description": "API secret for the exchange. Recommended to be set via environment variable FREQTRADE__EXCHANGE__SECRET",
"type": "string",
"default": ""
},
"password": {
"description": "Password for the exchange, if required.",
"description": "Password for the exchange, if required. Recommended to be set via environment variable FREQTRADE__EXCHANGE__PASSWORD",
"type": "string",
"default": ""
},
"uid": {
"description": "User ID for the exchange, if required.",
"description": "User ID for the exchange, if required. Recommended to be set via environment variable FREQTRADE__EXCHANGE__UID",
"type": "string"
},
"account_id": {
"description": "Account ID for the exchange, if required. Recommended to be set via environment variable FREQTRADE__EXCHANGE__ACCOUNT_ID",
"type": "string"
},
"wallet_address": {
"description": "Wallet address for the exchange, if required. Usually used by DEX exchanges. Recommended to be set via environment variable FREQTRADE__EXCHANGE__WALLET_ADDRESS",
"type": "string"
},
"private_key": {
"description": "Private key for the exchange, if required. Usually used by DEX exchanges. Recommended to be set via environment variable FREQTRADE__EXCHANGE__PRIVATE_KEY",
"type": "string"
},
"pair_whitelist": {
@@ -1178,6 +1219,11 @@
"type": "boolean",
"default": false
},
"enable_ws": {
"description": "Enable WebSocket connections to the exchange.",
"type": "boolean",
"default": true
},
"unknown_fee_rate": {
"description": "Fee rate for unknown markets.",
"type": "number"
@@ -1197,7 +1243,11 @@
"type": "object"
},
"ccxt_async_config": {
"description": "CCXT asynchronous configuration settings.",
"description": "CCXT asynchronous configuration settings.Usually ccxt_config should be used instead.",
"type": "object"
},
"ccxt_sync_config": {
"description": "CCXT synchronous configuration settings. Usually ccxt_config should be used instead.",
"type": "object"
}
},
@@ -1205,50 +1255,28 @@
"name"
]
},
"edge": {
"logging": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
"version": {
"type": "number",
"const": 1
},
"process_throttle_secs": {
"type": "integer",
"minimum": 600
"formatters": {
"type": "object"
},
"calculate_since_number_of_days": {
"type": "integer"
"handlers": {
"type": "object"
},
"allowed_risk": {
"type": "number"
},
"stoploss_range_min": {
"type": "number"
},
"stoploss_range_max": {
"type": "number"
},
"stoploss_range_step": {
"type": "number"
},
"minimum_winrate": {
"type": "number"
},
"minimum_expectancy": {
"type": "number"
},
"min_trade_number": {
"type": "number"
},
"max_trade_duration_minute": {
"type": "integer"
},
"remove_pumps": {
"type": "boolean"
"root": {
"type": "object"
}
},
"required": [
"process_throttle_secs",
"allowed_risk"
"version",
"formatters",
"handlers",
"root"
]
},
"external_message_consumer": {
@@ -1345,10 +1373,10 @@
"type": "boolean",
"default": false
},
"keras": {
"description": "Use Keras for model training.",
"type": "boolean",
"default": false
"identifier": {
"description": "A unique ID for the current model. Must be changed when modifying features.",
"type": "string",
"default": "example"
},
"write_metrics_to_disk": {
"description": "Write metrics to disk?",
@@ -1378,16 +1406,49 @@
"type": "number",
"default": 7
},
"identifier": {
"description": "A unique ID for the current model. Must be changed when modifying features.",
"type": "string",
"default": "example"
"live_retrain_hours": {
"description": "Frequency of retraining during dry/live runs.",
"type": "number",
"default": 0
},
"expiration_hours": {
"description": "Avoid making predictions if a model is more than `expiration_hours` old. Defaults to 0 (no expiration).",
"type": "number",
"default": 0
},
"save_backtest_models": {
"description": "Save models to disk when running backtesting.",
"type": "boolean",
"default": false
},
"fit_live_predictions_candles": {
"description": "Number of historical candles to use for computing target (label) statistics from prediction data, instead of from the training dataset.",
"type": "integer"
},
"data_kitchen_thread_count": {
"description": "Designate the number of threads you want to use for data processing (outlier methods, normalization, etc.).",
"type": "integer"
},
"activate_tensorboard": {
"description": "Indicate whether or not to activate tensorboard",
"type": "boolean",
"default": true
},
"wait_for_training_iteration_on_reload": {
"description": "Wait for the next training iteration to complete after /reload or ctrl+c.",
"type": "boolean",
"default": true
},
"continual_learning": {
"description": "Use the final state of the most recently trained model as starting point for the new model, allowing for incremental learning.",
"type": "boolean",
"default": false
},
"keras": {
"description": "Use Keras for model training.",
"type": "boolean",
"default": false
},
"feature_parameters": {
"description": "The parameters used to engineer the feature set",
"type": "object",
@@ -1424,6 +1485,14 @@
"type": "boolean",
"default": false
},
"indicator_periods_candles": {
"description": "Time periods to calculate indicators for. The indicators are added to the base indicator dataset.",
"type": "array",
"items": {
"type": "number",
"minimum": 1
}
},
"use_SVM_to_remove_outliers": {
"description": "Use SVM to remove outliers from the features.",
"type": "boolean",

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -2,7 +2,7 @@
"$schema": "https://schema.freqtrade.io/schema.json",
"max_open_trades": 3,
"stake_currency": "USDT",
"stake_amount": 0.05,
"stake_amount": 30,
"tradable_balance_ratio": 0.99,
"fiat_display_currency": "USD",
"timeframe": "5m",

View File

@@ -121,20 +121,6 @@
"outdated_offset": 5,
"markets_refresh_interval": 60
},
"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",

View File

@@ -1,17 +1,17 @@
FROM python:3.11.10-slim-bookworm as base
FROM python:3.11.13-slim-bookworm AS base
# Setup env
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONFAULTHANDLER 1
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONFAULTHANDLER=1
ENV PATH=/home/ftuser/.local/bin:$PATH
ENV FT_APP_ENV="docker"
# Prepare environment
RUN mkdir /freqtrade \
&& apt-get update \
&& apt-get -y install sudo libatlas3-base libopenblas-dev curl sqlite3 libhdf5-dev libutf8proc-dev libsnappy-dev \
&& apt-get -y install sudo libatlas3-base libopenblas-dev curl sqlite3 libutf8proc-dev libsnappy-dev \
&& apt-get clean \
&& useradd -u 1000 -G sudo -U -m ftuser \
&& chown ftuser:ftuser /freqtrade \
@@ -22,7 +22,7 @@ RUN mkdir /freqtrade \
WORKDIR /freqtrade
# Install dependencies
FROM base as python-deps
FROM base AS python-deps
RUN apt-get update \
&& apt-get -y install build-essential libssl-dev libffi-dev libgfortran5 pkg-config cmake gcc \
&& apt-get clean \
@@ -34,14 +34,14 @@ COPY build_helpers/* /tmp/
# Install dependencies
COPY --chown=ftuser:ftuser requirements.txt /freqtrade/
USER ftuser
RUN pip install --user --no-cache-dir numpy \
RUN pip install --user --no-cache-dir "numpy<3.0" \
&& pip install --user --no-index --find-links /tmp/ pyarrow TA-Lib \
&& pip install --user --no-cache-dir -r requirements.txt
# Copy dependencies to runtime-image
FROM base as runtime-image
FROM base AS runtime-image
COPY --from=python-deps /usr/local/lib /usr/local/lib
ENV LD_LIBRARY_PATH /usr/local/lib
ENV LD_LIBRARY_PATH=/usr/local/lib
COPY --from=python-deps --chown=ftuser:ftuser /home/ftuser/.local /home/ftuser/.local

View File

@@ -37,8 +37,9 @@ class SuperDuperHyperOptLoss(IHyperOptLoss):
min_date: datetime,
max_date: datetime,
config: Config,
processed: Dict[str, DataFrame],
backtest_stats: Dict[str, Any],
processed: dict[str, DataFrame],
backtest_stats: dict[str, Any],
starting_balance: float,
**kwargs,
) -> float:
"""
@@ -70,6 +71,7 @@ Currently, the arguments are:
* `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`.
* `starting_balance`: Starting balance used for backtesting.
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.
@@ -103,7 +105,7 @@ class MyAwesomeStrategy(IStrategy):
SKDecimal(0.01, 0.20, decimals=3, name='roi_p3'),
]
def generate_roi_table(params: Dict) -> Dict[int, float]:
def generate_roi_table(params: Dict) -> dict[int, float]:
roi_table = {}
roi_table[0] = params['roi_p1'] + params['roi_p2'] + params['roi_p3']
@@ -159,56 +161,53 @@ class MyAwesomeStrategy(IStrategy):
### Overriding Base estimator
You can define your own estimator for Hyperopt by implementing `generate_estimator()` in the Hyperopt subclass.
You can define your own optuna sampler for Hyperopt by implementing `generate_estimator()` in the Hyperopt subclass.
```python
class MyAwesomeStrategy(IStrategy):
class HyperOpt:
def generate_estimator(dimensions: List['Dimension'], **kwargs):
return "RF"
return "NSGAIIISampler"
```
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]`".
Possible values are either one of "NSGAIISampler", "TPESampler", "GPSampler", "CmaEsSampler", "NSGAIIISampler", "QMCSampler" (Details can be found in the [optuna-samplers documentation](https://optuna.readthedocs.io/en/stable/reference/samplers/index.html)), or "an instance of a class that inherits from `optuna.samplers.BaseSampler`".
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)
```
Some research will be necessary to find additional Samplers (from optunahub) for example.
!!! 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.
If you're unsure about this, best use one of the Defaults (`"NSGAIIISampler"` has proven to be the most versatile) without further parameters.
??? Example "Using `AutoSampler` from Optunahub"
[AutoSampler docs](https://hub.optuna.org/samplers/auto_sampler/)
Install the necessary dependencies
``` bash
pip install optunahub cmaes torch scipy
```
Implement `generate_estimator()` in your strategy
``` python
# ...
from freqtrade.strategy.interface import IStrategy
from typing import List
import optunahub
# ...
class my_strategy(IStrategy):
class HyperOpt:
def generate_estimator(dimensions: List["Dimension"], **kwargs):
if "random_state" in kwargs.keys():
return optunahub.load_module("samplers/auto_sampler").AutoSampler(seed=kwargs["random_state"])
else:
return optunahub.load_module("samplers/auto_sampler").AutoSampler()
```
Obviously the same approach will work for all other Samplers optuna supports.
## Space options

View File

@@ -4,6 +4,7 @@ This guide walks you through utilizing public trade data for advanced orderflow
!!! Warning "Experimental Feature"
The orderflow feature is currently in beta and may be subject to changes in future releases. Please report any issues or feedback on the [Freqtrade GitHub repository](https://github.com/freqtrade/freqtrade/issues).
It's also currently not been tested with freqAI - and combining these two features is considered out of scope at this point.
!!! Warning "Performance"
Orderflow requires raw trades data. This data is rather large, and can cause a slow initial startup, when freqtrade needs to download the trades data for the last X candles. Additionally, enabling this feature will cause increased memory usage. Please ensure to have sufficient resources available.
@@ -69,8 +70,8 @@ dataframe["delta"] # Difference between ask and bid volume.
dataframe["min_delta"] # Minimum delta within the candle
dataframe["max_delta"] # Maximum delta within the candle
dataframe["total_trades"] # Total number of trades
dataframe["stacked_imbalances_bid"] # Price level of stacked bid imbalance
dataframe["stacked_imbalances_ask"] # Price level of stacked ask imbalance
dataframe["stacked_imbalances_bid"] # List of price levels of stacked bid imbalance range beginnings
dataframe["stacked_imbalances_ask"] # List of price levels of stacked ask imbalance range beginnings
```
You can access these columns in your strategy code for further analysis. Here's an example:

View File

@@ -177,7 +177,7 @@ sudo loginctl enable-linger "$USER"
If you run the bot as a service, you can use systemd service manager as a software watchdog monitoring freqtrade bot
state and restarting it in the case of failures. If the `internals.sd_notify` parameter is set to true in the
configuration or the `--sd-notify` command line option is used, the bot will send keep-alive ping messages to systemd
using the sd_notify (systemd notifications) protocol and will also tell systemd its current state (Running or Stopped)
using the sd_notify (systemd notifications) protocol and will also tell systemd its current state (Running, Paused or Stopped)
when it changes.
The `freqtrade.service.watchdog` file contains an example of the service unit configuration file which uses systemd
@@ -188,30 +188,113 @@ as the watchdog.
## Advanced Logging
Freqtrade uses the default logging module provided by python.
Python allows for extensive [logging configuration](https://docs.python.org/3/library/logging.config.html#logging.config.dictConfig) in this regard - way more than what can be covered here.
Default logging format (coloured terminal output) is set up by default if no `log_config` is provided in your freqtrade configuration.
Using `--logfile logfile.log` will enable the RotatingFileHandler.
If you're not content with the log format, or with the default settings provided for the RotatingFileHandler, you can customize logging to your liking by adding the `log_config` configuration to your freqtrade configuration file(s).
The default configuration looks roughly like the below, with the file handler being provided but not enabled as the `filename` is commented out.
Uncomment this line and supply a valid path/filename to enable it.
``` json hl_lines="5-7 13-16 27"
{
"log_config": {
"version": 1,
"formatters": {
"basic": {
"format": "%(message)s"
},
"standard": {
"format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
}
},
"handlers": {
"console": {
"class": "freqtrade.loggers.ft_rich_handler.FtRichHandler",
"formatter": "basic"
},
"file": {
"class": "logging.handlers.RotatingFileHandler",
"formatter": "standard",
// "filename": "someRandomLogFile.log",
"maxBytes": 10485760,
"backupCount": 10
}
},
"root": {
"handlers": [
"console",
// "file"
],
"level": "INFO",
}
}
}
```
!!! Note "highlighted lines"
Highlighted lines in the above code-block define the Rich handler and belong together.
The formatter "standard" and "file" will belong to the FileHandler.
Each handler must use one of the defined formatters (by name), its class must be available, and must be a valid logging class.
To actually use a handler, it must be in the "handlers" section inside the "root" segment.
If this section is left out, freqtrade will provide no output (in the non-configured handler, anyway).
!!! Tip "Explicit log configuration"
We recommend to extract the logging configuration from your main freqtrade configuration file, and provide it to your bot via [multiple configuration files](configuration.md#multiple-configuration-files) functionality. This will avoid unnecessary code duplication.
---
On many Linux systems the bot can be configured to send its log messages to `syslog` or `journald` system services. Logging to a remote `syslog` server is also available on Windows. The special values for the `--logfile` command line option can be used for this.
### Logging to syslog
To send Freqtrade log messages to a local or remote `syslog` service use the `--logfile` command line option with the value in the following format:
To send Freqtrade log messages to a local or remote `syslog` service use the `"log_config"` setup option to configure logging.
* `--logfile syslog:<syslog_address>` -- send log messages to `syslog` service using the `<syslog_address>` as the syslog address.
``` json
{
// ...
"log_config": {
"version": 1,
"formatters": {
"syslog_fmt": {
"format": "%(name)s - %(levelname)s - %(message)s"
}
},
"handlers": {
// Other handlers?
"syslog": {
"class": "logging.handlers.SysLogHandler",
"formatter": "syslog_fmt",
// Use one of the other options above as address instead?
"address": "/dev/log"
}
},
"root": {
"handlers": [
// other handlers
"syslog",
]
}
The syslog address can be either a Unix domain socket (socket filename) or a UDP socket specification, consisting of IP address and UDP port, separated by the `:` character.
}
}
```
So, the following are the examples of possible usages:
[Additional log-handlers](#advanced-logging) may need to be configured to for example also have log output in the console.
* `--logfile syslog:/dev/log` -- log to syslog (rsyslog) using the `/dev/log` socket, suitable for most systems.
* `--logfile syslog` -- same as above, the shortcut for `/dev/log`.
* `--logfile syslog:/var/run/syslog` -- log to syslog (rsyslog) using the `/var/run/syslog` socket. Use this on MacOS.
* `--logfile syslog:localhost:514` -- log to local syslog using UDP socket, if it listens on port 514.
* `--logfile syslog:<ip>:514` -- log to remote syslog at IP address and port 514. This may be used on Windows for remote logging to an external syslog server.
#### Syslog usage
Log messages are send to `syslog` with the `user` facility. So you can see them with the following commands:
* `tail -f /var/log/user`, or
* `tail -f /var/log/user`, or
* install a comprehensive graphical viewer (for instance, 'Log File Viewer' for Ubuntu).
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.
On many systems `syslog` (`rsyslog`) fetches data from `journald` (and vice versa), so both syslog or 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
@@ -228,13 +311,66 @@ For `syslog` (`rsyslog`), the reduction mode can be switched on. This will reduc
$RepeatedMsgReduction on
```
#### Syslog addressing
The syslog address can be either a Unix domain socket (socket filename) or a UDP socket specification, consisting of IP address and UDP port, separated by the `:` character.
So, the following are the examples of possible addresses:
* `"address": "/dev/log"` -- log to syslog (rsyslog) using the `/dev/log` socket, suitable for most systems.
* `"address": "/var/run/syslog"` -- log to syslog (rsyslog) using the `/var/run/syslog` socket. Use this on MacOS.
* `"address": "localhost:514"` -- log to local syslog using UDP socket, if it listens on port 514.
* `"address": "<ip>:514"` -- log to remote syslog at IP address and port 514. This may be used on Windows for remote logging to an external syslog server.
??? Info "Deprecated - configure syslog via command line"
`--logfile syslog:<syslog_address>` -- send log messages to `syslog` service using the `<syslog_address>` as the syslog address.
The syslog address can be either a Unix domain socket (socket filename) or a UDP socket specification, consisting of IP address and UDP port, separated by the `:` character.
So, the following are the examples of possible usages:
* `--logfile syslog:/dev/log` -- log to syslog (rsyslog) using the `/dev/log` socket, suitable for most systems.
* `--logfile syslog` -- same as above, the shortcut for `/dev/log`.
* `--logfile syslog:/var/run/syslog` -- log to syslog (rsyslog) using the `/var/run/syslog` socket. Use this on MacOS.
* `--logfile syslog:localhost:514` -- log to local syslog using UDP socket, if it listens on port 514.
* `--logfile syslog:<ip>:514` -- log to remote syslog at IP address and port 514. This may be used on Windows for remote logging to an external syslog server.
### Logging to journald
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:
To send Freqtrade log messages to `journald` system service, add the following configuration snippet to your configuration.
* `--logfile journald` -- send log messages to `journald`.
``` json
{
// ...
"log_config": {
"version": 1,
"formatters": {
"journald_fmt": {
"format": "%(name)s - %(levelname)s - %(message)s"
}
},
"handlers": {
// Other handlers?
"journald": {
"class": "cysystemd.journal.JournaldLogHandler",
"formatter": "journald_fmt",
}
},
"root": {
"handlers": [
// ..
"journald",
]
}
}
}
```
[Additional log-handlers](#advanced-logging) may need to be configured to for example also have log output in the console.
Log messages are send to `journald` with the `user` facility. So you can see them with the following commands:
@@ -244,3 +380,51 @@ Log messages are send to `journald` with the `user` facility. So you can see the
There are many other options in the `journalctl` utility to filter the messages, see manual pages for this utility.
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.
??? Info "Deprecated - configure journald via command line"
To send Freqtrade log messages to `journald` system service use the `--logfile` command line option with the value in the following format:
`--logfile journald` -- send log messages to `journald`.
### Log format as JSON
You can also configure the default output stream to use JSON format instead.
The "fmt_dict" attribute defines the keys for the json output - as well as the [python logging LogRecord attributes](https://docs.python.org/3/library/logging.html#logrecord-attributes).
The below configuration will change the default output to JSON. The same formatter could however also be used in combination with the `RotatingFileHandler`.
We recommend to keep one format in human readable form.
``` json
{
// ...
"log_config": {
"version": 1,
"formatters": {
"json": {
"()": "freqtrade.loggers.json_formatter.JsonFormatter",
"fmt_dict": {
"timestamp": "asctime",
"level": "levelname",
"logger": "name",
"message": "message"
}
}
},
"handlers": {
// Other handlers?
"jsonStream": {
"class": "logging.StreamHandler",
"formatter": "json"
}
},
"root": {
"handlers": [
// ..
"jsonStream",
]
}
}
}
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -5,105 +5,11 @@ This page explains how to validate your strategy performance by using Backtestin
Backtesting requires historic data to be available.
To learn how to get data for the pairs and exchange you're interested in, head over to the [Data Downloading](data-download.md) section of the documentation.
Backtesting is also available in [webserver mode](freq-ui.md#backtesting), which allows you to run backtests via the web interface.
## Backtesting command reference
```
usage: freqtrade backtesting [-h] [-v] [--logfile FILE] [-V] [-c PATH]
[-d PATH] [--userdir PATH] [-s NAME]
[--strategy-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 ...]] [--eps] [--dmmp]
[--enable-protections]
[--dry-run-wallet DRY_RUN_WALLET]
[--timeframe-detail TIMEFRAME_DETAIL]
[--strategy-list STRATEGY_LIST [STRATEGY_LIST ...]]
[--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
Specify timeframe (`1m`, `5m`, `30m`, `1h`, `1d`).
--timerange TIMERANGE
Specify what timerange of data to use.
--data-format-ohlcv {json,jsongz,hdf5,feather,parquet}
Storage format for downloaded candle (OHLCV) data.
(default: `feather`).
--max-open-trades INT
Override the value of the `max_open_trades`
configuration setting.
--stake-amount STAKE_AMOUNT
Override the value of the `stake_amount` configuration
setting.
--fee FLOAT Specify fee ratio. Will be applied twice (on trade
entry and exit).
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
--eps, --enable-position-stacking
Allow buying the same pair multiple times (position
stacking).
--dmmp, --disable-max-market-positions
Disable applying `max_open_trades` during backtest
(same as setting `max_open_trades` to a very high
number).
--enable-protections, --enableprotections
Enable protections for backtesting.Will slow
backtesting down by a considerable amount, but will
include configured protections
--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 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, --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).
--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
Path to directory with historical backtesting data.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
Strategy arguments:
-s NAME, --strategy NAME
Specify strategy class name which will be used by the
bot.
--strategy-path PATH Specify additional strategy lookup path.
```
--8<-- "commands/backtesting.md"
## Test your strategy with Backtesting
@@ -305,6 +211,7 @@ A backtesting result will look like that:
| Sortino | 1.88 |
| Sharpe | 2.97 |
| Calmar | 6.29 |
| SQN | 2.45 |
| Profit factor | 1.11 |
| Expectancy (Ratio) | -0.15 (-0.05) |
| Avg. stake amount | 0.001 BTC |
@@ -411,8 +318,10 @@ It contains some useful key metrics about performance of your strategy on backte
| Sortino | 1.88 |
| Sharpe | 2.97 |
| Calmar | 6.29 |
| SQN | 2.45 |
| Profit factor | 1.11 |
| Expectancy (Ratio) | -0.15 (-0.05) |
| Avg. daily profit | 0.0001 BTC |
| Avg. stake amount | 0.001 BTC |
| Total trade volume | 0.429 BTC |
| | |
@@ -464,10 +373,13 @@ It contains some useful key metrics about performance of your strategy on backte
- `Sortino`: Annualized Sortino ratio.
- `Sharpe`: Annualized Sharpe ratio.
- `Calmar`: Annualized Calmar ratio.
- `SQN`: System Quality Number (SQN) - by Van Tharp.
- `Profit factor`: profit / loss.
- `Expectancy (Ratio)`: Expectancy ratio, which is the average profit or loss per trade. A negative expectancy ratio means that your strategy is not profitable.
- `Avg. daily profit`: Average profit per day, calculated as `(Total Profit / Backtest Days)`.
- `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 `Tot Profit %`.
- `Best Pair` / `Worst Pair`: Best and worst performing pair (based on absolute profit), and it's corresponding `Tot Profit %`.
- `Best Trade` / `Worst Trade`: Biggest single winning trade and biggest single losing trade.
- `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).
@@ -528,6 +440,24 @@ To save time, by default backtest will reuse a cached result from within the las
To further analyze your backtest results, freqtrade will export the trades to file by default.
You can then load the trades to perform further analysis as shown in the [data analysis](strategy_analysis_example.md#load-backtest-results-to-pandas-dataframe) backtesting section.
Also, you can use freqtrade in [webserver mode](freq-ui.md#backtesting) to visualize the backtest results in a web interface.
This mode also allows you to load existing backtest results, so you can analyze them without running the backtest again.
For this mode - `--notes "<notes>"` can be used to add notes to the backtest results, which will be shown in the web interface.
### Backtest output file
The output file freqtrade produces is a zip file containing the following files:
- The backtest report in json format
- the market change data in feather format
- a copy of the strategy file
- a copy of the strategy parameters (if a parameter file was used)
- a sanitized copy of the config file
This will ensure results are reproducible - under the assumption that the same data is available.
Only the strategy file and the config file are included in the zip file, eventual dependencies are not included.
## Assumptions made by backtesting
Since backtesting lacks some detailed information about what happens within a candle, it needs to take a few assumptions:
@@ -558,6 +488,7 @@ Since backtesting lacks some detailed information about what happens within a ca
- Stoploss
- ROI
- Trailing stoploss
- Position reversals (futures only) happen if an entry signal in the other direction than the closing trade triggers at the candle the existing trade closes.
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.
@@ -572,7 +503,7 @@ These limits are usually listed in the exchange documentation as "trading rules"
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$.
This can lead to situations where trading-limits are inflated by using a historic price, resulting in minimum amounts > 50\$.
For example:
@@ -603,7 +534,12 @@ To utilize this, you can append `--timeframe-detail 5m` to your regular backtest
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.
This will load 1h data (the main timeframe) as well as 5m data (detail timeframe) for the selected timerange.
The strategy will be analyzed with the 1h timeframe.
Candles where activity may take place (there's an active signal, the pair is in a trade) are evaluated at the 5m timeframe.
This will allow for a more accurate simulation of intra-candle movements - and can lead to different results, especially on higher timeframes.
Entries will generally still happen at the main candle's open, however freed trade slots may be freed earlier (if the exit signal is triggered on the 5m candle), which can then be used for a new trade of a different pair.
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).
@@ -615,6 +551,27 @@ 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).
??? Sample "Extreme Difference Example"
Using `--timeframe-detail` on an extreme example (all below pairs have the 10:00 candle with an entry signal) may lead to the following backtesting Trade sequence with 1 max_open_trades:
| Pair | Entry Time | Exit Time | Duration |
|------|------------|-----------| -------- |
| BTC/USDT | 2024-01-01 10:00:00 | 2021-01-01 10:05:00 | 5m |
| ETH/USDT | 2024-01-01 10:05:00 | 2021-01-01 10:15:00 | 10m |
| XRP/USDT | 2024-01-01 10:15:00 | 2021-01-01 10:30:00 | 15m |
| SOL/USDT | 2024-01-01 10:15:00 | 2021-01-01 11:05:00 | 50m |
| BTC/USDT | 2024-01-01 11:05:00 | 2021-01-01 12:00:00 | 55m |
Without timeframe-detail, this would look like:
| Pair | Entry Time | Exit Time | Duration |
|------|------------|-----------| -------- |
| BTC/USDT | 2024-01-01 10:00:00 | 2021-01-01 11:00:00 | 1h |
| BTC/USDT | 2024-01-01 11:00:00 | 2021-01-01 12:00:00 | 1h |
The difference is significant, as without detail data, only the first `max_open_trades` signals per candle are evaluated, and the trade slots are only freed at the end of the candle, allowing for a new trade to be opened at the next candle.
## Backtesting multiple strategies
To compare multiple strategies, a list of Strategies can be provided to backtesting.

View File

@@ -54,11 +54,13 @@ By default, the bot loop runs every few seconds (`internals.process_throttle_sec
* Check timeouts for open orders.
* 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.
* Calls `adjust_order_price()` strategy callback for open orders.
* Calls `adjust_entry_price()` strategy callback for open entry orders. *only called when `adjust_order_price()` is not implemented*
* Calls `adjust_exit_price()` strategy callback for open exit orders. *only called when `adjust_order_price()` is not implemented*
* 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.
* Before an 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 entry signal trying to enter new positions.
@@ -80,7 +82,9 @@ This loop will be repeated again and again until the bot is stopped.
* 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.
* Calls `adjust_order_price()` strategy callback for open orders.
* Calls `adjust_entry_price()` strategy callback for open entry orders. *only called when `adjust_order_price()` is not implemented!*
* Calls `adjust_exit_price()` strategy callback for open exit orders. *only called when `adjust_order_price()` is not implemented!*
* 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).

View File

@@ -10,101 +10,11 @@ This page explains the different parameters of the bot and how to run it.
## Bot commands
```
usage: freqtrade [-h] [-V]
{trade,create-userdir,new-config,show-config,new-strategy,download-data,convert-data,convert-trade-data,trades-to-ohlcv,list-data,backtesting,backtesting-show,backtesting-analysis,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-markets,list-pairs,list-strategies,list-freqaimodels,list-timeframes,show-trades,test-pairlist,convert-db,install-ui,plot-dataframe,plot-profit,webserver,strategy-updater,lookahead-analysis,recursive-analysis}
...
Free, open source crypto trading bot
positional arguments:
{trade,create-userdir,new-config,show-config,new-strategy,download-data,convert-data,convert-trade-data,trades-to-ohlcv,list-data,backtesting,backtesting-show,backtesting-analysis,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-markets,list-pairs,list-strategies,list-freqaimodels,list-timeframes,show-trades,test-pairlist,convert-db,install-ui,plot-dataframe,plot-profit,webserver,strategy-updater,lookahead-analysis,recursive-analysis}
trade Trade module.
create-userdir Create user-data directory.
new-config Create new config
show-config Show resolved config
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.
trades-to-ohlcv Convert trade data to OHLCV data.
list-data List downloaded data.
backtesting Backtesting module.
backtesting-show Show past Backtest results
backtesting-analysis
Backtest Analysis module.
edge Edge module.
hyperopt Hyperopt module.
hyperopt-list List Hyperopt results
hyperopt-show Show details of Hyperopt results
list-exchanges Print available exchanges.
list-markets Print markets on exchange.
list-pairs Print pairs on exchange.
list-strategies Print available strategies.
list-freqaimodels Print available freqAI models.
list-timeframes Print available timeframes for the exchange.
show-trades Show trades.
test-pairlist Test your pairlist configuration.
convert-db Migrate database to different system
install-ui Install FreqUI
plot-dataframe Plot candles with indicators.
plot-profit Generate plot showing profits.
webserver Webserver module.
strategy-updater updates outdated strategy files to the current version
lookahead-analysis Check for potential look ahead bias.
recursive-analysis Check for potential recursive formula issue.
options:
-h, --help show this help message and exit
-V, --version show program's version number and exit
```
--8<-- "commands/main.md"
### Bot trading commands
```
usage: freqtrade trade [-h] [-v] [--logfile FILE] [-V] [-c PATH] [-d PATH]
[--userdir PATH] [-s NAME] [--strategy-path PATH]
[--db-url PATH] [--sd-notify] [--dry-run]
[--dry-run-wallet DRY_RUN_WALLET]
optional arguments:
-h, --help show this help message and exit
--db-url PATH Override trades database URL, this is useful in custom
deployments (default: `sqlite:///tradesv3.sqlite` for
Live Run mode, `sqlite:///tradesv3.dryrun.sqlite` for
Dry Run).
--sd-notify Notify systemd service manager.
--dry-run Enforce dry-run for trading (removes Exchange secrets
and simulates trades).
--dry-run-wallet DRY_RUN_WALLET, --starting-balance DRY_RUN_WALLET
Starting balance, used for backtesting / hyperopt and
dry-runs.
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
Path to directory with historical backtesting data.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
Strategy arguments:
-s NAME, --strategy NAME
Specify strategy class name which will be used by the
bot.
--strategy-path PATH Specify additional strategy lookup path.
```
--8<-- "commands/trade.md"
### How to specify which configuration file be used?

View File

@@ -0,0 +1,68 @@
```
usage: freqtrade backtesting-analysis [-h] [-v] [--no-color] [--logfile FILE]
[-V] [-c PATH] [-d PATH]
[--userdir PATH]
[--export-filename PATH]
[--analysis-groups {0,1,2,3,4,5} [{0,1,2,3,4,5} ...]]
[--enter-reason-list ENTER_REASON_LIST [ENTER_REASON_LIST ...]]
[--exit-reason-list EXIT_REASON_LIST [EXIT_REASON_LIST ...]]
[--indicator-list INDICATOR_LIST [INDICATOR_LIST ...]]
[--entry-only] [--exit-only]
[--timerange TIMERANGE]
[--rejected-signals] [--analysis-to-csv]
[--analysis-csv-path ANALYSIS_CSV_PATH]
options:
-h, --help show this help message and exit
--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`
--analysis-groups {0,1,2,3,4,5} [{0,1,2,3,4,5} ...]
grouping output - 0: simple wins/losses by enter tag,
1: by enter_tag, 2: by enter_tag and exit_tag, 3: by
pair and enter_tag, 4: by pair, enter_ and exit_tag
(this can get quite large), 5: by exit_tag
--enter-reason-list ENTER_REASON_LIST [ENTER_REASON_LIST ...]
Space separated list of entry signals to analyse.
Default: all. e.g. 'entry_tag_a entry_tag_b'
--exit-reason-list EXIT_REASON_LIST [EXIT_REASON_LIST ...]
Space separated list of exit signals to analyse.
Default: all. e.g. 'exit_tag_a roi stop_loss
trailing_stop_loss'
--indicator-list INDICATOR_LIST [INDICATOR_LIST ...]
Space separated list of indicators to analyse. e.g.
'close rsi bb_lowerband profit_abs'
--entry-only Only analyze entry signals.
--exit-only Only analyze exit signals.
--timerange TIMERANGE
Specify what timerange of data to use.
--rejected-signals Analyse rejected signals
--analysis-to-csv Save selected analysis tables to individual CSVs
--analysis-csv-path ANALYSIS_CSV_PATH
Specify a path to save the analysis CSVs if
--analysis-to-csv is enabled. Default:
user_data/basktesting_results/
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

View File

@@ -0,0 +1,39 @@
```
usage: freqtrade backtesting-show [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH]
[--export-filename PATH] [--show-pair-list]
[--breakdown {day,week,month,year} [{day,week,month,year} ...]]
options:
-h, --help show this help message and exit
--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`
--show-pair-list Show backtesting pairlist sorted by profit.
--breakdown {day,week,month,year} [{day,week,month,year} ...]
Show backtesting breakdown per [day, week, month,
year].
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

View File

@@ -0,0 +1,111 @@
```
usage: freqtrade backtesting [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH] [-s NAME]
[--strategy-path PATH]
[--recursive-strategy-search]
[--freqaimodel NAME] [--freqaimodel-path PATH]
[-i TIMEFRAME] [--timerange TIMERANGE]
[--data-format-ohlcv {json,jsongz,feather,parquet}]
[--max-open-trades INT]
[--stake-amount STAKE_AMOUNT] [--fee FLOAT]
[-p PAIRS [PAIRS ...]] [--eps]
[--enable-protections]
[--dry-run-wallet DRY_RUN_WALLET]
[--timeframe-detail TIMEFRAME_DETAIL]
[--strategy-list STRATEGY_LIST [STRATEGY_LIST ...]]
[--export {none,trades,signals}]
[--export-filename PATH]
[--breakdown {day,week,month,year} [{day,week,month,year} ...]]
[--cache {none,day,week,month}]
[--freqai-backtest-live-models] [--notes TEXT]
options:
-h, --help show this help message and exit
-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,feather,parquet}
Storage format for downloaded candle (OHLCV) data.
(default: `feather`).
--max-open-trades INT
Override the value of the `max_open_trades`
configuration setting.
--stake-amount STAKE_AMOUNT
Override the value of the `stake_amount` configuration
setting.
--fee FLOAT Specify fee ratio. Will be applied twice (on trade
entry and exit).
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
--eps, --enable-position-stacking
Allow buying the same pair multiple times (position
stacking).
--enable-protections, --enableprotections
Enable protections for backtesting.Will slow
backtesting down by a considerable amount, but will
include configured protections
--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 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, --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,year} [{day,week,month,year} ...]
Show backtesting breakdown per [day, week, month,
year].
--cache {none,day,week,month}
Load a cached backtest result no older than specified
age (default: day).
--freqai-backtest-live-models
Run backtest with ready models.
--notes TEXT Add notes to the backtest results.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
Strategy arguments:
-s NAME, --strategy NAME
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.
```

View File

@@ -0,0 +1,54 @@
```
usage: freqtrade convert-data [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH]
[-p PAIRS [PAIRS ...]] --format-from
{json,jsongz,feather,parquet} --format-to
{json,jsongz,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} ...]]
options:
-h, --help show this help message and exit
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
--format-from {json,jsongz,feather,parquet}
Source format for data conversion.
--format-to {json,jsongz,feather,parquet}
Destination format for data conversion.
--erase Clean all existing data for the selected
exchange/pairs/timeframes.
--exchange EXCHANGE Exchange name. 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 convert. Defaults to all
available types.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

View File

@@ -0,0 +1,12 @@
```
usage: freqtrade convert-db [-h] [--db-url PATH] [--db-url-from PATH]
options:
-h, --help show this help message and exit
--db-url PATH Override trades database URL, this is useful in custom
deployments (default: `sqlite:///tradesv3.sqlite` for
Live Run mode, `sqlite:///tradesv3.dryrun.sqlite` for
Dry Run).
--db-url-from PATH Source db url to use when migrating a database.
```

View File

@@ -0,0 +1,43 @@
```
usage: freqtrade convert-trade-data [-h] [-v] [--no-color] [--logfile FILE]
[-V] [-c PATH] [-d PATH] [--userdir PATH]
[-p PAIRS [PAIRS ...]] --format-from
{json,jsongz,feather,parquet,kraken_csv}
--format-to {json,jsongz,feather,parquet}
[--erase] [--exchange EXCHANGE]
options:
-h, --help show this help message and exit
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
--format-from {json,jsongz,feather,parquet,kraken_csv}
Source format for data conversion.
--format-to {json,jsongz,feather,parquet}
Destination format for data conversion.
--erase Clean all existing data for the selected
exchange/pairs/timeframes.
--exchange EXCHANGE Exchange name. Only valid if no config is provided.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

View File

@@ -0,0 +1,10 @@
```
usage: freqtrade create-userdir [-h] [--userdir PATH] [--reset]
options:
-h, --help show this help message and exit
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
--reset Reset sample files to their original state.
```

View File

@@ -0,0 +1,72 @@
```
usage: freqtrade download-data [-h] [-v] [--no-color] [--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]
[--convert] [--exchange EXCHANGE]
[-t TIMEFRAMES [TIMEFRAMES ...]] [--erase]
[--data-format-ohlcv {json,jsongz,feather,parquet}]
[--data-format-trades {json,jsongz,feather,parquet}]
[--trading-mode {spot,margin,futures}]
[--prepend]
options:
-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. 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.
--convert Convert downloaded trades to OHLCV data. Only
applicable in combination with `--dl-trades`. Will be
automatic for exchanges which don't have historic
OHLCV (e.g. Kraken). If not provided, use `trades-to-
ohlcv` to convert trades data to OHLCV data.
--exchange EXCHANGE Exchange name. Only valid if no config is provided.
-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,feather,parquet}
Storage format for downloaded candle (OHLCV) data.
(default: `feather`).
--data-format-trades {json,jsongz,feather,parquet}
Storage format for downloaded trades data. (default:
`feather`).
--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).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

65
docs/commands/edge.md Normal file
View File

@@ -0,0 +1,65 @@
```
usage: freqtrade edge [-h] [-v] [--no-color] [--logfile FILE] [-V] [-c PATH]
[-d PATH] [--userdir PATH] [-s NAME]
[--strategy-path PATH] [--recursive-strategy-search]
[--freqaimodel NAME] [--freqaimodel-path PATH]
[-i TIMEFRAME] [--timerange TIMERANGE]
[--data-format-ohlcv {json,jsongz,feather,parquet}]
[--max-open-trades INT] [--stake-amount STAKE_AMOUNT]
[--fee FLOAT] [-p PAIRS [PAIRS ...]]
options:
-h, --help show this help message and exit
-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,feather,parquet}
Storage format for downloaded candle (OHLCV) data.
(default: `feather`).
--max-open-trades INT
Override the value of the `max_open_trades`
configuration setting.
--stake-amount STAKE_AMOUNT
Override the value of the `stake_amount` configuration
setting.
--fee FLOAT Specify fee ratio. Will be applied twice (on trade
entry and exit).
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
Strategy arguments:
-s NAME, --strategy NAME
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.
```

View File

@@ -0,0 +1,64 @@
```
usage: freqtrade hyperopt-list [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH] [--best]
[--profitable] [--min-trades INT]
[--max-trades INT] [--min-avg-time FLOAT]
[--max-avg-time FLOAT] [--min-avg-profit FLOAT]
[--max-avg-profit FLOAT]
[--min-total-profit FLOAT]
[--max-total-profit FLOAT]
[--min-objective FLOAT] [--max-objective FLOAT]
[--print-json] [--no-details]
[--hyperopt-filename FILENAME]
[--export-csv FILE]
options:
-h, --help show this help message and exit
--best Select only best epochs.
--profitable Select only profitable epochs.
--min-trades INT Select epochs with more than INT trades.
--max-trades INT Select epochs with less than INT trades.
--min-avg-time FLOAT Select epochs above average time.
--max-avg-time FLOAT Select epochs below average time.
--min-avg-profit FLOAT
Select epochs above average profit.
--max-avg-profit FLOAT
Select epochs below average profit.
--min-total-profit FLOAT
Select epochs above total profit.
--max-total-profit FLOAT
Select epochs below total profit.
--min-objective FLOAT
Select epochs above objective.
--max-objective FLOAT
Select epochs below objective.
--print-json Print output in JSON format.
--no-details Do not print best epoch details.
--hyperopt-filename FILENAME
Hyperopt result filename.Example: `--hyperopt-
filename=hyperopt_results_2020-09-27_16-20-48.pickle`
--export-csv FILE Export to CSV-File. This will disable table print.
Example: --export-csv hyperopt.csv
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

View File

@@ -0,0 +1,46 @@
```
usage: freqtrade hyperopt-show [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH] [--best]
[--profitable] [-n INT] [--print-json]
[--hyperopt-filename FILENAME] [--no-header]
[--disable-param-export]
[--breakdown {day,week,month,year} [{day,week,month,year} ...]]
options:
-h, --help show this help message and exit
--best Select only best epochs.
--profitable Select only profitable epochs.
-n INT, --index INT Specify the index of the epoch to print details for.
--print-json Print output in JSON format.
--hyperopt-filename FILENAME
Hyperopt result filename.Example: `--hyperopt-
filename=hyperopt_results_2020-09-27_16-20-48.pickle`
--no-header Do not print epoch details header.
--disable-param-export
Disable automatic hyperopt parameter export.
--breakdown {day,week,month,year} [{day,week,month,year} ...]
Show backtesting breakdown per [day, week, month,
year].
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

127
docs/commands/hyperopt.md Normal file
View File

@@ -0,0 +1,127 @@
```
usage: freqtrade hyperopt [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH] [-s NAME]
[--strategy-path PATH] [--recursive-strategy-search]
[--freqaimodel NAME] [--freqaimodel-path PATH]
[-i TIMEFRAME] [--timerange TIMERANGE]
[--data-format-ohlcv {json,jsongz,feather,parquet}]
[--max-open-trades INT]
[--stake-amount STAKE_AMOUNT] [--fee FLOAT]
[-p PAIRS [PAIRS ...]] [--hyperopt-path PATH]
[--eps] [--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] [--print-json] [-j JOBS]
[--random-state INT] [--min-trades INT]
[--hyperopt-loss NAME] [--disable-param-export]
[--ignore-missing-spaces] [--analyze-per-epoch]
[--early-stop INT]
options:
-h, --help show this help message and exit
-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,feather,parquet}
Storage format for downloaded candle (OHLCV) data.
(default: `feather`).
--max-open-trades INT
Override the value of the `max_open_trades`
configuration setting.
--stake-amount STAKE_AMOUNT
Override the value of the `stake_amount` configuration
setting.
--fee FLOAT Specify fee ratio. Will be applied twice (on trade
entry and exit).
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
--hyperopt-path PATH Specify additional lookup path for Hyperopt Loss
functions.
--eps, --enable-position-stacking
Allow buying the same pair multiple times (position
stacking).
--enable-protections, --enableprotections
Enable protections for backtesting.Will slow
backtesting down by a considerable amount, but will
include configured protections
--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,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.
--print-json Print output in JSON format.
-j JOBS, --job-workers JOBS
The number of concurrently running jobs for
hyperoptimization (hyperopt worker processes). If -1
(default), all CPUs are used, for -2, all CPUs but one
are used, etc. If 1 is given, no parallel computing
code is used at all.
--random-state INT Set random state to some positive integer for
reproducible hyperopt results.
--min-trades INT Set minimal desired number of trades for evaluations
in the hyperopt optimization path (default: 1).
--hyperopt-loss NAME, --hyperoptloss NAME
Specify the class name of the hyperopt loss function
class (IHyperOptLoss). Different functions can
generate completely different results, since the
target for optimization is different. Built-in
Hyperopt-loss-functions are:
ShortTradeDurHyperOptLoss, OnlyProfitHyperOptLoss,
SharpeHyperOptLoss, SharpeHyperOptLossDaily,
SortinoHyperOptLoss, SortinoHyperOptLossDaily,
CalmarHyperOptLoss, MaxDrawDownHyperOptLoss,
MaxDrawDownRelativeHyperOptLoss,
MaxDrawDownPerPairHyperOptLoss,
ProfitDrawDownHyperOptLoss, MultiMetricHyperOptLoss
--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.
--early-stop INT Early stop hyperopt if no improvement after (default:
0) epochs.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
Strategy arguments:
-s NAME, --strategy NAME
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.
```

View File

@@ -0,0 +1,14 @@
```
usage: freqtrade install-ui [-h] [--erase] [--prerelease]
[--ui-version UI_VERSION]
options:
-h, --help show this help message and exit
--erase Clean UI folder, don't download new version.
--prerelease Install the latest pre-release version of FreqUI. This
is not recommended for production use.
--ui-version UI_VERSION
Specify a specific version of FreqUI to install. Not
specifying this installs the latest version.
```

View File

@@ -0,0 +1,50 @@
```
usage: freqtrade list-data [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH]
[--exchange EXCHANGE]
[--data-format-ohlcv {json,jsongz,feather,parquet}]
[--data-format-trades {json,jsongz,feather,parquet}]
[--trades] [-p PAIRS [PAIRS ...]]
[--trading-mode {spot,margin,futures}]
[--show-timerange]
options:
-h, --help show this help message and exit
--exchange EXCHANGE Exchange name. Only valid if no config is provided.
--data-format-ohlcv {json,jsongz,feather,parquet}
Storage format for downloaded candle (OHLCV) data.
(default: `feather`).
--data-format-trades {json,jsongz,feather,parquet}
Storage format for downloaded trades data. (default:
`feather`).
--trades Work on trades data instead of OHLCV data.
-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).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

View File

@@ -0,0 +1,31 @@
```
usage: freqtrade list-exchanges [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH] [-1] [-a]
options:
-h, --help show this help message and exit
-1, --one-column Print output in one column.
-a, --all Print all exchanges known to the ccxt library.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

View File

@@ -0,0 +1,33 @@
```
usage: freqtrade list-freqaimodels [-h] [-v] [--no-color] [--logfile FILE]
[-V] [-c PATH] [-d PATH] [--userdir PATH]
[--freqaimodel-path PATH] [-1]
options:
-h, --help show this help message and exit
--freqaimodel-path PATH
Specify additional lookup path for freqaimodels.
-1, --one-column Print output in one column.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

View File

@@ -0,0 +1,33 @@
```
usage: freqtrade list-hyperoptloss [-h] [-v] [--no-color] [--logfile FILE]
[-V] [-c PATH] [-d PATH] [--userdir PATH]
[--hyperopt-path PATH] [-1]
options:
-h, --help show this help message and exit
--hyperopt-path PATH Specify additional lookup path for Hyperopt Loss
functions.
-1, --one-column Print output in one column.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

View File

@@ -0,0 +1,48 @@
```
usage: freqtrade list-markets [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH]
[--exchange EXCHANGE] [--print-list]
[--print-json] [-1] [--print-csv]
[--base BASE_CURRENCY [BASE_CURRENCY ...]]
[--quote QUOTE_CURRENCY [QUOTE_CURRENCY ...]]
[-a] [--trading-mode {spot,margin,futures}]
options:
-h, --help show this help message and exit
--exchange EXCHANGE Exchange name. Only valid if no config is provided.
--print-list Print list of pairs or market symbols. By default data
is printed in the tabular format.
--print-json Print list of pairs or market symbols in JSON format.
-1, --one-column Print output in one column.
--print-csv Print exchange pair or market data in the csv format.
--base BASE_CURRENCY [BASE_CURRENCY ...]
Specify base currency(-ies). Space-separated list.
--quote QUOTE_CURRENCY [QUOTE_CURRENCY ...]
Specify quote currency(-ies). Space-separated list.
-a, --all Print all pairs or market symbols. By default only
active ones are shown.
--trading-mode {spot,margin,futures}, --tradingmode {spot,margin,futures}
Select Trading mode
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

View File

@@ -0,0 +1,48 @@
```
usage: freqtrade list-pairs [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH]
[--exchange EXCHANGE] [--print-list]
[--print-json] [-1] [--print-csv]
[--base BASE_CURRENCY [BASE_CURRENCY ...]]
[--quote QUOTE_CURRENCY [QUOTE_CURRENCY ...]] [-a]
[--trading-mode {spot,margin,futures}]
options:
-h, --help show this help message and exit
--exchange EXCHANGE Exchange name. Only valid if no config is provided.
--print-list Print list of pairs or market symbols. By default data
is printed in the tabular format.
--print-json Print list of pairs or market symbols in JSON format.
-1, --one-column Print output in one column.
--print-csv Print exchange pair or market data in the csv format.
--base BASE_CURRENCY [BASE_CURRENCY ...]
Specify base currency(-ies). Space-separated list.
--quote QUOTE_CURRENCY [QUOTE_CURRENCY ...]
Specify quote currency(-ies). Space-separated list.
-a, --all Print all pairs or market symbols. By default only
active ones are shown.
--trading-mode {spot,margin,futures}, --tradingmode {spot,margin,futures}
Select Trading mode
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

View File

@@ -0,0 +1,36 @@
```
usage: freqtrade list-strategies [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH]
[--strategy-path PATH] [-1]
[--recursive-strategy-search]
options:
-h, --help show this help message and exit
--strategy-path PATH Specify additional strategy lookup path.
-1, --one-column Print output in one column.
--recursive-strategy-search
Recursively search for a strategy in the strategies
folder.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

View File

@@ -0,0 +1,32 @@
```
usage: freqtrade list-timeframes [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH]
[--exchange EXCHANGE] [-1]
options:
-h, --help show this help message and exit
--exchange EXCHANGE Exchange name. Only valid if no config is provided.
-1, --one-column Print output in one column.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

View File

@@ -0,0 +1,110 @@
```
usage: freqtrade lookahead-analysis [-h] [-v] [--no-color] [--logfile FILE]
[-V] [-c PATH] [-d PATH] [--userdir PATH]
[-s NAME] [--strategy-path PATH]
[--recursive-strategy-search]
[--freqaimodel NAME]
[--freqaimodel-path PATH] [-i TIMEFRAME]
[--timerange TIMERANGE]
[--data-format-ohlcv {json,jsongz,feather,parquet}]
[--max-open-trades INT]
[--stake-amount STAKE_AMOUNT]
[--fee FLOAT] [-p PAIRS [PAIRS ...]]
[--enable-protections]
[--dry-run-wallet DRY_RUN_WALLET]
[--timeframe-detail TIMEFRAME_DETAIL]
[--strategy-list STRATEGY_LIST [STRATEGY_LIST ...]]
[--export {none,trades,signals}]
[--export-filename PATH]
[--freqai-backtest-live-models]
[--minimum-trade-amount INT]
[--targeted-trade-amount INT]
[--lookahead-analysis-exportfilename LOOKAHEAD_ANALYSIS_EXPORTFILENAME]
options:
-h, --help show this help message and exit
-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,feather,parquet}
Storage format for downloaded candle (OHLCV) data.
(default: `feather`).
--max-open-trades INT
Override the value of the `max_open_trades`
configuration setting.
--stake-amount STAKE_AMOUNT
Override the value of the `stake_amount` configuration
setting.
--fee FLOAT Specify fee ratio. Will be applied twice (on trade
entry and exit).
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
--enable-protections, --enableprotections
Enable protections for backtesting.Will slow
backtesting down by a considerable amount, but will
include configured protections
--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 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, --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`
--freqai-backtest-live-models
Run backtest with ready models.
--minimum-trade-amount INT
Minimum trade amount for lookahead-analysis
--targeted-trade-amount INT
Targeted trade amount for lookahead analysis
--lookahead-analysis-exportfilename LOOKAHEAD_ANALYSIS_EXPORTFILENAME
Use this csv-filename to store lookahead-analysis-
results
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
Strategy arguments:
-s NAME, --strategy NAME
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.
```

51
docs/commands/main.md Normal file
View File

@@ -0,0 +1,51 @@
```
usage: freqtrade [-h] [-V]
{trade,create-userdir,new-config,show-config,new-strategy,download-data,convert-data,convert-trade-data,trades-to-ohlcv,list-data,backtesting,backtesting-show,backtesting-analysis,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-markets,list-pairs,list-strategies,list-hyperoptloss,list-freqaimodels,list-timeframes,show-trades,test-pairlist,convert-db,install-ui,plot-dataframe,plot-profit,webserver,strategy-updater,lookahead-analysis,recursive-analysis}
...
Free, open source crypto trading bot
positional arguments:
{trade,create-userdir,new-config,show-config,new-strategy,download-data,convert-data,convert-trade-data,trades-to-ohlcv,list-data,backtesting,backtesting-show,backtesting-analysis,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-markets,list-pairs,list-strategies,list-hyperoptloss,list-freqaimodels,list-timeframes,show-trades,test-pairlist,convert-db,install-ui,plot-dataframe,plot-profit,webserver,strategy-updater,lookahead-analysis,recursive-analysis}
trade Trade module.
create-userdir Create user-data directory.
new-config Create new config
show-config Show resolved config
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.
trades-to-ohlcv Convert trade data to OHLCV data.
list-data List downloaded data.
backtesting Backtesting module.
backtesting-show Show past Backtest results
backtesting-analysis
Backtest Analysis module.
edge Edge module. No longer part of Freqtrade
hyperopt Hyperopt module.
hyperopt-list List Hyperopt results
hyperopt-show Show details of Hyperopt results
list-exchanges Print available exchanges.
list-markets Print markets on exchange.
list-pairs Print pairs on exchange.
list-strategies Print available strategies.
list-hyperoptloss Print available hyperopt loss functions.
list-freqaimodels Print available freqAI models.
list-timeframes Print available timeframes for the exchange.
show-trades Show trades.
test-pairlist Test your pairlist configuration.
convert-db Migrate database to different system
install-ui Install FreqUI
plot-dataframe Plot candles with indicators.
plot-profit Generate plot showing profits.
webserver Webserver module.
strategy-updater updates outdated strategy files to the current version
lookahead-analysis Check for potential look ahead bias.
recursive-analysis Check for potential recursive formula issue.
options:
-h, --help show this help message and exit
-V, --version show program's version number and exit
```

View File

@@ -0,0 +1,12 @@
```
usage: freqtrade new-config [-h] [-c PATH]
options:
-h, --help show this help message 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.
```

View File

@@ -0,0 +1,19 @@
```
usage: freqtrade new-strategy [-h] [--userdir PATH] [-s NAME]
[--strategy-path PATH]
[--template {full,minimal,advanced}]
options:
-h, --help show this help message and exit
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
-s NAME, --strategy NAME
Specify strategy class name which will be used by the
bot.
--strategy-path PATH Specify additional strategy lookup path.
--template {full,minimal,advanced}
Use a template which is either `minimal`, `full`
(containing multiple sample indicators) or `advanced`.
Default: `full`.
```

View File

@@ -0,0 +1,84 @@
```
usage: freqtrade plot-dataframe [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH] [-s NAME]
[--strategy-path PATH]
[--recursive-strategy-search]
[--freqaimodel NAME] [--freqaimodel-path PATH]
[-p PAIRS [PAIRS ...]]
[--indicators1 INDICATORS1 [INDICATORS1 ...]]
[--indicators2 INDICATORS2 [INDICATORS2 ...]]
[--plot-limit INT] [--db-url PATH]
[--trade-source {DB,file}]
[--export {none,trades,signals}]
[--export-filename PATH]
[--timerange TIMERANGE] [-i TIMEFRAME]
[--no-trades]
options:
-h, --help show this help message and exit
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
--indicators1 INDICATORS1 [INDICATORS1 ...]
Set indicators from your strategy you want in the
first row of the graph. Space-separated list. Example:
`ema3 ema5`. Default: `['sma', 'ema3', 'ema5']`.
--indicators2 INDICATORS2 [INDICATORS2 ...]
Set indicators from your strategy you want in the
third row of the graph. Space-separated list. Example:
`fastd fastk`. Default: `['macd', 'macdsignal']`.
--plot-limit INT Specify tick limit for plotting. Notice: too high
values cause huge files. Default: 750.
--db-url PATH Override trades database URL, this is useful in custom
deployments (default: `sqlite:///tradesv3.sqlite` for
Live Run mode, `sqlite:///tradesv3.dryrun.sqlite` for
Dry Run).
--trade-source {DB,file}
Specify the source for trades (Can be DB or file
(backtest file)) Default: file
--export {none,trades,signals}
Export backtest results (default: trades).
--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`
--timerange TIMERANGE
Specify what timerange of data to use.
-i TIMEFRAME, --timeframe TIMEFRAME
Specify timeframe (`1m`, `5m`, `30m`, `1h`, `1d`).
--no-trades Skip using trades from backtesting file and DB.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
Strategy arguments:
-s NAME, --strategy NAME
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.
```

View File

@@ -0,0 +1,70 @@
```
usage: freqtrade plot-profit [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH] [-s NAME]
[--strategy-path PATH]
[--recursive-strategy-search]
[--freqaimodel NAME] [--freqaimodel-path PATH]
[-p PAIRS [PAIRS ...]] [--timerange TIMERANGE]
[--export {none,trades,signals}]
[--export-filename PATH] [--db-url PATH]
[--trade-source {DB,file}] [-i TIMEFRAME]
[--auto-open]
options:
-h, --help show this help message and exit
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
--timerange TIMERANGE
Specify what timerange of data to use.
--export {none,trades,signals}
Export backtest results (default: trades).
--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`
--db-url PATH Override trades database URL, this is useful in custom
deployments (default: `sqlite:///tradesv3.sqlite` for
Live Run mode, `sqlite:///tradesv3.dryrun.sqlite` for
Dry Run).
--trade-source {DB,file}
Specify the source for trades (Can be DB or file
(backtest file)) Default: file
-i TIMEFRAME, --timeframe TIMEFRAME
Specify timeframe (`1m`, `5m`, `30m`, `1h`, `1d`).
--auto-open Automatically open generated plot.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
Strategy arguments:
-s NAME, --strategy NAME
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.
```

View File

@@ -0,0 +1,62 @@
```
usage: freqtrade recursive-analysis [-h] [-v] [--no-color] [--logfile FILE]
[-V] [-c PATH] [-d PATH] [--userdir PATH]
[-s NAME] [--strategy-path PATH]
[--recursive-strategy-search]
[--freqaimodel NAME]
[--freqaimodel-path PATH] [-i TIMEFRAME]
[--timerange TIMERANGE]
[--data-format-ohlcv {json,jsongz,feather,parquet}]
[-p PAIRS [PAIRS ...]]
[--startup-candle STARTUP_CANDLE [STARTUP_CANDLE ...]]
options:
-h, --help show this help message and exit
-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,feather,parquet}
Storage format for downloaded candle (OHLCV) data.
(default: `feather`).
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
--startup-candle STARTUP_CANDLE [STARTUP_CANDLE ...]
Specify startup candles to be checked (`199`, `499`,
`999`, `1999`).
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
Strategy arguments:
-s NAME, --strategy NAME
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.
```

View File

@@ -0,0 +1,16 @@
```
usage: freqtrade show-config [-h] [--userdir PATH] [-c PATH]
[--show-sensitive]
options:
-h, --help show this help message and exit
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
-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.
--show-sensitive Show secrets in the output.
```

View File

@@ -0,0 +1,39 @@
```
usage: freqtrade show-trades [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH]
[--db-url PATH]
[--trade-ids TRADE_IDS [TRADE_IDS ...]]
[--print-json]
options:
-h, --help show this help message and exit
--db-url PATH Override trades database URL, this is useful in custom
deployments (default: `sqlite:///tradesv3.sqlite` for
Live Run mode, `sqlite:///tradesv3.dryrun.sqlite` for
Dry Run).
--trade-ids TRADE_IDS [TRADE_IDS ...]
Specify the list of trade ids.
--print-json Print output in JSON format.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

View File

@@ -0,0 +1,43 @@
```
usage: freqtrade strategy-updater [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH]
[--strategy-list STRATEGY_LIST [STRATEGY_LIST ...]]
[--strategy-path PATH]
[--recursive-strategy-search]
options:
-h, --help show this help message and exit
--strategy-list STRATEGY_LIST [STRATEGY_LIST ...]
Provide a space-separated list of strategies to
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`
--strategy-path PATH Specify additional strategy lookup path.
--recursive-strategy-search
Recursively search for a strategy in the strategies
folder.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

View File

@@ -0,0 +1,22 @@
```
usage: freqtrade test-pairlist [-h] [--userdir PATH] [-v] [-c PATH]
[--quote QUOTE_CURRENCY [QUOTE_CURRENCY ...]]
[-1] [--print-json] [--exchange EXCHANGE]
options:
-h, --help show this help message and exit
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
-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.
--quote QUOTE_CURRENCY [QUOTE_CURRENCY ...]
Specify quote currency(-ies). Space-separated list.
-1, --one-column Print output in one column.
--print-json Print list of pairs or market symbols in JSON format.
--exchange EXCHANGE Exchange name. Only valid if no config is provided.
```

57
docs/commands/trade.md Normal file
View File

@@ -0,0 +1,57 @@
```
usage: freqtrade trade [-h] [-v] [--no-color] [--logfile FILE] [-V] [-c PATH]
[-d PATH] [--userdir PATH] [-s NAME]
[--strategy-path PATH] [--recursive-strategy-search]
[--freqaimodel NAME] [--freqaimodel-path PATH]
[--db-url PATH] [--sd-notify] [--dry-run]
[--dry-run-wallet DRY_RUN_WALLET] [--fee FLOAT]
options:
-h, --help show this help message and exit
--db-url PATH Override trades database URL, this is useful in custom
deployments (default: `sqlite:///tradesv3.sqlite` for
Live Run mode, `sqlite:///tradesv3.dryrun.sqlite` for
Dry Run).
--sd-notify Notify systemd service manager.
--dry-run Enforce dry-run for trading (removes Exchange secrets
and simulates trades).
--dry-run-wallet DRY_RUN_WALLET, --starting-balance DRY_RUN_WALLET
Starting balance, used for backtesting / hyperopt and
dry-runs.
--fee FLOAT Specify fee ratio. Will be applied twice (on trade
entry and exit).
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
Strategy arguments:
-s NAME, --strategy NAME
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.
```

View File

@@ -0,0 +1,50 @@
```
usage: freqtrade trades-to-ohlcv [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH]
[-p PAIRS [PAIRS ...]]
[-t TIMEFRAMES [TIMEFRAMES ...]]
[--exchange EXCHANGE]
[--data-format-ohlcv {json,jsongz,feather,parquet}]
[--data-format-trades {json,jsongz,feather,parquet}]
[--trading-mode {spot,margin,futures}]
options:
-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. Only valid if no config is provided.
--data-format-ohlcv {json,jsongz,feather,parquet}
Storage format for downloaded candle (OHLCV) data.
(default: `feather`).
--data-format-trades {json,jsongz,feather,parquet}
Storage format for downloaded trades data. (default:
`feather`).
--trading-mode {spot,margin,futures}, --tradingmode {spot,margin,futures}
Select Trading mode
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

View File

@@ -0,0 +1,29 @@
```
usage: freqtrade webserver [-h] [-v] [--no-color] [--logfile FILE] [-V]
[-c PATH] [-d PATH] [--userdir PATH]
options:
-h, --help show this help message and exit
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--logfile FILE, --log-file 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 the base directory of the exchange with
historical backtesting data. To see futures data, use
trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
```

View File

@@ -39,13 +39,19 @@ Please note that Environment variables will overwrite corresponding settings in
Common example:
```
``` bash
FREQTRADE__TELEGRAM__CHAT_ID=<telegramchatid>
FREQTRADE__TELEGRAM__TOKEN=<telegramToken>
FREQTRADE__EXCHANGE__KEY=<yourExchangeKey>
FREQTRADE__EXCHANGE__SECRET=<yourExchangeSecret>
```
Json lists are parsed as json - so you can use the following to set a list of pairs:
``` bash
export FREQTRADE__EXCHANGE__PAIR_WHITELIST='["BTC/USDT", "ETH/USDT"]'
```
!!! 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.
@@ -54,7 +60,7 @@ FREQTRADE__EXCHANGE__SECRET=<yourExchangeSecret>
??? Warning "Loading sequence"
Environment variables are loaded after the initial configuration. As such, you cannot provide the path to the configuration through environment variables. Please use `--config path/to/config.json` for that.
This also applies to user_dir to some degree. while the user directory can be set through environment variables - the configuration will **not** be loaded from that location.
This also applies to `user_dir` to some degree. while the user directory can be set through environment variables - the configuration will **not** be loaded from that location.
### Multiple configuration files
@@ -146,10 +152,10 @@ Freqtrade can also load many options via command line (CLI) arguments (check out
The prevalence for all Options is as follows:
- CLI arguments override any other option
- [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.
* CLI arguments override any other option
* [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
@@ -168,13 +174,13 @@ Mandatory parameters are marked as **Required**, which means that they are requi
| `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
| `dry_run_wallet` | Define the starting amount in stake currency for the simulated wallet used by the bot running in Dry Run mode. [More information below](#dry-run-wallet)<br>*Defaults to `1000`.* <br> **Datatype:** Float or Dict
| `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 `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` | Changes stoploss once profit has been reached. More details in the [stoploss documentation](stoploss.md#trailing-stop-loss-different-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)
@@ -183,7 +189,7 @@ Mandatory parameters are marked as **Required**, which means that they are requi
| `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.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. [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
| `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
@@ -199,7 +205,7 @@ Mandatory parameters are marked as **Required**, which means that they are requi
| `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**
| | **Order/Signal handling**
| `use_exit_signal` | Use exit signals produced by the strategy in addition to the `minimal_roi`. <br>Setting this to false disables the usage of `"exit_long"` and `"exit_short"` columns. Has no influence on other exit methods (Stoploss, ROI, callbacks). [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)
@@ -225,9 +231,9 @@ Mandatory parameters are marked as **Required**, which means that they are requi
| `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
| `exchange.only_from_ccxt` | Prevent data-download from data.binance.vision. Leaving this as false can greatly speed up downloads, but may be problematic if the site is not available.<br>*Defaults to `false`*<br> **Datatype:** Boolean
| `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
| | **Telegram**
| `telegram.enabled` | Enable the usage of Telegram. <br> **Datatype:** Boolean
@@ -259,7 +265,7 @@ Mandatory parameters are marked as **Required**, which means that they are requi
| `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
| `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`
| `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 `running`, `paused` or `stopped`
| `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
| `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
@@ -274,7 +280,8 @@ Mandatory parameters are marked as **Required**, which means that they are requi
| `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 `feather`*. <br> **Datatype:** String
| `dataformat_trades` | Data format to use to store historical trades data. <br> *Defaults to `feather`*. <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`.
| `reduce_df_footprint` | Recast all numeric columns to float32/int32, with the objective of reducing ram/disk usage (and decreasing train/inference timing backtesting/hyperopt and in FreqAI). <br> **Datatype:** Boolean. <br> Default: `False`.
| `log_config` | Dictionary containing the log config for python logging. [more info](advanced-setup.md#advanced-logging) <br> **Datatype:** dict. <br> Default: `FtRichHandler`
### Parameters in the strategy
@@ -295,10 +302,10 @@ Values set in the configuration file always overwrite values set in the strategy
* `order_time_in_force`
* `unfilledtimeout`
* `disable_dataframe_checks`
- `use_exit_signal`
* `use_exit_signal`
* `exit_profit_only`
- `exit_profit_offset`
- `ignore_roi_if_entry_signal`
* `exit_profit_offset`
* `ignore_roi_if_entry_signal`
* `ignore_buying_expired_candle_after`
* `position_adjustment_enable`
* `max_entry_position_adjustment`
@@ -311,18 +318,37 @@ There are several methods to configure how much of the stake currency the bot wi
The minimum stake amount will depend on 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 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.
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%).
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 into 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. 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.
#### Dry-run wallet
When running in dry-run mode, the bot will use a simulated wallet to execute trades. The starting balance of this wallet is defined by `dry_run_wallet` (defaults to 1000).
For more complex scenarios, you can also assign a dictionary to `dry_run_wallet` to define the starting balance for each currency.
```json
"dry_run_wallet": {
"BTC": 0.01,
"ETH": 2,
"USDT": 1000
}
```
Command line options (`--dry-run-wallet`) can be used to override the configuration value, but only for the float value, not for the dictionary. If you'd like to use the dictionary, please adjust the configuration file.
!!! Note
Balances not in stake-currency will not be used for trading, but are shown as part of the wallet balance.
On Cross-margin exchanges, the wallet balance may be used to calculate the available collateral for trading.
#### 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.
@@ -362,9 +388,9 @@ To overcome this, the option `amend_last_stake_amount` can be set to `True`, whi
In the example above this would mean:
- Trade1: 400 USDT
- Trade2: 400 USDT
- Trade3: 200 USDT
* Trade1: 400 USDT
* Trade2: 400 USDT
* Trade3: 200 USDT
!!! Note
This option only applies with [Static stake amount](#static-stake-amount) - since [Dynamic stake amount](#dynamic-stake-amount) divides the balances evenly.
@@ -645,7 +671,7 @@ Should you experience problems you suspect are caused by websockets, you can dis
}
```
Should you be required to use a proxy, please refer to the [proxy section](#using-proxy-with-freqtrade) for more information.
Should you be required to use a proxy, please refer to the [proxy section](#using-a-proxy-with-freqtrade) for more information.
!!! Info "Rollout"
We're implementing this out slowly, ensuring stability of your bots.

View File

@@ -11,86 +11,16 @@ Without provided configuration, `--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, 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.
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 missing timerange 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 the `--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.
### Usage
```
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]
[--convert] [--exchange EXCHANGE]
[-t TIMEFRAMES [TIMEFRAMES ...]] [--erase]
[--data-format-ohlcv {json,jsongz,hdf5,feather,parquet}]
[--data-format-trades {json,jsongz,hdf5,feather,parquet}]
[--trading-mode {spot,margin,futures}]
[--prepend]
options:
-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. 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
resample trades to the desired timeframe as specified
as --timeframes/-t.
--convert Convert downloaded trades to OHLCV data. Only
applicable in combination with `--dl-trades`. Will be
automatic for exchanges which don't have historic
OHLCV (e.g. Kraken). If not provided, use `trades-to-
ohlcv` to convert trades data to OHLCV data.
--exchange EXCHANGE Exchange name. Only valid if no config is provided.
-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,feather,parquet}
Storage format for downloaded candle (OHLCV) data.
(default: `feather`).
--data-format-trades {json,jsongz,hdf5,feather,parquet}
Storage format for downloaded trades data. (default:
`feather`).
--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).
--logfile FILE, --log-file 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.
```
--8<-- "commands/download-data.md"
!!! 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.
`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 "Startup period"
@@ -117,16 +47,17 @@ freqtrade download-data --exchange binance --pairs ETH/USDT XRP/USDT BTC/USDT
or as regex (in this case, to download all active USDT pairs)
```bash
freqtrade download-data --exchange binance --pairs .*/USDT
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 change the exchange used to download the historical data from, either use `--exchange <exchange>` - or specify a different configuration file.
* 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.
* Given starting points are ignored if data is already available, downloading only missing data up to today.
* 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.
@@ -162,7 +93,6 @@ Freqtrade currently supports the following data-formats:
* `feather` - a dataformat based on Apache Arrow
* `json` - plain "text" json files
* `jsongz` - a gzip-zipped version of json files
* `hdf5` - a high performance datastore
* `parquet` - columnar datastore (OHLCV only)
By default, both OHLCV data and trades data are stored in the `feather` format.
@@ -172,8 +102,8 @@ To persist this change, you should also add the following snippet to your config
``` jsonc
// ...
"dataformat_ohlcv": "hdf5",
"dataformat_trades": "hdf5",
"dataformat_ohlcv": "feather",
"dataformat_trades": "feather",
// ...
```
@@ -211,7 +141,6 @@ time freqtrade list-data --show-timerange --data-format-ohlcv <dataformat>
| `feather` | 72Mb | 3.5s |
| `json` | 149Mb | 25.6s |
| `jsongz` | 39Mb | 27s |
| `hdf5` | 145Mb | 3.9s |
| `parquet` | 83Mb | 3.8s |
Size has been taken from the BTC/USDT 1m spot combination for the timerange specified above.
@@ -249,55 +178,7 @@ Mixing different stake-currencies is allowed for this file, since it's only used
## 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,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} ...]]
options:
-h, --help show this help message and exit
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
--format-from {json,jsongz,hdf5,feather,parquet}
Source format for data conversion.
--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. 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 convert. Defaults to all
available types.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--logfile FILE, --log-file 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.
```
--8<-- "commands/convert-data.md"
### Example converting data
@@ -310,46 +191,7 @@ freqtrade convert-data --format-from json --format-to jsongz --datadir ~/.freqtr
## Sub-command convert trade data
```
usage: freqtrade convert-trade-data [-h] [-v] [--logfile FILE] [-V] [-c PATH]
[-d PATH] [--userdir PATH]
[-p PAIRS [PAIRS ...]] --format-from
{json,jsongz,hdf5,feather,parquet}
--format-to
{json,jsongz,hdf5,feather,parquet}
[--erase] [--exchange EXCHANGE]
options:
-h, --help show this help message and exit
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
--format-from {json,jsongz,hdf5,feather,parquet}
Source format for data conversion.
--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. Only valid if no config is provided.
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--logfile FILE, --log-file 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.
```
--8<-- "commands/convert-trade-data.md"
### Example converting trades
@@ -365,49 +207,7 @@ freqtrade convert-trade-data --format-from jsongz --format-to json --datadir ~/.
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 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,feather}]
options:
-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. Only valid if no config is provided.
--data-format-ohlcv {json,jsongz,hdf5,feather,parquet}
Storage format for downloaded candle (OHLCV) data.
(default: `feather`).
--data-format-trades {json,jsongz,hdf5,feather}
Storage format for downloaded trades data. (default:
`feather`).
Common arguments:
-v, --verbose Verbose mode (-vv for more, -vvv to get all messages).
--logfile FILE, --log-file 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.
```
--8<-- "commands/trades-to-ohlcv.md"
### Example trade-to-ohlcv conversion
@@ -419,51 +219,7 @@ freqtrade trades-to-ohlcv --exchange kraken -t 5m 1h 1d --pairs BTC/EUR ETH/EUR
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}]
[--data-format-trades {json,jsongz,hdf5,feather,parquet}]
[--trades] [-p PAIRS [PAIRS ...]]
[--trading-mode {spot,margin,futures}]
[--show-timerange]
options:
-h, --help show this help message and exit
--exchange EXCHANGE Exchange name. Only valid if no config is provided.
--data-format-ohlcv {json,jsongz,hdf5,feather,parquet}
Storage format for downloaded candle (OHLCV) data.
(default: `feather`).
--data-format-trades {json,jsongz,hdf5,feather,parquet}
Storage format for downloaded trades data. (default:
`feather`).
--trades Work on trades data instead of OHLCV data.
-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-file 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.
```
--8<-- "commands/list-data.md"
### Example list-data

View File

@@ -81,4 +81,20 @@ version 2023.3 saw the removal of `populate_any_indicators` in favor of split me
## Removal of `protections` from configuration
Setting protections from the configuration via `"protections": [],` has been removed in 2024.10, after having raised deprecation warnings for over 3 years.
Setting protections from the configuration via `"protections": [],` has been removed in 2024.10, after having raised deprecation warnings for over 3 years.
## hdf5 data storage
Using hdf5 as data storage has been deprecated in 2024.12 and was removed in 2025.1. We recommend switching to the feather data format.
Please use the [`convert-data` subcommand](data-download.md#sub-command-convert-data) to convert your existing data to one of the supported formats before updating.
## Configuring advanced logging via config
Configuring syslog and journald via `--logfile systemd` and `--logfile journald` respectively has been deprecated in 2025.3.
Please use configuration based [log setup](advanced-setup.md#advanced-logging) instead.
## Removal of the edge module
The edge module has been deprecated in 2023.9 and removed in 2025.6.
All functionalities of edge have been removed, and having edge configured will result in an error.

View File

@@ -162,7 +162,7 @@ Hopefully you also want to contribute this back upstream.
Whatever your motivations are - This should get you off the ground in trying to develop a new Pairlist Handler.
First of all, have a look at the [VolumePairList](https://github.com/freqtrade/freqtrade/blob/develop/freqtrade/pairlist/VolumePairList.py) Handler, and best copy this file with a name of your new Pairlist Handler.
First of all, have a look at the [VolumePairList](https://github.com/freqtrade/freqtrade/blob/develop/freqtrade/plugins/pairlist/VolumePairList.py) Handler, and best copy this file with a name of your new Pairlist Handler.
This is a simple Handler, which however serves as a good example on how to start developing.
@@ -226,7 +226,7 @@ In `VolumePairList`, this implements different methods of sorting, does early va
##### sample
``` python
def filter_pairlist(self, pairlist: List[str], tickers: Dict) -> List[str]:
def filter_pairlist(self, pairlist: list[str], tickers: dict) -> List[str]:
# Generate dynamic whitelist
pairs = self._calculate_pairlist(pairlist, tickers)
return pairs
@@ -304,6 +304,13 @@ The `IProtection` parent class provides a helper method for this in `calculate_l
Most exchanges supported by CCXT should work out of the box.
If you need to implement a specific exchange class, these are found in the `freqtrade/exchange` source folder. You'll also need to add the import to `freqtrade/exchange/__init__.py` to make the loading logic aware of the new exchange.
We recommend looking at existing exchange implementations to get an idea of what might be required.
!!! Warning
Implementing and testing an exchange can be a lot of trial and error, so please bear this in mind.
You should also have some development experience, as this is not a beginner task.
To quickly test the public endpoints of an exchange, add a configuration for your exchange to `tests/exchange_online/conftest.py` and run these tests with `pytest --longrun tests/exchange_online/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).

View File

@@ -1,357 +0,0 @@
# Edge positioning
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.
!!! Danger "Deprecated functionality"
`Edge positioning` (or short Edge) is currently in maintenance mode only (we keep existing functionality alive) and should be considered as deprecated.
It will currently not receive new features until either someone stepped forward to take up ownership of that module - or we'll decide to remove edge from freqtrade.
!!! 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.
!!! 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.
`Edge Positioning` improves the performance of some trading strategies and *decreases* the performance of others.
## Introduction
Trading strategies are not perfect. They are frameworks that are susceptible to the market and its indicators. Because the market is not at all predictable, sometimes a strategy will win and sometimes the same strategy will lose.
To obtain an edge in the market, a strategy has to make more money than it loses. Making money in trading is not only about *how often* the strategy makes or loses money.
!!! tip "It doesn't matter how often, but how much!"
A bad strategy might make 1 penny in *ten* transactions but lose 1 dollar in *one* transaction. If one only checks the number of winning trades, it would be misleading to think that the strategy is actually making a profit.
The Edge Positioning module seeks to improve a strategy's winning probability and the money that the strategy will make *on the long run*.
We raise the following question[^1]:
!!! Question "Which trade is a better option?"
a) A trade with 80% of chance of losing 100\$ and 20% chance of winning 200\$<br/>
b) A trade with 100% of chance of losing 30\$
???+ Info "Answer"
The expected value of *a)* is smaller than the expected value of *b)*.<br/>
Hence, *b*) represents a smaller loss in the long run.<br/>
However, the answer is: *it depends*
Another way to look at it is to ask a similar question:
!!! Question "Which trade is a better option?"
a) A trade with 80% of chance of winning 100\$ and 20% chance of losing 200\$<br/>
b) A trade with 100% of chance of winning 30\$
Edge positioning tries to answer the hard questions about risk/reward and position size automatically, seeking to minimizes the chances of losing of a given strategy.
### Trading, winning and losing
Let's call $o$ the return of a single transaction $o$ where $o \in \mathbb{R}$. The collection $O = \{o_1, o_2, ..., o_N\}$ is the set of all returns of transactions made during a trading session. We say that $N$ is the cardinality of $O$, or, in lay terms, it is the number of transactions made in a trading session.
!!! Example
In a session where a strategy made three transactions we can say that $O = \{3.5, -1, 15\}$. That means that $N = 3$ and $o_1 = 3.5$, $o_2 = -1$, $o_3 = 15$.
A winning trade is a trade where a strategy *made* money. Making money means that the strategy closed the position in a value that returned a profit, after all deducted fees. Formally, a winning trade will have a return $o_i > 0$. Similarly, a losing trade will have a return $o_j \leq 0$. With that, we can discover the set of all winning trades, $T_{win}$, as follows:
$$ T_{win} = \{ o \in O | o > 0 \} $$
Similarly, we can discover the set of losing trades $T_{lose}$ as follows:
$$ T_{lose} = \{o \in O | o \leq 0\} $$
!!! Example
In a section where a strategy made four transactions $O = \{3.5, -1, 15, 0\}$:<br>
$T_{win} = \{3.5, 15\}$<br>
$T_{lose} = \{-1, 0\}$<br>
### Win Rate and Lose Rate
The win rate $W$ is the proportion of winning trades with respect to all the trades made by a strategy. We use the following function to compute the win rate:
$$W = \frac{|T_{win}|}{N}$$
Where $W$ is the win rate, $N$ is the number of trades and, $T_{win}$ is the set of all trades where the strategy made money.
Similarly, we can compute the rate of losing trades:
$$
L = \frac{|T_{lose}|}{N}
$$
Where $L$ is the lose rate, $N$ is the amount of trades made and, $T_{lose}$ is the set of all trades where the strategy lost money. Note that the above formula is the same as calculating $L = 1 W$ or $W = 1 L$
### Risk Reward Ratio
Risk Reward Ratio ($R$) is a formula used to measure the expected gains of a given investment against the risk of loss. It is basically what you potentially win divided by what you potentially lose. Formally:
$$ R = \frac{\text{potential_profit}}{\text{potential_loss}} $$
???+ Example "Worked example of $R$ calculation"
Let's say that you think that the price of *stonecoin* today is 10.0\$. You believe that, because they will start mining stonecoin, it will go up to 15.0\$ tomorrow. There is the risk that the stone is too hard, and the GPUs can't mine it, so the price might go to 0\$ tomorrow. You are planning to invest 100\$, which will give you 10 shares (100 / 10).
Your potential profit is calculated as:
$\begin{aligned}
\text{potential_profit} &= (\text{potential_price} - \text{entry_price}) * \frac{\text{investment}}{\text{entry_price}} \\
&= (15 - 10) * (100 / 10) \\
&= 50
\end{aligned}$
Since the price might go to 0\$, the 100\$ dollars invested could turn into 0.
We do however use a stoploss of 15% - so in the worst case, we'll sell 15% below entry price (or at 8.5$\).
$\begin{aligned}
\text{potential_loss} &= (\text{entry_price} - \text{stoploss}) * \frac{\text{investment}}{\text{entry_price}} \\
&= (10 - 8.5) * (100 / 10)\\
&= 15
\end{aligned}$
We can compute the Risk Reward Ratio as follows:
$\begin{aligned}
R &= \frac{\text{potential_profit}}{\text{potential_loss}}\\
&= \frac{50}{15}\\
&= 3.33
\end{aligned}$<br>
What it effectively means is that the strategy have the potential to make 3.33\$ for each 1\$ invested.
On a long horizon, that is, on many trades, we can calculate the risk reward by dividing the strategy' average profit on winning trades by the strategy' average loss on losing trades. We can calculate the average profit, $\mu_{win}$, as follows:
$$ \text{average_profit} = \mu_{win} = \frac{\text{sum_of_profits}}{\text{count_winning_trades}} = \frac{\sum^{o \in T_{win}} o}{|T_{win}|} $$
Similarly, we can calculate the average loss, $\mu_{lose}$, as follows:
$$ \text{average_loss} = \mu_{lose} = \frac{\text{sum_of_losses}}{\text{count_losing_trades}} = \frac{\sum^{o \in T_{lose}} o}{|T_{lose}|} $$
Finally, we can calculate the Risk Reward ratio, $R$, as follows:
$$ R = \frac{\text{average_profit}}{\text{average_loss}} = \frac{\mu_{win}}{\mu_{lose}}\\ $$
???+ Example "Worked example of $R$ calculation using mean profit/loss"
Let's say the strategy that we are using makes an average win $\mu_{win} = 2.06$ and an average loss $\mu_{loss} = 4.11$.<br>
We calculate the risk reward ratio as follows:<br>
$R = \frac{\mu_{win}}{\mu_{loss}} = \frac{2.06}{4.11} = 0.5012...$
### Expectancy
By combining the Win Rate $W$ and the Risk Reward ratio $R$ to create an expectancy ratio $E$. A expectance ratio is the expected return of the investment made in a trade. We can compute the value of $E$ as follows:
$$E = R * W - L$$
!!! Example "Calculating $E$"
Let's say that a strategy has a win rate $W = 0.28$ and a risk reward ratio $R = 5$. What this means is that the strategy is expected to make 5 times the investment around on 28% of the trades it makes. Working out the example:<br>
$E = R * W - L = 5 * 0.28 - 0.72 = 0.68$
<br>
The expectancy worked out in the example above means that, on average, this strategy' trades will return 1.68 times the size of its losses. Said another way, the strategy makes 1.68\$ for every 1\$ it loses, on average.
This is important for two reasons: First, it may seem obvious, but you know right away that you have a positive return. Second, you now have a number you can compare to other candidate systems to make decisions about which ones you employ.
It is important to remember that any system with an expectancy greater than 0 is profitable using past data. The key is finding one that will be profitable in the future.
You can also use this value to evaluate the effectiveness of modifications to this system.
!!! Note
It's important to keep in mind that Edge is testing your expectancy using historical data, there's no guarantee that you will have a similar edge in the future. It's still vital to do this testing in order to build confidence in your methodology but be wary of "curve-fitting" your approach to the historical data as things are unlikely to play out the exact same way for future trades.
## How does it work?
Edge combines dynamic stoploss, dynamic positions, and whitelist generation into one isolated module which is then applied to the trading strategy. If enabled in config, Edge will go through historical data with a range of stoplosses in order to find buy and sell/stoploss signals. It then calculates win rate and expectancy over *N* trades for each stoploss. Here is an example:
| Pair | Stoploss | Win Rate | Risk Reward Ratio | Expectancy |
|----------|:-------------:|-------------:|------------------:|-----------:|
| XZC/ETH | -0.01 | 0.50 |1.176384 | 0.088 |
| XZC/ETH | -0.02 | 0.51 |1.115941 | 0.079 |
| XZC/ETH | -0.03 | 0.52 |1.359670 | 0.228 |
| XZC/ETH | -0.04 | 0.51 |1.234539 | 0.117 |
The goal here is to find the best stoploss for the strategy in order to have the maximum expectancy. In the above example stoploss at $3%$ leads to the maximum expectancy according to historical data.
Edge module then forces stoploss value it evaluated to your strategy dynamically.
### Position size
Edge dictates the amount at stake for each trade to the bot according to the following factors:
- Allowed capital at risk
- Stoploss
Allowed capital at risk is calculated as follows:
```
Allowed capital at risk = (Capital available_percentage) X (Allowed risk per trade)
```
Stoploss is calculated as described above with respect to historical data.
The position size is calculated as follows:
```
Position size = (Allowed capital at risk) / Stoploss
```
Example:
Let's say the stake currency is **ETH** and there is $10$ **ETH** on the wallet. The capital available percentage is $50%$ and the allowed risk per trade is $1\%$. Thus, the available capital for trading is $10 * 0.5 = 5$ **ETH** and the allowed capital at risk would be $5 * 0.01 = 0.05$ **ETH**.
- **Trade 1:** The strategy detects a new buy signal in the **XLM/ETH** market. `Edge Positioning` calculates a stoploss of $2\%$ and a position of $0.05 / 0.02 = 2.5$ **ETH**. The bot takes a position of $2.5$ **ETH** in the **XLM/ETH** market.
- **Trade 2:** The strategy detects a buy signal on the **BTC/ETH** market while **Trade 1** is still open. `Edge Positioning` calculates the stoploss of $4\%$ on this market. Thus, **Trade 2** position size is $0.05 / 0.04 = 1.25$ **ETH**.
!!! Tip "Available Capital $\neq$ Available in wallet"
The available capital for trading didn't change in **Trade 2** even with **Trade 1** still open. The available capital **is not** the free amount in the wallet.
- **Trade 3:** The strategy detects a buy signal in the **ADA/ETH** market. `Edge Positioning` calculates a stoploss of $1\%$ and a position of $0.05 / 0.01 = 5$ **ETH**. Since **Trade 1** has $2.5$ **ETH** blocked and **Trade 2** has $1.25$ **ETH** blocked, there is only $5 - 1.25 - 2.5 = 1.25$ **ETH** available. Hence, the position size of **Trade 3** is $1.25$ **ETH**.
!!! Tip "Available Capital Updates"
The available capital does not change before a position is sold. After a trade is closed the Available Capital goes up if the trade was profitable or goes down if the trade was a loss.
- The strategy detects a sell signal in the **XLM/ETH** market. The bot exits **Trade 1** for a profit of $1$ **ETH**. The total capital in the wallet becomes $11$ **ETH** and the available capital for trading becomes $5.5$ **ETH**.
- **Trade 4** The strategy detects a new buy signal int the **XLM/ETH** market. `Edge Positioning` calculates the stoploss of $2\%$, and the position size of $0.055 / 0.02 = 2.75$ **ETH**.
## Edge command reference
```
usage: freqtrade edge [-h] [-v] [--logfile FILE] [-V] [-c PATH] [-d PATH]
[--userdir PATH] [-s NAME] [--strategy-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 ...]]
[--stoplosses STOPLOSS_RANGE]
optional arguments:
-h, --help show this help message and exit
-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`).
--max-open-trades INT
Override the value of the `max_open_trades`
configuration setting.
--stake-amount STAKE_AMOUNT
Override the value of the `stake_amount` configuration
setting.
--fee FLOAT Specify fee ratio. Will be applied twice (on trade
entry and exit).
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
--stoplosses STOPLOSS_RANGE
Defines a range of stoploss values against which edge
will assess the strategy. The format is "min,max,step"
(without any space). Example:
`--stoplosses=-0.01,-0.1,-0.001`
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
Path to directory with historical backtesting data.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
Strategy arguments:
-s NAME, --strategy NAME
Specify strategy class name which will be used by the
bot.
--strategy-path PATH Specify additional strategy lookup path.
```
## Configurations
Edge module has following configuration options:
| Parameter | Description |
|------------|-------------|
| `enabled` | If true, then Edge will run periodically. <br>*Defaults to `false`.* <br> **Datatype:** Boolean
| `process_throttle_secs` | How often should Edge run in seconds. <br>*Defaults to `3600` (once per hour).* <br> **Datatype:** Integer
| `calculate_since_number_of_days` | Number of days of data against which Edge calculates Win Rate, Risk Reward and Expectancy. <br> **Note** that it downloads historical data so increasing this number would lead to slowing down the bot. <br>*Defaults to `7`.* <br> **Datatype:** Integer
| `allowed_risk` | Ratio of allowed risk per trade. <br>*Defaults to `0.01` (1%)).* <br> **Datatype:** Float
| `stoploss_range_min` | Minimum stoploss. <br>*Defaults to `-0.01`.* <br> **Datatype:** Float
| `stoploss_range_max` | Maximum stoploss. <br>*Defaults to `-0.10`.* <br> **Datatype:** Float
| `stoploss_range_step` | As an example if this is set to -0.01 then Edge will test the strategy for `[-0.01, -0,02, -0,03 ..., -0.09, -0.10]` ranges. <br> **Note** than having a smaller step means having a bigger range which could lead to slow calculation. <br> If you set this parameter to -0.001, you then slow down the Edge calculation by a factor of 10. <br>*Defaults to `-0.001`.* <br> **Datatype:** Float
| `minimum_winrate` | It filters out pairs which don't have at least minimum_winrate. <br>This comes handy if you want to be conservative and don't comprise win rate in favour of risk reward ratio. <br>*Defaults to `0.60`.* <br> **Datatype:** Float
| `minimum_expectancy` | It filters out pairs which have the expectancy lower than this number. <br>Having an expectancy of 0.20 means if you put 10\$ on a trade you expect a 12\$ return. <br>*Defaults to `0.20`.* <br> **Datatype:** Float
| `min_trade_number` | When calculating *W*, *R* and *E* (expectancy) against historical data, you always want to have a minimum number of trades. The more this number is the more Edge is reliable. <br>Having a win rate of 100% on a single trade doesn't mean anything at all. But having a win rate of 70% over past 100 trades means clearly something. <br>*Defaults to `10` (it is highly recommended not to decrease this number).* <br> **Datatype:** Integer
| `max_trade_duration_minute` | Edge will filter out trades with long duration. If a trade is profitable after 1 month, it is hard to evaluate the strategy based on it. But if most of trades are profitable and they have maximum duration of 30 minutes, then it is clearly a good sign.<br>**NOTICE:** While configuring this value, you should take into consideration your timeframe. As an example filtering out trades having duration less than one day for a strategy which has 4h interval does not make sense. Default value is set assuming your strategy interval is relatively small (1m or 5m, etc.).<br>*Defaults to `1440` (one day).* <br> **Datatype:** Integer
| `remove_pumps` | Edge will remove sudden pumps in a given market while going through historical data. However, given that pumps happen very often in crypto markets, we recommend you keep this off.<br>*Defaults to `false`.* <br> **Datatype:** Boolean
## Running Edge independently
You can run Edge independently in order to see in details the result. Here is an example:
``` bash
freqtrade edge
```
An example of its output:
| **pair** | **stoploss** | **win rate** | **risk reward ratio** | **required risk reward** | **expectancy** | **total number of trades** | **average duration (min)** |
|:----------|-----------:|-----------:|--------------------:|-----------------------:|-------------:|-----------------:|---------------:|
| **AGI/BTC** | -0.02 | 0.64 | 5.86 | 0.56 | 3.41 | 14 | 54 |
| **NXS/BTC** | -0.03 | 0.64 | 2.99 | 0.57 | 1.54 | 11 | 26 |
| **LEND/BTC** | -0.02 | 0.82 | 2.05 | 0.22 | 1.50 | 11 | 36 |
| **VIA/BTC** | -0.01 | 0.55 | 3.01 | 0.83 | 1.19 | 11 | 48 |
| **MTH/BTC** | -0.09 | 0.56 | 2.82 | 0.80 | 1.12 | 18 | 52 |
| **ARDR/BTC** | -0.04 | 0.42 | 3.14 | 1.40 | 0.73 | 12 | 42 |
| **BCPT/BTC** | -0.01 | 0.71 | 1.34 | 0.40 | 0.67 | 14 | 30 |
| **WINGS/BTC** | -0.02 | 0.56 | 1.97 | 0.80 | 0.65 | 27 | 42 |
| **VIBE/BTC** | -0.02 | 0.83 | 0.91 | 0.20 | 0.59 | 12 | 35 |
| **MCO/BTC** | -0.02 | 0.79 | 0.97 | 0.27 | 0.55 | 14 | 31 |
| **GNT/BTC** | -0.02 | 0.50 | 2.06 | 1.00 | 0.53 | 18 | 24 |
| **HOT/BTC** | -0.01 | 0.17 | 7.72 | 4.81 | 0.50 | 209 | 7 |
| **SNM/BTC** | -0.03 | 0.71 | 1.06 | 0.42 | 0.45 | 17 | 38 |
| **APPC/BTC** | -0.02 | 0.44 | 2.28 | 1.27 | 0.44 | 25 | 43 |
| **NEBL/BTC** | -0.03 | 0.63 | 1.29 | 0.58 | 0.44 | 19 | 59 |
Edge produced the above table by comparing `calculate_since_number_of_days` to `minimum_expectancy` to find `min_trade_number` historical information based on the config file. The timerange Edge uses for its comparisons can be further limited by using the `--timerange` switch.
In live and dry-run modes, after the `process_throttle_secs` has passed, Edge will again process `calculate_since_number_of_days` against `minimum_expectancy` to find `min_trade_number`. If no `min_trade_number` is found, the bot will return "whitelist empty". Depending on the trade strategy being deployed, "whitelist empty" may be return much of the time - or *all* of the time. The use of Edge may also cause trading to occur in bursts, though this is rare.
If you encounter "whitelist empty" a lot, condsider tuning `calculate_since_number_of_days`, `minimum_expectancy` and `min_trade_number` to align to the trading frequency of your strategy.
### Update cached pairs with the latest data
Edge requires historic data the same way as backtesting does.
Please refer to the [Data Downloading](data-download.md) section of the documentation for details.
### Precising stoploss range
```bash
freqtrade edge --stoplosses=-0.01,-0.1,-0.001 #min,max,step
```
### Advanced use of timerange
```bash
freqtrade edge --timerange=20181110-20181113
```
Doing `--timerange=-20190901` will get all available data until September 1st (excluding September 1st 2019).
The full timerange specification:
* Use tickframes till 2018/01/31: `--timerange=-20180131`
* Use tickframes since 2018/01/31: `--timerange=20180131-`
* Use tickframes since 2018/01/31 till 2018/03/01 : `--timerange=20180131-20180301`
* Use tickframes between POSIX timestamps 1527595200 1527618600: `--timerange=1527595200-1527618600`
[^1]: Question extracted from MIT Opencourseware S096 - Mathematics with applications in Finance: https://ocw.mit.edu/courses/mathematics/18-s096-topics-in-mathematics-with-applications-in-finance-fall-2013/

View File

@@ -118,7 +118,7 @@ When trading on Binance Futures market, orderbook must be used because there is
},
```
#### Binance futures settings
#### Binance isolated 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.
@@ -127,6 +127,27 @@ These settings will be checked on startup, and freqtrade will show an error if t
Freqtrade will not attempt to change these settings.
#### Binance BNFCR futures
BNFCR mode are a special type of futures mode on Binance to work around regulatory issues in Europe.
To use BNFCR futures, you will have to have the following combination of settings:
``` jsonc
{
// ...
"trading_mode": "futures",
"margin_mode": "cross",
"proxy_coin": "BNFCR",
"stake_currency": "USDT" // or "USDC"
// ...
}
```
The `stake_currency` setting defines the markets the bot will be operating in. This choice is really arbitrary.
On the exchange, you'll have to use "Multi-asset Mode" - and "Position Mode set to "One-way Mode".
Freqtrade will check these settings on startup, but won't attempt to change them.
## Bingx
BingX supports [time_in_force](configuration.md#understand-order_time_in_force) with settings "GTC" (good till cancelled), "IOC" (immediate-or-cancel) and "PO" (Post only) settings.
@@ -189,7 +210,7 @@ freqtrade download-data --exchange kraken --dl-trades -p BTC/EUR BCH/EUR
It will also take a long time, as freqtrade will need to download every single trade that happened on the exchange for the pair / timerange combination, therefore please be patient.
!!! Warning "rateLimit tuning"
Please pay attention that rateLimit configuration entry holds delay in milliseconds between requests, NOT requests\sec rate.
Please pay attention that rateLimit configuration entry holds delay in milliseconds between requests, NOT requests/sec rate.
So, in order to mitigate Kraken API "Rate limit exceeded" exception, this configuration should be increased, NOT decreased.
## Kucoin
@@ -217,12 +238,12 @@ Kucoin supports [time_in_force](configuration.md#understand-order_time_in_force)
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.
## HTX (formerly Huobi)
## HTX
!!! Tip "Stoploss on Exchange"
HTX 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
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:
@@ -236,6 +257,9 @@ OKX requires a passphrase for each api key, you will therefore need to add this
}
```
If you've registered with OKX on the host my.okx.com (OKX EAA)- you will need to use `"myokx"` as the exchange name.
Using the wrong exchange will result in the error "OKX Error 50119: API key doesn't exist" - as the 2 are separate entities.
!!! 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.
@@ -252,6 +276,14 @@ OKX requires a passphrase for each api key, you will therefore need to add this
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.
Gate API keys require the following permissions on top of the market type you want to trade:
* "Spot Trade" _or_ "Perpetual Futures" (Read and Write) (either select both, or the one matching the market you want to trade)
* "Wallet" (read only)
* "Account" (read only)
Without these permissions, the bot will not start correctly and show errors like "permission missing".
## Bybit
Futures trading on bybit is currently supported for USDT markets, and will use isolated futures mode.
@@ -261,6 +293,7 @@ On startup, freqtrade will set the position mode to "One-way Mode" for the whole
As bybit doesn't provide funding rate history, the dry-run calculation is used for live trades as well.
API Keys for live futures trading must have the following permissions:
* Read-write
* Contract - Orders
* Contract - Positions
@@ -295,6 +328,85 @@ It's therefore required to pass the UID as well.
!!! Warning "Necessary Verification"
Bitmart requires Verification Lvl2 to successfully trade on the spot market through the API - even though trading via UI works just fine with just Lvl1 verification.
## Hyperliquid
!!! Tip "Stoploss on Exchange"
Hyperliquid supports `stoploss_on_exchange` and uses `stop-loss-limit` orders. It provides great advantages, so we recommend to benefit from it.
Hyperliquid is a Decentralized Exchange (DEX). Decentralized exchanges work a bit different compared to normal exchanges. Instead of authenticating private API calls using an API key, private API calls need to be signed with the private key of your wallet (We recommend using an api Wallet for this, generated either on Hyperliquid or in your wallet of choice).
This needs to be configured like this:
```json
"exchange": {
"name": "hyperliquid",
"walletAddress": "your_eth_wallet_address", // This should NOT be your API Wallet Address!
"privateKey": "your_api_private_key",
// ...
}
```
* walletAddress in hex format: `0x<40 hex characters>` - Can be easily copied from your wallet - and should be your main wallet address, not your API Wallet Address.
* privateKey in hex format: `0x<64 hex characters>` - Use the key the API Wallet shows on creation.
Hyperliquid handles deposits and withdrawals on the Arbitrum One chain, a Layer 2 scaling solution built on top of Ethereum. Hyperliquid uses USDC as quote / collateral. The process of depositing USDC on Hyperliquid requires a couple of steps, see [how to start trading](https://hyperliquid.gitbook.io/hyperliquid-docs/onboarding/how-to-start-trading) for details on what steps are needed.
!!! Note "Hyperliquid general usage Notes"
Hyperliquid does not support market orders, however ccxt will simulate market orders by placing limit orders with a maximum slippage of 5%.
Unfortunately, hyperliquid only offers 5000 historic candles, so backtesting will either need to build candles historically (by waiting and downloading the data incrementally over time) - or will be limited to the last 5000 candles.
!!! Info "Some general best practices (non exhaustive)"
* Beware of supply chain attacks, like pip package poisoning etcetera. Whenever you use your private key, make sure your environment is safe.
* Don't use your actual wallet private key for trading. Use the Hyperliquid [API generator](https://app.hyperliquid.xyz/API) to create a separate API wallet.
* Don't store your actual wallet private key on the server you use for freqtrade. Use the API wallet private key instead. This key won't allow withdrawals, only trading.
* Always keep your mnemonic phrase and private key private.
* Don't use the same mnemonic as the one you had to backup when initializing a hardware wallet, using the same mnemonic basically deletes the security of your hardware wallet.
* Create a different software wallet, only transfer the funds you want to trade with to that wallet, and use that wallet to trade on Hyperliquid.
* If you have funds you don't want to use for trading (after making a profit for example), transfer them back to your hardware wallet.
### Hyperliquid Vault / Subaccount
Hyperliquid allows you to create either a vault or a subaccount.
To use these with Freqtrade, you will need to use the following configuration pattern:
``` json
"exchange": {
"name": "hyperliquid",
"walletAddress": "your_vault_address", // Vault or subaccount address
"privateKey": "your_api_private_key",
"ccxt_config": {
"options": {
"vaultAddress": "your_vault_address" // Optional, only if you want to use a vault or subaccount
}
},
// ...
}
```
Your balance and trades will now be used from your vault / subaccount - and no longer from your main account.
### Historic Hyperliquid data
The Hyperliquid API does not provide historic data beyond the single call to fetch current data, so downloading data is not possible, as the downloaded data would not constitute proper historic data.
## Bitvavo
If your account is required to use an operatorId, you can set it in the configuration file as follows:
``` json
"exchange": {
"name": "bitvavo",
"key": "",
"secret": "",
"ccxt_config": {
"options": {
"operatorId": "123567"
}
},
}
```
Bitvavo expects the `operatorId` to be an integer.
## All exchanges
Should you experience constant errors with Nonce (like `InvalidNonce`), it is best to regenerate the API keys. Resetting Nonce is difficult and it's usually easier to regenerate the API keys.
@@ -304,7 +416,7 @@ Should you experience constant errors with Nonce (like `InvalidNonce`), it is be
* The Ocean (exchange id: `theocean`) exchange uses Web3 functionality and requires `web3` python package to be installed:
```shell
$ pip3 install web3
pip3 install web3
```
### Getting latest price / Incomplete candles

View File

@@ -40,12 +40,18 @@ This could be caused by the following reasons:
* The installation did not complete successfully.
* Please check the [Installation documentation](installation.md).
### The bot starts, but in STOPPED mode
Make sure you set the `initial_state` config option to `"running"` in your config.json
### I have waited 5 minutes, why hasn't the bot made any trades yet?
* Depending on the buy strategy, the amount of whitelisted coins, the
situation of the market etc, it can take up to hours to find a good entry
* Depending on the entry strategy, the amount of whitelisted coins, the
situation of the market etc, it can take up to hours or days to find a good entry
position for a trade. Be patient!
* Backtesting will tell you roughly how many trades to expect - but that won't guarantee that they'll be distributed evenly across time - so you could have 20 trades on one day, and 0 for the rest of the week.
* It may be because of a configuration error. It's best to check the logs, they usually tell you if the bot is simply not getting buy signals (only heartbeat messages), or if there is something wrong (errors / exceptions in the log).
### I have made 12 trades already, why is my total profit negative?
@@ -96,10 +102,31 @@ You can use "current" market data by using the [dataprovider](strategy-customiza
You can use the `/stopentry` command in Telegram to prevent future trade entry, followed by `/forceexit all` (sell all open trades).
### I sold the bot's capital and now there's errors in the log
Freqtrade assumes that the trades it opens are managed only though the bot.
If you happen to (accidentally) sell the bot's capital, freqtrade will try to recover by trying to re-find on-exchange orders.
This is a best-effort approach, and will not work in all cases, especially when using order types that are not supported by freqtrade (OCO, iceberg, etc.), or when working with older trades (where the exchange no longer provides full order information).
The exact limits will vary between exchanges - with the details usually being documented in the exchange's API documentation.
### I want to run multiple bots on the same machine
Please look at the [advanced setup documentation Page](advanced-setup.md#running-multiple-instances-of-freqtrade).
### I'm getting "Impossible to load Strategy" when starting the bot
This error message is shown when the bot cannot load the strategy.
Usually, you can use `freqtrade list-strategies` to list all available strategies.
The output of this command will also include a status column, showing if the strategy can be loaded.
Please check the following:
* Are you using the correct strategy name? The strategy name is case-sensitive and must correspond to the Strategy class name (not the filename!).
* Is the strategy in the `user_data/strategies` directory, and has the file-ending `.py`?
* Does the bot show other warnings before this error? Maybe you're missing some dependencies for the strategy - which would be highlighted in the log.
* In case of docker - is the strategy directory mounted correctly (check the volumes part of the docker-compose file)?
### I'm getting "Missing data fillup" messages in the log
This message is just a warning that the latest candles had missing candles in them.
@@ -116,6 +143,10 @@ 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 want to reset the bot's database
To reset the bot's database, you can either delete the database (by default `tradesv3.sqlite` or `tradesv3.dryrun.sqlite`), or use a different database url via `--db-url` (e.g. `sqlite:///mynewdatabase.sqlite`).
### 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).
@@ -128,6 +159,14 @@ This warning can point to one of the below problems:
* 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 get the message "Couldn't reuse watch for xxx" in the log
This is an informational message that the bot tried to use candles from the websocket, but the exchange didn't provide the right information.
This can happen if there was an interruption to the websocket connection - or if the pair didn't have any trades happen in the timeframe you are using.
Freqtrade will handle this gracefully by falling back to the REST api.
While this makes the iteration slightly slower (due to the REST Api call) - it will not cause any problems to the bot's operation.
### I'm getting the "Exchange XXX does not support market orders." message and cannot run my strategy
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 Gate.io).
@@ -146,9 +185,9 @@ The same fix should be applied in the configuration file, if order types are def
### I'm trying to start the bot live, but get an API permission error
Errors like `Invalid API-key, IP, or permissions for action` mean exactly what they actually say.
Your API key is either invalid (copy/paste error? check for leading/trailing spaces in the config), expired, or the IP you're running the bot from is not enabled in the Exchange's API console.
Usually, the permission "Spot Trading" (or the equivalent in the exchange you use) will be necessary.
Errors like `Invalid API-key, IP, or permissions for action` mean exactly what they actually say.
Your API key is either invalid (copy/paste error? check for leading/trailing spaces in the config), expired, or the IP you're running the bot from is not enabled in the Exchange's API console.
Usually, the permission "Spot Trading" (or the equivalent in the exchange you use) will be necessary.
Futures will usually have to be enabled specifically.
### How do I search the bot logs for something?
@@ -196,10 +235,7 @@ On Windows, the `--logfile` option is also supported by Freqtrade and you can us
First of all, most indicator libraries don't have GPU support - as such, there would be little benefit for indicator calculations.
The GPU improvements would only apply to pandas-native calculations - or ones written by yourself.
For hyperopt, freqtrade is using scikit-optimize, which is built on top of scikit-learn.
Their statement about GPU support is [pretty clear](https://scikit-learn.org/stable/faq.html#will-you-add-gpu-support).
GPU's also are only good at crunching numbers (floating point operations).
GPU's are only good at crunching numbers (floating point operations).
For hyperopt, we need both number-crunching (find next parameters) and running python code (running backtesting).
As such, GPU's are not too well suited for most parts of hyperopt.
@@ -248,20 +284,6 @@ Example: 4% profit 650 times vs 0,3% profit a trade 10000 times in a year. If we
Example:
`freqtrade --config config.json --strategy SampleStrategy --hyperopt SampleHyperopt -e 1000 --timerange 20190601-20200601`
## Edge module
### Edge implements interesting approach for controlling position size, is there any theory behind it?
The Edge module is mostly a result of brainstorming of [@mishaker](https://github.com/mishaker) and [@creslinux](https://github.com/creslinux) freqtrade team members.
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/
- https://samuraitradingacademy.com/trading-expectancy/
- https://www.learningmarkets.com/determining-expectancy-in-your-trading/
- 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:

View File

@@ -258,6 +258,8 @@ freqtrade trade --config config_examples/config_freqai.example.json --strategy F
We do provide an explicit docker-compose file for this in `docker/docker-compose-freqai.yml` - which can be used via `docker compose -f docker/docker-compose-freqai.yml run ...` - or can be copied to replace the original docker file.
This docker-compose file also contains a (disabled) section to enable GPU resources within docker containers. This obviously assumes the system has GPU resources available.
PyTorch dropped support for macOS x64 (intel based Apple devices) in version 2.3. Subsequently, freqtrade also dropped support for PyTorch on this platform.
### Structure
#### Model
@@ -293,10 +295,10 @@ class MyCoolPyTorchClassifier(BasePyTorchClassifier):
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", {})
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:
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,
@@ -359,10 +361,10 @@ class PyTorchMLPRegressor(BasePyTorchRegressor):
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", {})
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:
def fit(self, data_dictionary: dict, dk: FreqaiDataKitchen, **kwargs) -> Any:
n_features = data_dictionary["train_features"].shape[-1]
model = PyTorchMLPModel(
input_dim=n_features,
@@ -393,7 +395,7 @@ Here we create a `PyTorchMLPRegressor` class that implements the `fit` method. T
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) -> DataFrame:
def set_freqai_targets(self, dataframe: DataFrame, metadata: dict, **kwargs) -> DataFrame:
self.freqai.class_names = ["down", "up"]
dataframe['&s-up_or_down'] = np.where(dataframe["close"].shift(-100) >
dataframe["close"], 'up', 'down')

View File

@@ -181,7 +181,7 @@ You can ask for each of the defined features to be included also for informative
In total, the number of features the user of the presented example strategy 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$.
!!! note "Learn more about creative feature engineering"
!!! note "Learn more about creative feature engineering"
Check out our [medium article](https://emergentmethods.medium.com/freqai-from-price-to-prediction-6fadac18b665) geared toward helping users learn how to creatively engineer features.
### Gain finer control over `feature_engineering_*` functions with `metadata`
@@ -310,7 +310,7 @@ class MyCoolTransform(BaseTransform):
If you have created your own custom `IFreqaiModel` with a custom `train()`/`predict()` function, *and* you still rely on `data_cleaning_train/predict()`, then you will need to migrate to the new pipeline. If your model does *not* rely on `data_cleaning_train/predict()`, then you do not need to worry about this migration.
More details about the migration can be found [here](strategy_migration.md#freqai---new-data-pipeline).
More details about the migration can be found [here](strategy_migration.md#freqai-new-data-pipeline).
## Outlier detection

View File

@@ -18,7 +18,7 @@ Features include:
* **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 normalization** - [Normalize the data](freqai-feature-engineering.md#building-the-data-pipeline) 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)
@@ -76,14 +76,14 @@ pip install -r requirements-freqai.txt
### 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. If you would like to use PyTorch or Reinforcement learning, you should use the torch or RL tags, `image: freqtradeorg/freqtrade:develop_freqaitorch`, `image: freqtradeorg/freqtrade:develop_freqairl`.
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:stable_freqai`. This image contains the regular FreqAI dependencies. Similar to native installs, Catboost will not be available on ARM based devices. If you would like to use PyTorch or Reinforcement learning, you should use the torch or RL tags, `image: freqtradeorg/freqtrade:stable_freqaitorch`, `image: freqtradeorg/freqtrade:stable_freqairl`.
!!! note "docker-compose-freqai.yml"
We do provide an explicit docker-compose file for this in `docker/docker-compose-freqai.yml` - which can be used via `docker compose -f docker/docker-compose-freqai.yml run ...` - or can be copied to replace the original docker file. This docker-compose file also contains a (disabled) section to enable GPU resources within docker containers. This obviously assumes the system has GPU resources available.
We do provide an explicit docker-compose file for this in `docker/docker-compose-freqai.yml` - which can be used via `docker compose -f docker/docker-compose-freqai.yml run ...` - or can be copied to replace the original docker file. This docker-compose file also contains a (disabled) section to enable GPU resources within docker containers. This obviously assumes the system has GPU resources available.
### 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.
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 "citizen 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

View File

@@ -1,10 +1,10 @@
# Hyperopt
This page explains how to tune your strategy by finding the optimal
parameters, a process called hyperparameter optimization. The bot uses algorithms included in the `scikit-optimize` package to accomplish this.
parameters, a process called hyperparameter optimization. The bot uses algorithms included in the `optuna` package to accomplish this.
The search will burn all your CPU cores, make your laptop sound like a fighter jet and still take a long time.
In general, the search for best parameters starts with a few random combinations (see [below](#reproducible-results) for more details) and then uses Bayesian search with a ML regressor algorithm (currently ExtraTreesRegressor) to quickly find a combination of parameters in the search hyperspace that minimizes the value of the [loss function](#loss-functions).
In general, the search for best parameters starts with a few random combinations (see [below](#reproducible-results) for more details) and then uses one of optuna's sampler algorithms (currently NSGAIIISampler) to quickly find a combination of parameters in the search hyperspace that minimizes the value of the [loss function](#loss-functions).
Hyperopt requires historic data to be available, just as backtesting does (hyperopt runs backtesting many times with different parameters).
To learn how to get data for the pairs and exchange you're interested in, head over to the [Data Downloading](data-download.md) section of the documentation.
@@ -36,130 +36,7 @@ pip install -r requirements-hyperopt.txt
## Hyperopt command reference
```
usage: freqtrade hyperopt [-h] [-v] [--logfile FILE] [-V] [-c PATH] [-d PATH]
[--userdir PATH] [-s NAME] [--strategy-path PATH]
[--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-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] [--disable-param-export]
[--ignore-missing-spaces] [--analyze-per-epoch]
optional arguments:
-h, --help show this help message and exit
-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: `json`).
--max-open-trades INT
Override the value of the `max_open_trades`
configuration setting.
--stake-amount STAKE_AMOUNT
Override the value of the `stake_amount` configuration
setting.
--fee FLOAT Specify fee ratio. Will be applied twice (on trade
entry and exit).
-p PAIRS [PAIRS ...], --pairs PAIRS [PAIRS ...]
Limit command to these pairs. Pairs are space-
separated.
--hyperopt-path PATH Specify additional lookup path for Hyperopt Loss
functions.
--eps, --enable-position-stacking
Allow buying the same pair multiple times (position
stacking).
--dmmp, --disable-max-market-positions
Disable applying `max_open_trades` during backtest
(same as setting `max_open_trades` to a very high
number).
--enable-protections, --enableprotections
Enable protections for backtesting.Will slow
backtesting down by a considerable amount, but will
include configured protections
--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,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.
--no-color Disable colorization of hyperopt results. May be
useful if you are redirecting output to a file.
--print-json Print output in JSON format.
-j JOBS, --job-workers JOBS
The number of concurrently running jobs for
hyperoptimization (hyperopt worker processes). If -1
(default), all CPUs are used, for -2, all CPUs but one
are used, etc. If 1 is given, no parallel computing
code is used at all.
--random-state INT Set random state to some positive integer for
reproducible hyperopt results.
--min-trades INT Set minimal desired number of trades for evaluations
in the hyperopt optimization path (default: 1).
--hyperopt-loss NAME, --hyperoptloss NAME
Specify the class name of the hyperopt loss function
class (IHyperOptLoss). Different functions can
generate completely different results, since the
target for optimization is different. Built-in
Hyperopt-loss-functions are:
ShortTradeDurHyperOptLoss, OnlyProfitHyperOptLoss,
SharpeHyperOptLoss, SharpeHyperOptLossDaily,
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).
--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
Path to directory with historical backtesting data.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
Strategy arguments:
-s NAME, --strategy NAME
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.
```
--8<-- "commands/hyperopt.md"
### Hyperopt checklist
@@ -594,6 +471,7 @@ Currently, the following loss functions are builtin:
* `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.
* `MaxDrawDownPerPairHyperOptLoss` - Calculates the profit/drawdown ratio per pair and returns the worst result as objective, forcing hyperopt to optimize the parameters for all pairs in the pairlist. This way, we prevent one or more pairs with good results from inflating the metrics, while the pairs with poor results are not represented and therefore not optimized.
* `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.
* `MultiMetricHyperOptLoss` - Optimizes by several key metrics to achieve balanced performance. The primary focus is on maximizing Profit and minimizing Drawdown, while also considering additional metrics such as Profit Factor, Expectancy Ratio and Winrate. Moreover, it applies a penalty for epochs with a low number of trades, encouraging strategies with adequate trade frequency.
@@ -612,6 +490,8 @@ freqtrade hyperopt --config config.json --hyperopt-loss <hyperoptlossname> --str
```
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.
The `--early-stop` option will set after how many epochs with no improvements hyperopt will stop. A good value is 20-30% of the total epochs. Any value greater than 0 and lower than 20 it will be replaced by 20. Early stop is by default disabled (`--early-stop=0`)
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.
@@ -654,7 +534,7 @@ Legal values are:
* `trailing`: search for the best trailing stop values
* `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`
* `default`: `all` except `trailing`, `trades` 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.
@@ -867,18 +747,15 @@ You can use the `--print-all` command line option if you would like to see all r
## Position stacking and disabling max market positions
In some situations, you may need to run Hyperopt (and Backtesting) with the
`--eps`/`--enable-position-staking` and `--dmmp`/`--disable-max-market-positions` arguments.
In some situations, you may need to run Hyperopt (and Backtesting) with the `--eps`/`--enable-position-staking` argument, or you may need to set `max_open_trades` to a very high number to disable the limit on the number of open trades.
By default, hyperopt emulates the behavior of the Freqtrade Live Run/Dry Run, where only one
open trade is allowed for every traded pair. The total number of trades open for all pairs
open trade per pair is allowed. The total number of trades open for all pairs
is also limited by the `max_open_trades` setting. During Hyperopt/Backtesting this may lead to
some potential trades to be hidden (or masked) by previously open trades.
potential trades being hidden (or masked) by already open trades.
The `--eps`/`--enable-position-stacking` argument allows emulation of buying the same pair multiple times,
while `--dmmp`/`--disable-max-market-positions` disables applying `max_open_trades`
during Hyperopt/Backtesting (which is equal to setting `max_open_trades` to a very high
number).
The `--eps`/`--enable-position-stacking` argument allows emulation of buying the same pair multiple times.
Using `--max-open-trades` with a very high number will disable the limit on the number of open trades.
!!! Note
Dry/live runs will **NOT** use position stacking - therefore it does make sense to also validate the strategy without this as it's closer to reality.
@@ -919,13 +796,39 @@ Your epochs should therefore be aligned to the possible values - or you should b
After you run Hyperopt for the desired amount of epochs, you can later list all results for analysis, select only best or profitable once, and show the details for any of the epochs previously evaluated. This can be done with the `hyperopt-list` and `hyperopt-show` sub-commands. The usage of these sub-commands is described in the [Utils](utils.md#list-hyperopt-results) chapter.
## Output debug messages from your strategy
If you want to output debug messages from your strategy, you can use the `logging` module. By default, Freqtrade will output all messages with a level of `INFO` or higher.
``` python
import logging
logger = logging.getLogger(__name__)
class MyAwesomeStrategy(IStrategy):
...
def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
logger.info("This is a debug message")
...
```
!!! Note "using print"
Messages printed via `print()` will not be shown in the hyperopt output unless parallelism is disabled (`-j 1`).
It is recommended to use the `logging` module instead.
## Validate backtesting results
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 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.
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 for Backtesting.
### Why do my backtest results not match my hyperopt results?
Should results not match, check the following factors:
* You may have added parameters to hyperopt in `populate_indicators()` where they will be calculated only once **for all epochs**. If you are, for example, trying to optimise multiple SMA timeperiod values, the hyperoptable timeperiod parameter should be placed in `populate_entry_trend()` which is calculated every epoch. See [Optimizing an indicator parameter](https://www.freqtrade.io/en/stable/hyperopt/#optimizing-an-indicator-parameter).

View File

@@ -44,9 +44,24 @@ You may also use something like `.*DOWN/BTC` or `.*UP/BTC` to exclude leveraged
By default, the `StaticPairList` method is used, which uses a statically defined pair whitelist from the configuration. The pairlist also supports wildcards (in regex-style) - so `.*/BTC` will include all pairs with BTC as a stake.
It uses configuration from `exchange.pair_whitelist` and `exchange.pair_blacklist`.
It uses configuration from `exchange.pair_whitelist` and `exchange.pair_blacklist`, which in the below example, will trade BTC/USDT and ETH/USDT - and will prevent BNB/USDT trading.
Both `pair_*list` parameters support regex - so values like `.*/USDT` would enable trading all pairs that are not in the blacklist.
```json
"exchange": {
"name": "...",
// ...
"pair_whitelist": [
"BTC/USDT",
"ETH/USDT",
// ...
],
"pair_blacklist": [
"BNB/USDT",
// ...
]
},
"pairlists": [
{"method": "StaticPairList"}
],
@@ -352,7 +367,7 @@ The optional `bearer_token` will be included in the requests Authorization Heade
#### MarketCapPairList
`MarketCapPairList` employs sorting/filtering of pairs by their marketcap rank based of CoinGecko. It will only recognize coins up to the coin placed at rank 250. The returned pairlist will be sorted based of their marketcap ranks.
`MarketCapPairList` employs sorting/filtering of pairs by their marketcap rank based of CoinGecko. The returned pairlist will be sorted based of their marketcap ranks.
```json
"pairlists": [
@@ -366,7 +381,8 @@ The optional `bearer_token` will be included in the requests Authorization Heade
]
```
`number_assets` defines the maximum number of pairs returned by the pairlist. `max_rank` will determine the maximum rank used in creating/filtering the pairlist. It's expected that some coins within the top `max_rank` marketcap will not be included in the resulting pairlist since not all pairs will have active trading pairs in your preferred market/stake/exchange combination.
`number_assets` defines the maximum number of pairs returned by the pairlist. `max_rank` will determine the maximum rank used in creating/filtering the pairlist. It's expected that some coins within the top `max_rank` marketcap will not be included in the resulting pairlist since not all pairs will have active trading pairs in your preferred market/stake/exchange combination.
While using a `max_rank` bigger than 250 is supported, it's not recommended, as it'll cause multiple API calls to CoinGecko, which can lead to rate limit issues.
The `refresh_period` setting defines the interval (in seconds) at which the marketcap rank data will be refreshed. The default is 86,400 seconds (1 day). The pairlist cache (`refresh_period`) applies to both generating pairlists (when in the first position in the list) and filtering instances (when not in the first position in the list).
@@ -376,6 +392,9 @@ If an incorrect category string is chosen, the plugin will print the available c
!!! Warning "Many categories"
Each added category corresponds to one API call to CoinGecko. The more categories you add, the longer the pairlist generation will take, potentially causing rate limit issues.
!!! Danger "Duplicate symbols in coingecko"
Coingecko often has duplicate symbols, where the same symbol is used for different coins. Freqtrade will use the symbol as is and try to search for it on the exchange. If the symbol exists - it will be used. Freqtrade will however not check if the _intended_ symbol is the one coingecko meant. This can sometimes lead to unexpected results, especially on low volume coins or with meme coin categories.
#### AgeFilter
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).

View File

@@ -3,7 +3,7 @@ This section will highlight a few projects from members of the community.
The projects below are for the most part not maintained by the freqtrade , therefore use your own caution before using them.
- [Example freqtrade strategies](https://github.com/freqtrade/freqtrade-strategies/)
- [FrequentHippo - Grafana dashboard with dry/live runs and backtests](http://frequenthippo.ddns.net:3000/) (by hippocritical).
- [FrequentHippo - Statistics of dry/live runs and backtests](http://frequenthippo.ddns.net) (by hippocritical).
- [Online pairlist generator](https://remotepairlist.com/) (by Blood4rc).
- [Freqtrade Backtesting Project](https://strat.ninja/) (by Blood4rc).
- [Freqtrade analysis notebook](https://github.com/froggleston/freqtrade_analysis_notebook) (by Froggleston).

View File

@@ -0,0 +1,18 @@
## Exit logic comparisons
Freqtrade allows your strategy to implement different exit logic using signal-based or callback-based functions.
This section aims to compare each different function, helping you to choose the one that best fits your needs.
* **`populate_exit_trend()`** - Vectorized signal-based exit logic using indicators in the main dataframe
**Use** to define exit signals based on indicators or other data that can be calculated in a vectorized manner.
🚫 **Don't use** to customize exit conditions for each individual trade, or if trade data is necessary to make an exit decision.
* **`custom_exit()`** - Custom exit logic that will fully exit a trade immediately, called for every open trade at every bot loop iteration until a trade is closed.
**Use** to specify exit conditions for each individual trade (including any additional adjusted orders using `adjust_trade_position()`), or if trade data is necessary to make an exit decision, e.g. using profit data to exit.
🚫 **Don't use** when you want to exit using vectorised indicator-based data (use a `populate_exit_trend()` signal instead), or as a proxy for `custom_stoploss()`, and be aware that rate-based exits in backtesting can be inaccurate.
* **`custom_stoploss()`** - Custom trailing stoploss, called for every open trade every iteration until a trade is closed. The value returned here is also used for [stoploss on exchange](stoploss.md#stop-loss-on-exchangefreqtrade).
**Use** to customize the stoploss logic to set a dynamic stoploss based on trade data or other conditions.
🚫 **Don't use** to exit a trade immediately based on a specific condition. Use `custom_exit()` for that purpose.
* **`custom_roi()`** - Custom ROI, called for every open trade every iteration until a trade is closed.
**Use** to specify a minimum ROI threshold ("take-profit") to exit a trade at this ROI level at some point within the trade duration, based on profit or other conditions.
🚫 **Don't use** to exit a trade immediately based on a specific condition. Use `custom_exit()`.
🚫 **Don't use** for static ROI. Use `minimal_roi`.

View File

@@ -1,14 +1,14 @@
![freqtrade](assets/freqtrade_poweredby.svg)
[![Freqtrade CI](https://github.com/freqtrade/freqtrade/workflows/Freqtrade%20CI/badge.svg)](https://github.com/freqtrade/freqtrade/actions/)
[![Freqtrade CI](https://github.com/freqtrade/freqtrade/actions/workflows/ci.yml/badge.svg?branch=develop)](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)
<!-- Place this tag where you want the button to render. -->
<a class="github-button" href="https://github.com/freqtrade/freqtrade" data-icon="octicon-star" data-size="large" aria-label="Star freqtrade/freqtrade on GitHub">Star</a>
<a class="github-button" href="https://github.com/freqtrade/freqtrade/fork" data-icon="octicon-repo-forked" data-size="large" aria-label="Fork freqtrade/freqtrade on GitHub">Fork</a>
<a class="github-button" href="https://github.com/freqtrade/freqtrade/archive/stable.zip" data-icon="octicon-cloud-download" data-size="large" aria-label="Download freqtrade/freqtrade on GitHub">Download</a>
<!-- GitHub action buttons -->
[:octicons-star-16: Star](https://github.com/freqtrade/freqtrade){ .md-button .md-button--sm }
[:octicons-repo-forked-16: Fork](https://github.com/freqtrade/freqtrade/fork){ .md-button .md-button--sm }
[:octicons-download-16: Download](https://github.com/freqtrade/freqtrade/archive/stable.zip){ .md-button .md-button--sm }
## Introduction
@@ -28,10 +28,9 @@ Freqtrade is a free and open source crypto trading bot written in Python. It is
- 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).
- Download market data: Download historical data of the exchange and the markets your may want to trade with.
- Backtest: Test your strategy on downloaded historical data.
- Optimize: Find the best parameters for your strategy using hyperoptimization which employs machining learning methods. You can optimize buy, sell, take profit (ROI), stop-loss and trailing stop-loss parameters for your strategy.
- Optimize: Find the best parameters for your strategy using hyperoptimization which employs machine learning methods. You can optimize buy, sell, take profit (ROI), stop-loss and trailing stop-loss parameters for your strategy.
- 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 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).
@@ -40,21 +39,24 @@ Freqtrade is a free and open source crypto trading bot written in Python. It is
Please read the [exchange specific notes](exchanges.md) to learn about eventual, special configurations needed for each exchange.
- [X] [Binance](https://www.binance.com/)
- [X] [Bitmart](https://bitmart.com/)
- [X] [BingX](https://bingx.com/invite/0EM9RX)
- [X] [Bitmart](https://bitmart.com/)
- [X] [Bybit](https://bybit.com/)
- [X] [Gate.io](https://www.gate.io/ref/6266643)
- [X] [HTX](https://www.htx.com/) (Former Huobi)
- [X] [HTX](https://www.htx.com/)
- [X] [Hyperliquid](https://hyperliquid.xyz/) (A decentralized exchange, or DEX)
- [X] [Kraken](https://kraken.com/)
- [X] [OKX](https://okx.com/) (Former OKEX)
- [X] [OKX](https://okx.com/)
- [X] [MyOKX](https://okx.com/) (OKX EEA)
- [ ] [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/)
- [X] [Gate.io](https://www.gate.io/ref/6266643)
- [X] [Hyperliquid](https://hyperliquid.xyz/) (A decentralized exchange, or DEX)
- [X] [OKX](https://okx.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.
@@ -85,7 +87,7 @@ To run this bot we recommend you a linux cloud instance with a minimum of:
Alternatively
- Python 3.10+
- Python 3.11+
- pip (pip3)
- git
- TA-Lib

View File

@@ -24,7 +24,7 @@ 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.10 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.11 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"
@@ -42,7 +42,7 @@ These requirements apply to both [Script Installation](#script-installation) and
### Install guide
* [Python >= 3.10](http://docs.python-guide.org/en/latest/starting/installation/)
* [Python >= 3.11](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)
@@ -54,7 +54,7 @@ We've included/collected install instructions for Ubuntu, MacOS, and Windows. Th
OS Specific steps are listed first, the common section below is necessary for all systems.
!!! Note
Python3.10 or higher and the corresponding pip are assumed to be available.
Python3.11 or higher and the corresponding pip are assumed to be available.
=== "Debian/Ubuntu"
#### Install necessary dependencies
@@ -67,6 +67,18 @@ OS Specific steps are listed first, the common section below is necessary for al
sudo apt install -y python3-pip python3-venv python3-dev python3-pandas git curl
```
=== "MacOS"
#### Install necessary dependencies
Install [Homebrew](https://brew.sh/) if you don't have it already.
```bash
# install packages
brew install gettext libomp
```
!!! Note
The `setup.sh` script will install these dependencies for you - assuming brew is installed on your system.
=== "RaspberryPi/Raspbian"
The following assumes the latest [Raspbian Buster lite image](https://www.raspberrypi.org/downloads/raspbian/).
This image comes with python3.11 preinstalled, making it easy to get freqtrade up and running.
@@ -75,8 +87,8 @@ OS Specific steps are listed first, the common section below is necessary for al
```bash
sudo apt-get install python3-venv libatlas-base-dev cmake curl
# Use pywheels.org to speed up installation
sudo apt-get install python3-venv libatlas-base-dev cmake curl libffi-dev
# Use piwheels.org to speed up installation
sudo echo "[global]\nextra-index-url=https://www.piwheels.org/simple" > tee /etc/pip.conf
git clone https://github.com/freqtrade/freqtrade.git
@@ -150,9 +162,7 @@ Each time you open a new terminal, you must run `source .venv/bin/activate` to a
source ./.venv/bin/activate
```
### Congratulations
[You are ready](#you-are-ready), and run the bot
[You are now ready](#you-are-ready) to run the bot.
### Other options of /setup.sh script
@@ -169,7 +179,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.10+ installed beforehand for this to work.
You will need to have git and python3.11+ installed beforehand for this to work.
* Mandatory software as: `ta-lib`
* Setup your virtualenv under `.venv/`
@@ -220,7 +230,7 @@ cd ..
rm -rf ./ta-lib*
```
#### Setup Python virtual environment (virtualenv)
### Setup Python virtual environment (virtualenv)
You will run freqtrade in separated `virtual environment`
@@ -232,19 +242,18 @@ python3 -m venv .venv
source .venv/bin/activate
```
#### Install python dependencies
### Install python dependencies
```bash
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt
# install freqtrade
python3 -m pip install -e .
```
### Congratulations
[You are now ready](#you-are-ready) to run the bot.
[You are ready](#you-are-ready), and run the bot
#### (Optional) Post-installation Tasks
### (Optional) Post-installation Tasks
!!! Note
If you run the bot on a server, you should consider using [Docker](docker_quickstart.md) or a terminal multiplexer like `screen` or [`tmux`](https://en.wikipedia.org/wiki/Tmux) to avoid that the bot is stopped on logout.
@@ -333,9 +342,7 @@ cd build_helpers
bash install_ta-lib.sh ${CONDA_PREFIX} nosudo
```
### Congratulations
[You are ready](#you-are-ready), and run the bot
[You are now ready](#you-are-ready) to run the bot.
### Important shortcuts

View File

@@ -82,7 +82,7 @@ Each market(trading pair), keeps collateral in a separate account
"margin_mode": "isolated"
```
#### Cross margin mode (currently unavailable)
#### Cross margin mode
One account is used to share collateral between markets (trading pairs). Margin is taken from total account balance to avoid liquidation when needed.

View File

@@ -1,23 +1,21 @@
# Lookahead analysis
This page explains how to validate your strategy in terms of look ahead bias.
This page explains how to validate your strategy in terms of lookahead bias.
Checking look ahead bias is the bane of any strategy since it is sometimes very easy to introduce backtest bias -
but very hard to detect.
Lookahead bias is the bane of any strategy since it is sometimes very easy to introduce this bias, but can be very hard to detect.
Backtesting initializes all timestamps at once and calculates all indicators in the beginning.
This means that if your indicators or entry/exit signals could look into future candles and falsify your backtest.
Backtesting initializes all timestamps (loads the whole dataframe into memory) and calculates all indicators at once.
This means that if your indicators or entry/exit signals look into future candles, this will falsify your backtest.
Lookahead-analysis requires historic data to be available.
The `lookahead-analysis` command requires historic data to be available.
To learn how to get data for the pairs and exchange you're interested in,
head over to the [Data Downloading](data-download.md) section of the documentation.
`lookahead-analysis` also supports freqai strategies.
This command is built upon backtesting since it internally chains backtests and pokes at the strategy to provoke it to show look ahead bias.
This is done by not looking at the strategy itself - but at the results it returned.
The results are things like changed indicator-values and moved entries/exits compared to the full backtest.
This command internally chains backtests and pokes at the strategy to provoke it to show lookahead bias.
This is done by not looking at the strategy code itself, but at changed indicator values and moved entries/exits compared to the full backtest.
You can use commands of [Backtesting](backtesting.md).
It also supports the lookahead-analysis of freqai strategies.
`lookahead-analysis` can use the typical options of [Backtesting](backtesting.md), but forces the following options:
- `--cache` is forced to "none".
- `--max-open-trades` is forced to be at least equal to the number of pairs.
@@ -25,80 +23,83 @@ It also supports the lookahead-analysis of freqai strategies.
- `--stake-amount` is forced to be a static 10000 (10k).
- `--enable-protections` is forced to be off.
Those are set to avoid users accidentally generating false positives.
These are set to avoid users accidentally generating false positives.
## Lookahead-analysis command reference
```
usage: freqtrade lookahead-analysis [-h] [-v] [--logfile FILE] [-V] [-c PATH]
[-d PATH] [--userdir PATH] [-s NAME]
[--strategy-path PATH]
[--recursive-strategy-search]
[--freqaimodel NAME]
[--freqaimodel-path PATH] [-i TIMEFRAME]
[--timerange TIMERANGE]
[--data-format-ohlcv {json,jsongz,hdf5,feather,parquet}]
[--max-open-trades INT]
[--stake-amount STAKE_AMOUNT]
[--fee FLOAT] [-p PAIRS [PAIRS ...]]
[--dry-run-wallet DRY_RUN_WALLET]
[--timeframe-detail TIMEFRAME_DETAIL]
[--strategy-list STRATEGY_LIST [STRATEGY_LIST ...]]
[--export {none,trades,signals}]
[--export-filename PATH]
[--breakdown {day,week,month} [{day,week,month} ...]]
[--cache {none,day,week,month}]
[--freqai-backtest-live-models]
[--minimum-trade-amount INT]
[--targeted-trade-amount INT]
[--lookahead-analysis-exportfilename LOOKAHEAD_ANALYSIS_EXPORTFILENAME]
--8<-- "commands/lookahead-analysis.md"
options:
--minimum-trade-amount INT
Minimum trade amount for lookahead-analysis
--targeted-trade-amount INT
Targeted trade amount for lookahead analysis
--lookahead-analysis-exportfilename LOOKAHEAD_ANALYSIS_EXPORTFILENAME
Use this csv-filename to store lookahead-analysis-
results
```
!!! Note ""
The above Output was reduced to options `lookahead-analysis` adds on top of regular backtesting commands.
### Summary
Checks a given strategy for look ahead bias via lookahead-analysis
Look ahead bias means that the backtest uses data from future candles thereby not making it viable beyond backtesting
and producing false hopes for the one backtesting.
!!! Note
The above output was reduced to options that `lookahead-analysis` adds on top of regular backtesting commands.
### Introduction
Many strategies - without the programmer knowing - have fallen prey to look ahead bias.
Many strategies, without the programmer knowing, have fallen prey to lookahead bias.
This typically makes the strategy backtest look profitable, sometimes to extremes, but this is not realistic as the strategy is "cheating" by looking at data it would not have in dry or live modes.
Any backtest will populate the full dataframe including all time stamps at the beginning.
If the programmer is not careful or oblivious how things work internally
(which sometimes can be really hard to find out) then it will just look into the future making the strategy amazing
but not realistic.
The reason why strategies can "cheat" is because the freqtrade backtesting process populates the full dataframe including all candle timestamps at the outset.
If the programmer is not careful or oblivious how things work internally
(which sometimes can be really hard to find out) then the strategy will look into the future.
This command is made to try to verify the validity in the form of the aforementioned look ahead bias.
This command is made to try to verify the validity in the form of the aforementioned lookahead bias.
### How does the command work?
It will start with a backtest of all pairs to generate a baseline for indicators and entries/exits.
After the backtest ran, it will look if the `minimum-trade-amount` is met
and if not cancel the lookahead-analysis for this strategy.
After this initial backtest runs, it will look if the `minimum-trade-amount` is met and if not cancel the lookahead-analysis for this strategy.
If this happens, use a wider timerange to get more trades for the analysis, or use a timerange where more trades occur.
After setting the baseline it will then do additional runs for every entry and exit separately.
When a verification-backtest is done, it will compare the indicators as the signal (either entry or exit) and report the bias.
After all signals have been verified or falsified a result-table will be generated for the user to see.
After setting the baseline it will then do additional backtest runs for every entry and exit separately.
When these verification backtests complete, it will compare the indicators at the signal candles (both entry or exit)
and report the bias.
After all signals have been verified or falsified a result table will be generated for the user to see.
### How to find and remove bias? How can I salvage a biased strategy?
If you found a biased strategy online and want to have the same results, just without bias,
then you will be out of luck most of the time.
Usually the bias in the strategy is THE driving factor for "too good to be true" profits.
Removing conditions or indicators that push the profits up from bias will usually make the strategy significantly worse.
You might be able to salvage it partially if the biased indicators or conditions are not the core of the strategy, or there
are other entry and exit signals that are not biased.
### Examples of lookahead-bias
- `shift(-10)` looks 10 candles into the future.
- Using `iloc[]` in populate_* functions to access a specific row in the dataframe.
- For-loops are prone to introduce lookahead bias if you don't tightly control which numbers are looped through.
- Aggregation functions like `.mean()`, `.min()` and `.max()`, without a rolling window,
will calculate the value over the **whole** dataframe, so the signal candle will "see" a value including future candles.
A non-biased example would be to look back candles using `rolling()` instead:
e.g. `dataframe['volume_mean_12'] = dataframe['volume'].rolling(12).mean()`
- `ta.MACD(dataframe, 12, 26, 1)` will introduce bias with a signalperiod of 1.
### What do the columns in the results table mean?
- `filename`: name of the checked strategy file
- `strategy`: checked strategy class name
- `has_bias`: result of the lookahead-analysis. `No` would be good, `Yes` would be bad.
- `total_signals`: number of checked signals (default is 20)
- `biased_entry_signals`: found bias in that many entries
- `biased_exit_signals`: found bias in that many exits
- `biased_indicators`: shows you the indicators themselves that are defined in populate_indicators
You might get false positives in the `biased_exit_signals` if you have biased entry signals paired with those exits.
However, a biased entry will usually result in a biased exit too,
even if the exit itself does not produce the bias -
especially if your entry and exit conditions use the same biased indicator.
**Address the bias in the entries first, then address the exits.**
### Caveats
- `lookahead-analysis` can only verify / falsify the trades it calculated and verified.
If the strategy has many different signals / signal types, it's up to you to select appropriate parameters to ensure that all signals have triggered at least once. Not triggered signals will not have been verified.
This could lead to a false-negative (the strategy will then be reported as non-biased).
- `lookahead-analysis` has access to everything that backtesting has too.
Please don't provoke any configs like enabling position stacking.
If you decide to do so, then make doubly sure that you won't ever run out of `max_open_trades` amount and neither leftover money in your wallet.
- In the results table, the `biased_indicators` column will falsely flag FreqAI target indicators defined in `set_freqai_targets()` as biased. These are not biased and can safely be ignored.
If the strategy has many different signals / signal types, it's up to you to select appropriate parameters to ensure that all signals have triggered at least once. Signals that are not triggered will not have been verified.
This would lead to a false-negative, i.e. the strategy will be reported as non-biased.
- `lookahead-analysis` has access to the same backtesting options and this can introduce problems.
Please don't use any options like enabling position stacking as this will distort the number of checked signals.
If you decide to do so, then make doubly sure that you won't ever run out of `max_open_trades` slots,
and that you have enough capital in the backtest wallet configuration.
- In the results table, the `biased_indicators` column
will falsely flag FreqAI target indicators defined in `set_freqai_targets()` as biased.
**These are not biased and can safely be ignored.**

View File

@@ -37,7 +37,6 @@
{{ super() }}
<!-- Place this tag in your head or just before your close body tag. -->
<script async defer src="https://buttons.github.io/buttons.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>

View File

@@ -30,76 +30,7 @@ The `freqtrade plot-dataframe` subcommand shows an interactive graph with three
Possible arguments:
```
usage: freqtrade plot-dataframe [-h] [-v] [--logfile FILE] [-V] [-c PATH]
[-d PATH] [--userdir PATH] [-s NAME]
[--strategy-path PATH] [-p PAIRS [PAIRS ...]]
[--indicators1 INDICATORS1 [INDICATORS1 ...]]
[--indicators2 INDICATORS2 [INDICATORS2 ...]]
[--plot-limit INT] [--db-url PATH]
[--trade-source {DB,file}] [--export EXPORT]
[--export-filename PATH]
[--timerange TIMERANGE] [-i TIMEFRAME]
[--no-trades]
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.
--indicators1 INDICATORS1 [INDICATORS1 ...]
Set indicators from your strategy you want in the
first row of the graph. Space-separated list. Example:
`ema3 ema5`. Default: `['sma', 'ema3', 'ema5']`.
--indicators2 INDICATORS2 [INDICATORS2 ...]
Set indicators from your strategy you want in the
third row of the graph. Space-separated list. Example:
`fastd fastk`. Default: `['macd', 'macdsignal']`.
--plot-limit INT Specify tick limit for plotting. Notice: too high
values cause huge files. Default: 750.
--db-url PATH Override trades database URL, this is useful in custom
deployments (default: `sqlite:///tradesv3.sqlite` for
Live Run mode, `sqlite:///tradesv3.dryrun.sqlite` for
Dry Run).
--trade-source {DB,file}
Specify the source for trades (Can be DB or file
(backtest file)) Default: file
--export EXPORT Export backtest results, argument are: trades.
Example: `--export=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`
--timerange TIMERANGE
Specify what timerange of data to use.
-i TIMEFRAME, --timeframe TIMEFRAME
Specify timeframe (`1m`, `5m`, `30m`, `1h`, `1d`).
--no-trades Skip using trades from backtesting file and DB.
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
Path to directory with historical backtesting data.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
Strategy arguments:
-s NAME, --strategy NAME
Specify strategy class name which will be used by the
bot.
--strategy-path PATH Specify additional strategy lookup path.
```
--8<-- "commands/plot-dataframe.md"
Example:
@@ -306,62 +237,7 @@ The forth graph can help you analyze trade parallelism, showing how often max_op
Possible options for the `freqtrade plot-profit` subcommand:
```
usage: freqtrade plot-profit [-h] [-v] [--logfile FILE] [-V] [-c PATH]
[-d PATH] [--userdir PATH] [-s NAME]
[--strategy-path PATH] [-p PAIRS [PAIRS ...]]
[--timerange TIMERANGE] [--export EXPORT]
[--export-filename PATH] [--db-url PATH]
[--trade-source {DB,file}] [-i TIMEFRAME]
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.
--timerange TIMERANGE
Specify what timerange of data to use.
--export EXPORT Export backtest results, argument are: trades.
Example: `--export=trades`
--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`
--db-url PATH Override trades database URL, this is useful in custom
deployments (default: `sqlite:///tradesv3.sqlite` for
Live Run mode, `sqlite:///tradesv3.dryrun.sqlite` for
Dry Run).
--trade-source {DB,file}
Specify the source for trades (Can be DB or file
(backtest file)) Default: file
-i TIMEFRAME, --timeframe TIMEFRAME
Specify timeframe (`1m`, `5m`, `30m`, `1h`, `1d`).
--auto-open Automatically open generated plot.
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
Path to directory with historical backtesting data.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
Strategy arguments:
-s NAME, --strategy NAME
Specify strategy class name which will be used by the
bot.
--strategy-path PATH Specify additional strategy lookup path.
```
--8<-- "commands/plot-profit.md"
The `-p/--pairs` argument, can be used to limit the pairs that are considered for this calculation.

View File

@@ -50,6 +50,7 @@ Enable subscribing to an instance by adding the `external_message_consumer` sect
| `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.
| `initial_candle_limit` | Initial candles to expect from the Producer.<br>*Defaults to `1500`.*<br> **Datatype:** Integer - Number of candles.
| `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.

Some files were not shown because too many files have changed in this diff Show More