Compare commits

...

2022 Commits

Author SHA1 Message Date
Matthias
157cb7d982 Merge pull request #10725 from freqtrade/new_release
New release 2024.9
2024-09-30 11:25:43 +02:00
Matthias
27af9455f5 chore: bump version to 2024.9 2024-09-29 19:53:20 +02:00
Matthias
98ff572afe Merge branch 'stable' into new_release 2024-09-29 19:53:03 +02:00
Matthias
415b8354f4 fix: if coingecko when no pair returned
fails to return valid pairs, the pairlist should be empty
2024-09-28 19:45:01 +02:00
Matthias
51c596a21f chore: add test for "no pair from coingecko" case
this should return an empty list
2024-09-28 19:44:38 +02:00
Matthias
5816a594fd Merge pull request #10671 from jakubikan/category-for-market-cap-pairlist
Category for market cap pairlist
2024-09-28 11:51:42 +02:00
Matthias
f4d76aa360 chore: improved wording 2024-09-28 10:18:59 +02:00
Matthias
56835f5f09 chore: manually check for symlink 2024-09-28 10:17:52 +02:00
Matthias
255ad7cac5 tests: test invalid category in list 2024-09-28 10:14:31 +02:00
Matthias
8c097a81ea tests: enhance test for marketcappairlist 2024-09-28 10:10:07 +02:00
Matthias
3dc92b42fe fix: Check if sub-directories are actually directories and fail otherwise.
This will explicitly fail if a file (or an invalid symlink) is present.
Freqtrade requires these files to be valid files - so failing here is correct behavior.

closes #10720
2024-09-28 09:54:49 +02:00
Jakub W.
1ed5a37280 Update freqtrade/plugins/pairlist/IPairList.py
Co-authored-by: Matthias <xmatthias@outlook.com>
2024-09-26 23:38:17 +02:00
Matthias
cb36f2844e chore: Improve "wrong category" error. 2024-09-26 20:21:27 +02:00
Matthias
7b93b55b78 docs: rephrase categories docs and add performance warning 2024-09-26 20:07:41 +02:00
Matthias
6837196e44 fix: treat marketcap as optional parameter 2024-09-26 19:59:23 +02:00
Matthias
31680f3b59 chore: Improve UI wording 2024-09-26 19:31:43 +02:00
Matthias
91d9c9b4d5 Merge pull request #10711 from freqtrade/fix/pytorch-scaling
fix: Update BasePyTorchRegressor.py
2024-09-26 18:53:14 +02:00
Robert Caulk
d18d8cf0ea freqai_info -> ft_params 2024-09-26 17:54:14 +02:00
Robert Caulk
123909cdac fix: Update BasePyTorchRegressor.py 2024-09-26 16:31:43 +02:00
Matthias
f0eaccc6ac Merge pull request #10709 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-09-26 06:20:14 +02:00
xmatthias
1d66ef2f2d chore: update pre-commit hooks 2024-09-26 03:17:36 +00:00
Jakub Werner (jakubikan)
8aefae3aff format 2024-09-25 21:22:40 +02:00
Jakub Werner (jakubikan)
514558796b double quotes 2024-09-25 21:21:56 +02:00
Jakub Werner (jakubikan)
b00ca54707 adding docu 2024-09-25 21:20:35 +02:00
Jakub Werner (jakubikan)
0dbe507b26 making list of categories available 2024-09-25 21:11:52 +02:00
Matthias
4b70bea21f chore: reset params for emulated call 2024-09-25 19:11:12 +02:00
Matthias
096a051b99 test: update test 2024-09-25 19:03:03 +02:00
Matthias
a3ca1ff1e9 fix: send acknoledged to bybit fetch_order calls 2024-09-25 19:02:32 +02:00
Matthias
28eabfe477 tests: update test for retryable okx behavior 2024-09-25 06:20:49 +02:00
Matthias
0a68b0515c chore: reduce retry count for stop orders 2024-09-24 20:20:33 +02:00
Matthias
566c0c8f72 refactor: split okx fetch stop fallback 2024-09-24 20:20:33 +02:00
Matthias
333f2cb472 fix: Improve error handling for OKX stop orders
closes #10704
2024-09-24 19:38:36 +02:00
Matthias
3d1acc65af tests: add test for #10704 2024-09-24 19:38:11 +02:00
Matthias
5907de90c1 Merge pull request #10687 from freqtrade/refactor/trade_init_0
Initialize Trade objects with amount=0
2024-09-24 06:30:24 +02:00
Matthias
25d8a9d1f8 Merge pull request #10701 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-09-24 06:30:09 +02:00
xmatthias
b44e8199b5 chore: update pre-commit hooks 2024-09-24 03:06:51 +00:00
Matthias
91449d0c8b Merge pull request #10699 from freqtrade/dependabot/pip/develop/ccxt-4.4.6
chore(deps): bump ccxt from 4.4.5 to 4.4.6
2024-09-23 13:05:49 +02:00
dependabot[bot]
b228f177f3 chore(deps): bump ccxt from 4.4.5 to 4.4.6
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.4.5 to 4.4.6.
- [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.5...4.4.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-23 09:57:20 +00:00
Matthias
9a40a2d4f2 Merge pull request #10695 from freqtrade/dependabot/pip/develop/sqlalchemy-2.0.35
chore(deps): bump sqlalchemy from 2.0.34 to 2.0.35
2024-09-23 11:56:28 +02:00
Matthias
cdc3dabba1 Merge pull request #10693 from freqtrade/dependabot/pip/develop/fastapi-0.115.0
chore(deps): bump fastapi from 0.114.2 to 0.115.0
2024-09-23 11:30:26 +02:00
Matthias
40ba2cbe79 Merge pull request #10690 from freqtrade/dependabot/pip/develop/pymdown-extensions-10.10.1
chore(deps): bump pymdown-extensions from 10.9 to 10.10.1
2024-09-23 11:03:54 +02:00
Matthias
7ede8af193 Merge branch 'develop' into dependabot/pip/develop/sqlalchemy-2.0.35 2024-09-23 10:52:07 +02:00
Matthias
a835b8cc8f Merge pull request #10698 from freqtrade/dependabot/pip/develop/filelock-3.16.1
chore(deps): bump filelock from 3.16.0 to 3.16.1
2024-09-23 09:44:11 +02:00
Matthias
e54b47b857 Merge pull request #10697 from freqtrade/dependabot/pip/develop/python-telegram-bot-21.6
chore(deps): bump python-telegram-bot from 21.5 to 21.6
2024-09-23 09:28:28 +02:00
Matthias
c93c25829b Merge pull request #10696 from freqtrade/dependabot/pip/develop/ruff-0.6.7
chore(deps-dev): bump ruff from 0.6.5 to 0.6.7
2024-09-23 09:24:19 +02:00
dependabot[bot]
1cdf8b29a5 chore(deps): bump fastapi from 0.114.2 to 0.115.0
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.114.2 to 0.115.0.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.114.2...0.115.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-23 06:38:27 +00:00
Matthias
b6eacf0771 Merge pull request #10694 from freqtrade/dependabot/pip/develop/pandas-2.2.3
chore(deps): bump pandas from 2.2.2 to 2.2.3
2024-09-23 08:37:49 +02:00
Matthias
4ea23c1bd8 Merge pull request #10692 from freqtrade/dependabot/pip/develop/websockets-13.1
chore(deps): bump websockets from 13.0.1 to 13.1
2024-09-23 08:37:01 +02:00
Matthias
70398820c0 Merge pull request #10691 from freqtrade/dependabot/pip/develop/pydantic-2.9.2
chore(deps): bump pydantic from 2.9.1 to 2.9.2
2024-09-23 08:36:21 +02:00
dependabot[bot]
04abc4d12f chore(deps): bump pymdown-extensions from 10.9 to 10.10.1
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.9 to 10.10.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.9...10.10.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-23 06:24:37 +00:00
Matthias
8491f46045 Merge pull request #10689 from freqtrade/dependabot/pip/develop/mkdocs-73612938eb
chore(deps): bump mkdocs-material from 9.5.34 to 9.5.36 in the mkdocs group
2024-09-23 08:23:40 +02:00
Matthias
4aa909e587 Merge pull request #10688 from freqtrade/dependabot/github_actions/develop/pypa/gh-action-pypi-publish-1.10.2
chore(deps): bump pypa/gh-action-pypi-publish from 1.10.1 to 1.10.2
2024-09-23 08:23:22 +02:00
Matthias
9f5e4b5812 chore: update sqlalchemy in pre-commit config 2024-09-23 06:34:12 +02:00
dependabot[bot]
06eb5abf11 chore(deps): bump filelock from 3.16.0 to 3.16.1
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.16.0 to 3.16.1.
- [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.0...3.16.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-23 03:48:44 +00:00
dependabot[bot]
29e6e3b374 chore(deps): bump python-telegram-bot from 21.5 to 21.6
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 21.5 to 21.6.
- [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.5...v21.6)

---
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-09-23 03:48:38 +00:00
dependabot[bot]
2fc97f83f4 chore(deps-dev): bump ruff from 0.6.5 to 0.6.7
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.6.5 to 0.6.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.6.5...0.6.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-23 03:48:26 +00:00
dependabot[bot]
1e761b4c7d chore(deps): bump sqlalchemy from 2.0.34 to 2.0.35
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.34 to 2.0.35.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-23 03:48:12 +00:00
dependabot[bot]
a2ca136f1f chore(deps): bump pandas from 2.2.2 to 2.2.3
Bumps [pandas](https://github.com/pandas-dev/pandas) from 2.2.2 to 2.2.3.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Commits](https://github.com/pandas-dev/pandas/compare/v2.2.2...v2.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-23 03:47:58 +00:00
dependabot[bot]
94322664f2 chore(deps): bump websockets from 13.0.1 to 13.1
Bumps [websockets](https://github.com/python-websockets/websockets) from 13.0.1 to 13.1.
- [Release notes](https://github.com/python-websockets/websockets/releases)
- [Commits](https://github.com/python-websockets/websockets/compare/13.0.1...13.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-09-23 03:47:39 +00:00
dependabot[bot]
cbd5c6d3e9 chore(deps): bump pydantic from 2.9.1 to 2.9.2
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.9.1 to 2.9.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.9.1...v2.9.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-09-23 03:47:32 +00:00
dependabot[bot]
0428dc8381 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.34 to 9.5.36
- [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.34...9.5.36)

---
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-09-23 03:47:22 +00:00
dependabot[bot]
01e7b0da46 chore(deps): bump pypa/gh-action-pypi-publish from 1.10.1 to 1.10.2
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.10.1 to 1.10.2.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.10.1...v1.10.2)

---
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-09-23 03:22:42 +00:00
Matthias
b37dadcc05 tests: dry-wallets test update 2024-09-22 13:22:37 +02:00
Matthias
8e6151fe65 fix: properly consider open order values as "tied up" stake. 2024-09-22 13:17:27 +02:00
Matthias
9b346c0937 docs: add hint about amount being 0 2024-09-22 09:20:49 +02:00
Matthias
b09f80ca30 tests: improve create_trade test 2024-09-22 08:47:52 +02:00
Matthias
0e0af82290 fix: odd calculation in calc_profit_ratio 2024-09-22 08:47:52 +02:00
Matthias
c69b09cbff tests: fix amount=0 test 2024-09-22 08:47:52 +02:00
Matthias
b8ba6cd970 tests: update rpc_status 2024-09-22 08:47:52 +02:00
Matthias
004e30d6be tests: update force_sell test to not use empty amount column 2024-09-22 08:47:52 +02:00
Matthias
b084efdd06 feat: initialize trade objects with 0 amount
This way, it'll represent the owned amount
which will be updated once the order fills
2024-09-22 08:47:52 +02:00
Matthias
d377d8462f fix: improve resiliance of order parsing
closes #10676
2024-09-22 08:28:29 +02:00
Matthias
2bbec9f9b1 tests: fix random test failure by reading time only once 2024-09-21 16:59:02 +02:00
Matthias
b326908487 tests: Improve test resiliance 2024-09-21 16:40:00 +02:00
Matthias
b21156a886 tests: improve stoploss test 2024-09-21 16:34:58 +02:00
Matthias
85138b0bc8 tests: Have exchange test get_historic_ohlcv properly 2024-09-21 09:06:26 +02:00
Matthias
e0df0257d1 tests: Update history tests for new response 2024-09-20 07:26:45 +02:00
Matthias
d23c1e8f92 refactor: Move dataframe parsing into get_historic_ohlcv 2024-09-20 07:23:52 +02:00
Matthias
670a40e67b chore: remove no longer valid todo 2024-09-20 07:06:21 +02:00
Matthias
3bbc6cbab1 chore: bump ccxt to 4.4.5
closes #10677
2024-09-19 20:41:32 +02:00
Matthias
15de53a22d chore: bump ccxt to 4.4.5
closes #10677
2024-09-19 20:36:56 +02:00
Matthias
59a44d6973 Merge pull request #10679 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-09-19 06:29:02 +02:00
xmatthias
7561692352 chore: update pre-commit hooks 2024-09-19 03:15:32 +00:00
Matthias
f50a633f87 docs: order table formatting 2024-09-18 07:11:12 +02:00
Jakub Werner (jakubikan)
50f07e7b11 only doing this if the category is set 2024-09-17 23:03:51 +02:00
Jakub Werner (jakubikan)
660623181a adding category list if the category is not from the category 2024-09-17 22:36:21 +02:00
Jakub Werner (jakubikan)
03ee3aaf40 adding category list if the category is not from the category 2024-09-17 22:35:00 +02:00
Matthias
ad295946c0 fix: use precise calculation for decrease adjustment calculations 2024-09-17 20:19:22 +02:00
Matthias
c28446dad0 Merge pull request #10672 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-09-17 06:28:16 +02:00
xmatthias
ff9d1f2728 chore: update pre-commit hooks 2024-09-17 03:03:39 +00:00
Jakub Werner (jakubikan)
0b7cb2a1a8 cleanup 2024-09-16 22:52:26 +02:00
Jakub Werner (jakubikan)
92af01b0cb adding category for MarketCapPairList.py 2024-09-16 22:51:42 +02:00
Jakub Werner (jakubikan)
dc26d0d7ba adding category for MarketCapPairList.py 2024-09-16 22:50:08 +02:00
Matthias
2fe67edab3 chore: update link to okx liquidation formula 2024-09-16 19:05:00 +02:00
Matthias
167e43cbef Merge pull request #10655 from freqtrade/dependabot/pip/develop/types-dda07fe7e8
chore(deps-dev): bump types-requests from 2.32.0.20240907 to 2.32.0.20240914 in the types group
2024-09-16 11:12:07 +02:00
Matthias
d8cb407c25 Merge pull request #10666 from freqtrade/dependabot/pip/develop/pydantic-2.9.1
chore(deps): bump pydantic from 2.9.0 to 2.9.1
2024-09-16 10:56:51 +02:00
Matthias
9452afe3f7 Merge pull request #10660 from freqtrade/dependabot/pip/develop/ruff-0.6.5
chore(deps-dev): bump ruff from 0.6.4 to 0.6.5
2024-09-16 10:21:12 +02:00
Matthias
8dc6d9ce7d Merge pull request #10665 from freqtrade/dependabot/pip/develop/rich-13.8.1
chore(deps): bump rich from 13.8.0 to 13.8.1
2024-09-16 09:45:01 +02:00
Matthias
bf4b8a318d Merge pull request #10661 from freqtrade/dependabot/pip/develop/scikit-learn-1.5.2
chore(deps): bump scikit-learn from 1.5.1 to 1.5.2
2024-09-16 09:44:31 +02:00
Matthias
20f6022050 Merge pull request #10663 from freqtrade/dependabot/pip/develop/ccxt-4.4.3
chore(deps): bump ccxt from 4.3.98 to 4.4.3
2024-09-16 09:33:16 +02:00
dependabot[bot]
65e6c737cd chore(deps): bump pydantic from 2.9.0 to 2.9.1
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.9.0 to 2.9.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.0...v2.9.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 07:07:06 +00:00
Matthias
6d2572e347 Merge pull request #10662 from freqtrade/dependabot/pip/develop/fastapi-0.114.2
chore(deps): bump fastapi from 0.114.0 to 0.114.2
2024-09-16 09:06:12 +02:00
Matthias
52a35197c7 Merge pull request #10659 from freqtrade/dependabot/pip/develop/pytz-2024.2
chore(deps): bump pytz from 2024.1 to 2024.2
2024-09-16 08:33:08 +02:00
Matthias
2b3a41db3e Merge pull request #10658 from freqtrade/dependabot/pip/develop/urllib3-2.2.3
chore(deps): bump urllib3 from 2.2.2 to 2.2.3
2024-09-16 08:32:52 +02:00
dependabot[bot]
09c1459411 chore(deps-dev): bump ruff from 0.6.4 to 0.6.5
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.6.4 to 0.6.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.6.4...0.6.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 06:17:40 +00:00
Matthias
98f18b89da Merge pull request #10657 from freqtrade/dependabot/pip/develop/plotly-5.24.1
chore(deps): bump plotly from 5.24.0 to 5.24.1
2024-09-16 08:16:56 +02:00
Matthias
4249db4330 Merge pull request #10656 from freqtrade/dependabot/pip/develop/pytest-baa91b6655
chore(deps-dev): bump pytest from 8.3.2 to 8.3.3 in the pytest group
2024-09-16 08:16:43 +02:00
Matthias
a7f46500ed chore: bump types-requests in pre-commit 2024-09-16 06:38:45 +02:00
dependabot[bot]
c73fa2b0eb chore(deps): bump rich from 13.8.0 to 13.8.1
Bumps [rich](https://github.com/Textualize/rich) from 13.8.0 to 13.8.1.
- [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.8.0...v13.8.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 03:18:09 +00:00
dependabot[bot]
db4c4b971a chore(deps): bump ccxt from 4.3.98 to 4.4.3
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.98 to 4.4.3.
- [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.3.98...4.4.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 03:17:58 +00:00
dependabot[bot]
e9ccc98ada chore(deps): bump fastapi from 0.114.0 to 0.114.2
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.114.0 to 0.114.2.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.114.0...0.114.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 03:17:46 +00:00
dependabot[bot]
11d6ec33b3 chore(deps): bump scikit-learn from 1.5.1 to 1.5.2
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.5.1...1.5.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 03:17:39 +00:00
dependabot[bot]
c3b6f4ca85 chore(deps): bump pytz from 2024.1 to 2024.2
Bumps [pytz](https://github.com/stub42/pytz) from 2024.1 to 2024.2.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2024.1...release_2024.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 03:17:21 +00:00
dependabot[bot]
d37405a307 chore(deps): bump urllib3 from 2.2.2 to 2.2.3
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.2.2 to 2.2.3.
- [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.2...2.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 03:17:05 +00:00
dependabot[bot]
d7a9841328 chore(deps): bump plotly from 5.24.0 to 5.24.1
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.24.0 to 5.24.1.
- [Release notes](https://github.com/plotly/plotly.py/releases)
- [Changelog](https://github.com/plotly/plotly.py/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plotly/plotly.py/compare/v5.24.0...v5.24.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 03:17:01 +00:00
dependabot[bot]
cf3af42477 chore(deps-dev): bump pytest from 8.3.2 to 8.3.3 in the pytest group
Bumps the pytest group with 1 update: [pytest](https://github.com/pytest-dev/pytest).


Updates `pytest` from 8.3.2 to 8.3.3
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.3.2...8.3.3)

---
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-09-16 03:16:39 +00:00
dependabot[bot]
ad8e6e7d67 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.20240907 to 2.32.0.20240914
- [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>
2024-09-16 03:15:58 +00:00
Matthias
ae41ab101a docs: remove skip_pair_validation - it's no longer used. 2024-09-15 11:28:57 +02:00
Matthias
f4881e7c6f tests: Adjust tests for removed validate_pairlist functionality 2024-09-15 11:28:57 +02:00
Matthias
94ef4380d4 chore: remove validate_pairs from exchange class
Invalid pairs were filtered out before this was called in most cases.
in cases where it's not - regular pairlist-filtering provides proper warnings.
2024-09-15 11:28:57 +02:00
Matthias
7ebe1b8c14 chore: remove pointless validation
pairs are validated through expand_pairlist.
If they're not in markets, they'll no longer be in the
pairlist once this function function is hit.
2024-09-15 11:02:49 +02:00
Matthias
79020bba28 chore: Remove "prohibitedIn" check
it's only been used for bitrex, which does no longer exist.
apparently this was forgotten when decomissioning bittrex.
2024-09-15 10:49:26 +02:00
Matthias
95c250ebcc chore: add explaining comment 2024-09-15 10:37:28 +02:00
Matthias
bfb14614cc chore: enhance change with comment 2024-09-15 09:48:44 +02:00
Matthias
12299d4810 feat: staticPairlist to warn for invalid pairs
Warnings about invalid pairs were "covered" by the implicit
filtering of `expand_pairlist()`
2024-09-15 09:46:47 +02:00
Matthias
c67a9d4e84 docs: update pairlist creation docs 2024-09-15 09:29:45 +02:00
Matthias
af422c7cd4 Merge pull request #10645 from dxbstyle/develop
added check for Kraken exchange
2024-09-14 10:44:23 +02:00
Matthias
51bdecea53 Improve check to cover more potential api oddities 2024-09-14 10:09:15 +02:00
Matthias
0f505c6d7b Improve check to cover more potential api oddities 2024-09-14 10:04:28 +02:00
Matthias
ae72f10448 Merge pull request #10619 from KingND/pixel/feat/freqai_labels_are_okay_in_lookahead_analysis
feat: include lookahead-analysis table caption when biased_indicator is likely from FreqAI target
2024-09-14 09:51:38 +02:00
Matthias
9f34153c84 chore: update typing for reload function 2024-09-13 19:45:30 +02:00
Matthias
c04cf6c5cb test: Improve test coverage of retry/fail logic 2024-09-13 07:24:08 +02:00
Matthias
5112736385 feat: Simplify reload_markets logic 2024-09-13 07:24:08 +02:00
Matthias
11eaa6d77c test: Add tests for new behavior 2024-09-13 07:24:08 +02:00
Matthias
6024903bde feat: conditionally apply retrier to market-reload
closes #10641
2024-09-13 07:23:58 +02:00
Matthias
e96928588e Merge pull request #10639 from jainanuj94/backtesting
Add entry-only and exit-only filters to --indicator-list in backtesting analysis
2024-09-12 06:43:24 +02:00
Matthias
94e38d4cdd Merge pull request #10646 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-09-12 06:36:11 +02:00
xmatthias
d15921b3f2 chore: update pre-commit hooks 2024-09-12 03:12:54 +00:00
Matthias
3c6e2b89a4 Merge pull request #10640 from TheJoeSchr/fix/plot-orderflow-data-missing
fix: orderflow data was missing for plotting
2024-09-11 19:11:55 +02:00
Joe Schr
439658fcf1 fix: remove tests for orderflow data missing of other runmodes 2024-09-11 17:12:35 +02:00
Joe Schr
c9acb1466c fix: orderflow data missing for plotting and other runmodes 2024-09-11 17:12:35 +02:00
Anuj Jain
addd27faf8 Update tests and docs 2024-09-11 15:33:26 +05:30
Matthias
5605bdc7a3 Merge pull request #10644 from iridescentGray/develop
chore: remove redundant method
2024-09-11 06:40:53 +02:00
colorfulgray0
f1df7e9bdc chore: remove redundant method 2024-09-11 11:33:38 +08:00
Anuj Jain
4765656f87 Add filter for entry and exit only parameter 2024-09-10 15:21:56 +05:30
Matthias
c3a00b93c2 Merge pull request #10637 from freqtrade/dependabot/docker/docker/python-3.12.6-slim-bookworm
chore(deps): bump python from 3.11.9-slim-bookworm to 3.11.10-slim-bookworm in /docker
2024-09-10 07:20:36 +02:00
Matthias
e5d2ba7835 Merge pull request #10636 from freqtrade/dependabot/docker/python-3.12.6-slim-bookworm
chore(deps): bump python from 3.12.5-slim-bookworm to 3.12.6-slim-bookworm
2024-09-10 06:53:17 +02:00
Matthias
8c1b119e84 chore: rpi image should remain on 3.11 series 2024-09-10 06:25:17 +02:00
Matthias
593a54e6cb Merge pull request #10635 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-09-10 06:23:20 +02:00
dependabot[bot]
95fa7083a9 chore(deps): bump python in /docker
Bumps python from 3.11.9-slim-bookworm to 3.12.6-slim-bookworm.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-10 04:07:33 +00:00
dependabot[bot]
98e08df807 chore(deps): bump python
Bumps python from 3.12.5-slim-bookworm to 3.12.6-slim-bookworm.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-10 04:07:26 +00:00
xmatthias
01da36f984 chore: update pre-commit hooks 2024-09-10 03:03:23 +00:00
dxbstyle
ae155c78c2 added check 2024-09-09 21:29:49 +02:00
Matthias
9742216479 chore: run ruff-format on pre-commit 2024-09-09 18:23:07 +02:00
Matthias
f720183281 Merge pull request #10630 from freqtrade/dependabot/pip/develop/sqlalchemy-2.0.34
chore(deps): bump sqlalchemy from 2.0.32 to 2.0.34
2024-09-09 14:54:33 +02:00
Matthias
4bc84acac6 Merge branch 'develop' into dependabot/pip/develop/sqlalchemy-2.0.34 2024-09-09 13:37:43 +02:00
Matthias
14a8086677 Merge pull request #10631 from freqtrade/dependabot/pip/develop/fastapi-0.114.0
chore(deps): bump fastapi from 0.112.2 to 0.114.0
2024-09-09 13:37:09 +02:00
Matthias
686b96222e Merge pull request #10621 from freqtrade/dependabot/pip/develop/types-a674cee9e2
chore(deps-dev): bump the types group with 2 updates
2024-09-09 10:57:28 +02:00
Matthias
0962f37f55 Merge pull request #10632 from freqtrade/dependabot/github_actions/develop/peter-evans/create-pull-request-7
chore(deps): bump peter-evans/create-pull-request from 6 to 7
2024-09-09 10:43:52 +02:00
Matthias
2c17551b27 chore: bump sqlalchemy in mypy additional deps 2024-09-09 10:15:18 +02:00
Matthias
3f5a5e35c2 Merge pull request #10633 from freqtrade/dependabot/github_actions/develop/pypa/gh-action-pypi-publish-1.10.1
chore(deps): bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1
2024-09-09 09:56:28 +02:00
Matthias
07c6d37ff0 Merge pull request #10628 from freqtrade/dependabot/pip/develop/ccxt-4.3.98
chore(deps): bump ccxt from 4.3.93 to 4.3.98
2024-09-09 09:12:56 +02:00
Matthias
916ea7acc0 Merge pull request #10627 from freqtrade/dependabot/pip/develop/ruff-0.6.4
chore(deps-dev): bump ruff from 0.6.3 to 0.6.4
2024-09-09 09:12:28 +02:00
Matthias
eae7e865a5 Merge pull request #10626 from freqtrade/dependabot/pip/develop/filelock-3.16.0
chore(deps): bump filelock from 3.15.4 to 3.16.0
2024-09-09 09:10:55 +02:00
Matthias
776e5054aa Merge pull request #10624 from freqtrade/dependabot/pip/develop/torch-2.4.1
chore(deps): bump torch from 2.2.2 to 2.4.1
2024-09-09 09:10:27 +02:00
Matthias
bf2b8b280e Merge pull request #10623 from freqtrade/dependabot/pip/develop/catboost-1.2.7
chore(deps): bump catboost from 1.2.5 to 1.2.7
2024-09-09 09:10:15 +02:00
dependabot[bot]
7aa7027a34 chore(deps): bump fastapi from 0.112.2 to 0.114.0
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.112.2 to 0.114.0.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.112.2...0.114.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 06:55:07 +00:00
Matthias
d4713b2091 Merge pull request #10622 from freqtrade/dependabot/pip/develop/pydantic-2.9.0
chore(deps): bump pydantic from 2.8.2 to 2.9.0
2024-09-09 08:54:14 +02:00
Matthias
9b97be4aa4 Bump pre-commit dependencies 2024-09-09 06:44:35 +02:00
dependabot[bot]
621be11395 chore(deps): bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.10.0 to 1.10.1.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.10.0...v1.10.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 03:59:34 +00:00
dependabot[bot]
05af6df536 chore(deps): bump peter-evans/create-pull-request from 6 to 7
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6 to 7.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v6...v7)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 03:59:29 +00:00
dependabot[bot]
b7bda2355d chore(deps): bump sqlalchemy from 2.0.32 to 2.0.34
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.32 to 2.0.34.
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 03:46:24 +00:00
dependabot[bot]
b0976031ae chore(deps): bump ccxt from 4.3.93 to 4.3.98
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.93 to 4.3.98.
- [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.3.93...4.3.98)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 03:46:05 +00:00
dependabot[bot]
d099f30a34 chore(deps-dev): bump ruff from 0.6.3 to 0.6.4
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.6.3 to 0.6.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.6.3...0.6.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-09-09 03:45:51 +00:00
dependabot[bot]
699be03bb7 chore(deps): bump filelock from 3.15.4 to 3.16.0
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.15.4 to 3.16.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.15.4...3.16.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 03:45:29 +00:00
dependabot[bot]
ccf93cfdcd chore(deps): bump torch from 2.2.2 to 2.4.1
Bumps [torch](https://github.com/pytorch/pytorch) from 2.2.2 to 2.4.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.4.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-09-09 03:45:14 +00:00
dependabot[bot]
47358a8229 chore(deps): bump catboost from 1.2.5 to 1.2.7
Bumps [catboost](https://github.com/catboost/catboost) from 1.2.5 to 1.2.7.
- [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.5...v1.2.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 03:45:03 +00:00
dependabot[bot]
9856c2cfc4 chore(deps): bump pydantic from 2.8.2 to 2.9.0
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.8.2 to 2.9.0.
- [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.8.2...v2.9.0)

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

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


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

Updates `types-python-dateutil` from 2.9.0.20240821 to 2.9.0.20240906
- [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
- 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-09-09 03:43:50 +00:00
KingND
f970454cb4 chore: ruff format 2024-09-08 13:57:48 -04:00
KingND
69678574d4 fix: support python 3.9 union type hinting 2024-09-08 12:04:58 -04:00
KingND
53cab5074b chore: refactor and cleanup tests 2024-09-08 12:04:58 -04:00
KingND
c6c65b1799 chore: flake8 2024-09-08 12:04:58 -04:00
KingND
bb9f64027a chore: improve language in docs 2024-09-08 12:04:58 -04:00
KingND
5f52fc4338 feat: update lookahead-analysis doc caveats to include info regarding the false positive on FreqAI targets 2024-09-08 12:04:58 -04:00
KingND
82e30c8519 feat: if a biased_indicator starting with & appears in a lookahead-analysis, caption the table with a note that freqai targets appearing here can be ignored 2024-09-08 12:04:58 -04:00
Matthias
6e2aa6b4b8 tests: remove unused imports 2024-09-08 08:28:40 +02:00
Matthias
a1681cdd63 chore: improve typing 2024-09-08 08:28:40 +02:00
Matthias
611a3ce138 Merge pull request #10485 from jainanuj94/feature/8902
Add exit signals to export in backtesting
2024-09-07 20:12:05 +02:00
Matthias
396d933e34 feat(bybit): add support for unified Accounts 2024-09-07 18:28:56 +02:00
Matthias
0858e0a21e Minor update to docs 2024-09-07 15:29:23 +02:00
Matthias
704e32b0dc feat: properly parse marginmode on startup 2024-09-07 09:28:35 +02:00
Matthias
f95cc960e1 test: tests should consider additional ff-update call 2024-09-07 09:25:20 +02:00
Matthias
1b00f512c1 fix: call order_filled callback for left open trades 2024-09-07 09:24:21 +02:00
Matthias
d9ec66695c docs: update backtesting docs with new row 2024-09-07 08:49:30 +02:00
Matthias
1a2578a4b7 feat: Add margin/Trading mode output to bt-output 2024-09-07 08:47:45 +02:00
Matthias
f714e306da test: add margin and trading mode to test config 2024-09-06 21:15:10 +02:00
Matthias
6a4b641250 feat: implement __str__ for marign and tradingmode enums 2024-09-06 20:58:54 +02:00
Anuj Jain
8d96844312 use BT_DATA_COLUMNS for trade wide indicators 2024-09-06 12:28:02 +05:30
Anuj Jain
b7145debfb handle trade wide indicators 2024-09-05 21:52:09 +05:30
Matthias
990dbb6c06 Merge pull request #10616 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-09-05 05:57:37 +02:00
xmatthias
c6a66a8fac chore: update pre-commit hooks 2024-09-05 03:12:48 +00:00
Matthias
65ba67dedc chore: re-add analytics. 2024-09-04 21:08:34 +02:00
Matthias
824db78234 chore: update site_url again 2024-09-04 21:07:16 +02:00
Matthias
2fdf108198 chore: update site_url to work correctly 2024-09-04 21:04:39 +02:00
Matthias
63092d7d1a chore: re-add analytics to docs page 2024-09-04 20:44:18 +02:00
Matthias
964d437c7a chore: type _ft_has 2024-09-04 07:15:17 +02:00
Matthias
d49c556291 chore: rename ft_has setting from ws.enabled to ws_enabled 2024-09-04 06:57:13 +02:00
Matthias
d6b2748293 chore: rename types to ft_types 2024-09-04 06:44:48 +02:00
Matthias
e3a5831d64 refactor: rename exchange.types 2024-09-04 06:42:51 +02:00
Anuj Jain
08d5174d02 update documentation and add default values 2024-09-04 09:56:12 +05:30
Matthias
dacb926db5 Merge pull request #10614 from freqtrade/dependabot/pip/cryptography-43.0.1
chore(deps): bump cryptography from 42.0.8 to 43.0.1
2024-09-04 06:11:59 +02:00
dependabot[bot]
c0e9173c9b chore(deps): bump cryptography from 42.0.8 to 43.0.1
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.8 to 43.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/42.0.8...43.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-04 00:25:37 +00:00
Matthias
f46308bbdb Merge pull request #10612 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-09-03 06:18:55 +02:00
xmatthias
331db99a4e chore: update pre-commit hooks 2024-09-03 03:02:47 +00:00
Matthias
d84f32f27d Merge pull request #10607 from freqtrade/dependabot/pip/develop/ccxt-4.3.93
chore(deps): bump ccxt from 4.3.88 to 4.3.93
2024-09-02 08:33:44 +02:00
Matthias
ac28a44b92 Merge pull request #10609 from freqtrade/dependabot/github_actions/develop/pypa/gh-action-pypi-publish-1.10.0
chore(deps): bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.0
2024-09-02 08:13:28 +02:00
Matthias
003a41b920 Merge pull request #10608 from freqtrade/dependabot/pip/develop/python-telegram-bot-21.5
chore(deps): bump python-telegram-bot from 21.4 to 21.5
2024-09-02 07:49:17 +02:00
dependabot[bot]
bc4c693525 chore(deps): bump ccxt from 4.3.88 to 4.3.93
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.88 to 4.3.93.
- [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.3.88...4.3.93)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 05:08:37 +00:00
Matthias
d4ba837641 chore: mark Bybit as supported exchange 2024-09-02 07:03:04 +02:00
Matthias
4a1592dd92 feat: initialize hyperliquid in spot mode by default 2024-09-02 07:03:04 +02:00
Matthias
ac145a0b65 Merge pull request #10606 from freqtrade/dependabot/pip/develop/websockets-13.0.1
chore(deps): bump websockets from 13.0 to 13.0.1
2024-09-02 06:58:04 +02:00
Matthias
50c00dcae6 Merge pull request #10605 from freqtrade/dependabot/pip/develop/plotly-5.24.0
chore(deps): bump plotly from 5.23.0 to 5.24.0
2024-09-02 06:57:47 +02:00
Matthias
95d964140b Merge pull request #10604 from freqtrade/dependabot/pip/develop/rich-13.8.0
chore(deps): bump rich from 13.7.1 to 13.8.0
2024-09-02 06:57:34 +02:00
Matthias
0a73a7eb52 Merge pull request #10603 from freqtrade/dependabot/pip/develop/ruff-0.6.3
chore(deps-dev): bump ruff from 0.6.2 to 0.6.3
2024-09-02 06:57:25 +02:00
Matthias
0aecb24930 Merge pull request #10602 from freqtrade/dependabot/pip/develop/mkdocs-4a19445461
chore(deps): bump the mkdocs group with 2 updates
2024-09-02 06:57:03 +02:00
dependabot[bot]
904f5303a6 chore(deps): bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.0
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.9.0...v1.10.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-09-02 03:05:58 +00:00
dependabot[bot]
585761e931 chore(deps): bump python-telegram-bot from 21.4 to 21.5
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 21.4 to 21.5.
- [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.4...v21.5)

---
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-09-02 03:05:45 +00:00
dependabot[bot]
4d53797cba chore(deps): bump websockets from 13.0 to 13.0.1
Bumps [websockets](https://github.com/python-websockets/websockets) from 13.0 to 13.0.1.
- [Release notes](https://github.com/python-websockets/websockets/releases)
- [Commits](https://github.com/python-websockets/websockets/compare/13.0...13.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>
2024-09-02 03:05:21 +00:00
dependabot[bot]
803677e884 chore(deps): bump plotly from 5.23.0 to 5.24.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.23.0 to 5.24.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.23.0...v5.24.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 03:05:14 +00:00
dependabot[bot]
17617c58d7 chore(deps): bump rich from 13.7.1 to 13.8.0
Bumps [rich](https://github.com/Textualize/rich) from 13.7.1 to 13.8.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.7.1...v13.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 03:05:10 +00:00
dependabot[bot]
96d03ec13d chore(deps-dev): bump ruff from 0.6.2 to 0.6.3
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.6.2 to 0.6.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.6.2...0.6.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-09-02 03:05:06 +00:00
dependabot[bot]
4726afbebf chore(deps): bump the mkdocs group with 2 updates
Bumps the mkdocs group with 2 updates: [mkdocs](https://github.com/mkdocs/mkdocs) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs` from 1.6.0 to 1.6.1
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.6.0...1.6.1)

Updates `mkdocs-material` from 9.5.33 to 9.5.34
- [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.33...9.5.34)

---
updated-dependencies:
- dependency-name: mkdocs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mkdocs
- 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-09-02 03:04:55 +00:00
Matthias
97c937e554 chore: add Bugbear Ruff checking 2024-09-01 08:32:42 +02:00
Matthias
b25520cf18 chore: improve rhci_progress typing, remove mutable arguments 2024-09-01 08:27:53 +02:00
Matthias
c6b46d75cb chore: fix B018 violation 2024-09-01 08:24:47 +02:00
Matthias
a554352ae0 test: remove unused mutable argument 2024-09-01 08:24:21 +02:00
Matthias
a7fd03f1b7 chore: improve ccxt test 2024-09-01 08:22:58 +02:00
Matthias
ef96116c3f docs: add note about freqUI support of dp.current_whitelist
closes #10600
2024-08-31 20:34:02 +02:00
Matthias
01d10aebca Merge pull request #10599 from freqtrade/new_release
New release 2024.8
2024-08-31 16:03:49 +02:00
Matthias
7edc50865f docs: improve release documentation 2024-08-31 08:34:48 +02:00
Matthias
a881d3fd81 chore: bump version to 2024.9-dev 2024-08-31 08:31:42 +02:00
Matthias
5e9d2323e3 chore: bump version to 2024.8 2024-08-31 08:25:52 +02:00
Matthias
a98b5dd86e Merge branch 'stable' into new_release 2024-08-31 08:25:20 +02:00
Matthias
a250cf7ebe test: Remove unnecessary asyncio decorators 2024-08-29 20:38:57 +02:00
Matthias
1c5ca0f022 chore: improved fix for terminal error 2024-08-29 20:38:25 +02:00
Matthias
ca3dee7b37 chore: add setting to avoid deprecation warning from pytest-asyncio 2024-08-29 20:24:52 +02:00
Matthias
59d47955a0 chore: fix test failure due to terminal error 2024-08-29 20:05:48 +02:00
Matthias
d05ca3db0b fix: handle small terminal width
closes #10572
2024-08-29 07:14:32 +02:00
Matthias
87678eff98 fix: avoid hyperopt-results not showing past terminal height 2024-08-29 07:14:32 +02:00
Matthias
c1f54b14d0 Merge pull request #10594 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-08-29 06:32:13 +02:00
xmatthias
4c487d666f chore: update pre-commit hooks 2024-08-29 03:12:45 +00:00
Matthias
655a300acb docs: re-establish search box on develop documentation 2024-08-28 20:27:36 +02:00
Matthias
8d61d66d79 Merge pull request #10573 from freqtrade/dependabot/pip/develop/types-451e0821cf
chore(deps-dev): bump the types group with 2 updates
2024-08-27 20:27:36 +02:00
Matthias
13f391fe4a Merge pull request #10577 from freqtrade/dependabot/pip/develop/websockets-13.0
chore(deps): bump websockets from 12.0 to 13.0
2024-08-27 19:48:21 +02:00
Matthias
660a5d910a chore: bump pre-commit type deps 2024-08-27 19:44:09 +02:00
Matthias
a58c5b372c Merge pull request #10588 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-08-27 07:26:19 +02:00
xmatthias
ec55fdb8d8 chore: update pre-commit hooks 2024-08-27 03:02:41 +00:00
Matthias
19d670826d Merge pull request #10582 from freqtrade/dependabot/pip/develop/mypy-1.11.2
chore(deps-dev): bump mypy from 1.11.1 to 1.11.2
2024-08-26 11:58:55 +02:00
Matthias
7033bd19fe Merge pull request #10580 from freqtrade/dependabot/pip/develop/aiohttp-3.10.5
chore(deps): bump aiohttp from 3.10.4 to 3.10.5
2024-08-26 10:45:35 +02:00
Matthias
aea75b9e52 Merge pull request #10581 from freqtrade/dependabot/pip/develop/fastapi-0.112.2
chore(deps): bump fastapi from 0.112.1 to 0.112.2
2024-08-26 09:55:02 +02:00
dependabot[bot]
eaf68fe105 chore(deps): bump aiohttp from 3.10.4 to 3.10.5
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.10.4 to 3.10.5.
- [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.4...v3.10.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 07:29:04 +00:00
Matthias
a27237286c Merge pull request #10578 from freqtrade/dependabot/pip/develop/ccxt-4.3.88
chore(deps): bump ccxt from 4.3.85 to 4.3.88
2024-08-26 09:27:25 +02:00
Matthias
502ca6b612 Merge pull request #10579 from freqtrade/dependabot/pip/develop/scipy-1.14.1
chore(deps): bump scipy from 1.14.0 to 1.14.1
2024-08-26 09:09:24 +02:00
dependabot[bot]
a9451a5413 chore(deps-dev): bump mypy from 1.11.1 to 1.11.2
Bumps [mypy](https://github.com/python/mypy) from 1.11.1 to 1.11.2.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.11.1...v1.11.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 06:40:25 +00:00
Matthias
ee54047b94 Merge pull request #10576 from freqtrade/dependabot/pip/develop/ruff-0.6.2
chore(deps-dev): bump ruff from 0.6.1 to 0.6.2
2024-08-26 08:39:58 +02:00
Matthias
a2e2c0a41a Merge pull request #10575 from freqtrade/dependabot/pip/develop/mkdocs-d35dd8fcd7
chore(deps): bump mkdocs-material from 9.5.32 to 9.5.33 in the mkdocs group
2024-08-26 08:39:39 +02:00
Matthias
8e7bfba0ab Merge pull request #10574 from freqtrade/dependabot/pip/develop/pytest-c16e4178ec
chore(deps-dev): bump pytest-asyncio from 0.23.8 to 0.24.0 in the pytest group
2024-08-26 08:39:00 +02:00
dependabot[bot]
6d280be081 chore(deps): bump fastapi from 0.112.1 to 0.112.2
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.112.1 to 0.112.2.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.112.1...0.112.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 04:01:39 +00:00
dependabot[bot]
877c6635e4 chore(deps): bump scipy from 1.14.0 to 1.14.1
Bumps [scipy](https://github.com/scipy/scipy) from 1.14.0 to 1.14.1.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.14.0...v1.14.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 04:01:13 +00:00
dependabot[bot]
ca0be181bc chore(deps): bump ccxt from 4.3.85 to 4.3.88
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.85 to 4.3.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/4.3.85...4.3.88)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 04:00:57 +00:00
dependabot[bot]
ba2cf8015b chore(deps): bump websockets from 12.0 to 13.0
Bumps [websockets](https://github.com/python-websockets/websockets) from 12.0 to 13.0.
- [Release notes](https://github.com/python-websockets/websockets/releases)
- [Commits](https://github.com/python-websockets/websockets/compare/12.0...13.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-08-26 04:00:51 +00:00
dependabot[bot]
f1f4ed97ca chore(deps-dev): bump ruff from 0.6.1 to 0.6.2
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.6.1 to 0.6.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.6.1...0.6.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-08-26 04:00:46 +00:00
dependabot[bot]
24785d28e6 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.32 to 9.5.33
- [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.32...9.5.33)

---
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-08-26 04:00:35 +00:00
dependabot[bot]
0076205da6 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.23.8 to 0.24.0
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.23.8...v0.24.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-08-26 04:00:21 +00:00
dependabot[bot]
6235b50c9d chore(deps-dev): bump the types group with 2 updates
Bumps the types group with 2 updates: [types-cachetools](https://github.com/python/typeshed) and [types-python-dateutil](https://github.com/python/typeshed).


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

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

---
updated-dependencies:
- dependency-name: types-cachetools
  dependency-type: direct:development
  update-type: version-update:semver-minor
  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-08-26 03:59:43 +00:00
Matthias
5cca19bb83 refactor: simplify binance liquidation test setup 2024-08-24 18:07:19 +02:00
Matthias
1b7056853b refactor: move test_liquidation_price_binance to binance test file 2024-08-24 18:06:19 +02:00
Matthias
d1bc519599 docs: Show version alias on versions 2024-08-24 09:33:33 +02:00
Matthias
bcae1dce7b docs: reduce font-weight of version_list 2024-08-24 09:19:07 +02:00
Matthias
e87927564b chore: Improve typing 2024-08-23 18:18:05 +02:00
Matthias
01b7ad4a3f feat: prevent freqAI startup on exchanges without history
closes #10570
2024-08-23 18:16:06 +02:00
Matthias
235d38752c Merge pull request #10566 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-08-22 06:33:17 +02:00
xmatthias
fd30edf2bb chore: update pre-commit hooks 2024-08-22 03:13:36 +00:00
Matthias
0a2be142ff Merge pull request #10565 from froggleston/develop
Add clarification for untradeable pairs vs markets
2024-08-21 20:25:12 +02:00
Matthias
33614d8ff0 docs: Improve wording for untradeable pairs 2024-08-21 19:51:24 +02:00
Matthias
3dce1d32f9 Merge pull request #10564 from iridescentGray/develop
chore: fix test param
2024-08-21 18:15:55 +02:00
Robert Davey
4a62199682 Add clarification for untradeable pairs vs markets 2024-08-21 15:26:19 +01:00
colorfulgray0
68be56240d chore: fix test param 2024-08-21 17:46:58 +08:00
Matthias
19ccb27dbd chore: deploy through github internal pipeline 2024-08-20 21:19:26 +02:00
Matthias
a7e2bf071b chore: Move deployment to gh native actions 2024-08-20 20:32:53 +02:00
Matthias
e05a6e976e chore: add Ci for gha deployment 2024-08-20 20:20:25 +02:00
Matthias
c7485e3fd4 chore: add mike to mkdocs config 2024-08-20 20:17:36 +02:00
Matthias
80ad1a68e7 Merge pull request #10554 from freqtrade/dependabot/pip/develop/tables-3.10.1
chore(deps): bump tables from 3.9.1 to 3.10.1
2024-08-20 07:45:55 +02:00
Matthias
f4440d43de chore: increase wait time on ws to avoid flukes 2024-08-20 06:45:09 +02:00
Matthias
201a5c06fe Merge pull request #10553 from freqtrade/dependabot/pip/develop/ruff-0.6.1
chore(deps-dev): bump ruff from 0.5.7 to 0.6.1
2024-08-19 20:37:12 +02:00
Matthias
6bd21b8995 chore: pin tables for python 3.9 2024-08-19 20:01:19 +02:00
Matthias
ce66fbb595 chore: ruff format notebook 2024-08-19 19:59:15 +02:00
Matthias
226ebdd935 Merge pull request #10560 from freqtrade/dependabot/pip/develop/ccxt-4.3.85
chore(deps): bump ccxt from 4.3.84 to 4.3.85
2024-08-19 19:10:41 +02:00
Matthias
fcc400b20d Merge pull request #10559 from freqtrade/dependabot/pip/develop/mkdocs-ffd8a664e0
chore(deps): bump mkdocs-material from 9.5.31 to 9.5.32 in the mkdocs group
2024-08-19 18:54:50 +02:00
Matthias
d2c908b1ab chore: bump ruff pre-commit version 2024-08-19 18:23:53 +02:00
Matthias
976f9b2590 chore: re-format ipynb notebook 2024-08-19 18:23:36 +02:00
dependabot[bot]
4d175a466e chore(deps): bump ccxt from 4.3.84 to 4.3.85
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.84 to 4.3.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/4.3.84...4.3.85)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 16:20:09 +00:00
Matthias
986ff7d1b1 chore: rename parameter to avoid naming collision 2024-08-19 18:19:42 +02:00
dependabot[bot]
bc719feb5d 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.31 to 9.5.32
- [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.31...9.5.32)

---
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-08-19 16:19:33 +00:00
Matthias
fe41612738 Merge pull request #10557 from freqtrade/dependabot/pip/develop/fastapi-0.112.1
chore(deps): bump fastapi from 0.112.0 to 0.112.1
2024-08-19 10:31:32 +02:00
Matthias
91f36ae42a Merge pull request #10552 from freqtrade/dependabot/pip/develop/matplotlib-3.9.2
chore(deps): bump matplotlib from 3.9.1.post1 to 3.9.2
2024-08-19 10:02:02 +02:00
Matthias
2750981b64 Merge pull request #10551 from freqtrade/dependabot/pip/develop/ccxt-4.3.84
chore(deps): bump ccxt from 4.3.79 to 4.3.84
2024-08-19 09:45:43 +02:00
jainanuj94
268683f8ea update documentation 2024-08-19 12:50:54 +05:30
Matthias
5737165f37 Merge pull request #10547 from freqtrade/dependabot/pip/develop/cachetools-5.5.0
chore(deps): bump cachetools from 5.4.0 to 5.5.0
2024-08-19 09:16:40 +02:00
dependabot[bot]
a70116ed4d chore(deps): bump fastapi from 0.112.0 to 0.112.1
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.112.0 to 0.112.1.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.112.0...0.112.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 06:50:46 +00:00
Matthias
31d2296777 Merge pull request #10555 from freqtrade/dependabot/pip/develop/uvicorn-0.30.6
chore(deps): bump uvicorn from 0.30.5 to 0.30.6
2024-08-19 08:49:35 +02:00
dependabot[bot]
b859d7f3a5 chore(deps): bump ccxt from 4.3.79 to 4.3.84
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.79 to 4.3.84.
- [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.3.79...4.3.84)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 06:00:52 +00:00
dependabot[bot]
75714ae84a chore(deps): bump matplotlib from 3.9.1.post1 to 3.9.2
Bumps [matplotlib](https://github.com/matplotlib/matplotlib) from 3.9.1.post1 to 3.9.2.
- [Release notes](https://github.com/matplotlib/matplotlib/releases)
- [Commits](https://github.com/matplotlib/matplotlib/compare/v3.9.1.post1...v3.9.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 06:00:50 +00:00
Matthias
be221c5a3e Merge pull request #10550 from freqtrade/dependabot/pip/develop/tensorboard-2.17.1
chore(deps): bump tensorboard from 2.17.0 to 2.17.1
2024-08-19 08:00:15 +02:00
Matthias
064ff34866 Merge pull request #10549 from freqtrade/dependabot/pip/develop/aiohttp-3.10.4
chore(deps): bump aiohttp from 3.10.3 to 3.10.4
2024-08-19 08:00:03 +02:00
Matthias
9807d6bb2c Merge pull request #10548 from freqtrade/dependabot/pip/develop/markdown-3.7
chore(deps): bump markdown from 3.6 to 3.7
2024-08-19 07:59:54 +02:00
dependabot[bot]
8321425e62 chore(deps): bump uvicorn from 0.30.5 to 0.30.6
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.30.5 to 0.30.6.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.30.5...0.30.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 03:49:10 +00:00
dependabot[bot]
ba3223a9a3 chore(deps): bump tables from 3.9.1 to 3.10.1
Bumps [tables](https://github.com/PyTables/PyTables) from 3.9.1 to 3.10.1.
- [Release notes](https://github.com/PyTables/PyTables/releases)
- [Changelog](https://github.com/PyTables/PyTables/blob/master/RELEASE_NOTES.rst)
- [Commits](https://github.com/PyTables/PyTables/compare/v3.9.1...v3.10.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 03:49:05 +00:00
dependabot[bot]
a266997b69 chore(deps-dev): bump ruff from 0.5.7 to 0.6.1
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.5.7 to 0.6.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.5.7...0.6.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 03:49:02 +00:00
dependabot[bot]
314983b139 chore(deps): bump tensorboard from 2.17.0 to 2.17.1
Bumps [tensorboard](https://github.com/tensorflow/tensorboard) from 2.17.0 to 2.17.1.
- [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.17.0...2.17.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 03:48:37 +00:00
dependabot[bot]
8896b0ae7c chore(deps): bump aiohttp from 3.10.3 to 3.10.4
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.10.3 to 3.10.4.
- [Release notes](https://github.com/aio-libs/aiohttp/releases)
- [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst)
- [Commits](https://github.com/aio-libs/aiohttp/compare/v3.10.3...v3.10.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 03:48:31 +00:00
dependabot[bot]
b6aa922c09 chore(deps): bump markdown from 3.6 to 3.7
Bumps [markdown](https://github.com/Python-Markdown/markdown) from 3.6 to 3.7.
- [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.6...3.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 03:48:17 +00:00
dependabot[bot]
95732f4170 chore(deps): bump cachetools from 5.4.0 to 5.5.0
Bumps [cachetools](https://github.com/tkem/cachetools) from 5.4.0 to 5.5.0.
- [Changelog](https://github.com/tkem/cachetools/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/tkem/cachetools/compare/v5.4.0...v5.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-19 03:48:14 +00:00
jainanuj94
b6702d1d32 simplify merging logic 2024-08-18 23:22:20 +05:30
jainanuj94
c3679910a4 remove additional argument 2024-08-18 23:14:21 +05:30
Matthias
624dfdf6ac Merge pull request #10546 from stash86/fix-recursive
add startup count from strategy to the analysis
2024-08-18 17:16:56 +02:00
Stefano Ariestasia
83e0cf75c5 add startup count from strategy to the analysis 2024-08-18 23:48:11 +09:00
jainanuj94
19a2e06c0b #000 | Anuj | Merge Dfs for entry and exit in one table 2024-08-18 18:41:04 +05:30
Matthias
7fe23ad8c9 chore: add alias_for to tests 2024-08-18 13:15:10 +02:00
Matthias
fd9ec438dc feat: show name, class name and eventually the replacement alias 2024-08-18 11:36:34 +02:00
Matthias
7cab973cbf feat: get new name for aliased ccxt exchanges 2024-08-18 11:36:06 +02:00
Matthias
9e3e5038f7 Merge pull request #10544 from freqtrade/feat/strategy_star_import
Improved imports for strategy
2024-08-18 09:53:45 +02:00
Matthias
7952712c5e chore: update samples to use doublequotes 2024-08-18 08:44:37 +02:00
Matthias
d754a2e295 feat: improve default imports 2024-08-18 08:38:59 +02:00
Matthias
768b4e5e2b chore: Update formatting of default export sequence 2024-08-18 08:38:11 +02:00
Matthias
b1ae09c003 docs: remove callback examples imports 2024-08-18 08:37:34 +02:00
Matthias
9408e858cd chore: use aligned quoting strategy for templtae 2024-08-17 16:43:46 +02:00
Matthias
0995164110 feat: improve formatting of generated strategy 2024-08-17 16:36:21 +02:00
Matthias
b3a042a63b feat: don't use commented typehints
Imports are correct now
2024-08-17 16:32:38 +02:00
Matthias
c2ac70ff10 feat: update base_strategy to include all imports 2024-08-17 16:30:06 +02:00
Matthias
e7b57d8dee chore: Update import for qtpylib to technical 2024-08-17 16:28:56 +02:00
Matthias
5bc8b02b0f feat: Update imports for sample strategy 2024-08-17 16:28:19 +02:00
Matthias
d6f96b2c53 chore: remove typing imports
These shouldn't be star imported, but should be explicitly imported.
2024-08-17 16:26:21 +02:00
Matthias
6c131b5648 chore: add comment to better explain imports 2024-08-17 16:25:47 +02:00
Matthias
27a4a502d7 docs: Add section explaining strategy imports 2024-08-17 16:25:02 +02:00
Matthias
f0a25ea485 feat: Add __all__ export to strategy's init file 2024-08-17 16:24:59 +02:00
Matthias
4ca6e61726 fix: use dynamic trading_mode for trades loading
closes #10540
2024-08-16 18:27:30 +02:00
Matthias
e26ac6ed00 test: speed up detail test 2024-08-15 20:02:45 +02:00
Matthias
f341edb975 feat: Enable websocket support for okx 2024-08-15 19:54:08 +02:00
Matthias
fdad24aaac feat: add leverage to telegram's /status table 2024-08-15 17:57:00 +02:00
Matthias
3a676f98db test: improve telegram balance test 2024-08-15 17:36:14 +02:00
Matthias
8498cb17e7 test: add explicit test for telegram's short behavior 2024-08-15 17:36:14 +02:00
Matthias
36098f6b78 test: update tests for removal of leverage 2024-08-15 17:36:14 +02:00
Matthias
34667c69d3 chore: remove leverage from /balance endpoint 2024-08-15 17:00:11 +02:00
Matthias
756fef53f9 refactor: improve live positions update 2024-08-15 17:00:08 +02:00
Matthias
2ffe938206 test: update test behavior - wallets has 0, never none 2024-08-15 08:21:25 +02:00
Matthias
d521699305 refactor: type fetch_positions response 2024-08-15 08:08:50 +02:00
Matthias
5ad23405b7 chore: align safevalue_fallback types 2024-08-15 08:06:50 +02:00
Matthias
04cdd807ba chore: improved type ordering 2024-08-15 07:30:21 +02:00
Matthias
646ed50f37 chore: improve typing for balance endpoint 2024-08-15 07:29:19 +02:00
Matthias
1b0ba0fa68 fix: typo in armhf dockerfile causing build to fail 2024-08-15 06:58:43 +02:00
Matthias
21c5c919ea chore: Improve typehinting for hyperopt 2024-08-15 06:50:22 +02:00
Matthias
d9f6f0847d docs: improve readability of hyperopt-loss sample 2024-08-15 06:50:04 +02:00
Matthias
59c897b53e Merge pull request #10534 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-08-15 06:21:15 +02:00
xmatthias
77b32e94f1 chore: update pre-commit hooks 2024-08-15 03:12:42 +00:00
Matthias
331159a3d8 fix: ensure handle_onexchange_order works without false warnings
futures were not properly handled in this command.

closes #10533
2024-08-14 21:18:51 +02:00
Matthias
23510c80be fix: don't auto-populate non-existing secret entries 2024-08-14 08:19:58 +02:00
Matthias
ef497beaea Merge pull request #10484 from freqtrade/feat/trades_async
Move trades-refresh to async
2024-08-13 15:18:26 +02:00
Matthias
6ea450a4e1 chore: bitvavo uses DECIMAL_PLACES for amount rounding
closes #9560
2024-08-13 14:30:01 +02:00
Matthias
f64786543d feat: hyperliquid requires different precision modes 2024-08-13 12:21:13 +02:00
Matthias
c60e00c77f Merge pull request #10530 from freqtrade/feat/price_precision_mode
add price_precision_mode
2024-08-13 12:20:53 +02:00
Matthias
7e502beafc Merge pull request #10527 from freqtrade/feat/bt_generator
Backtesting - dynamic pairlist sorting
2024-08-13 09:56:19 +02:00
Matthias
aa6c30ade6 chore: fix line too long issue 2024-08-13 09:50:34 +02:00
Matthias
0b8dfa6878 chore: improved docstring for precision_mode_price 2024-08-13 09:29:36 +02:00
Matthias
d7bee0c9e0 test: update further tests for precision_mode_price 2024-08-13 09:23:43 +02:00
Matthias
350c2241c4 test: adjust test mocks for precision_mode_price 2024-08-13 09:20:40 +02:00
Matthias
cfa591838f feat: use "precision_mode_price" where applicable 2024-08-13 09:13:10 +02:00
Matthias
ac1ac0debe feat: set precision_mode_price when creating trade objects 2024-08-13 09:11:44 +02:00
Matthias
54bc60b08f test: Update test for new to-json field 2024-08-13 09:10:50 +02:00
Matthias
f8de46cea9 feat: Add precision_mode_price column 2024-08-13 09:09:12 +02:00
Matthias
6fc2a604b4 Merge pull request #10529 from freqtrade/feat/list-data-trades
add --trades to list-data command
2024-08-13 08:13:23 +02:00
Matthias
1e410feed1 test: fix missing test arg 2024-08-13 07:33:13 +02:00
Matthias
948e67a2b7 docs: improved wording 2024-08-13 07:14:08 +02:00
Matthias
0f820e4498 chore: Fix 3.9 syntax error 2024-08-13 07:12:57 +02:00
Matthias
c7bc1b10e2 docs: fix messed up formatting 2024-08-13 07:04:51 +02:00
Matthias
ef04324f9d docs: update --help output docs 2024-08-13 07:03:00 +02:00
Matthias
2b86865b9b chore: improve wording in subcommand helptext 2024-08-13 07:02:53 +02:00
Matthias
f009625c1a docs: update list-data documentation 2024-08-13 07:01:23 +02:00
Matthias
a991c76842 feat: add test for test_list_data command 2024-08-13 06:54:35 +02:00
Matthias
d02ea3244a feat: add "trades" switch to list-data command 2024-08-13 06:46:02 +02:00
Matthias
5a9f87ac63 feat: add start_list_trades_data command to output trades data 2024-08-13 06:44:28 +02:00
Matthias
9bfd0cb63c feat: add test for trades_data_minmax 2024-08-13 06:43:26 +02:00
Matthias
3f4c19abbc chore: add test for trades_get_available_data 2024-08-13 06:40:11 +02:00
Matthias
cf26635e3c feat: add trades helper functions
trades_get_available data and trades_data_min_max
2024-08-13 06:36:39 +02:00
Matthias
e540862401 Merge pull request #10528 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-08-13 06:34:44 +02:00
xmatthias
263be72c11 chore: update pre-commit hooks 2024-08-13 03:02:59 +00:00
Matthias
b63c04df4f chore: update help wording 2024-08-12 20:11:43 +02:00
Matthias
784208dd87 chore: improve variable naming for ohlcv 2024-08-12 19:44:55 +02:00
Matthias
5cb6c234c4 chore: improve naming for refresh_latest_trades 2024-08-12 19:44:45 +02:00
Matthias
7972a023ed fix: oddly wrong fee_cost calculation 2024-08-12 16:45:51 +02:00
Matthias
6cf92c2a90 chore: enhanced aggregation syntax 2024-08-12 16:41:07 +02:00
Matthias
50835c878e chore: add more test coverage 2024-08-12 15:35:31 +02:00
Matthias
b727e5ca1c chore: simplify update code 2024-08-12 14:51:42 +02:00
Matthias
5773d1fd8d docs: Update documentation for new flow 2024-08-12 14:51:42 +02:00
Matthias
530226dbe8 chore: Add "use_detail" to detail test 2024-08-12 14:51:42 +02:00
Matthias
4882a18bf9 chore: add pair_detail test 2024-08-12 14:51:42 +02:00
Matthias
70f3018e67 feat: remove "open_trade_count_start" workaround
Due to the updated pair ordering logic, we can open trades on
different pairs during the same candle without
superating the max_open_trades limit
2024-08-12 14:51:42 +02:00
Matthias
08c10c1f9b chore: exclude right boundary from parallelism test 2024-08-12 14:51:42 +02:00
Matthias
7945eba386 feat: Evaluate pairs with open trades first
This will enable further improved logic for pairs with no open trade.
2024-08-12 14:51:42 +02:00
Matthias
b6f4e124ce chore: improve backtesting test details
ensure all candles used the same pairlist ordering
2024-08-12 14:51:42 +02:00
Matthias
f01e101447 feat: extract backtest iteration into generator 2024-08-12 14:51:42 +02:00
Matthias
980b81f009 chore: Simplify futures backtest 2024-08-12 14:51:37 +02:00
Matthias
10f0522a6b chore: update attribute wording to bt_profit 2024-08-12 10:57:53 +02:00
Matthias
2bc9cdafb2 chore: update attribute wording to bt_trades 2024-08-12 10:57:53 +02:00
Matthias
e643a2ea32 chore: update attribute wording to bt_trades_open 2024-08-12 10:57:53 +02:00
Matthias
b456afa2ac chore: improve backtesting test 2024-08-12 10:20:36 +02:00
Matthias
50b55c3f31 Merge pull request #10522 from freqtrade/dependabot/pip/develop/ccxt-4.3.79
chore(deps): bump ccxt from 4.3.76 to 4.3.79
2024-08-12 09:45:55 +02:00
Matthias
88b754e38c chore: update test to reflect a fix in ccxt 2024-08-12 09:14:36 +02:00
Matthias
b3868a77f1 Merge pull request #10525 from freqtrade/dependabot/pip/develop/orjson-3.10.7
chore(deps): bump orjson from 3.10.6 to 3.10.7
2024-08-12 07:11:24 +02:00
dependabot[bot]
16d5d7b318 chore(deps): bump ccxt from 4.3.76 to 4.3.79
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.76 to 4.3.79.
- [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.3.76...4.3.79)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 04:43:08 +00:00
Matthias
dbef33fe00 Merge pull request #10524 from freqtrade/dependabot/pip/develop/ruff-0.5.7
chore(deps-dev): bump ruff from 0.5.6 to 0.5.7
2024-08-12 06:42:31 +02:00
Matthias
8c11ea69a0 Merge pull request #10523 from freqtrade/dependabot/pip/develop/aiohttp-3.10.3
chore(deps): bump aiohttp from 3.10.2 to 3.10.3
2024-08-12 06:39:37 +02:00
dependabot[bot]
fa0ee035e9 chore(deps): bump orjson from 3.10.6 to 3.10.7
Bumps [orjson](https://github.com/ijl/orjson) from 3.10.6 to 3.10.7.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.10.6...3.10.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 03:26:27 +00:00
dependabot[bot]
010dbf82f3 chore(deps-dev): bump ruff from 0.5.6 to 0.5.7
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.5.6 to 0.5.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.5.6...0.5.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 03:26:18 +00:00
dependabot[bot]
9a9d27b862 chore(deps): bump aiohttp from 3.10.2 to 3.10.3
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.10.2 to 3.10.3.
- [Release notes](https://github.com/aio-libs/aiohttp/releases)
- [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst)
- [Commits](https://github.com/aio-libs/aiohttp/compare/v3.10.2...v3.10.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 03:25:59 +00:00
Matthias
0afd3fc5e1 fix: improved handling for corrupt trades files
part of #10515
2024-08-10 20:13:36 +02:00
Matthias
f5ebfcca5a chore: accept that trades dataframes may be empty for some reason
part of #10515
2024-08-10 20:13:30 +02:00
Matthias
6f33115187 Merge pull request #10400 from simwai/feature/stoploss-start-at
Added unlock_at field for protection config
2024-08-10 16:40:09 +02:00
Matthias
58c65ab48c Merge pull request #10519 from freqtrade/dependabot/pip/aiohttp-3.10.2
chore(deps): bump aiohttp from 3.10.1 to 3.10.2
2024-08-10 08:06:29 +02:00
dependabot[bot]
42294ff695 chore(deps): bump aiohttp from 3.10.1 to 3.10.2
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.10.1 to 3.10.2.
- [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.1...v3.10.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-09 17:02:14 +00:00
Matthias
ed59f74cb8 chore: move asyncio import to only import when necessary 2024-08-09 06:45:08 +02:00
Matthias
d91dee141d Merge pull request #10500 from freqtrade/dependabot/pip/develop/aiohttp-3.10.1
chore(deps): bump aiohttp from 3.9.5 to 3.10.1
2024-08-09 06:44:19 +02:00
Matthias
2b4438720c chore: call selectorPolicy 2024-08-09 06:16:44 +02:00
Matthias
758e532a6a chore: add todo to uvicorn workaround 2024-08-08 20:25:17 +02:00
Matthias
d4ca6617de chore: set asyncio-policy for windows 2024-08-08 20:25:09 +02:00
Matthias
67fe7f8d3b Merge pull request #10513 from freqtrade/dependabot/pip/develop/matplotlib-3.9.1.post1
chore(deps): bump matplotlib from 3.9.0 to 3.9.1.post1
2024-08-08 18:18:11 +02:00
dependabot[bot]
f6040c5f06 chore(deps): bump aiohttp from 3.9.5 to 3.10.1
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.9.5 to 3.10.1.
- [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.9.5...v3.10.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-08 07:53:56 +00:00
Matthias
324c384fdf Merge pull request #10514 from freqtrade/dependabot/pip/develop/ccxt-4.3.76
chore(deps): bump ccxt from 4.3.73 to 4.3.76
2024-08-08 09:53:00 +02:00
dependabot[bot]
de70ee117c chore(deps): bump matplotlib from 3.9.0 to 3.9.1.post1
Bumps [matplotlib](https://github.com/matplotlib/matplotlib) from 3.9.0 to 3.9.1.post1.
- [Release notes](https://github.com/matplotlib/matplotlib/releases)
- [Commits](https://github.com/matplotlib/matplotlib/compare/v3.9.0...v3.9.1.post1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-08 06:37:43 +00:00
dependabot[bot]
85844c8ed4 chore(deps): bump ccxt from 4.3.73 to 4.3.76
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.73 to 4.3.76.
- [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.3.73...4.3.76)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-08 06:37:18 +00:00
Matthias
101dc850a2 Update pre-commit sqlalchemy types 2024-08-08 08:36:14 +02:00
Matthias
d88c7c76c6 Merge pull request #10512 from freqtrade/dependabot/pip/develop/time-machine-2.15.0
chore(deps-dev): bump time-machine from 2.14.2 to 2.15.0
2024-08-08 08:26:51 +02:00
Matthias
1fea5f53bd Merge pull request #10511 from freqtrade/dependabot/pip/develop/python-rapidjson-1.20
chore(deps): bump python-rapidjson from 1.19 to 1.20
2024-08-08 08:08:22 +02:00
Matthias
ca13109a20 Merge pull request #10510 from freqtrade/dependabot/pip/develop/sqlalchemy-2.0.32
chore(deps): bump sqlalchemy from 2.0.31 to 2.0.32
2024-08-08 07:19:16 +02:00
Matthias
5650de0627 chore: dependabot shouldn't update major versions 2024-08-08 06:25:52 +02:00
dependabot[bot]
999ee981f7 chore(deps-dev): bump time-machine from 2.14.2 to 2.15.0
Bumps [time-machine](https://github.com/adamchainz/time-machine) from 2.14.2 to 2.15.0.
- [Changelog](https://github.com/adamchainz/time-machine/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/adamchainz/time-machine/compare/2.14.2...2.15.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-08 04:22:36 +00:00
dependabot[bot]
ee6e78927f chore(deps): bump python-rapidjson from 1.19 to 1.20
Bumps [python-rapidjson](https://github.com/python-rapidjson/python-rapidjson) from 1.19 to 1.20.
- [Changelog](https://github.com/python-rapidjson/python-rapidjson/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-rapidjson/python-rapidjson/compare/v1.19...v1.20)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-08 04:22:22 +00:00
dependabot[bot]
9dd9ae7a2f chore(deps): bump sqlalchemy from 2.0.31 to 2.0.32
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.31 to 2.0.32.
- [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>
2024-08-08 04:22:06 +00:00
Matthias
cbd178dab2 chore: bump armhf dockerfile to 3.11 2024-08-08 06:20:58 +02:00
Matthias
e34a28ee53 chore: dependabot should monitor /docker, too 2024-08-08 06:18:31 +02:00
Matthias
ffcc55b42b Merge pull request #10508 from freqtrade/dependabot/docker/python-3.12.5-slim-bookworm
chore(deps): bump python from 3.12.4-slim-bookworm to 3.12.5-slim-bookworm
2024-08-08 06:09:43 +02:00
Matthias
72028a9a2e Merge pull request #10507 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-08-08 06:09:28 +02:00
dependabot[bot]
d453aa849a chore(deps): bump python
Bumps python from 3.12.4-slim-bookworm to 3.12.5-slim-bookworm.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-08 03:26:08 +00:00
xmatthias
9d0cd961b4 chore: update pre-commit hooks 2024-08-08 03:12:08 +00:00
Matthias
900922760a feat: add json schema validation docs 2024-08-07 20:20:08 +02:00
Matthias
af462fa086 Bump version to 2024.7.1 2024-08-07 18:22:07 +02:00
Matthias
bc728d3a31 chore: Downgrade cryptography for RPI
https://github.com/piwheels/packages/issues/464
2024-08-07 18:21:43 +02:00
jainanuj94
8085e24dcd update tests 2024-08-06 20:00:05 +05:30
jainanuj94
d351ed0173 refactor: change analyse_on variable name to date_col 2024-08-06 15:16:30 +05:30
jainanuj94
3ebc5b136c review comments and update test for exit signals 2024-08-06 12:55:48 +05:30
Matthias
a1d02ca689 Merge pull request #10505 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-08-06 06:23:30 +02:00
xmatthias
95546e0a7b chore: update pre-commit hooks 2024-08-06 03:02:53 +00:00
jainanuj94
103991746b chore: type safety and refactoring 2024-08-05 23:57:24 +05:30
jainanuj94
7f0e5dd335 Refactor and add documentation 2024-08-05 23:19:38 +05:30
Matthias
fa2fc63b7c Merge pull request #10498 from freqtrade/dependabot/pip/develop/pyjwt-2.9.0
chore(deps): bump pyjwt from 2.8.0 to 2.9.0
2024-08-05 13:35:16 +02:00
Matthias
4ad915761b Merge pull request #10495 from freqtrade/dependabot/pip/develop/ccxt-4.3.73
chore(deps): bump ccxt from 4.3.68 to 4.3.73
2024-08-05 12:02:22 +02:00
Matthias
d6a29c1ad5 Merge pull request #10501 from freqtrade/dependabot/pip/develop/mypy-1.11.1
chore(deps-dev): bump mypy from 1.11.0 to 1.11.1
2024-08-05 11:44:23 +02:00
dependabot[bot]
3d439c8c01 chore(deps): bump pyjwt from 2.8.0 to 2.9.0
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.8.0 to 2.9.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.8.0...2.9.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-08-05 08:58:46 +00:00
Matthias
af00374cb0 Merge pull request #10494 from freqtrade/dependabot/pip/develop/uvicorn-0.30.5
chore(deps): bump uvicorn from 0.30.3 to 0.30.5
2024-08-05 10:57:56 +02:00
Matthias
0bb46aaef4 Merge pull request #10489 from freqtrade/dependabot/pip/develop/mkdocs-fecff3054d
chore(deps): bump mkdocs-material from 9.5.30 to 9.5.31 in the mkdocs group
2024-08-05 10:29:46 +02:00
Matthias
00377e91b4 Merge pull request #10496 from freqtrade/dependabot/pip/develop/tqdm-4.66.5
chore(deps): bump tqdm from 4.66.4 to 4.66.5
2024-08-05 09:33:01 +02:00
dependabot[bot]
477448114a chore(deps-dev): bump mypy from 1.11.0 to 1.11.1
Bumps [mypy](https://github.com/python/mypy) from 1.11.0 to 1.11.1.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.11...v1.11.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 06:34:01 +00:00
dependabot[bot]
91da1c3f8b chore(deps): bump uvicorn from 0.30.3 to 0.30.5
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.30.3 to 0.30.5.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.30.3...0.30.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 06:33:26 +00:00
Matthias
eddf99ddd0 Merge pull request #10492 from freqtrade/dependabot/pip/develop/ruff-0.5.6
chore(deps-dev): bump ruff from 0.5.5 to 0.5.6
2024-08-05 08:33:23 +02:00
Matthias
f27580b5ae Merge pull request #10493 from freqtrade/dependabot/pip/develop/technical-1.4.4
chore(deps): bump technical from 1.4.3 to 1.4.4
2024-08-05 08:33:15 +02:00
Matthias
b2d35751b4 Merge pull request #10490 from freqtrade/dependabot/pip/develop/fastapi-0.112.0
chore(deps): bump fastapi from 0.111.1 to 0.112.0
2024-08-05 08:32:31 +02:00
Matthias
18df06a7ce Merge pull request #10487 from froggleston/develop
Add rich table width if jupyter in modules
2024-08-05 06:53:43 +02:00
dependabot[bot]
0bee3c9db0 chore(deps): bump tqdm from 4.66.4 to 4.66.5
Bumps [tqdm](https://github.com/tqdm/tqdm) from 4.66.4 to 4.66.5.
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](https://github.com/tqdm/tqdm/compare/v4.66.4...v4.66.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 03:27:30 +00:00
dependabot[bot]
e3ba28d767 chore(deps): bump ccxt from 4.3.68 to 4.3.73
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.68 to 4.3.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/4.3.68...4.3.73)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 03:27:23 +00:00
dependabot[bot]
1f9c2cd181 chore(deps): bump technical from 1.4.3 to 1.4.4
Bumps [technical](https://github.com/freqtrade/technical) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/freqtrade/technical/releases)
- [Commits](https://github.com/freqtrade/technical/compare/1.4.3...1.4.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 03:27:08 +00:00
dependabot[bot]
ea2b12a548 chore(deps-dev): bump ruff from 0.5.5 to 0.5.6
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.5.5 to 0.5.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.5.5...0.5.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 03:27:05 +00:00
dependabot[bot]
c9f4db2a4f chore(deps): bump fastapi from 0.111.1 to 0.112.0
Bumps [fastapi](https://github.com/fastapi/fastapi) from 0.111.1 to 0.112.0.
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](https://github.com/fastapi/fastapi/compare/0.111.1...0.112.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 03:26:45 +00:00
dependabot[bot]
1e5154c901 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.30 to 9.5.31
- [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.30...9.5.31)

---
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-08-05 03:26:37 +00:00
froggleston
17dc41279c Ruff formatting 2024-08-04 21:59:07 +01:00
froggleston
cb4747aed2 Add rich table width if jupyter in modules 2024-08-04 21:43:00 +01:00
Matthias
ce8d03ddce chore: improve comment as to why matplotlib is pinned in the first place 2024-08-04 19:55:40 +02:00
Matthias
366c7e2b91 fix: pin matplotlib to 3.9.0 to fix windows wheels
caused by the partial yank of 3.9.1 (only the windows wheels have been deleted).

Ref: https://github.com/matplotlib/matplotlib/issues/28551
2024-08-04 19:54:51 +02:00
Matthias
6c5fb5e22b chore: add_config_files to config_schema 2024-08-04 09:03:32 +02:00
Matthias
4854bdd02f chore: Add log_responses to config schema 2024-08-04 08:29:15 +02:00
Matthias
d7ecdc9b07 chore: Downgrade cryptography for RPI
https://github.com/piwheels/packages/issues/464
2024-08-03 18:31:39 +02:00
Matthias
c8d30ae801 chore: fix oneline exchange-list output 2024-08-03 18:30:21 +02:00
Matthias
9eebe82b34 chore: fix api-server tests 2024-08-03 18:29:16 +02:00
Matthias
b3915ff8fd chore: use classname to show exchanges 2024-08-03 18:25:31 +02:00
Matthias
805c946b33 feat: improve structure of list_exchange endpoints 2024-08-03 18:24:52 +02:00
Matthias
8bc1949466 docs: update link to technical documentation 2024-08-03 16:41:22 +02:00
Matthias
a6689b1035 chore: Remove unnecessary, duplicate mkdocs install 2024-08-03 13:29:54 +02:00
Matthias
f63910d355 chore: improve wording for cooldown_period 2024-08-02 20:15:46 +02:00
Matthias
98c8521057 chore: fix minor gotcha 2024-08-02 20:13:59 +02:00
Matthias
57139295b5 tests: Add unlock_at test 2024-08-02 20:12:44 +02:00
Matthias
79d4dc1646 Merge branch 'develop' into feature/stoploss-start-at 2024-08-02 19:51:28 +02:00
Matthias
1760624954 test: Test "invalid date format" 2024-08-02 19:48:43 +02:00
jainanuj94
ecf9c173c4 Add test for backtesitng-analysis 2024-08-02 20:46:19 +05:30
jainanuj94
b0e863dbbb Introduce --exit-signals flag to backtesting-analysis command 2024-08-02 20:09:56 +05:30
jainanuj94
8f8859a5f5 Initial commit - create a different file for signals 2024-08-02 15:54:03 +05:30
Matthias
9429657a2b chore: make Hyperliquid class actually usable 2024-08-02 07:28:09 +02:00
Matthias
2b0b1e23eb chore: enhance error message on ohlcv error 2024-08-02 07:26:54 +02:00
Matthias
dd55baf148 chore: support snake_case for api keys 2024-08-02 07:26:54 +02:00
Matthias
4542157192 Merge pull request #10470 from freqtrade/dependabot/pip/develop/torch-2.4.0
chore(deps): bump torch from 2.2.2 to 2.4.0
2024-08-02 06:56:13 +02:00
Matthias
9e47172d69 chore: Reduce test flakyness of ws test 2024-08-01 20:37:40 +02:00
jainanuj94
2ad921f99e Merge remote-tracking branch 'upstream/develop' into develop 2024-08-01 23:55:01 +05:30
Matthias
a840969512 feat: move trades-refresh to async 2024-08-01 19:58:17 +02:00
Matthias
67fdfdf584 chore: Update schema file 2024-08-01 19:39:06 +02:00
Matthias
abef8e376c feat: add $schema to config examples 2024-08-01 07:03:34 +02:00
Matthias
8a85077e70 chore: add download_trades config key, reorder some keys 2024-08-01 07:02:47 +02:00
Matthias
b3ac296cac chore: Improve schema wording 2024-08-01 06:58:17 +02:00
Matthias
b2db733c83 Merge pull request #10482 from freqtrade/maint/remove_pip_24_lock
chore: Remove pip pin from ci
2024-08-01 06:43:31 +02:00
Matthias
92dfcf3b6d Merge pull request #10483 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-08-01 06:43:19 +02:00
xmatthias
af554fc3f7 chore: update pre-commit hooks 2024-08-01 03:15:58 +00:00
Matthias
02621eee74 chore: remove pip version lock from instal scripts 2024-07-31 20:39:21 +02:00
Matthias
8105f51603 chore: remove pip lock from Dockerfiles 2024-07-31 20:39:12 +02:00
Matthias
c40ac27d71 chore: Remove pip pin from ci 2024-07-31 20:36:48 +02:00
Matthias
d33c930f26 Merge pull request #10454 from jainanuj94/feature/10348
Add  percent change pairlist
2024-07-30 20:58:27 +02:00
Matthias
eb0fc0fc80 docs: Fix minor typo 2024-07-30 20:29:21 +02:00
Matthias
a6563543a3 Merge pull request #10477 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-07-30 06:10:05 +02:00
xmatthias
40b20c5595 chore: update pre-commit hooks 2024-07-30 03:02:51 +00:00
Matthias
1ebbfffd2a chore: hyperliquid doesn't have historic ohlcv 2024-07-29 19:42:28 +02:00
Matthias
8954857481 Merge pull request #10464 from freqtrade/new_release
New release 2024.7
2024-07-29 19:32:28 +02:00
Matthias
24d3e09618 Merge pull request #10467 from freqtrade/dependabot/pip/develop/pre-commit-3.8.0
chore(deps-dev): bump pre-commit from 3.7.1 to 3.8.0
2024-07-29 14:24:09 +02:00
Matthias
d92ddc4c7a Merge pull request #10471 from freqtrade/dependabot/pip/develop/pymdown-extensions-10.9
chore(deps): bump pymdown-extensions from 10.8.1 to 10.9
2024-07-29 11:38:11 +02:00
dependabot[bot]
c8b7580830 chore(deps-dev): bump pre-commit from 3.7.1 to 3.8.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.7.1 to 3.8.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.7.1...v3.8.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>
2024-07-29 08:27:01 +00:00
Matthias
a9d0c052bc Merge pull request #10468 from freqtrade/dependabot/pip/develop/ruff-0.5.5
chore(deps-dev): bump ruff from 0.5.4 to 0.5.5
2024-07-29 10:26:15 +02:00
Matthias
ad0b349a3f Merge pull request #10474 from freqtrade/dependabot/pip/develop/lightgbm-4.5.0
chore(deps): bump lightgbm from 4.4.0 to 4.5.0
2024-07-29 08:50:36 +02:00
Matthias
9da51a8d85 Merge pull request #10473 from freqtrade/dependabot/pip/develop/plotly-5.23.0
chore(deps): bump plotly from 5.22.0 to 5.23.0
2024-07-29 08:50:23 +02:00
Matthias
814f21a50e Merge pull request #10472 from freqtrade/dependabot/pip/develop/python-rapidjson-1.19
chore(deps): bump python-rapidjson from 1.18 to 1.19
2024-07-29 08:49:54 +02:00
Matthias
092669fb9d Merge pull request #10469 from freqtrade/dependabot/pip/develop/ccxt-4.3.68
chore(deps): bump ccxt from 4.3.65 to 4.3.68
2024-07-29 07:45:22 +02:00
dependabot[bot]
3789e1339b chore(deps): bump pymdown-extensions from 10.8.1 to 10.9
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.8.1 to 10.9.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.8.1...10.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 05:32:28 +00:00
dependabot[bot]
a1490d07b4 chore(deps-dev): bump ruff from 0.5.4 to 0.5.5
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.5.4 to 0.5.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.5.4...0.5.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 05:32:28 +00:00
Matthias
08144382b8 Merge pull request #10466 from freqtrade/dependabot/pip/develop/mkdocs-1c45c0a9b7
chore(deps): bump mkdocs-material from 9.5.29 to 9.5.30 in the mkdocs group
2024-07-29 07:31:51 +02:00
Matthias
cb90e1388f Merge pull request #10465 from freqtrade/dependabot/pip/develop/pytest-d2133643f0
chore(deps-dev): bump pytest from 8.3.1 to 8.3.2 in the pytest group
2024-07-29 07:31:37 +02:00
Matthias
5e1038dc67 chore: Fix torch version bump 2024-07-29 07:00:17 +02:00
Matthias
b117f085ce chore: Bump version to 2024.7 2024-07-29 06:22:00 +02:00
Matthias
c7dc908aa7 Merge branch 'stable' into new_release 2024-07-29 06:21:32 +02:00
dependabot[bot]
5e852ebb5d chore(deps): bump lightgbm from 4.4.0 to 4.5.0
Bumps [lightgbm](https://github.com/microsoft/LightGBM) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/microsoft/LightGBM/releases)
- [Commits](https://github.com/microsoft/LightGBM/compare/v4.4.0...v4.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 03:08:24 +00:00
dependabot[bot]
097786c62d chore(deps): bump plotly from 5.22.0 to 5.23.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.22.0 to 5.23.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.22.0...v5.23.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 03:08:18 +00:00
dependabot[bot]
baeced32c3 chore(deps): bump python-rapidjson from 1.18 to 1.19
Bumps [python-rapidjson](https://github.com/python-rapidjson/python-rapidjson) from 1.18 to 1.19.
- [Changelog](https://github.com/python-rapidjson/python-rapidjson/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-rapidjson/python-rapidjson/compare/v1.18...v1.19)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 03:08:10 +00:00
dependabot[bot]
2f4e4343c2 chore(deps): bump torch from 2.2.2 to 2.4.0
Bumps [torch](https://github.com/pytorch/pytorch) from 2.2.2 to 2.4.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.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 03:07:44 +00:00
dependabot[bot]
9fd6d7318e chore(deps): bump ccxt from 4.3.65 to 4.3.68
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.65 to 4.3.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/4.3.65...4.3.68)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 03:07:22 +00:00
dependabot[bot]
fd2be958ba 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.29 to 9.5.30
- [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.29...9.5.30)

---
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-07-29 03:06:12 +00:00
dependabot[bot]
719889b27a chore(deps-dev): bump pytest from 8.3.1 to 8.3.2 in the pytest group
Bumps the pytest group with 1 update: [pytest](https://github.com/pytest-dev/pytest).


Updates `pytest` from 8.3.1 to 8.3.2
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.3.1...8.3.2)

---
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-07-29 03:05:45 +00:00
Matthias
faaa1050da chore: Bump dev version to 2024.8 2024-07-28 20:10:30 +02:00
jainanuj94
27aed5cd7e Update schema.json 2024-07-28 22:34:34 +05:30
jainanuj94
aa327643f5 Merge remote-tracking branch 'upstream/develop' into feature/10348 2024-07-28 22:26:58 +05:30
jainanuj94
3a481df45d Merge remote-tracking branch 'upstream/develop' into develop 2024-07-28 22:26:00 +05:30
jainanuj94
ac1e405c34 Update documentation and fix doc test 2024-07-28 21:10:20 +05:30
Matthias
df7d5d2cb1 Merge pull request #10463 from freqtrade/feat/conf_schema
Add Config schema with description
2024-07-28 16:27:08 +02:00
Matthias
2d90cf48b3 run a check for uptodate json schema 2024-07-28 15:34:19 +02:00
Matthias
2fd6c962d2 chore: improve extract json script 2024-07-28 15:33:21 +02:00
Matthias
1226593f3b chore: Add initial version of json schema 2024-07-28 15:32:01 +02:00
Matthias
25569686aa chore: Update Path to write json schema to 2024-07-28 15:30:06 +02:00
Matthias
61b573bb89 feat: Add "strategy override" hints 2024-07-28 08:25:35 +02:00
jainanuj94
4932473b3f Add documentation 2024-07-27 23:41:32 +05:30
Matthias
a368c00302 feat: add freqAI remaining parameters 2024-07-27 16:58:10 +02:00
Matthias
06bbcf4c9f feat: add some freqAI parameter descriptions 2024-07-27 16:57:56 +02:00
Matthias
edf66deb96 feat: add RL parameter descriptions 2024-07-27 16:57:47 +02:00
Matthias
075f6b9412 feat: more config schema descriptions - emc 2024-07-27 16:56:06 +02:00
Matthias
05b202caa6 feat: more config schema descriptions (exchange) 2024-07-27 16:56:06 +02:00
Matthias
aaac080dfb feat: more config schema descriptions 2024-07-27 16:56:06 +02:00
Matthias
14a20c703b feat: more config schema descriptions 2024-07-27 16:56:06 +02:00
Matthias
6cfba2c225 feat: more config schema descriptions (api_server) 2024-07-27 16:56:06 +02:00
Matthias
29e9dd44e9 feat: more config schema descriptions (telegram) 2024-07-27 16:56:06 +02:00
Matthias
00729a87ff chore: remove validation for deprecated settings 2024-07-27 16:56:06 +02:00
Matthias
ca47e3489c feat: more config schema descriptions 2024-07-27 16:56:06 +02:00
Matthias
abde1a1c39 feat: more config schema descriptions 2024-07-27 16:56:06 +02:00
Matthias
d42b5b7733 feat: Add more descriptions to config schema 2024-07-27 16:56:06 +02:00
Matthias
4e51140506 feat: Add initial descriptions for config schema 2024-07-27 16:56:06 +02:00
Matthias
08ed99d20c feat: Add build-helpers json schema extract script 2024-07-27 16:56:06 +02:00
Matthias
206baf7d80 chore: add a bit of typehinting 2024-07-27 16:13:17 +02:00
Matthias
4ac7a4fdab Allow empty min_Value setting... 2024-07-27 16:07:51 +02:00
Matthias
283e8045d8 PercentChangePairlist should partecipate in regular tests 2024-07-27 16:05:59 +02:00
Matthias
8637f4a70d Remove SortKey dynamics and setting 2024-07-27 16:04:51 +02:00
Matthias
6454a7a453 chore: Remove Phemex from blocklist.
not providing history is not necessarily a reason to hard-block an exchange.
2024-07-27 15:57:07 +02:00
Matthias
6645fd5d8a chore: fix flake8 error 2024-07-26 08:20:42 +00:00
jainanuj94
4a768682ea Remove unnecessary logs and up description 2024-07-26 13:13:26 +05:30
jainanuj94
dad4f30597 Correct calculation for percent calculation and use tickers 2024-07-25 23:33:28 +05:30
Matthias
b88b1cbbdb fix: Update /trades to include L/S indicator
closes #10457
2024-07-25 07:00:11 +02:00
Matthias
818e4d86bf docs: explain that the strategy may be called with dataframe of length 1 2024-07-25 06:39:35 +02:00
jainanuj94
1b81de01b4 10348 | run ruff formatter 2024-07-25 00:04:06 +05:30
jainanuj94
b09f9e8c12 10348 | Update tests and add pairlist constants 2024-07-24 19:12:11 +05:30
jainanuj94
4b1177e07e 10348 | Create new pair list to dynamically fetch pairs based on percent volume change 2024-07-24 19:09:45 +05:30
Matthias
bf9aa2c388 chore: Extract config validation schema 2024-07-23 18:14:31 +02:00
Matthias
b2c2fedbc1 Merge pull request #10449 from freqtrade/dependabot/pip/develop/cryptography-43.0.0
chore(deps): bump cryptography from 42.0.8 to 43.0.0
2024-07-23 18:12:35 +02:00
Matthias
5eab5b1135 Merge pull request #10452 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-07-23 06:22:51 +02:00
xmatthias
a3e6e34bdc chore: update pre-commit hooks 2024-07-23 03:02:43 +00:00
Matthias
2642e22824 Merge pull request #10445 from freqtrade/dependabot/pip/develop/mypy-1.11.0
chore(deps-dev): bump mypy from 1.10.1 to 1.11.0
2024-07-22 20:50:02 +02:00
Matthias
152b2c6a00 chore: Bump pre-commit 2024-07-22 19:31:44 +02:00
Matthias
a964884077 chore: Remove now unused type ignore comment 2024-07-22 19:31:44 +02:00
dependabot[bot]
97a374909f chore(deps-dev): bump mypy from 1.10.1 to 1.11.0
Bumps [mypy](https://github.com/python/mypy) from 1.10.1 to 1.11.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.10.1...v1.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 19:31:44 +02:00
Matthias
0d7400fff4 chore: fix pre-commit error 2024-07-22 19:31:30 +02:00
Matthias
5093349732 chore: remove potential flakyness from test 2024-07-22 19:29:44 +02:00
Matthias
b3e3dff560 Improve log message uppon pair watchlist removal 2024-07-22 19:27:55 +02:00
Matthias
d4db87e017 Merge pull request #10451 from cowleyb/Fix-typo-in-docs
Typo in docs
2024-07-22 18:42:08 +02:00
Matthias
dfe1a42b74 docs: Migrate "different db system" to advanced setup 2024-07-22 18:30:10 +02:00
Matthias
a1e73ffe93 docs: update sql cheatsheet with a few warnings 2024-07-22 18:30:07 +02:00
Matthias
72f6ee8e8b feat: Add Orderflow -> exchange support validation 2024-07-22 18:07:32 +02:00
cowleyb
cb1539463e Typo in docs 2024-07-22 15:57:24 +01:00
Matthias
8591b9f0c8 Merge pull request #10447 from freqtrade/dependabot/pip/develop/pyarrow-17.0.0
chore(deps): bump pyarrow from 16.1.0 to 17.0.0
2024-07-22 12:41:21 +02:00
Matthias
cc34435b9e Merge pull request #10446 from freqtrade/dependabot/pip/develop/uvicorn-0.30.3
chore(deps): bump uvicorn from 0.30.1 to 0.30.3
2024-07-22 12:30:06 +02:00
Matthias
5c4075228e Merge pull request #10441 from freqtrade/dependabot/pip/develop/pytest-ad4c89e6dc
chore(deps-dev): bump the pytest group with 2 updates
2024-07-22 09:34:58 +02:00
dependabot[bot]
7b459336ab chore(deps): bump cryptography from 42.0.8 to 43.0.0
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.8 to 43.0.0.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/42.0.8...43.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-07-22 07:11:49 +00:00
Matthias
54aa05ae23 Merge pull request #10448 from freqtrade/dependabot/pip/develop/ccxt-4.3.65
chore(deps): bump ccxt from 4.3.61 to 4.3.65
2024-07-22 09:10:55 +02:00
Matthias
cc8afffaa9 Merge pull request #10440 from freqtrade/dependabot/pip/develop/types-5f7a719065
chore(deps-dev): bump types-cachetools from 5.3.0.7 to 5.4.0.20240717 in the types group
2024-07-22 08:53:10 +02:00
dependabot[bot]
1e23f7442c 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-asyncio](https://github.com/pytest-dev/pytest-asyncio).


Updates `pytest` from 8.2.2 to 8.3.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.2.2...8.3.1)

Updates `pytest-asyncio` from 0.23.7 to 0.23.8
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.23.7...v0.23.8)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: pytest
- 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>
2024-07-22 05:23:32 +00:00
Matthias
38a737c913 Merge pull request #10444 from freqtrade/dependabot/pip/develop/cachetools-5.4.0
chore(deps): bump cachetools from 5.3.3 to 5.4.0
2024-07-22 07:22:37 +02:00
Matthias
723d60d24d Merge pull request #10443 from freqtrade/dependabot/pip/develop/ruff-0.5.4
chore(deps-dev): bump ruff from 0.5.2 to 0.5.4
2024-07-22 07:22:14 +02:00
Matthias
4a57805864 chore: bump pyarrow pre-built wheels
Drop support for 3.9 - the image we're using is 3.11 since a long time now.
2024-07-22 07:14:56 +02:00
Matthias
ac17bfbf4f types-cachetools - pre-commit 2024-07-22 06:50:42 +02:00
dependabot[bot]
328cb5e9ca chore(deps): bump ccxt from 4.3.61 to 4.3.65
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.61 to 4.3.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/4.3.61...4.3.65)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 03:15:48 +00:00
dependabot[bot]
2598895d70 chore(deps): bump pyarrow from 16.1.0 to 17.0.0
Bumps [pyarrow](https://github.com/apache/arrow) from 16.1.0 to 17.0.0.
- [Release notes](https://github.com/apache/arrow/releases)
- [Commits](https://github.com/apache/arrow/compare/r-16.1.0...go/v17.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-07-22 03:15:37 +00:00
dependabot[bot]
f0e1ac6e4b chore(deps): bump uvicorn from 0.30.1 to 0.30.3
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.30.1 to 0.30.3.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.30.1...0.30.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 03:15:15 +00:00
dependabot[bot]
86b4973866 chore(deps): bump cachetools from 5.3.3 to 5.4.0
Bumps [cachetools](https://github.com/tkem/cachetools) from 5.3.3 to 5.4.0.
- [Changelog](https://github.com/tkem/cachetools/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/tkem/cachetools/compare/v5.3.3...v5.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 03:14:49 +00:00
dependabot[bot]
6fc2be25ba chore(deps-dev): bump ruff from 0.5.2 to 0.5.4
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.5.2 to 0.5.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.5.2...0.5.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-07-22 03:14:40 +00:00
dependabot[bot]
fdeb9355a5 chore(deps-dev): bump types-cachetools in the types group
Bumps the types group with 1 update: [types-cachetools](https://github.com/python/typeshed).


Updates `types-cachetools` from 5.3.0.7 to 5.4.0.20240717
- [Commits](https://github.com/python/typeshed/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 03:11:52 +00:00
Matthias
4ee7c3741f Merge pull request #9066 from TheJoeSchr/feature/fetch-public-trades
[Feature] fetch public trades
2024-07-21 20:00:54 +02:00
Matthias
faf7b830c9 fix: Fix WS restart bug after network outage
This could lead to messed up candles in case of an outage that took more than 1 candle.
2024-07-21 19:56:51 +02:00
Matthias
0ad8fcf834 Merge pull request #10438 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-07-20 13:30:30 +02:00
xmatthias
8cd20f1914 chore: update pre-commit hooks 2024-07-20 06:43:19 +00:00
Matthias
a8f707eee2 Merge branch 'develop' into feature/fetch-public-trades 2024-07-20 08:15:34 +02:00
Matthias
3b05d680c8 Merge pull request #10437 from iridescentGray/develop
chore: remove redundant raise
2024-07-20 08:14:42 +02:00
colorfulgray0
b5e7c6406a chore: remove redundant raise 2024-07-19 15:49:30 +08:00
Joe Schr
00724fdff4 chore: renames orderflow tests file 2024-07-19 09:37:34 +02:00
Joe Schr
9eb5993833 chore: drop candle_start and candle_end from trades and add test asserting trades columns 2024-07-18 20:04:34 +02:00
simwai
f714d1ab28 Added unlock_at field to protections document 2024-07-18 15:08:12 +02:00
Matthias
2560090a68 chore: Remove "version" field from compose file
it's been deprecated since at least 3 years.
2024-07-17 20:03:40 +02:00
Matthias
f5a92fcfc5 Support accountId as exchange secret 2024-07-16 18:26:51 +02:00
Matthias
5c371133a0 chore: Improve wording 2024-07-16 18:21:01 +02:00
Matthias
aec749fdb6 Merge pull request #10434 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-07-16 07:36:35 +02:00
Matthias
dcc9d20cca Remove unnecessary statement 2024-07-16 07:31:11 +02:00
Matthias
d590ab003f Add unlock_at config test, simplify validation 2024-07-16 07:26:41 +02:00
Matthias
a3c52445ee Simplify validation 2024-07-16 07:14:46 +02:00
Matthias
be3fcd90e2 Remove unneeded property 2024-07-16 07:14:33 +02:00
Matthias
26aa336450 Combine "until" logic into calculate_lock_end 2024-07-16 07:05:42 +02:00
Matthias
65972d9c0c Add cooldown with timeperiod test 2024-07-16 06:51:31 +02:00
Matthias
d13f47ec0b align wording to simplify "locking for" element 2024-07-16 06:48:30 +02:00
Matthias
1e36bc98b9 chore: Remove unused method 2024-07-16 06:35:32 +02:00
Matthias
16dd86e732 _unlock_at should be private 2024-07-16 06:31:12 +02:00
xmatthias
c52e6d1cc8 chore: update pre-commit hooks 2024-07-16 03:03:00 +00:00
Joe Schr
4cd75c9753 docs: replace orderflow dataframe with dict in code comment 2024-07-15 20:49:56 +02:00
Matthias
5930813df9 docs: Updated orderflow documentation 2024-07-15 20:30:31 +02:00
Matthias
353dc79aa9 chore: invert some asserts 2024-07-15 20:25:21 +02:00
Matthias
e043797a82 chore: Tests should use dict format 2024-07-15 20:25:09 +02:00
Matthias
8922f0cdf3 feat: use dicts instead of nested dataframes 2024-07-15 20:08:55 +02:00
Matthias
beceacc3c5 Merge pull request #10424 from iridescentGray/develop
fix: remove contextmanager
2024-07-15 13:19:42 +02:00
Matthias
391e062c3d Merge pull request #10429 from freqtrade/dependabot/pip/develop/humanize-4.10.0
chore(deps): bump humanize from 4.9.0 to 4.10.0
2024-07-15 09:37:12 +02:00
Matthias
dab1a2889f Merge pull request #10425 from freqtrade/dependabot/pip/develop/types-ebb7b2ebf3
chore(deps-dev): bump types-requests from 2.32.0.20240622 to 2.32.0.20240712 in the types group
2024-07-15 09:22:34 +02:00
Matthias
ee29f27ed6 Merge pull request #10432 from freqtrade/dependabot/pip/develop/fastapi-0.111.1
chore(deps): bump fastapi from 0.111.0 to 0.111.1
2024-07-15 08:53:32 +02:00
dependabot[bot]
ad23ba6a1b chore(deps): bump humanize from 4.9.0 to 4.10.0
Bumps [humanize](https://github.com/python-humanize/humanize) from 4.9.0 to 4.10.0.
- [Release notes](https://github.com/python-humanize/humanize/releases)
- [Commits](https://github.com/python-humanize/humanize/compare/4.9.0...4.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 06:27:53 +00:00
Matthias
fc50d374e8 Merge pull request #10431 from freqtrade/dependabot/pip/develop/python-telegram-bot-21.4
chore(deps): bump python-telegram-bot from 21.3 to 21.4
2024-07-15 08:26:59 +02:00
Matthias
28795e0706 Merge pull request #10430 from freqtrade/dependabot/pip/develop/ccxt-4.3.61
chore(deps): bump ccxt from 4.3.58 to 4.3.61
2024-07-15 08:26:34 +02:00
colorfulgray0
eba0aaf3c2 chore: remove contextmanager 2024-07-15 14:08:10 +08:00
Matthias
144ff15795 Merge pull request #10428 from freqtrade/dependabot/pip/develop/ruff-0.5.2
chore(deps-dev): bump ruff from 0.5.1 to 0.5.2
2024-07-15 07:56:00 +02:00
Matthias
55f63b59d4 Merge pull request #10427 from freqtrade/dependabot/pip/develop/jsonschema-4.23.0
chore(deps): bump jsonschema from 4.22.0 to 4.23.0
2024-07-15 07:38:07 +02:00
Matthias
2cf351aaf3 Merge pull request #10426 from freqtrade/dependabot/pip/develop/mkdocs-2f8b0ef7df
chore(deps): bump mkdocs-material from 9.5.28 to 9.5.29 in the mkdocs group
2024-07-15 07:37:38 +02:00
Matthias
663d9daef5 chore: types-requests - bump version 2024-07-15 06:45:53 +02:00
dependabot[bot]
2d3e741f01 chore(deps): bump fastapi from 0.111.0 to 0.111.1
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.111.0 to 0.111.1.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.111.0...0.111.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 03:34:22 +00:00
dependabot[bot]
af5eef3e59 chore(deps): bump python-telegram-bot from 21.3 to 21.4
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 21.3 to 21.4.
- [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.3...v21.4)

---
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-07-15 03:34:17 +00:00
dependabot[bot]
b704545abb chore(deps): bump ccxt from 4.3.58 to 4.3.61
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.58 to 4.3.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/4.3.58...4.3.61)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 03:34:10 +00:00
dependabot[bot]
2b082f1808 chore(deps-dev): bump ruff from 0.5.1 to 0.5.2
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.5.1 to 0.5.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.5.1...0.5.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-07-15 03:33:54 +00:00
dependabot[bot]
ddab71844e chore(deps): bump jsonschema from 4.22.0 to 4.23.0
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.22.0 to 4.23.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.22.0...v4.23.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 03:33:44 +00:00
dependabot[bot]
2b36a7e318 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.28 to 9.5.29
- [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.28...9.5.29)

---
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-07-15 03:33:27 +00:00
dependabot[bot]
aa8165cfbb 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.20240622 to 2.32.0.20240712
- [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>
2024-07-15 03:32:42 +00:00
simwai
be894664ef Fixed building of wrong reason texts
Removed unnecessary method set_unlock_at_as_stop_duration()
2024-07-14 21:47:43 +02:00
Matthias
5cabd49bec Fix comment
closes #10422
2024-07-14 17:28:08 +02:00
Matthias
103db9a025 Add hyperliquid exchange overrides
part of #10377
2024-07-14 09:14:44 +02:00
Matthias
9736e0d13f Update docstring alignment 2024-07-14 09:08:36 +02:00
Matthias
1c46b287d7 chore: add support for "walletAddress" and "privateKey"
part of #10377
2024-07-14 09:05:25 +02:00
Matthias
5b2b5285ed chore: Support apiKey as config value
(aligns secret configuration with ccxt)
2024-07-14 08:57:23 +02:00
Matthias
b9c2868dff Merge pull request #10420 from freqtrade/feat/dl_data_progress
Download Data - progressbar
2024-07-14 08:03:51 +02:00
Matthias
b163f8fcf4 Improve test 2024-07-13 18:29:00 +02:00
Matthias
ba352522d4 Implement progress tracker to trades download 2024-07-13 18:01:22 +02:00
Matthias
b41cdfb683 Simplify by extracting progressbar definition 2024-07-13 15:47:50 +02:00
Matthias
04c9626c8c feat: Implement rich Progress to download-data 2024-07-13 10:54:23 +02:00
Matthias
87b78b5ec5 Add default to customProgress cust_objs 2024-07-13 10:52:03 +02:00
Matthias
8a166b04f9 Align test directory with working directory 2024-07-13 10:10:12 +02:00
Matthias
d3ffdbf300 chore: Add small todo 2024-07-13 09:49:21 +02:00
Matthias
79e6034656 docs: Improve orderflow documentation 2024-07-13 09:49:09 +02:00
Matthias
646ca5e3b3 Docs wording 2024-07-12 20:00:46 +02:00
Matthias
50dcd04816 chore: Add cryptocom base exchange class
adjust candle-limit to the appropriate number
2024-07-12 07:09:52 +02:00
Matthias
9ebd34daba Merge branch 'develop' into feature/fetch-public-trades 2024-07-11 07:06:58 +02:00
Matthias
2dfa9ac13c applymap -> map 2024-07-11 07:05:58 +02:00
Matthias
c0d729bcd9 chore: remove deprecated read_csv options 2024-07-11 07:05:58 +02:00
Matthias
7eb38f7e5e Merge pull request #10419 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-07-11 06:40:05 +02:00
xmatthias
d25c76698c chore: update pre-commit hooks 2024-07-11 03:12:39 +00:00
Matthias
9975788f57 Add workaround to drop orderflow columns before sending to plotting 2024-07-10 20:21:32 +02:00
Matthias
e5f6ce9724 Fix "needed_candle_for*" logic
we can't compare this to "required_candle_call_count" - that'd yield 1 ...
2024-07-10 20:19:01 +02:00
Matthias
dcedc1c652 Merge pull request #10417 from freqtrade/feat/rich_tables_bt
Backtest tables -> Rich
2024-07-10 06:48:26 +02:00
Matthias
a7fcd1263b chore: Fix typing 2024-07-09 19:39:47 +02:00
Matthias
9c41ab10ff chore: remove tabulate output 2024-07-09 07:15:18 +02:00
Matthias
f9af659153 feat: edge-cli output to rich 2024-07-09 07:08:10 +02:00
Matthias
2d31314eb4 feat: bt-result to tabulate 2024-07-09 06:54:04 +02:00
Matthias
06a0264f2b feat: period breakdown -> rich table 2024-07-09 06:51:11 +02:00
Matthias
315351b573 feat: Tag table -> rich 2024-07-09 06:49:33 +02:00
Matthias
a605ae20a7 feat: initial backtest table to rich 2024-07-09 06:43:12 +02:00
Matthias
5765bb4a4f feat: Update initial bt table 2024-07-09 06:38:10 +02:00
Matthias
8393205489 Merge pull request #10405 from freqtrade/feat/rich_tables
Add rich table output
2024-07-09 06:37:52 +02:00
Matthias
f1993766ee Merge pull request #10416 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-07-09 06:31:42 +02:00
xmatthias
c679a6aab2 chore: update pre-commit hooks 2024-07-09 03:03:43 +00:00
Matthias
0e870ab47c chore: don't use pipe operator, not supported on 3.9 2024-07-08 19:15:05 +02:00
Matthias
64d22bbd89 chore: Fix fstring incompatibility with older python versions 2024-07-08 18:20:39 +02:00
Matthias
e2def42932 Merge pull request #10413 from freqtrade/dependabot/pip/develop/ruff-0.5.1
chore(deps-dev): bump ruff from 0.5.0 to 0.5.1
2024-07-08 07:52:50 +02:00
Matthias
43ac867747 Merge pull request #10408 from freqtrade/dependabot/pip/develop/mkdocs-852807f2c9
chore(deps): bump mkdocs-material from 9.5.27 to 9.5.28 in the mkdocs group
2024-07-08 07:39:59 +02:00
Matthias
76a34efe36 chore: improve backtest test resiliance 2024-07-08 07:21:24 +02:00
Matthias
ae92807b5c chore: Update more test reliability 2024-07-08 07:21:24 +02:00
Matthias
453ea0dbcc update test for bt-output stability 2024-07-08 07:21:24 +02:00
Matthias
432f45484e Merge pull request #10412 from freqtrade/dependabot/pip/develop/pydantic-2.8.2
chore(deps): bump pydantic from 2.7.4 to 2.8.2
2024-07-08 07:21:00 +02:00
Matthias
caa6fe859c Merge pull request #10411 from freqtrade/dependabot/pip/develop/orjson-3.10.6
chore(deps): bump orjson from 3.10.5 to 3.10.6
2024-07-08 07:07:28 +02:00
Matthias
b208f978db Remove dependency on colorama 2024-07-08 06:44:52 +02:00
Matthias
49a60fa67f Properly support "--no-color" for hyperopt 2024-07-08 06:44:21 +02:00
Matthias
1744205bf1 Merge pull request #10410 from freqtrade/dependabot/pip/develop/ccxt-4.3.58
chore(deps): bump ccxt from 4.3.54 to 4.3.58
2024-07-08 06:43:14 +02:00
Matthias
beca37e102 Merge pull request #10409 from freqtrade/dependabot/pip/develop/scikit-learn-1.5.1
chore(deps): bump scikit-learn from 1.5.0 to 1.5.1
2024-07-08 06:42:20 +02:00
Matthias
28f4e1c068 Colorama is not necessary for hyperopt commands anymore 2024-07-08 06:38:29 +02:00
dependabot[bot]
4d2b6d6d6e chore(deps-dev): bump ruff from 0.5.0 to 0.5.1
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.5.0 to 0.5.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.5.0...0.5.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-07-08 03:11:11 +00:00
dependabot[bot]
ddb4cb853a chore(deps): bump pydantic from 2.7.4 to 2.8.2
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.7.4 to 2.8.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.7.4...v2.8.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-08 03:11:01 +00:00
dependabot[bot]
91fe16344e chore(deps): bump orjson from 3.10.5 to 3.10.6
Bumps [orjson](https://github.com/ijl/orjson) from 3.10.5 to 3.10.6.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.10.5...3.10.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-08 03:10:42 +00:00
dependabot[bot]
7e52124d8a chore(deps): bump ccxt from 4.3.54 to 4.3.58
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.54 to 4.3.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.3.54...4.3.58)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-08 03:10:32 +00:00
dependabot[bot]
71c29aa367 chore(deps): bump scikit-learn from 1.5.0 to 1.5.1
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.5.0...1.5.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>
2024-07-08 03:10:19 +00:00
dependabot[bot]
c0b20f88a5 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.27 to 9.5.28
- [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.27...9.5.28)

---
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-07-08 03:10:12 +00:00
Matthias
94565d0d39 "best" should be shown in gold 2024-07-07 20:03:49 +02:00
Matthias
004e1101e7 Improve resiliance, drop compatibility test 2024-07-07 17:12:30 +02:00
Matthias
62320a361e chore: fix now failing test 2024-07-07 17:12:30 +02:00
Matthias
879797e7c5 chore: remove no longer used result formatting methods 2024-07-07 17:12:30 +02:00
Matthias
f51b63fc37 Fix wrong type for live running 2024-07-07 16:33:47 +02:00
Matthias
4d6f399131 Implement colors for hyperopt-output 2024-07-07 16:28:02 +02:00
Matthias
8f0ac0aaea Remove old output from hyperopt-list 2024-07-07 16:27:53 +02:00
Matthias
f05c019757 feat: Update output for hyperopt to Rich 2024-07-07 16:15:09 +02:00
Matthias
befefd449c Add a generic Progressbar which allows printing additional objects 2024-07-07 16:13:55 +02:00
Matthias
69628736b2 feat: add hyperopt output functionality 2024-07-07 15:29:58 +02:00
Matthias
483a829d0e Revert "chore: pre-commit now needs rich types"
This reverts commit bc60855b93.
2024-07-07 15:10:33 +02:00
Matthias
8c807f00bb Extract row before exploding for better typing 2024-07-07 15:10:14 +02:00
Matthias
bc60855b93 chore: pre-commit now needs rich types 2024-07-07 13:22:09 +02:00
Matthias
4d5b330b77 Improve rich generic 2024-07-07 13:08:52 +02:00
Matthias
296bf9dc1d chore: Fix unused import 2024-07-07 13:05:37 +02:00
Matthias
dba7f9968b chore: fix minor type gotcha 2024-07-07 12:58:44 +02:00
Matthias
7adc3c2ef5 Improve rich_tables generic 2024-07-07 12:47:27 +02:00
Matthias
8e2f28955e feat: rich table for recursive analysis 2024-07-07 10:05:17 +02:00
Matthias
5e88bd231d feat: lookahead-heplpers -> rich table 2024-07-07 10:00:36 +02:00
Matthias
e705471946 chore: don't return what ain't being needed 2024-07-07 09:49:15 +02:00
Matthias
cdae61e155 feat: use rich tables for entryexitanalysis 2024-07-07 09:49:15 +02:00
Matthias
ffb0cf1a2c chore: Improve typing 2024-07-07 08:36:51 +02:00
Matthias
9f628309e9 feat: Update list-pairs command to use rich tables 2024-07-06 21:00:34 +02:00
Matthias
c296a8cf82 Improve rich tables interface 2024-07-06 20:59:50 +02:00
Matthias
c9b3987d33 chore: update rich-table print helper 2024-07-06 18:30:48 +02:00
Matthias
768a51cb9b Extract rich_table print to utils 2024-07-06 18:26:36 +02:00
Matthias
2d8470b254 Remove unused imports 2024-07-06 18:26:08 +02:00
Matthias
8d00e1d929 feat: Use Rich for list-strategies command 2024-07-06 18:09:03 +02:00
Matthias
2e0372d247 extract print_rich_table 2024-07-06 13:12:16 +02:00
Matthias
bafb6507c4 Use Rich table for pair list output 2024-07-06 13:09:37 +02:00
Matthias
b6b589b1f0 Update list-exchanges to use rich tables 2024-07-06 12:59:50 +02:00
Matthias
95097d1f51 chore: don't overwrite exchanges variable 2024-07-06 11:49:26 +02:00
Matthias
6b98bfe9b7 Simplify output 2024-07-06 11:42:40 +02:00
Matthias
7a67771e46 feat: include orderbook / fetchTicker to exchange_has
this will ensure one of the "get price" methods is available.
2024-07-06 10:55:10 +02:00
Matthias
bfe18573f3 Improve wording for list-exchanges command 2024-07-06 10:52:03 +02:00
Simon Waiblinger
f126120421 Merge branch 'freqtrade:develop' into feature/stoploss-start-at 2024-07-05 22:23:56 +02:00
simwai
af505b346c Fixed an access on the config by a wrong config key 2024-07-05 22:17:40 +02:00
simwai
77b4689ac8 Fixed implementation of unlock_at and updated unit tests 2024-07-05 22:14:35 +02:00
Matthias
f3e2dcd342 chore: update get_patched_exchange argument 2024-07-05 09:22:12 +02:00
Matthias
8b50973411 chore: Fix misuse of asyncio.sleep in test 2024-07-05 09:11:58 +02:00
Matthias
36a44575c7 chore: update patch_exchange to not override builtins 2024-07-05 09:10:55 +02:00
Matthias
1e287de589 chore: fix mote A violations in tests and scripts 2024-07-05 08:54:49 +02:00
Matthias
4a4e6bc952 chore: fix flake8-builtins overrides 2024-07-05 08:51:23 +02:00
Matthias
deeabbca12 chore: Don't override builtins 2024-07-05 08:51:20 +02:00
Matthias
8296e7010c chore: enable NPY ruff rules 2024-07-05 08:41:25 +02:00
Matthias
059fb16a35 docs: improve dev setup docs 2024-07-05 08:28:09 +02:00
Matthias
8d9825ac95 chore: noqa S404
we're using static parameters with subpross, so it should be safe.
2024-07-05 08:25:24 +02:00
Matthias
0eadd51ff3 chore: Highlight non-used variable in test 2024-07-05 08:18:39 +02:00
Matthias
ab0fd461ed chore: Replace np.NAN with np.nan
properly implements what #10402 tried to do.
2024-07-05 08:18:36 +02:00
Matthias
53043d1978 Pin numpy install to <2.0 in setup.py 2024-07-05 07:33:26 +02:00
Joe Schr
aa86e95650 refresh_latest_trades: use max_candles to determine trades download count 2024-07-04 18:33:05 +02:00
Matthias
cd8bd9038e fix: Reassign "options" on market reload
Ensures that all data is available after init or reload.
2024-07-04 18:12:14 +02:00
Matthias
72c7f118a0 Improve test naming to be clearer 2024-07-04 17:43:50 +02:00
Joe Schr
3486327e78 Extract global cached_grouped_trades_per_pair into IStrategy 2024-07-04 17:23:59 +02:00
Joe Schr
e5221bded7 Align constant defaults for cache_size with max_candles 2024-07-04 17:06:59 +02:00
Matthias
7c697d4ded fix: Validate trades for fee
We can't rely on the "trades" subarray from the order
to contain everything we need
As such, we need to ensure that required properties are present and not None.

closes #10398
2024-07-04 16:38:12 +02:00
Matthias
d1a0f5a4e1 Add test with invalid trade object 2024-07-04 16:32:29 +02:00
Matthias
6b99033164 Improve trades-cached handling 2024-07-04 15:21:16 +02:00
Matthias
c891e38f2b Merge branch 'develop' into feature/fetch-public-trades 2024-07-04 14:39:17 +02:00
Matthias
0e51baeb10 Better structure for config docs 2024-07-04 14:32:45 +02:00
Matthias
371819d26e Merge pull request #10273 from freqtrade/ci/ccxt.pro
ccxt.pro support - using websockets to get data
2024-07-04 14:32:36 +02:00
Matthias
b3bcbfa803 Add extended Websocket documentation 2024-07-04 12:47:44 +02:00
Matthias
57316e1875 Don't evaluate comment in waves exchange 2024-07-04 12:39:19 +02:00
Matthias
7ab4eecb18 Fix header indentation 2024-07-04 12:10:39 +02:00
Matthias
a0a5ccc445 Merge branch 'develop' into ci/ccxt.pro 2024-07-04 12:08:36 +02:00
Matthias
8a246b831b Update non-working ccxt doc links 2024-07-04 12:07:18 +02:00
Matthias
db8d4dc990 Add exchange.enable_ws setting to doc 2024-07-04 12:06:17 +02:00
Joe Schr
05b2d8a2bf Merge remote-tracking branch 'upstream/develop' into feature/fetch-public-trades 2024-07-04 11:01:17 +02:00
simwai
57118691d8 Removed entry in gitignore 2024-07-04 10:53:14 +02:00
simwai
2b456cbdeb Added unlock_at field for protection config 2024-07-04 10:29:13 +02:00
Matthias
7b6cd0cb9c Merge pull request #10399 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-07-04 08:24:08 +02:00
xmatthias
01506a2ad3 chore: update pre-commit hooks 2024-07-04 03:12:01 +00:00
Matthias
04b65eae3c docs: Fix format used for backtesting-predictions 2024-07-03 17:24:48 +02:00
Matthias
d953226459 use correct sleep method in tests 2024-07-03 13:44:36 +02:00
Matthias
3348283b05 Test api with new dex attribute 2024-07-03 13:36:41 +02:00
Matthias
b58e412982 feat: Add "DEX" output for list- exchanges subcommand 2024-07-03 13:34:00 +02:00
Matthias
7209b2e71a Merge branch 'develop' into ci/ccxt.pro 2024-07-03 13:13:13 +02:00
Matthias
d8eb6e59fa Fix missing import 2024-07-03 12:01:22 +02:00
Matthias
e5a453a1f3 Improve clarity on argument definition 2024-07-03 12:01:13 +02:00
Matthias
44c9358ac1 Simplify argparse imports 2024-07-03 11:55:55 +02:00
Matthias
0f1894037d Increased Args typehint 2024-07-03 11:51:11 +02:00
Matthias
dcb442f1df Fix / Improve supported options for lookahead-analysis 2024-07-03 11:42:44 +02:00
Matthias
027cd44944 Clarify dry-run market order slippage logic
closes #10384
2024-07-03 11:26:38 +02:00
Matthias
b18563c3bd Merge pull request #10390 from freqtrade/dependabot/pip/develop/scipy-1.14.0
Bump scipy from 1.13.1 to 1.14.0
2024-07-03 11:14:30 +02:00
Matthias
f294aafbf5 Merge pull request #10352 from freqtrade/feat/pairlist_bt_check
Feat/pairlist_bt_check
2024-07-03 09:58:45 +02:00
Matthias
5af449fcf9 Merge pull request #10392 from freqtrade/dependabot/pip/develop/python-rapidjson-1.18
Bump python-rapidjson from 1.17 to 1.18
2024-07-03 09:51:28 +02:00
Matthias
1482a5c78e Scipy 1.14 dropped support for python 3.9. 2024-07-03 09:37:01 +02:00
Matthias
a800152a43 Update gzip open mode to text mode
It's slightly faster this way, as json files are text anyway.
2024-07-03 09:19:23 +02:00
Matthias
0aab0fa40c Merge pull request #10388 from freqtrade/dependabot/pip/develop/ta-lib-0.4.32
Bump ta-lib from 0.4.31 to 0.4.32
2024-07-03 08:31:59 +02:00
Matthias
68b62e6d90 Bump TA-Lib binary packages 2024-07-03 07:36:49 +02:00
Matthias
c4bc5356d1 Add Ruff Async checks 2024-07-02 20:53:18 +02:00
Matthias
c2275009a8 Merge pull request #10393 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-07-02 07:18:57 +02:00
xmatthias
fa8e95819b chore: update pre-commit hooks 2024-07-02 03:02:46 +00:00
Matthias
26b7733371 Merge pull request #10386 from freqtrade/dependabot/pip/develop/ruff-0.5.0
Bump ruff from 0.4.10 to 0.5.0
2024-07-01 10:56:52 +02:00
Matthias
a55691ea7f Merge pull request #10383 from freqtrade/new_release
New release 2024.6
2024-07-01 10:45:09 +02:00
Matthias
78d8a5f790 Merge pull request #10387 from freqtrade/dependabot/pip/develop/ccxt-4.3.54
Bump ccxt from 4.3.50 to 4.3.54
2024-07-01 10:41:46 +02:00
Matthias
3ed9bdf38c Merge pull request #10389 from freqtrade/dependabot/pip/develop/aiofiles-24.1.0
Bump aiofiles from 23.2.1 to 24.1.0
2024-07-01 10:38:42 +02:00
dependabot[bot]
a26176a9da Bump ruff from 0.4.10 to 0.5.0
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.4.10 to 0.5.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/v0.4.10...0.5.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-07-01 07:16:07 +00:00
Matthias
ff78e02933 Merge pull request #10385 from freqtrade/dependabot/pip/develop/time-machine-2.14.2
Bump time-machine from 2.14.1 to 2.14.2
2024-07-01 09:15:43 +02:00
Matthias
53182a1831 Merge pull request #10391 from freqtrade/dependabot/pip/develop/mypy-1.10.1
Bump mypy from 1.10.0 to 1.10.1
2024-07-01 09:15:11 +02:00
dependabot[bot]
33aea106d1 Bump python-rapidjson from 1.17 to 1.18
Bumps [python-rapidjson](https://github.com/python-rapidjson/python-rapidjson) from 1.17 to 1.18.
- [Changelog](https://github.com/python-rapidjson/python-rapidjson/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-rapidjson/python-rapidjson/compare/v1.17...v1.18)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-01 03:42:52 +00:00
dependabot[bot]
5aceea7280 Bump mypy from 1.10.0 to 1.10.1
Bumps [mypy](https://github.com/python/mypy) from 1.10.0 to 1.10.1.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.10.0...v1.10.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-01 03:42:46 +00:00
dependabot[bot]
7fe7e1da44 Bump scipy from 1.13.1 to 1.14.0
Bumps [scipy](https://github.com/scipy/scipy) from 1.13.1 to 1.14.0.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.13.1...v1.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-01 03:42:34 +00:00
dependabot[bot]
958abecb23 Bump aiofiles from 23.2.1 to 24.1.0
Bumps [aiofiles](https://github.com/Tinche/aiofiles) from 23.2.1 to 24.1.0.
- [Release notes](https://github.com/Tinche/aiofiles/releases)
- [Commits](https://github.com/Tinche/aiofiles/compare/v23.2.1...v24.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-01 03:42:23 +00:00
dependabot[bot]
870a3ea5cc Bump ta-lib from 0.4.31 to 0.4.32
Bumps [ta-lib](https://github.com/ta-lib/ta-lib-python) from 0.4.31 to 0.4.32.
- [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.31...TA_Lib-0.4.32)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-01 03:42:20 +00:00
dependabot[bot]
dd060f1044 Bump ccxt from 4.3.50 to 4.3.54
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.50 to 4.3.54.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ccxt/ccxt/compare/4.3.50...4.3.54)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-01 03:42:16 +00:00
dependabot[bot]
a882e9e478 Bump time-machine from 2.14.1 to 2.14.2
Bumps [time-machine](https://github.com/adamchainz/time-machine) from 2.14.1 to 2.14.2.
- [Changelog](https://github.com/adamchainz/time-machine/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/adamchainz/time-machine/compare/2.14.1...2.14.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-01 03:41:51 +00:00
Matthias
11798ae018 chore: update version to 2024.7-dev 2024-06-30 09:42:08 +00:00
Matthias
d9b588fe59 Version bump 2024.6 2024-06-30 09:06:53 +00:00
Matthias
f20fefffa0 Merge branch 'stable' into new_release 2024-06-30 09:03:46 +00:00
Matthias
60232ca85b Merge pull request #10382 from konradbeck/patch-2
Update telegram /help formatting
2024-06-29 12:09:41 +02:00
konradbeck
1c4e809f84 Update telegram.py
The help command doesn't have consistent formatting.

- /stop: "Description" doesn't conform to the other formatting.
- Statistics header isn't on it's own line.
2024-06-29 09:58:37 +02:00
Simon Waiblinger
1d3ca5743b Merge branch 'freqtrade:develop' into develop 2024-06-27 16:38:13 +02:00
Joe Schr
0e0c585aee orderflow tests: removes unused import 2024-06-27 15:25:40 +02:00
Joe Schr
b2bcac8447 Merge remote-tracking branch 'upstream/develop' into feature/fetch-public-trades 2024-06-27 15:23:12 +02:00
Joe Schr
7de102320c orderflow: use cache per pair 2024-06-27 15:06:16 +02:00
Matthias
81224cbd44 Merge pull request #10375 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-06-27 07:43:55 +02:00
xmatthias
5fa24163f5 chore: update pre-commit hooks 2024-06-27 03:12:21 +00:00
Joe Schr
dad2cad525 orderflow: fixing typing 2024-06-26 19:54:13 +02:00
Matthias
055426c24e Merge pull request #10374 from freqtrade/frog-setup-1
Fix setup.sh pip version
2024-06-26 18:35:38 +02:00
Robert Davey
5effd62599 Fix setup.sh pip version 2024-06-26 16:25:40 +01:00
Matthias
eb8f7666df Merge pull request #10361 from freqtrade/dependabot/pip/develop/types-53b9298882
Bump types-requests from 2.32.0.20240602 to 2.32.0.20240622 in the types group
2024-06-25 14:49:20 +02:00
Matthias
58d6abe15d Update .pre-commit-config.yaml 2024-06-25 14:09:53 +02:00
Matthias
488d149b16 Update precommit config 2024-06-25 14:07:51 +02:00
Matthias
286e8849b5 Merge pull request #10372 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-06-25 14:00:35 +02:00
xmatthias
7644c097b4 chore: update pre-commit hooks 2024-06-25 03:02:45 +00:00
Joe Schr
323274ecee orderflow: clean code 2024-06-24 18:07:17 +02:00
Joe Schr
5379400ab3 Merge branch 'feature/fetch-public-trades-cached' into feature/fetch-public-trades 2024-06-24 18:07:01 +02:00
Joe Schr
4735835aab orderflow tests: reset orderflow cache between tests 2024-06-24 17:40:54 +02:00
Joe Schr
54df6f5b9c orderflow: adds cache_size to config 2024-06-24 17:40:24 +02:00
Joe Schr
390373cb9b orderflow: ruff format 2024-06-24 17:15:39 +02:00
Joe Schr
ecd2118941 fix: copying orderflow dataframe from cache doesn't work 2024-06-24 17:14:22 +02:00
Matthias
7aebd407c0 Merge pull request #10365 from freqtrade/dependabot/pip/develop/sqlalchemy-2.0.31
Bump sqlalchemy from 2.0.30 to 2.0.31
2024-06-24 16:20:07 +02:00
Matthias
9ac7f90cd1 update precommit 2024-06-24 15:51:16 +02:00
Matthias
6c78932d1d Merge pull request #10369 from freqtrade/dependabot/pip/develop/numexpr-2.10.1
Bump numexpr from 2.10.0 to 2.10.1
2024-06-24 14:47:02 +02:00
dependabot[bot]
ead057d6c0 Bump sqlalchemy from 2.0.30 to 2.0.31
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.30 to 2.0.31.
- [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>
2024-06-24 12:01:20 +00:00
dependabot[bot]
5d13a22499 Bump numexpr from 2.10.0 to 2.10.1
Bumps [numexpr](https://github.com/pydata/numexpr) from 2.10.0 to 2.10.1.
- [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.0...v2.10.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-24 12:01:13 +00:00
Matthias
5b7cd49b9c Merge pull request #10364 from freqtrade/dependabot/pip/develop/ccxt-4.3.50
Bump ccxt from 4.3.46 to 4.3.50
2024-06-24 13:59:25 +02:00
Matthias
bfe8548041 Merge pull request #10363 from freqtrade/dependabot/pip/develop/psutil-6.0.0
Bump psutil from 5.9.8 to 6.0.0
2024-06-24 12:49:51 +02:00
Matthias
e2ee8de739 Merge pull request #10368 from freqtrade/dependabot/pip/develop/filelock-3.15.4
Bump filelock from 3.15.1 to 3.15.4
2024-06-24 08:54:00 +02:00
Matthias
71e1b27d68 Merge pull request #10362 from freqtrade/dependabot/pip/develop/bottleneck-1.4.0
Bump bottleneck from 1.3.8 to 1.4.0
2024-06-24 08:53:26 +02:00
Matthias
f3fede99d3 Merge pull request #10367 from freqtrade/dependabot/pip/develop/ruff-0.4.10
Bump ruff from 0.4.9 to 0.4.10
2024-06-24 08:53:00 +02:00
dependabot[bot]
6b84a2907f Bump filelock from 3.15.1 to 3.15.4
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.15.1 to 3.15.4.
- [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.15.1...3.15.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-24 03:26:29 +00:00
dependabot[bot]
b2376c41d1 Bump ruff from 0.4.9 to 0.4.10
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.4.9 to 0.4.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/v0.4.9...v0.4.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-24 03:26:22 +00:00
dependabot[bot]
7de5e88dfd Bump ccxt from 4.3.46 to 4.3.50
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.46 to 4.3.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.3.46...4.3.50)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-24 03:25:49 +00:00
dependabot[bot]
9f892e2e47 Bump psutil from 5.9.8 to 6.0.0
Bumps [psutil](https://github.com/giampaolo/psutil) from 5.9.8 to 6.0.0.
- [Changelog](https://github.com/giampaolo/psutil/blob/master/HISTORY.rst)
- [Commits](https://github.com/giampaolo/psutil/compare/release-5.9.8...release-6.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>
2024-06-24 03:25:42 +00:00
dependabot[bot]
56f2a77c72 Bump bottleneck from 1.3.8 to 1.4.0
Bumps [bottleneck](https://github.com/pydata/bottleneck) from 1.3.8 to 1.4.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.3.8...v1.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-24 03:25:34 +00:00
dependabot[bot]
40068dfedb 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.20240602 to 2.32.0.20240622
- [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>
2024-06-24 03:24:52 +00:00
Matthias
0b9e4f68c7 Merge pull request #10353 from netcan/patch-1
Update pairlists.md
2024-06-21 18:08:35 +02:00
Matthias
605f53a602 Add test for new warning modes 2024-06-21 17:57:38 +02:00
Matthias
282198a81c update enum value to Biased 2024-06-21 17:43:27 +02:00
Netcan
b3cc761d8c Update pairlists.md 2024-06-21 23:18:48 +08:00
Matthias
b7f180ab3f fix: Improve safety of custom_stop return validation
If the return is inf or NaN freqtrade should not fail
closes #10349
2024-06-21 16:43:07 +02:00
Matthias
4f43e59643 Add test showing behavior of #10349 2024-06-21 16:41:59 +02:00
Matthias
93ed61a623 Improve stoploss test accuracy 2024-06-21 16:41:25 +02:00
Matthias
f117e66f53 Pin pip from updating 2024-06-21 16:13:06 +02:00
Joe Schr
08a27abbdc orderflow: clean up populate_dataframe_with_trades code 2024-06-21 16:10:27 +02:00
Joe Schr
d23c33a47f feat: add caching to populate_dataframe_with_trades 2024-06-21 15:28:11 +02:00
Matthias
dd42a79234 Remove most explicit "supports backtesting" checks 2024-06-21 14:57:57 +02:00
Matthias
23256466e7 Update pairlist tests accordingly 2024-06-21 14:57:57 +02:00
Matthias
ea58be2705 Classify individual pairlists for backtestability 2024-06-21 14:57:57 +02:00
Matthias
c1e938ccda Add "BacktestnigSupport" method to pairlists 2024-06-21 14:57:57 +02:00
Matthias
9e9aacc102 Pin pip to 24.0 for the moment 2024-06-21 14:45:08 +02:00
Matthias
02c38f7396 Prevent data-downloads for exchanges that don't support this. 2024-06-20 18:29:17 +02:00
Matthias
776a8e43cd Add trades_has_history attribute 2024-06-20 18:24:43 +02:00
Matthias
8ac5fce06b Improve note wording 2024-06-20 06:54:55 +02:00
Matthias
226f907726 Add deprecation note to plot modules 2024-06-20 06:52:25 +02:00
Matthias
27e80b47ae Merge pull request #10342 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-06-20 06:43:32 +02:00
xmatthias
d5bad0ed45 chore: update pre-commit hooks 2024-06-20 03:14:42 +00:00
Joe Schr
ffda564f05 Merge remote-tracking branch 'upstream/develop' into feature/fetch-public-trades 2024-06-19 20:38:50 +02:00
Matthias
2bc5756326 Update proxy documentation 2024-06-19 20:27:47 +02:00
Matthias
094dc18e86 set wsProxy for exchange calls 2024-06-19 20:27:40 +02:00
Joe Schr
2d6408a363 feat: adds max_candles to orderflow config 2024-06-19 19:23:26 +02:00
Matthias
b43d578bb0 Merge branch 'develop' into ci/ccxt.pro 2024-06-18 20:34:18 +02:00
Matthias
44a37d1120 Merge pull request #10337 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-06-18 18:25:48 +02:00
xmatthias
8867f8ddc1 chore: update pre-commit hooks 2024-06-18 17:53:20 +02:00
Matthias
d06eb09e6e Merge pull request #10330 from freqtrade/dependabot/pip/develop/lightgbm-4.4.0
Bump lightgbm from 4.3.0 to 4.4.0
2024-06-18 16:07:29 +02:00
dependabot[bot]
fd9814df3c Bump lightgbm from 4.3.0 to 4.4.0
Bumps [lightgbm](https://github.com/microsoft/LightGBM) from 4.3.0 to 4.4.0.
- [Release notes](https://github.com/microsoft/LightGBM/releases)
- [Commits](https://github.com/microsoft/LightGBM/compare/v4.3.0...v4.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 13:27:45 +00:00
Matthias
d4dbf672ba Merge pull request #10329 from freqtrade/dependabot/pip/develop/pydantic-2.7.4
Bump pydantic from 2.7.3 to 2.7.4
2024-06-18 14:26:53 +02:00
Matthias
6f6e2f1541 Merge pull request #10328 from freqtrade/dependabot/pip/develop/orjson-3.10.5
Bump orjson from 3.10.3 to 3.10.5
2024-06-18 14:03:17 +02:00
Matthias
8ef07503e4 Merge pull request #10335 from freqtrade/dependabot/pip/develop/urllib3-2.2.2
Bump urllib3 from 2.2.1 to 2.2.2
2024-06-18 13:39:37 +02:00
dependabot[bot]
42c1d9a2ef Bump pydantic from 2.7.3 to 2.7.4
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.7.3 to 2.7.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.7.3...v2.7.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-06-18 10:21:55 +00:00
dependabot[bot]
b072a5343b Bump orjson from 3.10.3 to 3.10.5
Bumps [orjson](https://github.com/ijl/orjson) from 3.10.3 to 3.10.5.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.10.3...3.10.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 10:19:52 +00:00
Matthias
a20abfc3c7 Merge pull request #10269 from freqtrade/frog-rest-client-1
Add force_enter optional args and tests
2024-06-18 12:19:38 +02:00
dependabot[bot]
9804443a82 Bump urllib3 from 2.2.1 to 2.2.2
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.2.1 to 2.2.2.
- [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.1...2.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 10:18:08 +00:00
Matthias
9fa9085b6c Merge pull request #10334 from freqtrade/dependabot/pip/develop/ta-lib-0.4.31
Bump ta-lib from 0.4.30 to 0.4.31
2024-06-18 12:17:15 +02:00
Matthias
bcf01bd9a8 Update TA-lib binaries 2024-06-18 11:42:03 +02:00
dependabot[bot]
0b4ce6e16c Bump ta-lib from 0.4.30 to 0.4.31
Bumps [ta-lib](https://github.com/ta-lib/ta-lib-python) from 0.4.30 to 0.4.31.
- [Changelog](https://github.com/TA-Lib/ta-lib-python/blob/master/CHANGELOG)
- [Commits](https://github.com/ta-lib/ta-lib-python/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 16:13:03 +00:00
Matthias
8ed2bbfa2d Merge pull request #10325 from freqtrade/dependabot/pip/develop/ccxt-4.3.46
Bump ccxt from 4.3.42 to 4.3.46
2024-06-17 06:55:05 +02:00
Matthias
befab6939a Merge pull request #10323 from freqtrade/dependabot/pip/develop/ruff-0.4.9
Bump ruff from 0.4.8 to 0.4.9
2024-06-17 06:53:30 +02:00
Matthias
f65d6f6e75 Merge pull request #10322 from freqtrade/dependabot/pip/develop/mkdocs-7bec7d3824
Bump mkdocs-material from 9.5.26 to 9.5.27 in the mkdocs group
2024-06-17 06:53:14 +02:00
Matthias
f67a4eb097 Merge pull request #10321 from freqtrade/dependabot/github_actions/develop/pypa/gh-action-pypi-publish-1.9.0
Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0
2024-06-17 06:52:44 +02:00
Matthias
3fc116144d Merge pull request #10326 from freqtrade/dependabot/pip/develop/filelock-3.15.1
Bump filelock from 3.14.0 to 3.15.1
2024-06-17 06:50:13 +02:00
dependabot[bot]
d3baade447 Bump filelock from 3.14.0 to 3.15.1
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.14.0 to 3.15.1.
- [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.14.0...3.15.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 03:32:16 +00:00
dependabot[bot]
35e476c473 Bump ccxt from 4.3.42 to 4.3.46
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.42 to 4.3.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.3.42...4.3.46)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 03:32:11 +00:00
dependabot[bot]
f4f6dad060 Bump ruff from 0.4.8 to 0.4.9
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.4.8 to 0.4.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/v0.4.8...v0.4.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 03:31:55 +00:00
dependabot[bot]
d7c0ae2256 Bump mkdocs-material from 9.5.26 to 9.5.27 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.26 to 9.5.27
- [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.26...9.5.27)

---
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-06-17 03:31:41 +00:00
dependabot[bot]
c1c4a3844e Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.14 to 1.9.0.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.8.14...v1.9.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-06-17 03:25:08 +00:00
Matthias
a9ebefdc37 Prevent warning on __del__ during tests 2024-06-16 09:56:03 +02:00
Matthias
2223c16d00 Load hyperparameters when calling plot_config 2024-06-16 09:52:25 +02:00
Matthias
df47d154f9 Mock config loading for ft-client test 2024-06-16 08:09:35 +02:00
Matthias
3979801a86 Update documentation about keyword arguments 2024-06-15 09:49:08 +02:00
Matthias
6ec4907271 Improve docstring 2024-06-15 09:45:34 +02:00
Matthias
c5b4d6bced Add teset for kwarg splitting 2024-06-15 09:44:58 +02:00
Matthias
5a8838aec7 Additional test-cases 2024-06-15 09:24:07 +02:00
Matthias
1b491e9e15 Update tests to support kwargs 2024-06-15 09:21:35 +02:00
Matthias
a03528406f Split client arguments to accept kwarguments 2024-06-15 09:16:38 +02:00
Matthias
9d3e435162 Improve error for rest client 2024-06-15 09:13:57 +02:00
Matthias
61971f3949 chore: ftclient - Update naming of argument in main method 2024-06-15 09:12:23 +02:00
Matthias
619484a4fd feat: Make the new arguments kwargs only 2024-06-15 09:12:21 +02:00
Matthias
e11295a042 Merge pull request #10305 from freqtrade/dependabot/pip/develop/torch-2.3.1
Bump torch from 2.2.2 to 2.3.1
2024-06-15 07:25:11 +02:00
Matthias
1775d86af2 Merge branch 'develop' into ci/ccxt.pro 2024-06-14 19:46:14 +02:00
Matthias
fec0439479 Merge pull request #10315 from freqtrade/ci_ubuntu_24.04
Run CI against ubuntu 24.04
2024-06-13 19:45:49 +02:00
Matthias
eac7d71199 Run CI against ubuntu 24.04 2024-06-13 17:34:08 +02:00
Matthias
03d2d5dc5d Update bt_output types 2024-06-13 06:43:31 +02:00
Matthias
dd469944c9 Extract per-tag subresults from main backtest_result method 2024-06-13 06:43:31 +02:00
Matthias
156eeb90b9 Output mixed tags table 2024-06-13 06:43:31 +02:00
Matthias
68b8b29089 Calculated mixed tags results 2024-06-13 06:43:31 +02:00
Matthias
79cfa6d0d8 Merge pull request #10312 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-06-13 06:32:11 +02:00
Matthias
af6e7f5ec6 Skip publisher check for pester
> The built-in version is signed by Microsoft while newer versions are community-maintained and signed with a different certificate, causing Install-Module to sometimes throw a error requiring us to accept the new publisher certificate.
source: https://pester.dev/docs/introduction/installation#windows
2024-06-13 06:31:43 +02:00
xmatthias
7106ff6923 chore: update pre-commit hooks 2024-06-13 03:02:25 +00:00
Matthias
8dc766c0e2 Merge pull request #10307 from freqtrade/ci_3.12
Revert "Workaround macos CI fails"
2024-06-12 09:39:01 +02:00
Matthias
1b2cfc9857 Simplify generate_tag_metrics logic 2024-06-11 19:53:22 +02:00
Matthias
b8a4752636 Use proper type for exit_reason in tests 2024-06-11 19:51:38 +02:00
Matthias
2ec4449558 Use better column header for backtest output 2024-06-11 19:08:24 +02:00
Matthias
9e3be765d0 Fix table style 2024-06-11 07:11:20 +02:00
Matthias
12d7fbb379 Update docs for new wording 2024-06-11 07:06:09 +02:00
Matthias
09b1b1ab94 Use "trades" wording in backtest tables 2024-06-11 07:03:47 +02:00
Matthias
90efd04617 Improve typing in backtesting 2024-06-11 06:47:23 +02:00
Matthias
21710aeca8 use kwargs in example for clarity
closes #10308
2024-06-11 06:35:22 +02:00
Matthias
e5baa554d4 Merge pull request #10309 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-06-11 06:21:06 +02:00
xmatthias
6aba413aa2 chore: update pre-commit hooks 2024-06-11 03:03:12 +00:00
Matthias
594bb3278a Merge pull request #10302 from freqtrade/dependabot/pip/develop/tensorboard-2.17.0
Bump tensorboard from 2.16.2 to 2.17.0
2024-06-10 19:29:42 +02:00
Matthias
1b66ad4603 Keep torch at 2.2.2 for macos x86 versions 2024-06-10 19:11:17 +02:00
Matthias
33a4d5596f Revert "Workaround macos CI fails"
This reverts commit d2da23f5d1.
2024-06-10 18:01:01 +02:00
dependabot[bot]
03e7151c37 Bump tensorboard from 2.16.2 to 2.17.0
Bumps [tensorboard](https://github.com/tensorflow/tensorboard) from 2.16.2 to 2.17.0.
- [Release notes](https://github.com/tensorflow/tensorboard/releases)
- [Changelog](https://github.com/tensorflow/tensorboard/blob/2.17.0/RELEASE.md)
- [Commits](https://github.com/tensorflow/tensorboard/compare/2.16.2...2.17.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-10 07:35:56 +00:00
Matthias
ead1b2c398 Merge pull request #10306 from freqtrade/dependabot/pip/develop/cryptography-42.0.8
Bump cryptography from 42.0.7 to 42.0.8
2024-06-10 09:35:10 +02:00
dependabot[bot]
ac5e687c8f Bump torch from 2.2.2 to 2.3.1
Bumps [torch](https://github.com/pytorch/pytorch) from 2.2.2 to 2.3.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.3.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-06-10 06:17:36 +00:00
dependabot[bot]
0972c213e4 Bump cryptography from 42.0.7 to 42.0.8
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.7 to 42.0.8.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/42.0.7...42.0.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-10 06:17:13 +00:00
Matthias
d2da23f5d1 Workaround macos CI fails 2024-06-10 08:16:21 +02:00
Matthias
014898e019 Merge pull request #10304 from freqtrade/dependabot/pip/develop/ruff-0.4.8
Bump ruff from 0.4.7 to 0.4.8
2024-06-10 07:58:30 +02:00
dependabot[bot]
afdb1f66b3 Bump ruff from 0.4.7 to 0.4.8
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.4.7 to 0.4.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/v0.4.7...v0.4.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-10 05:20:13 +00:00
Matthias
5c5779a765 Merge pull request #10297 from freqtrade/dependabot/pip/develop/packaging-24.1
Bump packaging from 24.0 to 24.1
2024-06-10 07:17:58 +02:00
Matthias
4a78521d90 Merge pull request #10296 from freqtrade/dependabot/pip/develop/mkdocs-454b70509d
Bump mkdocs-material from 9.5.25 to 9.5.26 in the mkdocs group
2024-06-10 07:17:42 +02:00
Matthias
a5187728e0 Merge pull request #10295 from freqtrade/dependabot/pip/develop/pytest-42e73233fd
Bump pytest from 8.2.1 to 8.2.2 in the pytest group
2024-06-10 07:17:20 +02:00
Matthias
b3a91e3d4d Merge pull request #10303 from freqtrade/dependabot/docker/python-3.12.4-slim-bookworm
Bump python from 3.12.3-slim-bookworm to 3.12.4-slim-bookworm
2024-06-10 07:07:09 +02:00
Matthias
e2e2f0d454 Merge pull request #10300 from freqtrade/dependabot/pip/develop/python-telegram-bot-21.3
Bump python-telegram-bot from 21.2 to 21.3
2024-06-10 06:54:59 +02:00
Matthias
d992000343 Merge pull request #10299 from freqtrade/dependabot/pip/develop/pydantic-2.7.3
Bump pydantic from 2.7.2 to 2.7.3
2024-06-10 06:54:34 +02:00
Matthias
0be9490ee7 Merge pull request #10298 from freqtrade/dependabot/pip/develop/ccxt-4.3.42
Bump ccxt from 4.3.38 to 4.3.42
2024-06-10 06:53:59 +02:00
dependabot[bot]
77038011c1 Bump python from 3.12.3-slim-bookworm to 3.12.4-slim-bookworm
Bumps python from 3.12.3-slim-bookworm to 3.12.4-slim-bookworm.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-10 03:35:13 +00:00
dependabot[bot]
1340412c99 Bump python-telegram-bot from 21.2 to 21.3
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 21.2 to 21.3.
- [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.2...v21.3)

---
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-06-10 03:35:01 +00:00
dependabot[bot]
db18f8ce64 Bump pydantic from 2.7.2 to 2.7.3
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.7.2 to 2.7.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.7.2...v2.7.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-06-10 03:34:50 +00:00
dependabot[bot]
40cea6d28a Bump ccxt from 4.3.38 to 4.3.42
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.38 to 4.3.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.3.38...4.3.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-06-10 03:34:37 +00:00
dependabot[bot]
48ae99283c Bump packaging from 24.0 to 24.1
Bumps [packaging](https://github.com/pypa/packaging) from 24.0 to 24.1.
- [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.0...24.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-10 03:34:28 +00:00
dependabot[bot]
0c6d3fd675 Bump mkdocs-material from 9.5.25 to 9.5.26 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.25 to 9.5.26
- [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.25...9.5.26)

---
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-06-10 03:34:24 +00:00
dependabot[bot]
b56ea4f637 Bump pytest from 8.2.1 to 8.2.2 in the pytest group
Bumps the pytest group with 1 update: [pytest](https://github.com/pytest-dev/pytest).


Updates `pytest` from 8.2.1 to 8.2.2
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.2.1...8.2.2)

---
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-06-10 03:34:02 +00:00
Matthias
f314607bb6 Update pairlists to use *args **kwargs init 2024-06-09 08:55:03 +02:00
Matthias
29e23dfdb9 Use self._ for pairlist inits 2024-06-09 08:55:03 +02:00
Matthias
2cb89996d2 Remove unused imports 2024-06-09 08:44:26 +02:00
Matthias
3b86e3e66e Fix deprecated "abstractproperty" 2024-06-09 08:44:04 +02:00
Matthias
598e461892 Remove unused __init__ method 2024-06-09 08:42:51 +02:00
Matthias
0d6109211f Fix further windows tests 2024-06-08 20:26:50 +02:00
Matthias
35700d1452 Fix some windows tests 2024-06-08 17:41:05 +02:00
Matthias
36ad3bff62 Fix /tmp usage in tests 2024-06-08 09:42:01 +02:00
Matthias
2087974520 Fix some direct usages of "/tmp" 2024-06-08 09:40:32 +02:00
Matthias
e3b8e21b76 chore: Enable ruff "S" rule (bandit) 2024-06-08 09:33:15 +02:00
Matthias
de5a5d0967 Don't use assert in non-test code. 2024-06-08 09:32:54 +02:00
Matthias
cef9c45f68 don't use plain eval 2024-06-08 09:31:50 +02:00
Matthias
2f83ff73e2 Further bandid noqa's 2024-06-08 09:27:40 +02:00
Matthias
50e4d273f4 noqa empty passes on version detection 2024-06-08 09:23:02 +02:00
Matthias
6b932133ea Log during cleanup 2024-06-08 09:20:23 +02:00
Matthias
bd8b8e8b8b Add a few bandid noqa's on acceptable use 2024-06-08 09:19:54 +02:00
Matthias
a5d6417434 chore: use nan instead of NaN (numpy 2.x compat) 2024-06-08 08:56:41 +02:00
Matthias
0eeaee21fb Avoid "restart" failure - reset ccxt cache 2024-06-07 19:03:28 +02:00
Matthias
84e8a19bd3 Remove duplicate log message 2024-06-06 18:05:58 +02:00
Matthias
31219299d2 Don't fail trades loop if one pair fails 2024-06-06 18:05:45 +02:00
Matthias
4e319765ed Slightly update docs with warnings 2024-06-06 17:37:54 +02:00
Matthias
6d40246764 Merge pull request #10288 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-06-06 06:51:08 +02:00
xmatthias
779905a8f2 chore: update pre-commit hooks 2024-06-06 03:02:43 +00:00
Matthias
9da0437e3d Improve exchange_ws shutdown 2024-06-04 19:52:19 +02:00
Matthias
50bf770351 Merge branch 'develop' into feature/fetch-public-trades 2024-06-04 19:49:27 +02:00
Matthias
0f9335d242 Merge branch 'develop' into ci/ccxt.pro 2024-06-04 19:45:22 +02:00
Matthias
133dc1d343 api_async is mandatory ... 2024-06-04 19:42:04 +02:00
Joe Schr
f075d728c5 constants: make "orderflow" fields required 2024-06-04 19:23:23 +02:00
Matthias
269135c2c9 Fix trading_fees test 2024-06-04 19:12:02 +02:00
Matthias
b294318d0f Update tests for simplified init 2024-06-04 19:05:27 +02:00
Matthias
7c6a5a34f5 Move async_mock into conditional 2024-06-04 19:01:21 +02:00
Matthias
a2251d045c Only load markets once
Increases startup speed by 6s on binance (from 9 to 3s).
2024-06-04 19:01:00 +02:00
Matthias
fbee48a106 Minor test comment fix 2024-06-04 07:24:56 +02:00
Matthias
d79fb8663e Update exchange tests 2024-06-04 07:21:42 +02:00
Matthias
b516a0827d Update hyperopt test mocks 2024-06-04 07:21:42 +02:00
Matthias
ab4c9ccfbc Update bot test 2024-06-04 07:21:42 +02:00
Matthias
5a08d1acf9 combine _load_markets and reload_markets 2024-06-04 07:21:42 +02:00
Matthias
7c3e8071af Merge pull request #10286 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-06-04 06:28:36 +02:00
xmatthias
d5fdaf26cf chore: update pre-commit hooks 2024-06-04 03:03:41 +00:00
Matthias
d4ccc7909d Control pytest log formatting 2024-06-03 21:00:43 +02:00
Matthias
0f080a871a Control pytest log formatting 2024-06-03 21:00:22 +02:00
Matthias
0993d12955 Add timeout to some tests 2024-06-03 20:57:15 +02:00
Matthias
29b4febfe4 Merge pull request #10282 from freqtrade/dependabot/pip/develop/ta-lib-0.4.30
Bump ta-lib from 0.4.29 to 0.4.30
2024-06-03 12:00:11 +02:00
Matthias
7824c6c690 Merge pull request #10283 from freqtrade/dependabot/pip/develop/pydantic-2.7.2
Bump pydantic from 2.7.1 to 2.7.2
2024-06-03 10:03:08 +02:00
Matthias
cd3f083cde Update ta-lib pre-built binaries 2024-06-03 10:02:31 +02:00
Matthias
a42b48ac57 Merge pull request #10275 from freqtrade/dependabot/github_actions/develop/docker/setup-buildx-action-3
Bump docker/setup-buildx-action from 1 to 3
2024-06-03 09:27:06 +02:00
Matthias
64c38bf32c Merge pull request #10277 from freqtrade/dependabot/pip/develop/types-e2110a637b
Bump types-requests from 2.32.0.20240523 to 2.32.0.20240602 in the types group
2024-06-03 08:53:57 +02:00
Matthias
3a1712a130 Merge pull request #10285 from freqtrade/dependabot/pip/develop/ccxt-4.3.38
Bump ccxt from 4.3.35 to 4.3.38
2024-06-03 08:17:56 +02:00
Matthias
3098221718 Merge pull request #10281 from freqtrade/dependabot/pip/develop/ruff-0.4.7
Bump ruff from 0.4.5 to 0.4.7
2024-06-03 08:15:59 +02:00
dependabot[bot]
c40834eda5 Bump pydantic from 2.7.1 to 2.7.2
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.7.1 to 2.7.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.7.1...v2.7.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-06-03 05:57:03 +00:00
Matthias
891a29cac8 Merge pull request #10280 from freqtrade/dependabot/pip/develop/uvicorn-0.30.1
Bump uvicorn from 0.29.0 to 0.30.1
2024-06-03 07:55:35 +02:00
Matthias
0461afa8e2 Merge pull request #10278 from freqtrade/dependabot/pip/develop/mkdocs-da0789ad88
Bump mkdocs-material from 9.5.24 to 9.5.25 in the mkdocs group
2024-06-03 07:36:33 +02:00
dependabot[bot]
a0a869e8f4 Bump ta-lib from 0.4.29 to 0.4.30
Bumps [ta-lib](https://github.com/ta-lib/ta-lib-python) from 0.4.29 to 0.4.30.
- [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.29...TA_Lib-0.4.30)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-03 05:17:24 +00:00
Matthias
05efe203d8 Merge pull request #10276 from freqtrade/dependabot/github_actions/develop/docker/setup-qemu-action-3
Bump docker/setup-qemu-action from 1 to 3
2024-06-03 07:16:12 +02:00
Matthias
4b59ebd2f5 Merge pull request #10279 from freqtrade/dependabot/pip/develop/requests-2.32.3
Bump requests from 2.32.2 to 2.32.3
2024-06-03 07:14:58 +02:00
Matthias
eb7047c68d Add site_description to docs for better SEO 2024-06-03 06:50:56 +02:00
Matthias
0115a7f296 pre-commit types-requests update 2024-06-03 06:26:44 +02:00
dependabot[bot]
5144925b82 Bump ccxt from 4.3.35 to 4.3.38
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.35 to 4.3.38.
- [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.3.35...4.3.38)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-03 03:44:23 +00:00
dependabot[bot]
a7e9808177 Bump ruff from 0.4.5 to 0.4.7
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.4.5 to 0.4.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/v0.4.5...v0.4.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-03 03:43:58 +00:00
dependabot[bot]
a2b746f2a5 Bump uvicorn from 0.29.0 to 0.30.1
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.29.0 to 0.30.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.29.0...0.30.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-03 03:43:48 +00:00
dependabot[bot]
d97b19db1d Bump requests from 2.32.2 to 2.32.3
Bumps [requests](https://github.com/psf/requests) from 2.32.2 to 2.32.3.
- [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.2...v2.32.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-03 03:43:43 +00:00
dependabot[bot]
23b5298f07 Bump mkdocs-material from 9.5.24 to 9.5.25 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.24 to 9.5.25
- [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.24...9.5.25)

---
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-06-03 03:43:32 +00:00
dependabot[bot]
4cdfd6a028 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.20240523 to 2.32.0.20240602
- [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>
2024-06-03 03:42:51 +00:00
dependabot[bot]
5ea7008b2b Bump docker/setup-qemu-action from 1 to 3
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 1 to 3.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v1...v3)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-03 03:32:51 +00:00
dependabot[bot]
7f70035c62 Bump docker/setup-buildx-action from 1 to 3
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 1 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v1...v3)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-03 03:32:43 +00:00
Matthias
d5361d84fa use np.where instead of apply 2024-06-02 17:09:23 +02:00
Simon Waiblinger
5f0a27d355 Merge branch 'freqtrade:develop' into develop 2024-06-02 15:38:56 +02:00
Matthias
8eda43f68d Pin numexpr - it's installed as floating dependency anyway 2024-06-02 14:19:21 +02:00
Matthias
a05450c547 Add bottleneck dependency
as per pandas recommendation

https://pandas.pydata.org/docs/getting_started/install.html#performance-dependencies-recommended
2024-06-02 14:17:55 +02:00
Matthias
5d62954602 Merge pull request #10235 from simwai/feature/setup-win
Add Windows Setup Script and Pester Unit Tests for Freqtrade
2024-06-02 14:05:50 +02:00
Matthias
e9fb645b98 Exit-1 if invoke-pester created error entries 2024-06-02 13:42:51 +02:00
Matthias
c324981a17 Simplify setup.tests, avoid error log 2024-06-02 13:42:00 +02:00
Matthias
49a6a18881 Fix setup.ps1 syntax error 2024-06-02 11:48:14 +02:00
Matthias
f6649314a8 use pwsh, not powershell shell 2024-06-02 09:44:38 +02:00
Matthias
e7559cc62c Update pester command 2024-06-02 09:26:15 +02:00
Matthias
7b6864b991 Pester should fail "automatically" ... 2024-06-02 08:53:38 +02:00
Matthias
a2d5b4b2fe include 3.12 in all methods 2024-06-01 20:19:33 +02:00
Matthias
d116952fe0 Don't use overly long lines 2024-06-01 20:19:01 +02:00
Matthias
86e50b1764 Don't take assumptions about the install location of git 2024-06-01 20:17:55 +02:00
Matthias
a306f5a245 Improve wording in setup script 2024-06-01 20:10:24 +02:00
Matthias
93b64e7db6 Update documentation wording 2024-06-01 20:04:57 +02:00
Matthias
79ffa66656 Merge branch 'develop' into ci/ccxt.pro 2024-06-01 17:32:13 +02:00
Matthias
69faabb3b4 freqai tests mostly assume backtest runmode 2024-06-01 11:52:20 +02:00
Matthias
6913aed027 Merge branch 'develop' into ci/ccxt.pro 2024-06-01 08:48:50 +02:00
Matthias
0e44cd91d8 StrEnum was only introduced in 3.11 . . . 2024-06-01 08:43:04 +02:00
Joe Schr
bfb29d3c14 orderflow: fix ask/bid & buy/sell mixup 2024-05-31 21:25:36 +02:00
Matthias
5a0e0263d8 use StrEnum for RunMode 2024-05-31 20:36:18 +02:00
Matthias
e6a562f74a Ensure pairlist tests use proper mode 2024-05-31 20:31:56 +02:00
Matthias
87eda5fc2a Properly mock ccxt_async init 2024-05-31 20:18:36 +02:00
Matthias
122896f9ab Improved "task done" message 2024-05-31 07:12:02 +02:00
Matthias
8b90643f3a Don't show "exchange closed by user" exceptions 2024-05-31 07:03:40 +02:00
Matthias
12852438a5 Call connection at intervals 2024-05-31 06:52:11 +02:00
Matthias
33e61b1308 Extract connection reset from exchange_ws 2024-05-31 06:48:38 +02:00
Matthias
7e736a34dd Reduce ccxt.pro verbosity 2024-05-31 06:40:14 +02:00
Matthias
f33c4db572 Apply ruff formatting to ws branch 2024-05-31 06:40:14 +02:00
Matthias
cabd36253e Reduce level of "reuse watch result" . . . 2024-05-31 06:40:14 +02:00
Matthias
212ac2073e Don't multiply klines_last_refresh
with 1000 - it's already in ms
2024-05-31 06:40:14 +02:00
Matthias
627154cb66 improve ws "removing" condition 2024-05-31 06:40:14 +02:00
Matthias
7ec8b28be3 Re-adjust ts handling to not use time.time() 2024-05-31 06:40:14 +02:00
Matthias
765fa06daa Deepcopy ccxt ws result 2024-05-31 06:40:14 +02:00
Matthias
d5d818be8b Remove unused import 2024-05-31 06:40:14 +02:00
Matthias
ed8b9018c5 Properly handle shutdown (canceled coroutines)
This will imrove shutdown behavior
2024-05-31 06:40:14 +02:00
Matthias
68c36ce07d Fix typo 2024-05-31 06:40:14 +02:00
Matthias
b5239f06ae Improve log formatting 2024-05-31 06:40:14 +02:00
Matthias
7bc4fdca27 remove pairs from _pairs_schedules when their coroutine stops 2024-05-31 06:40:14 +02:00
Matthias
93cdf1bb54 Simplify logging 2024-05-31 06:40:14 +02:00
Matthias
554d4134ff Add humanized date to debug log 2024-05-31 06:40:14 +02:00
Matthias
45c17f2448 Reduce excessive log again 2024-05-31 06:40:14 +02:00
Matthias
ce33b031f2 Show pair for task finished 2024-05-31 06:40:14 +02:00
Matthias
fc66a12c14 Improve "stopped" messages 2024-05-31 06:40:14 +02:00
Matthias
85725b5472 Improved exception message 2024-05-31 06:40:14 +02:00
Matthias
c482b7e40f Add log for "removal" tracking 2024-05-31 06:40:14 +02:00
Matthias
80c7d4eb5f Improve debug logging 2024-05-31 06:40:14 +02:00
Matthias
d3962a7c07 Remove websocket init for non-trade modes 2024-05-31 06:40:14 +02:00
Matthias
2ade5191e6 Ensure shutdown of async exchange, fix test 2024-05-31 06:40:14 +02:00
Matthias
d42e012ec3 ws - Improve cleanup behavior 2024-05-31 06:40:14 +02:00
Matthias
4e75e59476 Skip futures tests on exchnages not supporting futures ... 2024-05-31 06:40:14 +02:00
Matthias
9f2708247a Enable ws for bybit 2024-05-31 06:40:14 +02:00
Matthias
f324af938a Improve WS logic to assume a candle is complete if time rolled over 2024-05-31 06:40:14 +02:00
Matthias
b5dc54072e Ensure exchange objects are not undefined 2024-05-31 06:40:14 +02:00
Matthias
c61d9e0dec Reduce verbosity 2024-05-31 06:40:14 +02:00
Matthias
c0c775114e Slightly improved loggign 2024-05-31 06:40:14 +02:00
Matthias
0ec751826b Opt in binance to websocket support 2024-05-31 06:40:14 +02:00
Matthias
137ddb2ec3 Require opt-in for ws enablement to allow slow rollout 2024-05-31 06:40:14 +02:00
Matthias
e31d8313f2 Improve ccxt_ws test setup 2024-05-31 06:40:14 +02:00
Matthias
e3887a33b9 Add Helping comment to ws_compat_tests 2024-05-31 06:40:14 +02:00
Matthias
bd9ebe4a72 Improve ccxt.ws live test 2024-05-31 06:40:14 +02:00
Matthias
f9ce0bb9ab Improve exchange formatting 2024-05-31 06:40:14 +02:00
Matthias
35e2e58a5c Improve formatting 2024-05-31 06:40:14 +02:00
Matthias
a835177597 Initial swat at online WS test 2024-05-31 06:40:14 +02:00
Matthias
8375209a8e Add fixtures for exchange_ws 2024-05-31 06:40:14 +02:00
Matthias
55bd7db022 Don't forget to close WS session 2024-05-31 06:40:14 +02:00
Matthias
c18b6cdb74 Improve stop behavior 2024-05-31 06:40:14 +02:00
Matthias
4832c10973 Only import ccxt.async when necessary 2024-05-31 06:40:14 +02:00
Matthias
e0b4e16d19 Remove ob_test stuff 2024-05-31 06:40:14 +02:00
Matthias
67a6c11f6d No longer import ccxt.async_support 2024-05-31 06:40:14 +02:00
Matthias
55ed505f94 Update exchange_ws get_ohlcv logic 2024-05-31 06:40:14 +02:00
Matthias
f90574abee use OHLCVResponse in ws 2024-05-31 06:40:14 +02:00
Matthias
0b620817a2 Don't append fake candle 2024-05-31 06:40:14 +02:00
Matthias
fcaee33706 Improve log msg 2024-05-31 06:40:14 +02:00
Matthias
3d6cef3555 ccxt.pro - first attempt at test 2024-05-31 06:40:14 +02:00
Matthias
ec6c54367b Add exchange_ws test case 2024-05-31 06:40:14 +02:00
Matthias
f223319909 Improve typehint for ohlcv endpoint 2024-05-31 06:40:14 +02:00
Matthias
e8b4bcc65d use default argument 2024-05-31 06:40:14 +02:00
Matthias
dadc96306f Better define what interface is external 2024-05-31 06:40:14 +02:00
Matthias
8a00bf3188 Use proper typehint 2024-05-31 06:40:14 +02:00
Matthias
aef0324aa7 set markets for ws exchange on reload 2024-05-31 06:40:14 +02:00
Matthias
f4f8b910fe Improve exchange_ws terminology 2024-05-31 06:40:14 +02:00
Matthias
60cfda5d52 Add very basic exception handling 2024-05-31 06:40:14 +02:00
Matthias
f9524aebe9 Improve temporary log output for exchange_ws 2024-05-31 06:40:14 +02:00
Matthias
eda8a767ca Improve ws exchange 2024-05-31 06:40:14 +02:00
Matthias
18dabd519a ccxt.pro - move get_klines to ws_exchange 2024-05-31 06:40:13 +02:00
Matthias
e2b567165c remove double log 2024-05-31 06:40:13 +02:00
Matthias
972b932e5d Implement ws cleanup 2024-05-31 06:40:13 +02:00
Matthias
2fd5b4a6e1 Use websocket results 2024-05-31 06:40:13 +02:00
Matthias
1d12985b70 Update exchange_ws with cleanup function 2024-05-31 06:40:13 +02:00
Matthias
bd494ed67a Cleanup exchange changes 2024-05-31 06:40:13 +02:00
Matthias
3468edddf6 Add enable_ws config setting 2024-05-31 06:40:13 +02:00
Matthias
51890f80c4 Add parameter for ws enablin 2024-05-31 06:40:13 +02:00
Matthias
34ccada909 Tests with seperate thread 2024-05-31 06:40:13 +02:00
Matthias
e985c1890b Implement basic ccxt.pro to test 2024-05-31 06:40:13 +02:00
Matthias
ad7b78ec93 Update exchange init to use .pro if available 2024-05-31 06:40:13 +02:00
Matthias
c9b1071baa Use api_async for exchange_has 2024-05-31 06:40:13 +02:00
Matthias
feeccfedaa Update list-exchanges with watchOHLCV 2024-05-31 06:40:13 +02:00
simwai
2ff6e96255 Hopefully, fixed the failing GitHub action 2024-05-30 23:54:30 +02:00
simwai
39bae749b5 Changed freqUI installation behaviour to auto installing 2024-05-30 19:52:41 +02:00
simwai
9c7bc374bc Fixed the doc 2024-05-30 19:45:41 +02:00
Matthias
8d51a801ad Merge pull request #10271 from freqtrade/new_release
New release 2024.5
2024-05-30 18:01:26 +02:00
simwai
055293db7c Updated Windows installation doc 2024-05-30 17:06:34 +02:00
simwai
c9d67999ee Updated Windows installation doc, refined logging 2024-05-30 10:28:53 +02:00
Simon Waiblinger
2831318a95 Merge branch 'freqtrade:develop' into feature/setup-win 2024-05-30 10:10:16 +02:00
Simon Waiblinger
42d0f342b2 Merge branch 'freqtrade:develop' into develop 2024-05-30 10:10:03 +02:00
simwai
074434e83c Renamed freqtrade UI to freqUI 2024-05-30 10:08:41 +02:00
Matthias
a02ef7dce1 Bump dev version to 2024.6-dev 2024-05-30 06:40:15 +02:00
Matthias
8fc7056086 Bump version to 2024.5 2024-05-30 06:36:29 +02:00
Matthias
a1cfeb9a29 Merge branch 'stable' into new_release 2024-05-30 06:36:07 +02:00
Matthias
9b1792745e Merge pull request #10270 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-05-30 06:26:21 +02:00
xmatthias
d983572358 chore: update pre-commit hooks 2024-05-30 03:02:44 +00:00
Joe Schr
41def8b28b orderflow: removes unnecessary code 2024-05-29 20:09:34 +02:00
Joe Schr
5dcf75f648 exchange: replace OperationalException with logger.error message 2024-05-29 19:52:37 +02:00
Joe Schr
82e8901db4 orderflow: remove unused function orderflow_to_volume_profile 2024-05-29 19:49:33 +02:00
Joe Schr
07034ed7a6 orderflow: add comment with insight about imbalances 2024-05-29 19:49:33 +02:00
Joe Schr
24707ab7b9 orderflow: raise DependencyException instead of raising generic exception 2024-05-29 19:49:33 +02:00
Joe Schr
4629362a60 Fixing merge error 2024-05-29 19:46:27 +02:00
Joe Schr
bf3eeeb0fc Use .exception instead of .error for trace logging 2024-05-29 19:46:27 +02:00
Joe Schr
32f931ca25 Revert "refresh_latest_trades: remove "-cached" from trades pair files"
This reverts commit 839827c0d7.
2024-05-29 19:46:27 +02:00
Matthias
d69bb27105 Merge pull request #10268 from freqtrade/frog-rest-docs-1
Update rest-api.md
2024-05-29 17:54:56 +02:00
Robert Davey
7ca96beca7 Amend rate to amount 2024-05-29 15:30:41 +01:00
froggleston
8dc70d15db ruff formetting 2024-05-29 14:59:32 +01:00
Robert Davey
3da18c3443 Add force_enter optional args and tests 2024-05-29 14:45:49 +01:00
Robert Davey
b27e52b272 Update rest-api.md
Update docs to reflect force exit order_type and rate options
2024-05-29 13:35:31 +01:00
Matthias
7f210ab3b5 Merge pull request #10267 from freqtrade/dependabot/pip/develop/ccxt-4.3.35
Bump ccxt from 4.3.30 to 4.3.35
2024-05-29 07:01:26 +02:00
Matthias
efe6101081 Remove bitmart online test skip 2024-05-29 06:34:52 +02:00
dependabot[bot]
d9f48f2ca6 Bump ccxt from 4.3.30 to 4.3.35
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.30 to 4.3.35.
- [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.3.30...4.3.35)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-29 04:33:34 +00:00
Matthias
9d432baf3d Don't hard-pin ta-lib in armhf image 2024-05-28 17:47:39 +02:00
simwai
bad1d83cee Fixed some bugs, added unit tests 2024-05-28 13:10:56 +02:00
Matthias
a4bbf39bb2 Merge pull request #10265 from freqtrade/buildx_update
Update buildx CI setup to supported action combination
2024-05-28 09:36:09 +02:00
Matthias
4b4d2b551b Merge pull request #10264 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-05-28 07:40:54 +02:00
Matthias
0e253cb070 Update buildx CI setup to supported action combination 2024-05-28 07:20:22 +02:00
Matthias
89d8f27d22 Add fix for bitmart failing test 2024-05-28 07:14:25 +02:00
Matthias
6952bac91f fix: codespell skip's to also work correctly on pre-commit hooks 2024-05-28 07:01:53 +02:00
xmatthias
6f7c82c9ae chore: update pre-commit hooks 2024-05-28 04:39:48 +00:00
Matthias
72d33070d4 Fix a few codespell typos 2024-05-28 06:37:54 +02:00
Matthias
9705f40cb5 Exclude leverage tier cache from codespell 2024-05-28 06:37:44 +02:00
Matthias
5e0f64ef55 Pre-commit action should not run pre-commit
Regular CI will take care of this and point out potential problems
2024-05-28 06:36:13 +02:00
Matthias
ddc8999060 Merge pull request #10257 from freqtrade/dependabot/pip/develop/ta-lib-0.4.29
Bump ta-lib from 0.4.28 to 0.4.29
2024-05-27 19:35:56 +02:00
Matthias
0812fe7a9a Merge pull request #10251 from freqtrade/dependabot/pip/develop/types-30a7864252
Bump types-requests from 2.31.0.20240406 to 2.32.0.20240523 in the types group
2024-05-27 19:05:30 +02:00
Matthias
49f580ce24 Upgrade ta-lib wheels 2024-05-27 15:27:30 +02:00
Matthias
81250c1ba4 Merge pull request #10259 from freqtrade/dependabot/pip/develop/scipy-1.13.1
Bump scipy from 1.13.0 to 1.13.1
2024-05-27 10:10:57 +02:00
Matthias
d5ed64582a Merge pull request #10258 from freqtrade/dependabot/pip/develop/schedule-1.2.2
Bump schedule from 1.2.1 to 1.2.2
2024-05-27 09:11:29 +02:00
Matthias
f632823fa6 Merge pull request #10255 from freqtrade/dependabot/pip/develop/python-telegram-bot-21.2
Bump python-telegram-bot from 21.1.1 to 21.2
2024-05-27 08:04:53 +02:00
dependabot[bot]
20d7ccf86a Bump scipy from 1.13.0 to 1.13.1
Bumps [scipy](https://github.com/scipy/scipy) from 1.13.0 to 1.13.1.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.13.0...v1.13.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-27 05:34:25 +00:00
Matthias
d24899da3d Merge pull request #10254 from freqtrade/dependabot/pip/develop/ruff-0.4.5
Bump ruff from 0.4.4 to 0.4.5
2024-05-27 07:33:40 +02:00
Matthias
15ac68475f Merge pull request #10253 from freqtrade/dependabot/pip/develop/scikit-learn-1.5.0
Bump scikit-learn from 1.4.2 to 1.5.0
2024-05-27 07:33:03 +02:00
Matthias
2509cce29a Merge pull request #10252 from freqtrade/dependabot/pip/develop/mkdocs-eef9345e43
Bump mkdocs-material from 9.5.23 to 9.5.24 in the mkdocs group
2024-05-27 07:32:33 +02:00
Matthias
b12d5b4cb5 Update pre-commit types-requests 2024-05-27 06:27:13 +02:00
dependabot[bot]
ce4211d226 Bump schedule from 1.2.1 to 1.2.2
Bumps [schedule](https://github.com/dbader/schedule) from 1.2.1 to 1.2.2.
- [Changelog](https://github.com/dbader/schedule/blob/master/HISTORY.rst)
- [Commits](https://github.com/dbader/schedule/compare/1.2.1...1.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-27 03:46:49 +00:00
dependabot[bot]
a7adb67218 Bump ta-lib from 0.4.28 to 0.4.29
Bumps [ta-lib](https://github.com/ta-lib/ta-lib-python) from 0.4.28 to 0.4.29.
- [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.28...TA_Lib-0.4.29)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-27 03:46:33 +00:00
dependabot[bot]
b2f2048558 Bump python-telegram-bot from 21.1.1 to 21.2
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 21.1.1 to 21.2.
- [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.1.1...v21.2)

---
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-05-27 03:46:20 +00:00
dependabot[bot]
5c2a1dce7b Bump ruff from 0.4.4 to 0.4.5
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.4.4 to 0.4.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/v0.4.4...v0.4.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-27 03:46:14 +00:00
dependabot[bot]
1bfa40a2ce Bump scikit-learn from 1.4.2 to 1.5.0
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.4.2 to 1.5.0.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.4.2...1.5.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-05-27 03:46:04 +00:00
dependabot[bot]
2cc9fe604a Bump mkdocs-material from 9.5.23 to 9.5.24 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.23 to 9.5.24
- [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.23...9.5.24)

---
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-05-27 03:45:59 +00:00
dependabot[bot]
3b8aa4677a 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.31.0.20240406 to 2.32.0.20240523
- [Commits](https://github.com/python/typeshed/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-27 03:45:19 +00:00
Matthias
917f70892c Merge pull request #10249 from freqtrade/bingx
Add Support for Bingx
2024-05-26 19:36:51 +02:00
Matthias
83bb65132b Bump ccxt to the required version for bingx 2024-05-26 18:17:54 +02:00
Matthias
30ad4ca9a9 Add bingx to list of supported exchanges 2024-05-26 16:37:21 +02:00
Matthias
34d7d530a1 chore(tests): Filled orders should have an average. 2024-05-26 16:37:21 +02:00
Matthias
c6d132376a Add Binance filled order 2024-05-26 16:37:21 +02:00
Matthias
89e3fc1c64 Test bingx order parsing 2024-05-26 16:37:21 +02:00
Matthias
64c7f6b06a Improve bingx file formatting 2024-05-26 16:37:21 +02:00
Matthias
71cb2ded79 Add Bingx stoploss documentation 2024-05-26 16:37:21 +02:00
Matthias
7f990e7df6 Enable bingx stoploss 2024-05-26 16:37:21 +02:00
Simon Waiblinger
c12adea655 Merge branch 'freqtrade:develop' into develop 2024-05-26 15:59:29 +02:00
Simon Waiblinger
26aabafe04 Merge branch 'freqtrade:develop' into feature/setup-win 2024-05-26 15:59:21 +02:00
simwai
6174a49aa5 Implemented the changes to pass the review, implemented consistent variable naming, adjusted unit tests 2024-05-26 15:54:52 +02:00
Matthias
46e97e5806 fix htx: Reduce amount of data downloaded on higher timeframes
closes #10247
2024-05-26 15:49:48 +02:00
Matthias
32ff3ebb99 Improve handling for immediately canceled orders 2024-05-26 09:42:28 +02:00
Matthias
9d3073d930 Add test for new "fully cancel" logic 2024-05-26 08:36:08 +02:00
Matthias
edd92194b0 have handle_onexchange_order delete trades if no order filled. 2024-05-26 08:36:02 +02:00
Matthias
ec0f6cb246 Add Properties for canceled orders to trade_model 2024-05-26 08:35:57 +02:00
Matthias
dc92787f1d Fix gone-wrong hyperopt fix
closes #10192
2024-05-25 11:52:41 +02:00
Simon Waiblinger
2a82e00857 Merge branch 'freqtrade:develop' into develop 2024-05-24 20:47:41 +02:00
Simon Waiblinger
9c816045f1 Merge branch 'freqtrade:develop' into feature/setup-win 2024-05-24 20:47:21 +02:00
simwai
b9fd8d2ee7 Fixed log level of one log statement 2024-05-23 19:02:53 +02:00
simwai
e29fcb45ac Removed admin permissions, because it seems not necessary. Improved error messages. Increase speed of requirements installation by introducing new merging strategy. 2024-05-23 18:58:09 +02:00
simwai
670c5d0067 Added powershell unit tests to CI config 2024-05-23 18:16:37 +02:00
simwai
1352240ec7 Formatted setup.ps1 2024-05-23 12:08:10 +02:00
simwai
6d261b828e Applied fixed from last PR review 2024-05-23 12:07:40 +02:00
Matthias
2c740059d7 Merge pull request #10237 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-05-23 06:04:05 +02:00
xmatthias
d59422159a chore: update pre-commit hooks 2024-05-23 03:02:28 +00:00
Matthias
c3fa8a4c45 feat: Allow empty fiat_display_currency
(instead of completely deleting that key)
2024-05-22 20:30:35 +02:00
Matthias
23aef6e054 Bump requests to 2.32.2
2.32.0 was yanked.
2024-05-22 20:16:04 +02:00
simwai
d124716196 Added unit tests 2024-05-21 22:32:03 +02:00
simwai
12b5376cb6 Revert "Updated gitignore file"
This reverts commit 5110c14d35.
2024-05-21 08:04:09 +02:00
Matthias
ea27a1ec13 Merge pull request #10232 from freqtrade/dependabot/pip/requests-2.32.0
Bump requests from 2.31.0 to 2.32.0
2024-05-21 06:30:41 +02:00
dependabot[bot]
d52431c581 ---
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-20 21:58:49 +00:00
simwai
ccb1588048 Added setup.ps1 for installation/updates on Windows 2024-05-20 21:08:58 +02:00
Matthias
aecb86d3f9 Merge pull request #10229 from freqtrade/feat/coingecko_apikey
Support Coingecko api keys
2024-05-20 18:04:53 +02:00
Matthias
531843ebcb Improve message for fiat_display_currency
allow leaving empty for new-config
2024-05-20 17:02:00 +02:00
Matthias
1588a4253d Update tests for coinGecko updates 2024-05-20 15:29:22 +02:00
Matthias
468d0f8cf0 use FtCoinGeckoApi for marketCapPairlist, too 2024-05-20 15:22:13 +02:00
Matthias
2cd3089b3a Update fiat-convert test cases 2024-05-20 15:16:12 +02:00
Matthias
94e0a808b7 Add test, invert logic 2024-05-20 15:14:15 +02:00
Matthias
9e0ccb1cf4 Rename coingecko wrapper file 2024-05-20 15:11:43 +02:00
Matthias
8d1285bb21 Set session params instead of headers 2024-05-20 14:44:25 +02:00
Matthias
5fd76a79fe Add coingecko API documentation 2024-05-20 14:39:57 +02:00
Matthias
3729daf082 Add type check for coingecko settings 2024-05-20 14:34:18 +02:00
Matthias
1ff162cf17 Use coingecko api keys 2024-05-20 14:32:08 +02:00
Matthias
773940e05c Update mocks to FtCoinGeckoApi 2024-05-20 14:15:53 +02:00
Matthias
62166e23f6 Improve singleton pattern 2024-05-20 14:15:20 +02:00
Matthias
cb1600d7b0 Update fiat_convert to use FtCoinGeckoApi 2024-05-20 14:08:44 +02:00
Matthias
c1f780794a Add CoinGeckoApi Wrapper 2024-05-20 14:02:09 +02:00
Matthias
7a309d6927 Add explicit "fiat convert singleton" code 2024-05-20 13:58:15 +02:00
Matthias
95077f4752 Remove unused "mocker" fixtures in fiat_convert 2024-05-20 13:57:06 +02:00
Matthias
0c16a45999 Fix odd bug related to singleton usage 2024-05-20 13:56:28 +02:00
Simon Waiblinger
3bfae7c530 Merge branch 'freqtrade:develop' into develop 2024-05-20 11:10:58 +02:00
Matthias
4d2db33445 Add support for ipv6
closes #10222
2024-05-20 10:39:08 +02:00
Matthias
05765f3479 Merge pull request #10228 from freqtrade/dependabot/pip/develop/pyarrow-16.1.0
Bump pyarrow from 16.0.0 to 16.1.0
2024-05-20 10:32:38 +02:00
Matthias
f47272162c Update pyarrow wheels for 16.1.0 2024-05-20 10:12:08 +02:00
Matthias
1a86d81200 Initial config for Bingx stop orders 2024-05-20 09:53:52 +02:00
Matthias
1717733b0f Merge pull request #10221 from freqtrade/hyp/profit-drawdown
improve MaxDrawDownHyperOptLoss
2024-05-20 09:01:21 +02:00
Matthias
b0987b3c03 Merge pull request #10226 from freqtrade/dependabot/pip/develop/coveralls-4.0.1
Bump coveralls from 4.0.0 to 4.0.1
2024-05-20 07:39:07 +02:00
Matthias
bc7fa52fc0 Merge pull request #10227 from freqtrade/dependabot/pip/develop/ccxt-4.3.27
Bump ccxt from 4.3.24 to 4.3.27
2024-05-20 07:11:41 +02:00
dependabot[bot]
1ae134e94a Bump pyarrow from 16.0.0 to 16.1.0
Bumps [pyarrow](https://github.com/apache/arrow) from 16.0.0 to 16.1.0.
- [Commits](https://github.com/apache/arrow/compare/go/v16.0.0...go/v16.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-05-20 04:42:34 +00:00
dependabot[bot]
02a131821a Bump coveralls from 4.0.0 to 4.0.1
Bumps [coveralls](https://github.com/TheKevJames/coveralls-python) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/TheKevJames/coveralls-python/releases)
- [Changelog](https://github.com/TheKevJames/coveralls-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TheKevJames/coveralls-python/compare/4.0.0...4.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-20 04:42:21 +00:00
Matthias
71b3459d07 Merge pull request #10225 from freqtrade/dependabot/pip/develop/python-rapidjson-1.17
Bump python-rapidjson from 1.16 to 1.17
2024-05-20 06:41:46 +02:00
Matthias
4eb8da2126 Merge pull request #10223 from freqtrade/dependabot/pip/develop/pytest-581622832d
Bump the pytest group with 2 updates
2024-05-20 06:41:06 +02:00
Matthias
20a68ff923 Merge pull request #10224 from freqtrade/dependabot/pip/develop/mkdocs-157145164a
Bump mkdocs-material from 9.5.22 to 9.5.23 in the mkdocs group
2024-05-20 06:39:27 +02:00
dependabot[bot]
0d19176902 Bump ccxt from 4.3.24 to 4.3.27
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.24 to 4.3.27.
- [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.3.24...4.3.27)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-20 03:27:20 +00:00
dependabot[bot]
70f847b0a6 Bump python-rapidjson from 1.16 to 1.17
Bumps [python-rapidjson](https://github.com/python-rapidjson/python-rapidjson) from 1.16 to 1.17.
- [Changelog](https://github.com/python-rapidjson/python-rapidjson/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-rapidjson/python-rapidjson/compare/v1.16...v1.17)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-20 03:26:55 +00:00
dependabot[bot]
79e522162c Bump mkdocs-material from 9.5.22 to 9.5.23 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.22 to 9.5.23
- [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.22...9.5.23)

---
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-05-20 03:26:41 +00:00
dependabot[bot]
6174817bc0 Bump the pytest group with 2 updates
Bumps the pytest group with 2 updates: [pytest](https://github.com/pytest-dev/pytest) and [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio).


Updates `pytest` from 8.2.0 to 8.2.1
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.2.0...8.2.1)

Updates `pytest-asyncio` from 0.23.6 to 0.23.7
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.23.6...v0.23.7)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: pytest
- 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>
2024-05-20 03:26:28 +00:00
Matthias
e49fec5533 Simplify conftest setup (1000 fewer lines!)
default hyperopt results demo should not be a fixture

(it's only used in one place)
2024-05-19 18:15:21 +02:00
Matthias
cdf42604ce Update conftest hyperopt result 2024-05-19 18:04:31 +02:00
Matthias
c1d26d0330 Don't calculate the "legacy" version of drawdown anymore. 2024-05-19 17:57:21 +02:00
Matthias
3bf02c8a64 Simplify hyperopt drawdown logic
Reduces tons of fallback logic
2024-05-19 17:57:05 +02:00
Matthias
a9f13d29fd Fix test type errors 2024-05-19 17:48:36 +02:00
Simon Waiblinger
8e0d686c95 Merge branch 'freqtrade:develop' into develop 2024-05-19 13:53:38 +02:00
Matthias
480477d17a Improve profitdrawdownhyperopt balancing 2024-05-19 10:12:50 +02:00
Matthias
2a1ff7f9b3 Try improve profit-drawdown hyperopt 2024-05-19 09:45:32 +02:00
Matthias
acae6e75f4 Improve drawdown test case 2024-05-19 09:44:36 +02:00
Matthias
e35ad64d6c Move SQL Cheat-sheet into Advanced section
most options are better suited in other ways now.
2024-05-19 09:03:31 +02:00
Matthias
b2cce5ccdf update download data docs 2024-05-18 20:24:40 +02:00
Matthias
c6a5134815 Improve wording of log message 2024-05-18 20:20:58 +02:00
Matthias
c0d43f6d03 Improve line formatting 2024-05-18 20:16:25 +02:00
Matthias
2237410154 Upadate test for new download-data functionality 2024-05-18 20:15:02 +02:00
Matthias
aa0f90bb68 Don't convert trades to OHLCV unless explicitly specified 2024-05-18 20:14:52 +02:00
Matthias
e6d5aa1349 add --convert-trades argument to download-data 2024-05-18 20:14:08 +02:00
Matthias
0673f3ec6c Remove unused function 2024-05-18 16:46:17 +02:00
Matthias
d0eb55a0be Small type fixes 2024-05-18 16:45:49 +02:00
Matthias
9b031490cc Update all CI build stuff to 3.12 2024-05-18 15:23:22 +02:00
Matthias
9ebdbed215 Update CI workflows to use 3.12 2024-05-18 15:22:46 +02:00
Matthias
968f74edbd Update docs for full 3.12 support 2024-05-18 15:22:03 +02:00
Matthias
1e0782b626 Add support for python 3.12 in setup.sh
closes #10220
2024-05-18 15:05:14 +02:00
Matthias
8d93f27185 Add simple test for "fetch_my_trades" parsing quality 2024-05-17 18:27:07 +02:00
Joe Schr
1167917cf6 constants: add ranges for orderflow config properties 2024-05-17 16:14:54 +02:00
Joe Schr
8afcaeeed9 trades(): add lookahead warning to docstring 2024-05-17 15:58:29 +02:00
Joe Schr
ab7f8b3a0f imbalance_ratio: use ratio instead of percentage 2024-05-17 15:49:53 +02:00
Matthias
34b06cd9aa Bump ccxt min-version 2024-05-16 19:25:40 +02:00
Matthias
1e04140fff Partially revert bybit leverage-tiers workaround 2024-05-16 19:25:19 +02:00
Matthias
a92178dd60 load_cached_leverage_tiers should allow a remote cache period 2024-05-16 19:11:51 +02:00
Matthias
e17afb2554 Bump ccxt to 4.3.24 2024-05-16 19:08:47 +02:00
Matthias
1e2662b627 Greatly simplify leverage tier loading for binance 2024-05-16 18:20:14 +02:00
Matthias
ac9dccb6d5 Merge pull request #10215 from freqtrade/fix/catboostworkaround
Remove catboost stdout workaround
2024-05-16 17:33:01 +02:00
Joe Schr
0460ce45ff ruff format: exchange/trades_load 2024-05-16 14:28:30 +02:00
Joe Schr
f99e8f18bc refresh_latest_trades: removes TODO 2024-05-16 14:10:08 +02:00
Joe Schr
839827c0d7 refresh_latest_trades: remove "-cached" from trades pair files 2024-05-16 14:08:02 +02:00
Joe Schr
d33a14aab1 test_refresh_latest_trades: removes TODO 2024-05-16 13:58:08 +02:00
Matthias
c06ae41fed Remove catboost stdout workaround
https://github.com/catboost/catboost/issues/2195 is fixed, so this SHOULD work
2024-05-16 07:25:49 +02:00
Matthias
0b03e4c46c Move sql cheatsheet to advanced options
it shouldn't be highlighted, as for most operations, there's better alternatives now
2024-05-16 07:11:47 +02:00
Matthias
fe9258a208 Update site-URL mkdocs config in stable
Adds support for proper error pages
2024-05-16 07:07:50 +02:00
Matthias
19d6ce5446 Remove custom build process 2024-05-16 07:04:50 +02:00
Matthias
c955aa02df No extra styling ... 2024-05-16 06:59:12 +02:00
Matthias
2a8cfd2e92 Add extra rtd rules ... 2024-05-16 06:54:20 +02:00
Matthias
5fba44abe7 use dynamic build process for RTD 2024-05-16 06:54:19 +02:00
Matthias
9c8b6babdf Merge pull request #10214 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-05-16 06:43:30 +02:00
xmatthias
fb73e23e64 chore: update pre-commit hooks 2024-05-16 03:02:21 +00:00
Matthias
d318c20d82 Bump ccxt.pro to 4.3.23
closes #10211
2024-05-15 18:14:06 +02:00
Matthias
c91e1d80c2 Merge pull request #10212 from freqtrade/refactor/max_drawdown
Refactor calculate_max_drawdown
2024-05-15 18:04:21 +02:00
Joe Schr
a56faf503b ruff format: orderflow / public trades 2024-05-15 17:09:32 +02:00
Joe Schr
6c696e14f0 test_refresh_latest_trades: mock datadir with tmp_path 2024-05-15 16:19:36 +02:00
Joe Schr
f87cd5daca Enables use_public_trades only in test_refresh_latest_trades 2024-05-15 14:57:22 +02:00
Joe Schr
b9035da981 Merge remote-tracking branch 'upstream/develop' into feature/fetch-public-trades 2024-05-15 14:43:00 +02:00
Matthias
702ac14f27 Fix using wrong type 2024-05-15 07:04:36 +02:00
Matthias
a6b07ec96f Remove compatibility layer for calculate_max_drawdown 2024-05-15 06:54:17 +02:00
Matthias
c79b75ff9a Update remaining tests 2024-05-15 06:46:30 +02:00
Matthias
a6050cb771 Update tests for new interface 2024-05-14 19:57:46 +02:00
Matthias
bcb59265b5 Use default parameters for DrawdownResult 2024-05-14 19:50:35 +02:00
Matthias
94786454b7 Use calc_drawdown method throughout the bot 2024-05-14 19:37:41 +02:00
Matthias
0aa3ec2845 Have hyperopt-loss function use calc_max_drawdown 2024-05-14 19:28:48 +02:00
Matthias
c8eb22dcbd Add typed max_drawdown function 2024-05-14 19:28:33 +02:00
Matthias
3b0036368d Merge pull request #10210 from stash86/bt-metrics
modify MeasureTime log message to include time limit and 's' suffix
2024-05-14 18:23:50 +02:00
Joe Schr
ec9d1812c6 add test_refresh_latest_trades to test_exchange 2024-05-14 18:06:57 +02:00
Joe Schr
dd432ffbde cleanup ruff and isort errors 2024-05-14 17:28:07 +02:00
Stefano Ariestasia
75965cd50f modify MeasureTime log message to include time limit and 's' suffix 2024-05-14 16:20:20 +09:00
Matthias
b1fd79d720 Schedule devcontainer pre-built to Sunday morning 2024-05-14 06:37:10 +02:00
Matthias
3cd2b7c163 Merge pull request #10208 from freqtrade/ruff
Add ruff formatting
2024-05-14 06:25:06 +02:00
Matthias
c1fea31437 Merge pull request #10209 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-05-14 06:23:12 +02:00
xmatthias
b36428c2e3 chore: update pre-commit hooks 2024-05-14 03:03:37 +00:00
Matthias
9291698561 A few more formatting updates 2024-05-13 19:49:15 +02:00
Matthias
6a802f5624 Add vscode extensions recommendation file 2024-05-13 19:37:13 +02:00
Matthias
33b95e27de Update documentation to reflect ruff 2024-05-13 19:36:34 +02:00
Matthias
9ec46496f0 Merge pull request #10204 from freqtrade/dependabot/pip/develop/ccxt-4.3.21
Bump ccxt from 4.3.16 to 4.3.21
2024-05-13 07:29:15 +02:00
Matthias
e848c6494e Add ruff format check to github CI 2024-05-13 07:10:25 +02:00
Matthias
58edb0a54a Update misspellings that are being detected now 2024-05-13 07:10:25 +02:00
Matthias
18e03f398e Partially revert odd formatting decisions 2024-05-13 07:10:25 +02:00
Matthias
ccb395c6c5 Ruff rule (commented for now) 2024-05-13 07:10:25 +02:00
Matthias
5d4a930188 ruff format: Update setup 2024-05-13 07:10:25 +02:00
Matthias
b97ff77d65 Update a few missed ruff format updates 2024-05-13 07:10:25 +02:00
Matthias
9d6e4ae67d A few more minor fixes 2024-05-13 07:10:25 +02:00
Matthias
a9732c6195 Fix odd formatting by ruff format 2024-05-13 07:10:25 +02:00
Matthias
876a8f9e3e ruff format: remaining files 2024-05-13 07:10:25 +02:00
Matthias
fea1653e31 ruff format: freqtrade.data 2024-05-13 07:10:25 +02:00
Matthias
801ab4acc9 ruff format: optimize 2024-05-13 07:10:25 +02:00
Matthias
2c60985e2d ruff format: optimize analysis 2024-05-13 07:10:25 +02:00
Matthias
da7addcd98 ruff format: hyperopt 2024-05-13 07:10:25 +02:00
Matthias
f1ef537dfa ruff format: hyperopt-loss 2024-05-13 07:10:25 +02:00
Matthias
ab3dbb7fbc Allow flake E203 -
Incompatible with ruff ...
https://github.com/astral-sh/ruff/issues/8752
2024-05-13 07:10:25 +02:00
Matthias
d1db43dee0 ruff format: freqai 2024-05-13 07:10:25 +02:00
Matthias
e4e8c3967c ruff format: exchange class 2024-05-13 07:10:25 +02:00
Matthias
53eefb9442 ruff format: exchange classes 2024-05-13 07:10:25 +02:00
Matthias
7ea5e40919 ruff format: util 2024-05-13 07:10:25 +02:00
Matthias
5f64cc8e76 ruff format: rpc modules 2024-05-13 07:10:25 +02:00
Matthias
cebbe0121e ruff format: update persistence 2024-05-13 07:10:25 +02:00
Matthias
5783a44c86 ruff format: template directory 2024-05-13 07:10:25 +02:00
Matthias
439b8a0320 ruff format: freqtrade/strategies 2024-05-13 07:10:25 +02:00
Matthias
6bfe7aa72d ruff format: plugins/protections 2024-05-13 07:10:25 +02:00
Matthias
700b7acb6f ruff format: pairlist plugins 2024-05-13 07:10:25 +02:00
Matthias
c9d301e4f9 Ruff format: more random files 2024-05-13 07:10:25 +02:00
Matthias
73e182260e ruff format: more files 2024-05-13 07:10:25 +02:00
Matthias
f8f9ac38b2 ruff format: loggers 2024-05-13 07:10:25 +02:00
Matthias
9303ae29d3 ruff format: freqtrade/configuration 2024-05-13 07:10:25 +02:00
Matthias
8ffc48e4f0 ruff format: constants 2024-05-13 07:10:25 +02:00
Matthias
3c9be47236 ruff format: commands 2024-05-13 07:10:25 +02:00
Matthias
5eb4ad2208 Ruff format edge 2024-05-13 07:10:25 +02:00
Matthias
794e30fedb ruff format: update enums 2024-05-13 07:10:25 +02:00
Matthias
1a4bff7fb8 ruff format freqtrade/resolvers 2024-05-13 07:10:25 +02:00
Matthias
9121d3af65 ruff format: update scripts 2024-05-13 07:10:25 +02:00
Matthias
dc3a3d1cf9 ruff format: udpate build_helpers 2024-05-13 07:10:25 +02:00
Matthias
15f32be176 ruff format: update ft_client 2024-05-13 07:10:25 +02:00
Matthias
4f5bf632fc ruff format: remaining tests 2024-05-13 07:10:25 +02:00
Matthias
d761bd8cec ruff format: tests/freqtradebot 2024-05-13 07:10:25 +02:00
Matthias
644f120ab2 ruff format: tests/hyperopt 2024-05-13 07:10:25 +02:00
Matthias
02075b15e3 ruff format: update more tests 2024-05-13 07:10:24 +02:00
Matthias
40e161a5b9 ruff format: freqai tests 2024-05-13 07:10:24 +02:00
Matthias
ffd49e0e59 ruff format: tests/data 2024-05-13 07:10:24 +02:00
Matthias
d8a8b5c125 ruff format: Update more test files 2024-05-13 07:10:24 +02:00
Matthias
ca1fe06035 ruff format: tests/plugins 2024-05-13 07:10:24 +02:00
Matthias
5a94817721 ruff format: tests/exchange 2024-05-13 07:10:24 +02:00
Matthias
c8626d9412 ruff format: Update tests/exchange 2024-05-13 07:10:24 +02:00
Matthias
e4796fd85b ruff format: update testcommands 2024-05-13 07:10:24 +02:00
Matthias
adeb93dc9c ruff format: update strategy tests 2024-05-13 07:10:24 +02:00
Matthias
1cbd49fd4e ruff format: rpc tests 2024-05-13 07:10:24 +02:00
Matthias
8c7d80b78e ruff format: Update test strategies 2024-05-13 07:10:24 +02:00
Matthias
099b1fc8c4 ruff format: More updates to tests 2024-05-13 07:10:24 +02:00
Matthias
23427bec08 ruff format: Update tests/ base directory 2024-05-13 07:10:24 +02:00
Matthias
53947732a0 ruff format: Update conftest_trades files 2024-05-13 07:10:24 +02:00
Matthias
7090950db6 ruff format: Update a few test files 2024-05-13 07:10:24 +02:00
Matthias
baa15f6ed6 Setup known first party modules 2024-05-13 07:10:24 +02:00
Matthias
a8eabd0b2e Update remaining files with new import sorting 2024-05-13 07:10:24 +02:00
Matthias
7767ad9d6e Update imports in test directory 2024-05-13 07:10:24 +02:00
Matthias
38c69e9258 Update isort configuration 2024-05-13 07:10:24 +02:00
Matthias
c8ebaef936 Update isort config 2024-05-13 07:10:24 +02:00
Matthias
bc0f0b4845 Merge pull request #10206 from freqtrade/dependabot/pip/develop/pre-commit-3.7.1
Bump pre-commit from 3.7.0 to 3.7.1
2024-05-13 07:09:03 +02:00
dependabot[bot]
462dff67d7 Bump ccxt from 4.3.16 to 4.3.21
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.16 to 4.3.21.
- [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.3.16...4.3.21)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 04:25:02 +00:00
dependabot[bot]
0b64eca9df Bump pre-commit from 3.7.0 to 3.7.1
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.7.0 to 3.7.1.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.7.0...v3.7.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 04:24:33 +00:00
Matthias
acddcbe4a9 Merge pull request #10205 from freqtrade/dependabot/pip/develop/cryptography-42.0.7
Bump cryptography from 42.0.5 to 42.0.7
2024-05-13 06:24:15 +02:00
Matthias
993190eade Merge pull request #10203 from freqtrade/dependabot/pip/develop/ruff-0.4.4
Bump ruff from 0.4.3 to 0.4.4
2024-05-13 06:23:29 +02:00
Matthias
0f551a1df7 Merge pull request #10202 from freqtrade/dependabot/pip/develop/mkdocs-7fb61c50a2
Bump mkdocs-material from 9.5.21 to 9.5.22 in the mkdocs group
2024-05-13 06:23:17 +02:00
dependabot[bot]
feb398ecf1 Bump cryptography from 42.0.5 to 42.0.7
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.5 to 42.0.7.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/42.0.5...42.0.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 03:02:27 +00:00
dependabot[bot]
891b436b03 Bump ruff from 0.4.3 to 0.4.4
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.4.3 to 0.4.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/v0.4.3...v0.4.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-05-13 03:02:03 +00:00
dependabot[bot]
01b00ba375 Bump mkdocs-material from 9.5.21 to 9.5.22 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.21 to 9.5.22
- [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.21...9.5.22)

---
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-05-13 03:01:53 +00:00
Matthias
63c8eae4a5 Remove unused fixtures 2024-05-12 09:33:39 +02:00
Matthias
eb8ce5b304 Split too long strings in test 2024-05-12 09:32:51 +02:00
Matthias
f52c3677ca Move test comment out of the test data 2024-05-12 09:30:34 +02:00
Matthias
e4881580fd Slightly extend background jobs api 2024-05-12 09:12:53 +02:00
Matthias
0279cf5fed Improved API endpoint ordering 2024-05-12 09:04:03 +02:00
Matthias
1989973439 Merge pull request #10199 from freqtrade/fix/classifier-bug
fix: allow classifiers to work
2024-05-12 08:29:01 +02:00
robcaulk
2d069d6156 fix: allow classifiers to work 2024-05-11 16:21:15 +02:00
Matthias
42705374d0 Merge pull request #10198 from stash86/bt-metrics
remove duplicate stat from BT table
2024-05-11 08:32:25 +02:00
Stefano Ariestasia
4c2586b3aa remove duplicate stat from BT table 2024-05-11 10:24:55 +09:00
Matthias
15c56e55c1 Fix test directory pollution 2024-05-09 20:40:43 +02:00
Matthias
b8d6221f51 Merge pull request #10195 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-05-09 20:04:12 +02:00
Matthias
15bcba9c7e Skip load_leverage_tiers test from bybit 2024-05-09 19:49:52 +02:00
Matthias
e86a0736f3 Add workaround for bybit's changed markets endpoint
closes #10196
2024-05-09 19:42:20 +02:00
xmatthias
ce6445f6b5 chore: update pre-commit hooks 2024-05-09 03:02:41 +00:00
Joe Schr
10cbc76482 use timeframe_to_next_date and date to calculate candle_start/candle_end 2024-05-08 15:12:52 +02:00
Joe Schr
56b07386ae fix _now_is_time_to_refresh_trades so it checks for latest fetched trades 2024-05-08 15:12:42 +02:00
Matthias
f7e691548c Merge pull request #10189 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-05-07 06:21:12 +02:00
xmatthias
6d668d52fd chore: update pre-commit hooks 2024-05-07 03:04:53 +00:00
Matthias
9fd61b7677 Merge pull request #10185 from freqtrade/dependabot/pip/develop/sqlalchemy-2.0.30
Bump sqlalchemy from 2.0.29 to 2.0.30
2024-05-06 13:49:40 +02:00
Matthias
8343c50fe7 Merge pull request #10182 from freqtrade/dependabot/pip/develop/jinja2-3.1.4
Bump jinja2 from 3.1.3 to 3.1.4
2024-05-06 11:35:41 +02:00
Matthias
bab7f5584e Merge pull request #10177 from freqtrade/dependabot/pip/develop/coveralls-4.0.0
Bump coveralls from 3.3.1 to 4.0.0
2024-05-06 11:15:41 +02:00
Matthias
fa1c3b6f3b Merge pull request #10176 from freqtrade/dependabot/pip/develop/plotly-5.22.0
Bump plotly from 5.21.0 to 5.22.0
2024-05-06 10:32:41 +02:00
Matthias
bb3084d868 Merge pull request #10187 from freqtrade/dependabot/pip/develop/nbconvert-7.16.4
Bump nbconvert from 7.16.3 to 7.16.4
2024-05-06 10:09:00 +02:00
Matthias
f961eb62e2 Merge pull request #10186 from freqtrade/dependabot/pip/develop/tqdm-4.66.4
Bump tqdm from 4.66.3 to 4.66.4
2024-05-06 09:44:43 +02:00
Matthias
9bc3049af9 Bump SQLAlchemy pre-commit 2024-05-06 09:18:10 +02:00
dependabot[bot]
bd5bf255e6 Bump sqlalchemy from 2.0.29 to 2.0.30
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.29 to 2.0.30.
- [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>
2024-05-06 07:11:09 +00:00
Matthias
de3e53b17a Merge pull request #10184 from freqtrade/dependabot/pip/develop/ccxt-4.3.16
Bump ccxt from 4.3.11 to 4.3.16
2024-05-06 09:08:30 +02:00
Matthias
6e2f020ad2 Merge pull request #10183 from freqtrade/dependabot/pip/develop/fastapi-0.111.0
Bump fastapi from 0.110.2 to 0.111.0
2024-05-06 08:30:19 +02:00
Matthias
b9997b7024 Merge pull request #10181 from freqtrade/dependabot/pip/develop/filelock-3.14.0
Bump filelock from 3.13.4 to 3.14.0
2024-05-06 08:08:15 +02:00
Matthias
906b566eff Merge pull request #10180 from freqtrade/dependabot/pip/develop/jsonschema-4.22.0
Bump jsonschema from 4.21.1 to 4.22.0
2024-05-06 08:00:42 +02:00
Matthias
56b40c7294 Merge pull request #10179 from freqtrade/dependabot/pip/develop/orjson-3.10.3
Bump orjson from 3.10.1 to 3.10.3
2024-05-06 07:45:55 +02:00
dependabot[bot]
72e53eee5c Bump jinja2 from 3.1.3 to 3.1.4
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.3 to 3.1.4.
- [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.3...3.1.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 05:35:12 +00:00
Matthias
9248b24053 Merge pull request #10175 from freqtrade/dependabot/pip/develop/joblib-1.4.2
Bump joblib from 1.4.0 to 1.4.2
2024-05-06 07:34:30 +02:00
Matthias
c2592cf65c Merge pull request #10174 from freqtrade/dependabot/pip/develop/mkdocs-8d79d83046
Bump mkdocs-material from 9.5.19 to 9.5.21 in the mkdocs group
2024-05-06 07:34:04 +02:00
dependabot[bot]
d4755bd7c0 Bump coveralls from 3.3.1 to 4.0.0
Bumps [coveralls](https://github.com/TheKevJames/coveralls-python) from 3.3.1 to 4.0.0.
- [Release notes](https://github.com/TheKevJames/coveralls-python/releases)
- [Changelog](https://github.com/TheKevJames/coveralls-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TheKevJames/coveralls-python/compare/3.3.1...4.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 04:37:24 +00:00
Matthias
6a2022fc5b Merge pull request #10178 from freqtrade/dependabot/pip/develop/ruff-0.4.3
Bump ruff from 0.4.2 to 0.4.3
2024-05-06 06:35:48 +02:00
dependabot[bot]
aaa190e7d9 Bump nbconvert from 7.16.3 to 7.16.4
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.16.3 to 7.16.4.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Changelog](https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter/nbconvert/compare/v7.16.3...v7.16.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 03:08:56 +00:00
dependabot[bot]
beffebcbbe Bump tqdm from 4.66.3 to 4.66.4
Bumps [tqdm](https://github.com/tqdm/tqdm) from 4.66.3 to 4.66.4.
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](https://github.com/tqdm/tqdm/compare/v4.66.3...v4.66.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 03:08:52 +00:00
dependabot[bot]
a65a601b1e Bump ccxt from 4.3.11 to 4.3.16
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.11 to 4.3.16.
- [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.3.11...4.3.16)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 03:08:27 +00:00
dependabot[bot]
b81bf59997 Bump fastapi from 0.110.2 to 0.111.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.110.2 to 0.111.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.110.2...0.111.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 03:08:20 +00:00
dependabot[bot]
2e2949555f Bump filelock from 3.13.4 to 3.14.0
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.13.4 to 3.14.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.13.4...3.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 03:08:10 +00:00
dependabot[bot]
43c327148a Bump jsonschema from 4.21.1 to 4.22.0
Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.21.1 to 4.22.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.21.1...v4.22.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 03:08:05 +00:00
dependabot[bot]
a9a04ba3ba Bump orjson from 3.10.1 to 3.10.3
Bumps [orjson](https://github.com/ijl/orjson) from 3.10.1 to 3.10.3.
- [Release notes](https://github.com/ijl/orjson/releases)
- [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ijl/orjson/compare/3.10.1...3.10.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 03:07:58 +00:00
dependabot[bot]
96fbe160df Bump ruff from 0.4.2 to 0.4.3
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.4.2 to 0.4.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/v0.4.2...v0.4.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-05-06 03:07:52 +00:00
dependabot[bot]
955f5792c7 Bump plotly from 5.21.0 to 5.22.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.21.0 to 5.22.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.21.0...v5.22.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 03:07:39 +00:00
dependabot[bot]
a1c4be1e3b Bump joblib from 1.4.0 to 1.4.2
Bumps [joblib](https://github.com/joblib/joblib) from 1.4.0 to 1.4.2.
- [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.0...1.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 03:07:34 +00:00
dependabot[bot]
187397540e Bump mkdocs-material from 9.5.19 to 9.5.21 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.19 to 9.5.21
- [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.19...9.5.21)

---
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-05-06 03:07:28 +00:00
Matthias
39613c0785 no suspect function calls in function headers . . . 2024-05-05 19:55:21 +02:00
Matthias
3f9019a1ad Don't use coro directly 2024-05-05 19:55:02 +02:00
Matthias
c3516dbba6 Simplify trade_statistics function 2024-05-05 16:56:00 +02:00
Matthias
fa79c48c8f Exclude unfilled Trades from "all" /profit
These are not actual profits, as it's unclear if the order
will be filled or will be canceled.

Discovered as part of #10165
2024-05-05 16:48:42 +02:00
Matthias
28449f551a Don't show "0" when fiat_currency is empty 2024-05-05 16:48:42 +02:00
Matthias
566add7a8b Rename variable to show it's just a temporary variable 2024-05-05 16:12:22 +02:00
Matthias
7ba285fbbb Fix bad link 2024-05-05 09:45:25 +02:00
Matthias
936a1b73db Merge pull request #10169 from freqtrade/fix/issue_10166
Improve backtest behavior with adjust_trade_position
2024-05-05 09:40:29 +02:00
Matthias
a31be687d1 Merge pull request #10171 from freqtrade/robcaulk-patch-1
Bring back PCA doc
2024-05-04 18:03:43 +02:00
Robert Caulk
93e65a583f Update freqai-feature-engineering.md 2024-05-04 17:14:36 +02:00
Matthias
643bfa065c Add documentation for freqUI backtest mode 2024-05-04 17:11:46 +02:00
Matthias
8309d92cef Improve freqUI docs 2024-05-04 17:11:46 +02:00
Matthias
acb6dacf2f Add light and dark Screenshots of freqUI 2024-05-04 17:11:46 +02:00
Matthias
ccb1d59a22 Add main header about UI 2024-05-04 17:11:46 +02:00
Matthias
4e5a620364 Add a few screenshots of freqUI 2024-05-04 17:11:46 +02:00
Matthias
9f1ebf0c50 Extract section about CORS to it's own icnlude section 2024-05-04 17:11:46 +02:00
Matthias
8dd6b52be2 Make sure freqUI is visible in the menu 2024-05-04 17:11:46 +02:00
Matthias
74732537b8 Add explicit documentation page for freqUI 2024-05-04 17:11:46 +02:00
Matthias
866f059d6a Use FtPrecise to avoid rounding errors 2024-05-04 11:25:07 +02:00
Matthias
ab93fd3be4 Enhance trade to verify #10166 2024-05-04 11:21:25 +02:00
Matthias
ee7be1cd5a move "add_bt_trade" call for entries into enter_trade function 2024-05-04 09:14:56 +02:00
Matthias
c81c07c24a Add docstring for process_exit_order 2024-05-04 09:07:56 +02:00
Matthias
67636abb30 Fix #10166 with fewer side-effects 2024-05-04 09:01:05 +02:00
Matthias
e5b79eee5a Extract _process_exit_order to separate function 2024-05-04 09:00:46 +02:00
Matthias
62a3ed6f8d partial exit order should not close immediately
closes #10166
2024-05-04 08:41:24 +02:00
Matthias
19edee9123 Merge pull request #10167 from freqtrade/dependabot/pip/tqdm-4.66.3
Bump tqdm from 4.66.2 to 4.66.3
2024-05-04 08:02:31 +02:00
dependabot[bot]
dd42fba7dc Bump tqdm from 4.66.2 to 4.66.3
Bumps [tqdm](https://github.com/tqdm/tqdm) from 4.66.2 to 4.66.3.
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](https://github.com/tqdm/tqdm/compare/v4.66.2...v4.66.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-03 21:59:46 +00:00
Matthias
e2a9bc9c64 Merge pull request #10164 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-05-02 06:31:14 +02:00
xmatthias
569e8a74b0 chore: update pre-commit hooks 2024-05-02 03:02:33 +00:00
Matthias
c534d47c12 Merge pull request #10138 from freqtrade/backtest_max_fee
Backtest max fee
2024-04-30 15:33:42 +02:00
Matthias
2152a95451 Merge pull request #10163 from freqtrade/new_release
New release 2024.4
2024-04-30 14:01:30 +02:00
Matthias
7bb4b5003d Bump version to 2024.5-dev 2024-04-30 11:46:43 +02:00
Matthias
39eda1b1dc Bump version to 2024.4 2024-04-30 11:32:00 +02:00
Matthias
ad22716374 Merge branch 'stable' into new_release 2024-04-30 11:31:48 +02:00
Matthias
927d9b5d5b Merge pull request #10161 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-04-30 06:20:10 +02:00
xmatthias
cb06dd8933 chore: update pre-commit hooks 2024-04-30 03:03:40 +00:00
Matthias
33c0fb3a2c Merge pull request #10160 from froggleston/develop
Add new column selection to ft_rest_client pair_candles
2024-04-29 16:53:00 +02:00
froggleston
9bd5aff879 Add new column selection to ft_rest_client pair_candles 2024-04-29 14:50:48 +01:00
Matthias
bc5c27ce6e Merge pull request #10146 from freqtrade/dependabot/pip/develop/pytest-112dcd2f94
Bump the pytest group with 2 updates
2024-04-29 11:13:51 +02:00
Matthias
478cc84c8a Merge pull request #10157 from freqtrade/dependabot/github_actions/develop/docker/login-action-3
Bump docker/login-action from 2 to 3
2024-04-29 10:34:23 +02:00
dependabot[bot]
1805fcac30 Bump the pytest group with 2 updates
Bumps the pytest group with 2 updates: [pytest](https://github.com/pytest-dev/pytest) and [pytest-xdist](https://github.com/pytest-dev/pytest-xdist).


Updates `pytest` from 8.1.1 to 8.2.0
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.1.1...8.2.0)

Updates `pytest-xdist` from 3.5.0 to 3.6.1
- [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.5.0...v3.6.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-29 07:58:48 +00:00
Matthias
ced9448d7f Merge pull request #10154 from freqtrade/dependabot/pip/develop/ruff-0.4.2
Bump ruff from 0.4.1 to 0.4.2
2024-04-29 09:56:57 +02:00
Matthias
9e0d015b1f Merge pull request #10158 from freqtrade/dependabot/pip/develop/mkdocs-641c6ff211
Bump the mkdocs group with 2 updates
2024-04-29 09:25:48 +02:00
Matthias
d3c57ca721 Merge pull request #10156 from freqtrade/dependabot/github_actions/develop/devcontainers/ci-0.3
Bump devcontainers/ci from 0.2 to 0.3
2024-04-29 09:04:24 +02:00
dependabot[bot]
cccc4b5b85 Bump docker/login-action from 2 to 3
Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-29 06:41:03 +00:00
Matthias
54ed2f9fd2 Merge pull request #10155 from freqtrade/dependabot/github_actions/develop/actions/checkout-4
Bump actions/checkout from 1 to 4
2024-04-29 08:40:16 +02:00
Matthias
5d723e341d Merge pull request #10153 from freqtrade/dependabot/pip/develop/pydantic-2.7.1
Bump pydantic from 2.7.0 to 2.7.1
2024-04-29 08:39:47 +02:00
dependabot[bot]
81ae8ac830 Bump ruff from 0.4.1 to 0.4.2
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.4.1 to 0.4.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/v0.4.1...v0.4.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-04-29 05:52:52 +00:00
Matthias
763dc48606 Merge pull request #10151 from freqtrade/dependabot/pip/develop/mypy-1.10.0
Bump mypy from 1.9.0 to 1.10.0
2024-04-29 07:52:02 +02:00
dependabot[bot]
df183c9ccd Bump the mkdocs group with 2 updates
Bumps the mkdocs group with 2 updates: [mkdocs](https://github.com/mkdocs/mkdocs) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material).


Updates `mkdocs` from 1.5.3 to 1.6.0
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.5.3...1.6.0)

Updates `mkdocs-material` from 9.5.18 to 9.5.19
- [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.18...9.5.19)

---
updated-dependencies:
- dependency-name: mkdocs
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mkdocs
- 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-04-29 05:50:22 +00:00
Matthias
582032b2e4 Merge pull request #10149 from freqtrade/dependabot/pip/develop/pymdown-extensions-10.8.1
Bump pymdown-extensions from 10.8 to 10.8.1
2024-04-29 07:49:10 +02:00
Matthias
8c4fd4911a Merge pull request #10148 from freqtrade/dependabot/pip/develop/ccxt-4.3.11
Bump ccxt from 4.3.4 to 4.3.11
2024-04-29 07:25:01 +02:00
Matthias
05068fe463 Merge pull request #10147 from freqtrade/dependabot/pip/develop/stable-baselines3-2.3.2
Bump stable-baselines3 from 2.3.0 to 2.3.2
2024-04-29 07:24:43 +02:00
Matthias
6934088a59 Fix some non-working links 2024-04-29 07:12:19 +02:00
Matthias
70396fc346 Fix some non-working links 2024-04-29 06:53:09 +02:00
Matthias
a544fb1eb3 Update mkdocs as group 2024-04-29 06:32:45 +02:00
dependabot[bot]
6f1d993721 Bump devcontainers/ci from 0.2 to 0.3
Bumps [devcontainers/ci](https://github.com/devcontainers/ci) from 0.2 to 0.3.
- [Release notes](https://github.com/devcontainers/ci/releases)
- [Commits](https://github.com/devcontainers/ci/compare/v0.2...v0.3)

---
updated-dependencies:
- dependency-name: devcontainers/ci
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-29 03:43:12 +00:00
dependabot[bot]
18e3673a1b Bump actions/checkout from 1 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 1 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v1...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-29 03:43:09 +00:00
dependabot[bot]
e452a2389f Bump pydantic from 2.7.0 to 2.7.1
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.7.0 to 2.7.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.7.0...v2.7.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-29 03:29:50 +00:00
dependabot[bot]
7846361068 Bump mypy from 1.9.0 to 1.10.0
Bumps [mypy](https://github.com/python/mypy) from 1.9.0 to 1.10.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/1.9.0...v1.10.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-04-29 03:29:37 +00:00
dependabot[bot]
d6738da6ec Bump pymdown-extensions from 10.8 to 10.8.1
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.8 to 10.8.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.8...10.8.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>
2024-04-29 03:29:22 +00:00
dependabot[bot]
e5fadb180d Bump ccxt from 4.3.4 to 4.3.11
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.3.4 to 4.3.11.
- [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.3.4...4.3.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-29 03:29:16 +00:00
dependabot[bot]
31fb009998 Bump stable-baselines3 from 2.3.0 to 2.3.2
Bumps [stable-baselines3](https://github.com/DLR-RM/stable-baselines3) from 2.3.0 to 2.3.2.
- [Release notes](https://github.com/DLR-RM/stable-baselines3/releases)
- [Commits](https://github.com/DLR-RM/stable-baselines3/compare/v2.3.0...v2.3.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-29 03:29:00 +00:00
Matthias
43aee2147a Update backtest assumption wording
closes #10039
2024-04-28 20:42:14 +02:00
Matthias
6e443a42cd Merge pull request #10143 from freqtrade/feat/pairhistory_advanced
RPC: Advanced pairhistory endpoint
2024-04-28 20:07:24 +02:00
Matthias
1649aca411 Support empty array to return only the base columns 2024-04-28 18:22:37 +02:00
Matthias
71ef6f70e5 Improve test coverage of strategy test 2024-04-28 17:06:36 +02:00
Matthias
9d57e3930d Extend error testing to post call 2024-04-28 17:01:16 +02:00
Matthias
ab10379833 Add pair_history post endpoint, too 2024-04-28 16:14:09 +02:00
Matthias
ccd788e2ce Improve naming of the schema 2024-04-28 16:14:09 +02:00
Matthias
8c39740105 Test Post pair_candles endpoint 2024-04-28 16:14:09 +02:00
Matthias
eeaa9061e5 Adapt test for to also test post endpoint 2024-04-28 16:14:09 +02:00
Matthias
3e20770446 Slightly change returned column scheme 2024-04-28 16:14:09 +02:00
Matthias
54d467d2bf Add Post endpoint for to filter dataframe by columns 2024-04-28 16:14:09 +02:00
Matthias
cabdfabf03 Eliminate duplicate word in wallets docstring 2024-04-28 15:16:45 +02:00
Matthias
d0624570af Merge pull request #10142 from goodmost/develop
chore: remove repetitive words
2024-04-28 15:07:03 +02:00
goodmost
38b35ec528 chore: remove repetitive words
Signed-off-by: goodmost <zhaohaiyang@outlook.com>
2024-04-28 18:14:19 +08:00
Matthias
21b1f5aab8 Update wording 2024-04-28 09:31:28 +02:00
Matthias
997db6c706 Type-ignore
we can't type variables of the list-comprehension ...
2024-04-27 19:59:53 +02:00
Matthias
f259270e9c Update tests to properly mock fee 2024-04-27 19:52:48 +02:00
Matthias
3a2e3215b9 Ensure get_fee returns something in tests 2024-04-27 18:26:43 +02:00
Matthias
3f2f2a1dbd Use worst case of maker / taker fee for backtest 2024-04-27 18:26:23 +02:00
Matthias
935e8f49de Type-check fee from configuration ... 2024-04-27 15:36:26 +02:00
Matthias
37da714610 Don't set zsh as default shell 2024-04-27 15:21:42 +02:00
Matthias
bd608bedf0 Use devcontainer features for most setup work 2024-04-27 11:55:37 +00:00
Matthias
ad370cbbcd Add github action to pre-build containers 2024-04-27 09:37:25 +00:00
Matthias
6d46d17e30 Add pre-built devcontainer 2024-04-27 09:37:08 +00:00
Matthias
bc5ded4400 Improve devcontainer Dockerfile 2024-04-27 11:29:24 +02:00
Matthias
19284e1e91 Update vscode debug config for new mode 2024-04-27 10:12:44 +02:00
Matthias
e17258940a Add isort to devcontainer proposals 2024-04-27 07:13:05 +00:00
Matthias
52403ceacd add GHA extension to devcontainer 2024-04-27 07:13:05 +00:00
Matthias
3b41c7e7f3 Fix devcontainer config (use vscode submenu) 2024-04-27 07:13:05 +00:00
Matthias
73905b33ad Ensure consistent program naming
(`python -m freqtrade --version`)
2024-04-27 08:48:40 +02:00
Matthias
dd04c51c42 Use time() instead of creating a temporary time object 2024-04-26 20:28:59 +02:00
Matthias
9bc866e6b2 Loader should be passed as kwarg for clarity 2024-04-26 08:36:10 +02:00
Matthias
33454e2f23 Merge pull request #10135 from Pixee-Bot-Python/pixeebot/drip-2023-11-14-pixee-python/harden-pyyaml
Use SafeLoader in yaml.load() Calls
2024-04-26 08:35:01 +02:00
Pixee OSS Assistant
c37a0706d7 Merge branch 'freqtrade:develop' into pixeebot/drip-2023-11-14-pixee-python/harden-pyyaml 2024-04-25 17:48:04 -04:00
Matthias
8e5c574224 Don't handle case where base_currency is not set
(very old trades)
2024-04-25 19:56:27 +02:00
Matthias
a3e6abef8d Add test for "trade amount adjust" behavior 2024-04-25 13:44:01 +02:00
Matthias
adbf1b5e6f Adjust trade amount by 2% if trade recovery remains above the trade amount
closes #10002
2024-04-25 13:43:46 +02:00
Matthias
0a89efd002 Only cancel stoploss if really necessary
partial workaround for #10002
2024-04-25 11:43:24 +02:00
Matthias
35408966f4 Fix remaining user_data leaks 2024-04-25 11:02:34 +02:00
Matthias
ad12c98d10 Avoid having test-result influence from user_data/
this avoids potential deprecation warnings (or even errors)
 caused by strategies in user_data/strategies
2024-04-25 10:48:27 +02:00
Matthias
96bb4db68e Fix remaining coingecko spellings 2024-04-25 10:28:25 +02:00
Matthias
2d9be6c818 Fix some coingecko spellings 2024-04-25 10:27:58 +02:00
Matthias
3ca0be7543 Fix misspelled coingecko variable 2024-04-25 10:26:33 +02:00
Matthias
d6dcd8adca use explicit macos version
macos-latest changed to align to macos-14 - so it's no longer capable of running python 3.9
2024-04-25 08:18:21 +02:00
Matthias
5f1ab7508f Add idex subclass defining the applicable ohlcv limit 2024-04-25 08:18:21 +02:00
Matthias
2906f2f8e0 Merge pull request #10132 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-04-25 08:10:26 +02:00
xmatthias
652819309d chore: update pre-commit hooks 2024-04-25 03:02:27 +00:00
Pixee OSS Assistant
1901da688e Merge pull request #1 from Pixee-Bot-Python/pixeebot/drip-2023-11-14-pixee-python/harden-pyyaml
Use SafeLoader in `yaml.load()` Calls
2024-04-24 18:33:16 -04:00
Matthias
365b9c9cfe kwargs for re.sub count 2024-04-24 07:02:26 +02:00
Matthias
fa6c17c067 Remove mutable default-args from generate-candlestick 2024-04-24 07:00:17 +02:00
Matthias
86f3b649b9 Update security warning in docker section 2024-04-24 06:42:17 +02:00
Matthias
115cb4bf40 Don't use datetime.utcnow ... 2024-04-23 20:08:28 +02:00
Matthias
226eaf0d0a Filter deprecation warning - it's a dependency ... 2024-04-23 19:52:44 +02:00
Matthias
6113e47991 Merge pull request #10090 from CoolCu/develop
chore: remove repetitive words
2024-04-23 19:29:38 +02:00
Matthias
7b78912d71 Merge pull request #10105 from freqtrade/feat/humanize
Replace arrow with humanize
2024-04-23 09:46:35 +02:00
Matthias
81d80ff5c7 Merge pull request #10124 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-04-23 07:04:57 +02:00
xmatthias
914d630a22 chore: update pre-commit hooks 2024-04-23 03:03:47 +00:00
Matthias
9441eb9b53 Merge pull request #10115 from freqtrade/dependabot/pip/develop/pymdown-extensions-10.8
Bump pymdown-extensions from 10.7.1 to 10.8
2024-04-22 16:41:15 +02:00
Matthias
b7f65a77c7 Merge pull request #10111 from freqtrade/dependabot/pip/develop/ruff-0.4.1
Bump ruff from 0.3.7 to 0.4.1
2024-04-22 15:56:30 +02:00
Matthias
a750e4c107 Merge pull request #10108 from freqtrade/dependabot/pip/develop/pyarrow-16.0.0
Bump pyarrow from 15.0.2 to 16.0.0
2024-04-22 15:46:20 +02:00
Matthias
fd5a4d71a0 Merge pull request #10114 from freqtrade/dependabot/pip/develop/aiohttp-3.9.5
Bump aiohttp from 3.9.4 to 3.9.5
2024-04-22 12:07:38 +02:00
Matthias
73c9b04dcd Update pyarrow prebuilt wheels 2024-04-22 11:04:10 +02:00
Matthias
aaee5a2abf Merge pull request #10118 from freqtrade/dependabot/pip/develop/plotly-5.21.0
Bump plotly from 5.20.0 to 5.21.0
2024-04-22 10:22:51 +02:00
Matthias
6f2ec3ced2 Merge pull request #10117 from freqtrade/dependabot/pip/develop/fastapi-0.110.2
Bump fastapi from 0.110.1 to 0.110.2
2024-04-22 09:50:14 +02:00
dependabot[bot]
7e78a103cf Bump aiohttp from 3.9.4 to 3.9.5
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.9.4 to 3.9.5.
- [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.9.4...v3.9.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-22 07:11:35 +00:00
Matthias
aaab37cf52 Merge pull request #10116 from freqtrade/dependabot/pip/develop/python-telegram-bot-21.1.1
Bump python-telegram-bot from 21.1 to 21.1.1
2024-04-22 09:10:43 +02:00
Matthias
1167c078cf Merge pull request #10113 from freqtrade/dependabot/pip/develop/catboost-1.2.5
Bump catboost from 1.2.3 to 1.2.5
2024-04-22 08:46:34 +02:00
Matthias
1223862ede Merge pull request #10112 from freqtrade/dependabot/pip/develop/orjson-3.10.1
Bump orjson from 3.10.0 to 3.10.1
2024-04-22 08:01:17 +02:00
dependabot[bot]
3842b4697f Bump pymdown-extensions from 10.7.1 to 10.8
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.7.1 to 10.8.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.7.1...10.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-22 05:18:03 +00:00
Matthias
a095aa2374 Merge pull request #10110 from freqtrade/dependabot/pip/develop/ccxt-4.3.4
Bump ccxt from 4.2.97 to 4.3.4
2024-04-22 07:18:01 +02:00
Matthias
d4c37fb59d Merge pull request #10107 from freqtrade/dependabot/pip/develop/mkdocs-material-9.5.18
Bump mkdocs-material from 9.5.17 to 9.5.18
2024-04-22 07:17:14 +02:00
Matthias
472d5d8703 Improve format_ms_time logic by reusing dt_from_ts 2024-04-22 07:08:49 +02:00
dependabot[bot]
6f3bb7f2f8 Bump plotly from 5.20.0 to 5.21.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.20.0 to 5.21.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.20.0...v5.21.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-22 03:17:14 +00:00
dependabot[bot]
ac5cd778ca Bump fastapi from 0.110.1 to 0.110.2
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.110.1 to 0.110.2.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.110.1...0.110.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-22 03:17:10 +00:00
dependabot[bot]
938259ffde Bump python-telegram-bot from 21.1 to 21.1.1
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 21.1 to 21.1.1.
- [Release notes](https://github.com/python-telegram-bot/python-telegram-bot/releases)
- [Changelog](https://github.com/python-telegram-bot/python-telegram-bot/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-telegram-bot/python-telegram-bot/compare/v21.1...v21.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-22 03:17:03 +00:00
dependabot[bot]
8f26793b7a Bump catboost from 1.2.3 to 1.2.5
Bumps [catboost](https://github.com/catboost/catboost) from 1.2.3 to 1.2.5.
- [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.3...v1.2.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-22 03:16:44 +00:00
dependabot[bot]
8888fd190a Bump orjson from 3.10.0 to 3.10.1
Bumps [orjson](https://github.com/ijl/orjson) from 3.10.0 to 3.10.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.10.0...3.10.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-22 03:16:39 +00:00
dependabot[bot]
4fee0eae6a Bump ruff from 0.3.7 to 0.4.1
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.3.7 to 0.4.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/v0.3.7...v0.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-22 03:16:32 +00:00
dependabot[bot]
8932aab20b Bump ccxt from 4.2.97 to 4.3.4
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.2.97 to 4.3.4.
- [Release notes](https://github.com/ccxt/ccxt/releases)
- [Changelog](https://github.com/ccxt/ccxt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ccxt/ccxt/compare/4.2.97...4.3.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-22 03:16:21 +00:00
dependabot[bot]
12ae190fef Bump pyarrow from 15.0.2 to 16.0.0
Bumps [pyarrow](https://github.com/apache/arrow) from 15.0.2 to 16.0.0.
- [Commits](https://github.com/apache/arrow/compare/go/v15.0.2...go/v16.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-04-22 03:16:02 +00:00
dependabot[bot]
98807b100c Bump mkdocs-material from 9.5.17 to 9.5.18
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.17 to 9.5.18.
- [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.17...9.5.18)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-22 03:15:57 +00:00
Matthias
03835350c0 Remove arrow as dependency
it seems to be no longer maintained
2024-04-21 15:52:02 +02:00
Matthias
54c2febe1c Remove dt_humanize 2024-04-21 15:51:08 +02:00
Matthias
d48cff3b9a Update to dt_humanize_delta for all usages 2024-04-21 15:49:50 +02:00
Matthias
cc534c5000 switch from arrow to humanize 2024-04-21 15:29:16 +02:00
Matthias
4320c7a3cc Add humanize as dependency 2024-04-21 14:04:50 +02:00
Matthias
e52caa2a36 Merge pull request #10103 from freqtrade/robcaulk-patch-1
docs: update freqai-parameter-table.md
2024-04-21 13:43:09 +02:00
Robert Caulk
6b15ebd4c2 docs: update freqai-parameter-table.md
Correct parameter table for label_period_candles
2024-04-21 13:14:18 +02:00
Matthias
c802d39f67 Merge pull request #10097 from freqtrade/feat/measure_time
Add "measure time" to warn users about strategies taking excessive time
2024-04-21 11:28:54 +02:00
Matthias
608088bc03 Simplify trade_statistics 2024-04-20 10:30:04 +02:00
Matthias
b9b044585d Add but comment a few ruff rules 2024-04-20 10:25:23 +02:00
Matthias
d4ce774532 Add requests timeout to deploy commands 2024-04-20 10:25:05 +02:00
Matthias
a375e686de Add some ruff configurations 2024-04-20 10:13:14 +02:00
Matthias
08f2eebd6e Extract httpBasic from function header 2024-04-20 10:12:06 +02:00
Matthias
927c54094a Improve some bugbear findings 2024-04-20 10:10:36 +02:00
Matthias
6dfc34d227 Fix test due to missing assert 2024-04-20 09:46:40 +02:00
Matthias
6a1c33e168 Don't use setattr 2024-04-20 09:46:32 +02:00
Matthias
e0aefb9b54 Fix faulty asserts in freqai tests 2024-04-20 09:39:43 +02:00
Matthias
df712c0168 Fix some faulty assertions 2024-04-20 09:39:11 +02:00
Matthias
53c548f7b6 Fix test to actually work 2024-04-20 09:35:05 +02:00
Matthias
1abd8fb8fc Fix wallets test 2024-04-20 09:30:55 +02:00
Matthias
7c3feeddc4 Fix faulty assert statements 2024-04-20 09:30:20 +02:00
Matthias
0c99ff7f66 Fix more default arg usages 2024-04-20 09:26:50 +02:00
Matthias
a078088ea3 Fix some more default argument usage in exchange classes 2024-04-20 09:24:51 +02:00
Matthias
31f6030c67 Reduce some mutable default argument usage 2024-04-20 09:22:28 +02:00
Matthias
8004829696 Further reduce problematic default args 2024-04-20 09:15:11 +02:00
Matthias
448b74840e Don't use mutable default arguments to functions 2024-04-20 09:09:42 +02:00
Matthias
9b1def604f Fix mutable arg in freqtradebot 2024-04-20 09:08:04 +02:00
Matthias
3d4250ca99 Fix type error 2024-04-20 09:04:23 +02:00
Matthias
6a1ca75a69 Add codespell to pre-commit hooks 2024-04-19 18:12:24 +02:00
Matthias
22c61458a4 Fix codespell in ci.yml 2024-04-19 18:12:10 +02:00
Matthias
f2cfb127ae Merge pull request #10099 from cclauss/codespell
Fix typos discovered by codespell
2024-04-19 07:37:29 +02:00
Matthias
be1e1453da Further mutable-default fix to template-renderer 2024-04-19 07:27:10 +02:00
Matthias
87d50243e2 Update tests 2024-04-19 07:25:41 +02:00
Matthias
a451b94387 Remove mutable default from template-rendere 2024-04-19 07:24:11 +02:00
Matthias
a41b38e94f Add configuration for codespell 2024-04-19 07:02:39 +02:00
Matthias
40aa0800de Additional fix to eliminate some word-ignores 2024-04-19 07:02:31 +02:00
Matthias
862d4c8857 Revert relationship to "selectin" 2024-04-19 06:36:32 +02:00
Matthias
37feede6a5 Fix some codespell introduced syntax errors 2024-04-19 06:32:59 +02:00
Christian Clauss
99b4767bf4 Fix typos discovered by codespell 2024-04-18 22:51:25 +02:00
Matthias
0a7ed55ade Reduce duplicate warning 2024-04-18 21:01:48 +02:00
Matthias
298f9b225d Fix broken sample of @informative decorator
closes #7095
2024-04-18 19:08:17 +02:00
Matthias
bc85352098 Split timeframe_to_secs from loggingmixin init 2024-04-18 06:55:05 +02:00
Matthias
6a570bd82e Fix excessive whitespace 2024-04-18 06:41:14 +02:00
Matthias
a15793a6ba Merge pull request #10096 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-04-18 06:31:46 +02:00
xmatthias
77682808ea chore: update pre-commit hooks 2024-04-18 03:02:26 +00:00
Matthias
82482ec159 Fix / improve types 2024-04-17 20:58:58 +02:00
Matthias
5eeb96fa96 Add test for measure_time 2024-04-17 20:57:18 +02:00
Matthias
c6a50b3c06 Use MeasureTime to warn if a strategy takes too long
using 25% of the candle as reference time for now.
2024-04-17 20:53:49 +02:00
Matthias
3c8366e609 Add measure_time module to measure time taken by functions 2024-04-17 20:52:37 +02:00
Matthias
2297b3ed55 Split timeframe_to_secs from loggingmixin init 2024-04-17 20:13:02 +02:00
Matthias
f8a2569739 Merge pull request #10093 from freqtrade/feat/btmarketchange
Market change visualization
2024-04-17 18:55:16 +02:00
Matthias
393d4b8eb3 Add test for market_change endpoint 2024-04-17 07:22:36 +02:00
Matthias
3dd7c1e492 Add test for market_change writing 2024-04-17 07:01:32 +02:00
Matthias
0b1f702ef9 Improve testcase 2024-04-17 06:46:44 +02:00
Matthias
54d9dbaea8 Formatting 2024-04-16 20:54:12 +02:00
Matthias
ba27c41c93 Support market-change for "online" backtesting 2024-04-16 20:53:46 +02:00
Matthias
d7920c4b64 Simplify backtest storage 2024-04-16 20:53:06 +02:00
Matthias
3338fdece3 Relative profit should be relative cumulative profit 2024-04-16 20:34:07 +02:00
Matthias
523054e8ea Add endpoint to fetch market_change data 2024-04-16 19:27:55 +02:00
Matthias
c8a5904959 Store and load backtest-market-change data 2024-04-16 19:27:41 +02:00
Matthias
7f386874ad Trim dataframes accordingly ... 2024-04-16 18:17:20 +02:00
Matthias
18a4d6972d generate_filename should be private 2024-04-16 18:02:00 +02:00
Matthias
a0a22f62e0 Update typehint for backtesting 2024-04-16 18:00:24 +02:00
CoolCu
7fc1d38ffb chore: remove repetitive words
Signed-off-by: CoolCu <coolcui@qq.com>
2024-04-16 15:55:36 +08:00
Matthias
3f8078618e add Combine dataframes with pct_change 2024-04-16 07:19:26 +02:00
Matthias
e7b907a175 Enhance / simplify bt-storage logic
Removes repeated filename generation pattern
2024-04-16 06:57:58 +02:00
Matthias
7796884119 Merge pull request #10087 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-04-16 06:50:28 +02:00
xmatthias
264669df1d chore: update pre-commit hooks 2024-04-16 03:04:21 +00:00
Matthias
eddca5a694 Merge pull request #10083 from freqtrade/dependabot/pip/develop/pandas-2.2.2
Bump pandas from 2.2.1 to 2.2.2
2024-04-15 18:09:23 +02:00
Matthias
ca758c28b7 Merge pull request #10084 from freqtrade/dependabot/pip/develop/scikit-learn-1.4.2
Bump scikit-learn from 1.4.1.post1 to 1.4.2
2024-04-15 16:08:30 +02:00
dependabot[bot]
39ef97a2ac Bump pandas from 2.2.1 to 2.2.2
Bumps [pandas](https://github.com/pandas-dev/pandas) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Commits](https://github.com/pandas-dev/pandas/compare/v2.2.1...v2.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 07:38:58 +00:00
Matthias
8f78329a23 Merge pull request #10086 from freqtrade/dependabot/pip/develop/aiohttp-3.9.4
Bump aiohttp from 3.9.3 to 3.9.4
2024-04-15 09:37:11 +02:00
dependabot[bot]
409a6236d4 Bump scikit-learn from 1.4.1.post1 to 1.4.2
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.4.1.post1 to 1.4.2.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.4.1.post1...1.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 06:58:06 +00:00
Matthias
42fb9ad281 Merge pull request #10085 from freqtrade/dependabot/pip/develop/joblib-1.4.0
Bump joblib from 1.3.2 to 1.4.0
2024-04-15 08:57:09 +02:00
Matthias
4946e5978e Merge pull request #10082 from freqtrade/dependabot/pip/develop/pydantic-2.7.0
Bump pydantic from 2.6.4 to 2.7.0
2024-04-15 08:15:48 +02:00
Matthias
f0606bfe90 Merge pull request #10081 from freqtrade/dependabot/pip/develop/ruff-0.3.7
Bump ruff from 0.3.5 to 0.3.7
2024-04-15 08:14:53 +02:00
dependabot[bot]
4df847fa0f Bump aiohttp from 3.9.3 to 3.9.4
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.9.3 to 3.9.4.
- [Release notes](https://github.com/aio-libs/aiohttp/releases)
- [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst)
- [Commits](https://github.com/aio-libs/aiohttp/compare/v3.9.3...v3.9.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 05:34:49 +00:00
Matthias
c0a684ee7c Merge pull request #10080 from freqtrade/dependabot/pip/develop/ccxt-4.2.97
Bump ccxt from 4.2.91 to 4.2.97
2024-04-15 07:34:15 +02:00
Matthias
c74faec6d0 Merge pull request #10079 from freqtrade/dependabot/pip/develop/filelock-3.13.4
Bump filelock from 3.13.3 to 3.13.4
2024-04-15 07:33:44 +02:00
Matthias
a266c0832b Merge pull request #10078 from freqtrade/dependabot/pip/develop/python-telegram-bot-21.1
Bump python-telegram-bot from 21.0.1 to 21.1
2024-04-15 07:33:38 +02:00
Matthias
e0d0b17583 Merge pull request #10077 from freqtrade/fix/ensure-high-price-included
Ensure we include `high_price` in the historic predictions
2024-04-15 06:42:28 +02:00
dependabot[bot]
abfed990d9 Bump joblib from 1.3.2 to 1.4.0
Bumps [joblib](https://github.com/joblib/joblib) from 1.3.2 to 1.4.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.3.2...1.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 03:48:28 +00:00
dependabot[bot]
183c82903f Bump pydantic from 2.6.4 to 2.7.0
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.6.4 to 2.7.0.
- [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.6.4...v2.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 03:48:04 +00:00
dependabot[bot]
3225c051a2 Bump ruff from 0.3.5 to 0.3.7
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.3.5 to 0.3.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/v0.3.5...v0.3.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 03:47:59 +00:00
dependabot[bot]
a4f2ea810d Bump ccxt from 4.2.91 to 4.2.97
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.2.91 to 4.2.97.
- [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.2.91...4.2.97)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 03:47:47 +00:00
dependabot[bot]
caf50c0bd0 Bump filelock from 3.13.3 to 3.13.4
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.13.3 to 3.13.4.
- [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.13.3...3.13.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 03:47:32 +00:00
dependabot[bot]
76814250e4 Bump python-telegram-bot from 21.0.1 to 21.1
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 21.0.1 to 21.1.
- [Release notes](https://github.com/python-telegram-bot/python-telegram-bot/releases)
- [Changelog](https://github.com/python-telegram-bot/python-telegram-bot/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-telegram-bot/python-telegram-bot/compare/v21.0.1...v21.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>
2024-04-15 03:47:27 +00:00
robcaulk
7a401415e5 fix: for some reason we werent including high_price 2024-04-14 14:19:12 +02:00
Matthias
65654a4a44 Update ccxt exception handlers
OperationFailed is the new NetworkError

closes #10071
2024-04-13 11:12:10 +02:00
Matthias
0c7e89aede Update tests for OperationFailed error 2024-04-13 11:11:09 +02:00
Matthias
094bbb3a50 Remove pointless docstring comment 2024-04-11 21:02:54 +02:00
Matthias
df2432bc18 Re-align adjust_trade_position bt with live. 2024-04-11 20:57:03 +02:00
Matthias
e09abfdc75 Split enter and exit rows to use different values 2024-04-11 20:54:16 +02:00
Matthias
eaec5065a1 Define liquidation price only once in adjustment test 2024-04-11 20:53:58 +02:00
Matthias
6fa38e4d69 Merge pull request #10064 from freqtrade/dependabot/docker/python-3.12.3-slim-bookworm
Bump python from 3.12.2-slim-bookworm to 3.12.3-slim-bookworm
2024-04-11 06:28:48 +02:00
Matthias
00b80a8b0d Merge pull request #10063 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-04-11 06:28:33 +02:00
dependabot[bot]
9e55690ab3 Bump python from 3.12.2-slim-bookworm to 3.12.3-slim-bookworm
Bumps python from 3.12.2-slim-bookworm to 3.12.3-slim-bookworm.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-11 03:10:33 +00:00
xmatthias
78535bc7e8 chore: update pre-commit hooks 2024-04-11 03:02:25 +00:00
Matthias
24ba337a56 Merge pull request #10050 from freqtrade/fix/pandas-future-warnings
FreqAI pandas futures warnings
2024-04-10 19:26:06 +02:00
Matthias
e5f3d04437 Add some imports
closes #10053
2024-04-09 19:26:52 +02:00
robcaulk
081e50ec48 fix: ensure full hist-preds is kept 2024-04-09 17:17:11 +02:00
Matthias
859dd6b7ec Merge pull request #10061 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-04-09 06:31:00 +02:00
xmatthias
c924399e96 chore: update pre-commit hooks 2024-04-09 03:03:47 +00:00
Matthias
3073e8810f Slightly update developer docs 2024-04-08 19:22:09 +02:00
Matthias
c1726c4401 Merge pull request #10055 from freqtrade/dependabot/pip/develop/types-7a5049024f
Bump types-requests from 2.31.0.20240311 to 2.31.0.20240406 in the types group
2024-04-08 08:15:41 +02:00
Matthias
b1f540964c Merge pull request #10059 from freqtrade/dependabot/pip/develop/scipy-1.13.0
Bump scipy from 1.12.0 to 1.13.0
2024-04-08 07:57:57 +02:00
Matthias
6d9a1a9b98 Merge pull request #10058 from freqtrade/dependabot/pip/develop/ccxt-4.2.91
Bump ccxt from 4.2.87 to 4.2.91
2024-04-08 07:34:49 +02:00
Matthias
811c66e8dc Merge pull request #10057 from freqtrade/dependabot/pip/develop/fastapi-0.110.1
Bump fastapi from 0.110.0 to 0.110.1
2024-04-08 06:50:27 +02:00
Matthias
4c3df2f73d Merge pull request #10056 from freqtrade/dependabot/pip/develop/mkdocs-material-9.5.17
Bump mkdocs-material from 9.5.16 to 9.5.17
2024-04-08 06:50:10 +02:00
Matthias
d5bb2e4eb1 types-requests pre-commit update 2024-04-08 06:33:13 +02:00
dependabot[bot]
16045870a8 Bump scipy from 1.12.0 to 1.13.0
Bumps [scipy](https://github.com/scipy/scipy) from 1.12.0 to 1.13.0.
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.12.0...v1.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-08 03:42:05 +00:00
dependabot[bot]
f741f95c36 Bump ccxt from 4.2.87 to 4.2.91
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.2.87 to 4.2.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/4.2.87...4.2.91)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-08 03:41:44 +00:00
dependabot[bot]
564d77f239 Bump fastapi from 0.110.0 to 0.110.1
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.110.0 to 0.110.1.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.110.0...0.110.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-08 03:41:36 +00:00
dependabot[bot]
095150f6b2 Bump mkdocs-material from 9.5.16 to 9.5.17
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.16 to 9.5.17.
- [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.16...9.5.17)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-08 03:41:32 +00:00
dependabot[bot]
c935bd057e 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.31.0.20240311 to 2.31.0.20240406
- [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>
2024-04-08 03:40:49 +00:00
robcaulk
d8aaaa34d3 fix: pandas. 2024-04-07 14:20:52 +02:00
robcaulk
08d0e76187 fix: pandas. 2024-04-07 13:50:59 +02:00
Robert Caulk
24717b1609 Merge pull request #10029 from freqtrade/dependabot/pip/develop/stable-baselines3-2.3.0
Bump stable-baselines3 from 2.2.1 to 2.3.0
2024-04-07 00:22:06 +02:00
robcaulk
6a8abd5d45 fix: astype handling 2024-04-06 23:43:29 +02:00
robcaulk
b19b4d001c fix: ensure future pandas will be happy 2024-04-06 23:34:07 +02:00
Matthias
8c12a1fd8b Rename TRADING_MODES constant to avoid naming collision 2024-04-06 16:47:55 +02:00
Matthias
a584854d46 Update docs to align with actual workings. 2024-04-05 20:15:43 +02:00
Matthias
69d098e265 Dataprovider test 2024-04-05 07:16:37 +02:00
Matthias
f32154f380 Exchange assert is only relevant for live mode. 2024-04-05 07:09:54 +02:00
Matthias
28e4711ee9 Enhance test for dataprovider 2024-04-05 07:07:12 +02:00
Matthias
e0f1b1e48e Attempt to reduce diff as much as possible 2024-04-05 06:53:48 +02:00
Matthias
34d3389b23 Avoid some unnecessary linebreaks 2024-04-05 06:45:12 +02:00
Matthias
843c68b072 Don't use noqa. 2024-04-05 06:41:46 +02:00
Matthias
59dee5f6da Update config test exception due to changes on dev 2024-04-05 06:41:40 +02:00
Matthias
63ac183e91 Merge branch 'develop' into feature/fetch-public-trades 2024-04-05 06:35:35 +02:00
Matthias
1df21d3cdf Pin pandas version to < 3.0 2024-04-04 19:28:41 +02:00
Matthias
e6da491cac Merge pull request #10044 from freqtrade/update/binance-leverage-tiers
Update Binance Leverage Tiers
2024-04-04 06:29:59 +02:00
xmatthias
d4872eae16 chore: update pre-commit hooks 2024-04-04 03:02:18 +00:00
Matthias
569a87ca28 Fix site Url string to have a working 404 page 2024-04-03 18:10:49 +02:00
Matthias
4affb1eade Fix wrong site url string 2024-04-03 18:05:48 +02:00
Matthias
15cbca51e1 Test with dev url 2024-04-03 07:03:24 +02:00
Matthias
2980503493 use "/en/stable" as mkdocs site url 2024-04-03 07:01:23 +02:00
Matthias
8d7a21e9d3 Merge pull request #10037 from freqtrade/update/pre-commit-hooks
Update pre-commit hooks
2024-04-02 07:16:04 +02:00
Matthias
1cbd3f52f1 Run online-tests against bingx 2024-04-02 07:15:14 +02:00
Matthias
b284abf9e0 Add bingx exchange subclass 2024-04-02 07:14:52 +02:00
Matthias
55c0cfefec Add missing typehint to telegram class 2024-04-02 07:14:30 +02:00
Matthias
9de4731585 Bump ruff to 0.3.5 2024-04-02 06:42:53 +02:00
xmatthias
2ef854741c chore: update pre-commit hooks 2024-04-02 03:03:32 +00:00
Matthias
7bb6c5e7bd Merge pull request #10032 from freqtrade/dependabot/pip/develop/ast-comments-1.2.2
Bump ast-comments from 1.2.1 to 1.2.2
2024-04-01 08:50:41 +02:00
Matthias
fb5f81e3ca Merge pull request #10028 from freqtrade/dependabot/pip/develop/mkdocs-material-9.5.16
Bump mkdocs-material from 9.5.15 to 9.5.16
2024-04-01 07:54:53 +02:00
Matthias
4cbbc97b2b Merge pull request #10027 from freqtrade/dependabot/pip/develop/filelock-3.13.3
Bump filelock from 3.13.1 to 3.13.3
2024-04-01 07:42:19 +02:00
Matthias
eccedaf6c9 Merge pull request #10033 from freqtrade/dependabot/pip/develop/torch-2.2.2
Bump torch from 2.2.1 to 2.2.2
2024-04-01 07:42:12 +02:00
Matthias
500dfec5c0 Merge pull request #10030 from freqtrade/dependabot/pip/develop/ccxt-4.2.87
Bump ccxt from 4.2.82 to 4.2.87
2024-04-01 07:40:46 +02:00
Matthias
d5b4740023 Merge pull request #10031 from freqtrade/dependabot/pip/develop/orjson-3.10.0
Bump orjson from 3.9.15 to 3.10.0
2024-04-01 07:40:26 +02:00
dependabot[bot]
62a15580ce Bump torch from 2.2.1 to 2.2.2
Bumps [torch](https://github.com/pytorch/pytorch) from 2.2.1 to 2.2.2.
- [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.1...v2.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 03:14:47 +00:00
dependabot[bot]
41db2aec71 Bump ast-comments from 1.2.1 to 1.2.2
Bumps [ast-comments](https://github.com/t3rn0/ast-comments) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/t3rn0/ast-comments/releases)
- [Commits](https://github.com/t3rn0/ast-comments/compare/1.2.1...1.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 03:14:38 +00:00
dependabot[bot]
04a25e0f39 Bump orjson from 3.9.15 to 3.10.0
Bumps [orjson](https://github.com/ijl/orjson) from 3.9.15 to 3.10.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.9.15...3.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 03:14:35 +00:00
dependabot[bot]
1d8ebc7ec1 Bump ccxt from 4.2.82 to 4.2.87
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.2.82 to 4.2.87.
- [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.2.82...4.2.87)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 03:14:27 +00:00
dependabot[bot]
66a05ee672 Bump stable-baselines3 from 2.2.1 to 2.3.0
Bumps [stable-baselines3](https://github.com/DLR-RM/stable-baselines3) from 2.2.1 to 2.3.0.
- [Release notes](https://github.com/DLR-RM/stable-baselines3/releases)
- [Commits](https://github.com/DLR-RM/stable-baselines3/compare/v2.2.1...v2.3.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-04-01 03:14:19 +00:00
dependabot[bot]
b076ec6c8e Bump mkdocs-material from 9.5.15 to 9.5.16
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.15 to 9.5.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.5.15...9.5.16)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 03:14:12 +00:00
dependabot[bot]
b277372da4 Bump filelock from 3.13.1 to 3.13.3
Bumps [filelock](https://github.com/tox-dev/py-filelock) from 3.13.1 to 3.13.3.
- [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.13.1...3.13.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 03:14:07 +00:00
Matthias
7b6e72ab57 Update download-artifact to pattern. 2024-03-31 17:35:13 +02:00
Matthias
fcfd25d50b Merge pull request #10023 from freqtrade/feat/lock_api
Add lock post endpoint
2024-03-31 14:05:05 +02:00
Matthias
d6aa7f1b8b Merge pull request #10022 from freqtrade/align-exitreasons
Align exitreasons, remove duplicated code
2024-03-31 14:04:16 +02:00
Matthias
d112a8c0ed Bump version to 2024.4-dev 2024-03-31 09:58:35 +02:00
Matthias
dcb9d5d611 Ft Rest client - fix typing 2024-03-31 09:37:52 +02:00
Matthias
b1c83ce189 Exclude build dir from mypy 2024-03-31 09:35:17 +02:00
Matthias
8fae64f373 Update typehints 2024-03-30 18:31:09 +01:00
Matthias
747266fe42 Remove unused imports 2024-03-30 18:14:51 +01:00
Matthias
ad06f93501 Add locks_add to rest api client 2024-03-30 14:37:34 +01:00
Matthias
f4074d2960 Add tests for lock endpoints 2024-03-30 14:30:00 +01:00
Matthias
05f8bb357f Add Lock post endpoint
(allows manual locking through API)

closes #10018
2024-03-30 14:29:58 +01:00
Matthias
7b5e444333 Improve code stability 2024-03-30 13:36:19 +01:00
Matthias
0906f050e5 Fix remaining tests 2024-03-30 13:28:13 +01:00
Matthias
1551f92832 Fix a few tests 2024-03-30 13:20:53 +01:00
Matthias
be26e31235 Remove obsolete code, improve resilience 2024-03-30 13:20:43 +01:00
Matthias
36f1111d92 Remove custom handling for exit reason stats.
It's not different from regular tag outputs, really
2024-03-30 13:11:59 +01:00
Joe Schr
53702bfdfe fix: make until non-optional 2024-03-28 15:35:19 +01:00
Joe Schr
d226e7054c fix: remove unused stop_on_from_id 2024-03-28 15:26:28 +01:00
Matthias
f663b53ac9 Add basic config validation 2024-03-17 19:34:03 +01:00
Matthias
1d5f2b64a2 Add simple verification that orderflow is configured correctly 2024-03-17 19:31:29 +01:00
Matthias
7e387f96ab Fix comments in config sample 2024-03-16 19:03:56 +01:00
Matthias
b5307f8281 Fix bug caused by any typing 2024-03-16 17:19:01 +01:00
Matthias
21bca95b6a Group things logically in exchange class 2024-03-16 17:05:18 +01:00
Matthias
86fe765180 Improved naming on max_trades 2024-03-16 17:01:27 +01:00
Matthias
9020c3290c Fix imports after dev merge 2024-03-16 16:45:48 +01:00
Matthias
88e25df78c Merge branch 'develop' into feature/fetch-public-trades 2024-03-16 16:34:57 +01:00
Matthias
0f3d538f6c Avoid duplicate pandas imports 2024-03-16 16:26:17 +01:00
Matthias
bce5dc4a49 Simplify formatting 2024-03-16 16:23:20 +01:00
Joe Schr
c12e203054 Merge remote-tracking branch 'upstream/develop' into feature/fetch-public-trades 2024-03-11 12:29:00 +01:00
Joe Schr
6827e17d17 raise error if populate_dataframe_with_trades fails 2024-03-11 11:34:59 +01:00
Joe Schr
174c830b2a formatting changes 2024-03-11 11:34:45 +01:00
Joe Schr
1f6046df97 work through open TODOs 2024-03-11 11:34:03 +01:00
Joe Schr
6c1d70df89 Merge remote-tracking branch 'upstream/develop' into feature/fetch-public-trades 2024-03-05 17:29:24 +01:00
Matthias
baf2cf6967 Fix import error in one test case 2024-03-01 06:55:52 +01:00
TheJoeSchr
091d8275f5 Merge branch 'develop' into feature/fetch-public-trades 2024-02-27 11:27:18 +01:00
dependabot[bot]
9c0c578b03 Bump fastapi from 0.109.2 to 0.110.0
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.109.2 to 0.110.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.109.2...0.110.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:54:19 +01:00
dependabot[bot]
2b6a38bff6 Bump cryptography from 42.0.4 to 42.0.5
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.4 to 42.0.5.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/42.0.4...42.0.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:54:19 +01:00
Matthias
c66d7bc43b Add warning about excessive use of position_adjustment 2024-02-26 13:54:19 +01:00
dependabot[bot]
36fede76dc Bump nbconvert from 7.16.0 to 7.16.1
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.16.0 to 7.16.1.
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Changelog](https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter/nbconvert/compare/v7.16.0...v7.16.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:54:19 +01:00
dependabot[bot]
4b6eab2637 Bump pydantic from 2.6.1 to 2.6.2
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.6.1 to 2.6.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.6.1...v2.6.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-02-26 13:54:19 +01:00
dependabot[bot]
8944615c0f Bump orjson from 3.9.14 to 3.9.15
Bumps [orjson](https://github.com/ijl/orjson) from 3.9.14 to 3.9.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.9.14...3.9.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:54:19 +01:00
dependabot[bot]
27e0054603 Bump mkdocs-material from 9.5.9 to 9.5.11
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.9 to 9.5.11.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.9...9.5.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:54:19 +01:00
dependabot[bot]
cb00cd71b1 Bump the pytest group with 1 update
Bumps the pytest group with 1 update: [pytest](https://github.com/pytest-dev/pytest).


Updates `pytest` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.0.1...8.0.2)

---
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-02-26 13:54:19 +01:00
Matthias
1620c1edda Bump Docker Python version from 3.11.7 to 3.11.8 2024-02-26 13:54:19 +01:00
Matthias
74f01c4374 Clearer wallets variable/parameter wording 2024-02-26 13:54:19 +01:00
Matthias
0649fe3551 Update comment around funding fees 2024-02-26 13:54:19 +01:00
Matthias
b8117759d6 Enhance funding-fee call test to account for different timezones 2024-02-26 13:54:19 +01:00
Matthias
21eecb2170 Ensure pytz is updated regularily by pinning it 2024-02-26 13:54:19 +01:00
Matthias
f3f4a659e8 Improve some type safety 2024-02-26 13:54:19 +01:00
Matthias
7d9ecb7bea Add check to verify that "since" is properly respected. 2024-02-26 13:54:19 +01:00
Matthias
cfa8fd825d Remove pointless comment 2024-02-26 13:54:19 +01:00
Matthias
f16d1a707e chore: Remove wrong typehint 2024-02-26 13:54:19 +01:00
Matthias
983aefeab5 Remove duplicate pairlistmanager init 2024-02-26 13:54:19 +01:00
Matthias
426e7c48e4 Update typehint for candle_cache 2024-02-26 13:54:19 +01:00
Matthias
7db2367de9 Improve ohlcv pair cache with since_ms
avoids some rare bugs in more complex configurations.
2024-02-26 13:54:19 +01:00
Matthias
0b9e7be8f0 Fix range-stability filter downloading too little data 2024-02-26 13:54:19 +01:00
Matthias
392d5ae09a Use set to reduce iterations 2024-02-26 13:54:19 +01:00
dependabot[bot]
b9f361b33c Bump cryptography from 42.0.3 to 42.0.4
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.3 to 42.0.4.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/42.0.3...42.0.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:54:19 +01:00
Matthias
eb175eeeb7 Add type-hint to exchange_has dict 2024-02-26 13:54:19 +01:00
Matthias
acb34c5821 Bump ccxt to 4.2.47 2024-02-26 13:54:19 +01:00
Matthias
fc343984fc Fix some tests due to new method 2024-02-26 13:54:19 +01:00
Matthias
b18733831e Update "exchange_has" validation with new fallbacks 2024-02-26 13:54:19 +01:00
Matthias
35be790f59 Add test for fetch_order_emulated 2024-02-26 13:54:19 +01:00
Matthias
322a3a3bbd Add fetch_order_emulated to support exchanges without proper fetch_order method 2024-02-26 13:54:19 +01:00
dependabot[bot]
871fa255fc Bump tensorboard from 2.15.2 to 2.16.2
Bumps [tensorboard](https://github.com/tensorflow/tensorboard) from 2.15.2 to 2.16.2.
- [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.15.2...2.16.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:54:19 +01:00
xmatthias
0eb16023b1 chore: update pre-commit hooks 2024-02-26 13:54:19 +01:00
Matthias
80e9e200e3 Fix / improve styling in test class 2024-02-26 13:54:19 +01:00
Matthias
2de303e2b5 bump types-requests pre-commit 2024-02-26 13:54:19 +01:00
dependabot[bot]
45bf3c8d43 Bump the types group with 1 update
Bumps the types group with 1 update: [types-requests](https://github.com/python/typeshed).


Updates `types-requests` from 2.31.0.20240125 to 2.31.0.20240218
- [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>
2024-02-26 13:54:19 +01:00
dependabot[bot]
fca9147433 Bump ruff from 0.2.1 to 0.2.2
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.2.1 to 0.2.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/v0.2.1...v0.2.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-02-26 13:54:19 +01:00
Matthias
c38c3c7191 Update sqlalchemy in pre-commit 2024-02-26 13:54:19 +01:00
dependabot[bot]
96efaca830 Bump sqlalchemy from 2.0.26 to 2.0.27
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.26 to 2.0.27.
- [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>
2024-02-26 13:54:19 +01:00
dependabot[bot]
82791bbb0f Bump pre-commit from 3.6.1 to 3.6.2
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.6.1 to 3.6.2.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.6.1...v3.6.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:54:19 +01:00
dependabot[bot]
77e0dfd469 Bump scikit-learn from 1.4.0 to 1.4.1.post1
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.4.0 to 1.4.1.post1.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.4.0...1.4.1.post1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:54:19 +01:00
dependabot[bot]
e3a128f3c6 Bump orjson from 3.9.13 to 3.9.14
Bumps [orjson](https://github.com/ijl/orjson) from 3.9.13 to 3.9.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.9.13...3.9.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:54:19 +01:00
Matthias
bb6c31c55a Improve formatting in drawdown calc 2024-02-26 13:54:19 +01:00
Matthias
b6c19252c9 Further increase test coverate of max_drawdown 2024-02-26 13:54:19 +01:00
dependabot[bot]
1b00f4ad45 Bump plotly from 5.18.0 to 5.19.0
Bumps [plotly](https://github.com/plotly/plotly.py) from 5.18.0 to 5.19.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.18.0...v5.19.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:54:19 +01:00
dependabot[bot]
9aa01c0201 Bump cryptography from 42.0.2 to 42.0.3
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.2 to 42.0.3.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/42.0.2...42.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:54:19 +01:00
dependabot[bot]
e65199d5fc Bump urllib3 from 2.2.0 to 2.2.1
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.2.0 to 2.2.1.
- [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.0...2.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:54:19 +01:00
dependabot[bot]
d5543302ea Bump the pytest group with 1 update
Bumps the pytest group with 1 update: [pytest](https://github.com/pytest-dev/pytest).


Updates `pytest` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.0.0...8.0.1)

---
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-02-26 13:54:19 +01:00
Matthias
9792e447e8 Fix bybit spot live tests 2024-02-26 13:54:19 +01:00
Matthias
b67f2ddb4e Update telegram help with new wording 2024-02-26 13:54:19 +01:00
Matthias
165003e17f Fail if unified account is detected. 2024-02-26 13:54:19 +01:00
Matthias
24735945fd Add log message for Bybit accout type 2024-02-26 13:54:19 +01:00
Matthias
0f4bffca9c Remove unused import 2024-02-26 13:54:19 +01:00
Matthias
440a843d06 Use "ohlcv_with_cache" for further pairlists 2024-02-26 13:54:19 +01:00
Matthias
6a68ced6ec Add explicit test for ohlcv_with_cache 2024-02-26 13:54:19 +01:00
Matthias
671426540e Refactor ohlcv caching to exchange class 2024-02-26 13:54:16 +01:00
Matthias
a19dafe8fa Update pairlist cache behavior in VolumePairList 2024-02-26 13:53:10 +01:00
Matthias
a0dc21e17c Enable caching for "filter only" Volumepairlist 2024-02-26 13:53:10 +01:00
Matthias
099996ced5 Add additional test case for VolumePairlist in range mode 2024-02-26 13:53:10 +01:00
Matthias
6da684258e enhance volumpairlist range test 2024-02-26 13:53:10 +01:00
Matthias
4c07d2fb86 Improve validate_exchange
returns now both required and optional dependencies
2024-02-26 13:53:10 +01:00
William Wong
0a04cacc96 docs: Update sql_cheatsheet.md 2024-02-26 13:53:10 +01:00
Matthias
25ee332dc8 Don't tick on ttl cache 2024-02-26 13:53:10 +01:00
Matthias
103af46e70 Use Markdown V1 - update tests 2024-02-26 13:53:10 +01:00
CaffeinatedTech
51d799828b Change enter_tag, exit_reason, mix_tag performance messages from HTML to Markdown to fix some string encoding issues. 2024-02-26 13:53:10 +01:00
CaffeinatedTech
c99184af21 Added escaping to enter and exit tags on telegram performance messages. 2024-02-26 13:53:10 +01:00
Matthias
ec1b676ab4 Fix edge-case when calculating cagr
edge-case with leveraged trades - yielding a negative final balance.
closes #9820
2024-02-26 13:53:10 +01:00
Matthias
aa1d54993f Double newlines between functions ... 2024-02-26 13:53:10 +01:00
Matthias
ff5364ae5b Fix duplicate parentheses 2024-02-26 13:53:10 +01:00
Matthias
90c0b554aa Adjust tests for new fields 2024-02-26 13:53:10 +01:00
Matthias
f7eb14ae0e Add open_fill_date stuff to json schema 2024-02-26 13:53:10 +01:00
Matthias
d004509176 Simplify trade_model serializations 2024-02-26 13:53:10 +01:00
Matthias
cb95298936 Add dt_ts_none helper 2024-02-26 13:53:10 +01:00
Matthias
c491c2a8ee Adjust for ccxt exception hierarchy change
caused by https://github.com/ccxt/ccxt/pull/21035
2024-02-26 13:53:10 +01:00
Matthias
731fbe6f1e Improve log message 2024-02-26 13:53:10 +01:00
Matthias
e63da230d8 Simplify some pairlist conditions 2024-02-26 13:53:10 +01:00
Robert Davey
e696c92a0f Clarify processing_mode for RemotePairlist
No default value is specified in the docs for the processing_mode, making it unclear that the default behaviour is to filter out pairs, rather than append.
2024-02-26 13:53:10 +01:00
Matthias
27556f934e Don't load empty dataframes - skip these
closes #9811
2024-02-26 13:53:10 +01:00
Matthias
9a8ae99fc7 Add debug output showing the pair to be converted
part of #9811
2024-02-26 13:53:10 +01:00
dependabot[bot]
0a3b27622d Bump the pytest group with 2 updates
Bumps the pytest group with 2 updates: [pytest](https://github.com/pytest-dev/pytest) and [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio).


Updates `pytest` from 7.4.4 to 8.0.0
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.4.4...8.0.0)

Updates `pytest-asyncio` from 0.23.4 to 0.23.5
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.23.4...v0.23.5)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: pytest
- 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>
2024-02-26 13:53:10 +01:00
dependabot[bot]
7c33c82102 Bump tensorboard from 2.15.1 to 2.15.2
Bumps [tensorboard](https://github.com/tensorflow/tensorboard) from 2.15.1 to 2.15.2.
- [Release notes](https://github.com/tensorflow/tensorboard/releases)
- [Changelog](https://github.com/tensorflow/tensorboard/blob/2.15.2/RELEASE.md)
- [Commits](https://github.com/tensorflow/tensorboard/compare/2.15.1...2.15.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:53:10 +01:00
Matthias
0796f49761 telegram: ensure msg update test uses the correct edit_message_text call 2024-02-26 13:53:10 +01:00
Matthias
3341964417 use query.edit_message_text to simplify telegram class 2024-02-26 13:53:10 +01:00
dependabot[bot]
541b7a2800 Bump python-telegram-bot from 20.7 to 20.8
Bumps [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) from 20.7 to 20.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/v20.7...v20.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-02-26 13:53:07 +01:00
dependabot[bot]
aeb5e90678 Bump mkdocs-material from 9.5.8 to 9.5.9
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.8 to 9.5.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.5.8...9.5.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:51:39 +01:00
Matthias
f15b931d4a Update sqlalchemy pre-commit 2024-02-26 13:51:39 +01:00
dependabot[bot]
cf4f57182c Bump sqlalchemy from 2.0.25 to 2.0.26
Bumps [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) from 2.0.25 to 2.0.26.
- [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>
2024-02-26 13:51:39 +01:00
dependabot[bot]
a51f7a31dd Bump tqdm from 4.66.1 to 4.66.2
Bumps [tqdm](https://github.com/tqdm/tqdm) from 4.66.1 to 4.66.2.
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](https://github.com/tqdm/tqdm/compare/v4.66.1...v4.66.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:51:39 +01:00
dependabot[bot]
7f584966ae Bump ccxt from 4.2.39 to 4.2.42
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.2.39 to 4.2.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.2.39...4.2.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-02-26 13:51:39 +01:00
dependabot[bot]
ee4ff45c17 Bump pre-commit from 3.6.0 to 3.6.1
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.6.0 to 3.6.1.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.6.0...v3.6.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:51:39 +01:00
dependabot[bot]
329039d095 Bump uvicorn from 0.27.0.post1 to 0.27.1
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.27.0.post1 to 0.27.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.27.0.post1...0.27.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-02-26 13:51:39 +01:00
Matthias
82771cf85c Slightly improve memory-usage of kraken-convert 2024-02-26 13:51:39 +01:00
Matthias
34b046355a Allow wildcards for pairs filter 2024-02-26 13:51:39 +01:00
Matthias
4351d93f23 Allow limiting kraken pairs to --pairs selection 2024-02-26 13:51:39 +01:00
Matthias
bbd68a5d0d Align new-config documentation examples
closes #9790
2024-02-26 13:51:39 +01:00
dependabot[bot]
2d7efca7cd Bump nbconvert from 7.14.2 to 7.16.0
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.14.2 to 7.16.0.
- [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.14.2...v7.16.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:51:39 +01:00
dependabot[bot]
df1f07397f Bump mkdocs-material from 9.5.7 to 9.5.8
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.7 to 9.5.8.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.7...9.5.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:51:39 +01:00
dependabot[bot]
9c72eedb75 Bump ruff from 0.2.0 to 0.2.1
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.2.0 to 0.2.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/v0.2.0...v0.2.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-02-26 13:51:39 +01:00
dependabot[bot]
9a3955dc06 Bump numpy from 1.26.3 to 1.26.4
Bumps [numpy](https://github.com/numpy/numpy) from 1.26.3 to 1.26.4.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v1.26.3...v1.26.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:51:39 +01:00
dependabot[bot]
992faad4d5 Bump ccxt from 4.2.35 to 4.2.39
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.2.35 to 4.2.39.
- [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.2.35...4.2.39)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:51:39 +01:00
dependabot[bot]
3ca0130a81 Bump pre-commit/action from 3.0.0 to 3.0.1
Bumps [pre-commit/action](https://github.com/pre-commit/action) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/pre-commit/action/releases)
- [Commits](https://github.com/pre-commit/action/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: pre-commit/action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:51:39 +01:00
Matthias
705ee7d2f4 chore: add dependency groups for regular updates,
reschedule to run at 3am UTC (hope this works now ...)
2024-02-26 13:51:39 +01:00
Matthias
5dd856af6e Allow int as trade-id parameter
closes #9780
2024-02-26 13:51:39 +01:00
Stefano Ariestasia
5b13540bc9 fix strategy-updater docs 2024-02-26 13:51:39 +01:00
Matthias
e84bc14944 Fix wording fully. 2024-02-26 13:51:39 +01:00
Shane
caf169cabc fix: logical error
Fix logical error in the conditional checks for model classes. The `elif` statement that looks for "lightgbm.sklearn" or "xgb" in the model class string is now broken into two separate conditions because the old condition would always evaluate to `True` due to the non-empty string "xgb".
2024-02-26 13:51:39 +01:00
Matthias
51a4d25ae3 chore: Update ordering of requirements in setup.py 2024-02-26 13:51:39 +01:00
Matthias
52c7105554 Bump technical to 1.4.3 2024-02-26 13:51:39 +01:00
xmatthias
cc9d4d3f08 chore: update pre-commit hooks 2024-02-26 13:51:39 +01:00
Matthias
1255517c5f update tool.ruff configuration to match 2.0 version 2024-02-26 13:51:39 +01:00
Matthias
3e89343b43 Remove unused argument 2024-02-26 13:51:39 +01:00
dependabot[bot]
5b988784df Bump ruff from 0.1.15 to 0.2.0
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.1.15 to 0.2.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/v0.1.15...v0.2.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-02-26 13:51:39 +01:00
dependabot[bot]
a11aacc131 Bump pydantic from 2.5.3 to 2.6.1
Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.5.3 to 2.6.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.5.3...v2.6.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-02-26 13:51:39 +01:00
dependabot[bot]
470a05130b Bump orjson from 3.9.12 to 3.9.13
Bumps [orjson](https://github.com/ijl/orjson) from 3.9.12 to 3.9.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.9.12...3.9.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-02-26 13:51:39 +01:00
dependabot[bot]
43e23d2520 Bump fastapi from 0.109.0 to 0.109.2
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.109.0 to 0.109.2.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.109.0...0.109.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:51:39 +01:00
dependabot[bot]
1a79dc16f8 Bump cryptography from 42.0.1 to 42.0.2
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.1 to 42.0.2.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/42.0.1...42.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>
2024-02-26 13:51:39 +01:00
dependabot[bot]
ef5b71dc12 Bump peter-evans/create-pull-request from 5 to 6
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 5 to 6.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v5...v6)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:51:39 +01:00
dependabot[bot]
d4e1b22c82 Bump mkdocs-material from 9.5.6 to 9.5.7
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.6 to 9.5.7.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.6...9.5.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:51:39 +01:00
dependabot[bot]
693ca56fb2 Bump aiohttp from 3.9.2 to 3.9.3
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.9.2 to 3.9.3.
- [Release notes](https://github.com/aio-libs/aiohttp/releases)
- [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst)
- [Commits](https://github.com/aio-libs/aiohttp/compare/v3.9.2...v3.9.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:51:39 +01:00
dependabot[bot]
9c70c65e03 Bump ccxt from 4.2.25 to 4.2.35
Bumps [ccxt](https://github.com/ccxt/ccxt) from 4.2.25 to 4.2.35.
- [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.2.25...4.2.35)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:51:39 +01:00
dependabot[bot]
4a8553beb1 Bump urllib3 from 2.1.0 to 2.2.0
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.1.0 to 2.2.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.1.0...2.2.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-02-26 13:51:39 +01:00
dependabot[bot]
0a97d03a76 Bump uvicorn from 0.27.0 to 0.27.0.post1
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.27.0 to 0.27.0.post1.
- [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.27.0...0.27.0.post1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 13:51:39 +01:00
Matthias
c1eadb17d9 Update Tests data to work with new cached levtiers 2024-02-26 13:50:50 +01:00
Matthias
7bfb6a0c65 Update cached binance leverage tiers 2024-02-26 13:50:50 +01:00
Matthias
d530dd5900 Improve formatting of leverage
closes #9759
2024-02-26 13:50:50 +01:00
Matthias
79066c3d3c enable sub-minute backtest detail timeframes
closes #9635
2024-02-26 13:50:50 +01:00
Joe Schr
d15f17a03f chore: remove unused parameter pairs from populate_dataframe_with_trades 2024-02-26 12:00:36 +01:00
Joe Schr
6bdf6bed7b fix tests: add comments 2024-02-26 11:53:55 +01:00
Joe Schr
5b637bc9fc tests: use orderflow row that actually has stacked imbalances 2024-02-26 11:22:24 +01:00
Joe Schr
3df04008d6 fix tests: move orderflow tests into own dir 2024-02-26 11:09:08 +01:00
Joe Schr
b15e47ded4 fix tests: use testdatadir 2024-02-26 10:57:12 +01:00
Joe Schr
c4a024e627 Improve docs 2024-02-20 20:12:50 +01:00
Joe Schr
7248f20938 Direct import to avoid circular import error 2024-02-13 12:00:24 +01:00
Joe Schr
3a1bb83f99 EOF fix 2024-02-13 11:32:58 +01:00
Joe Schr
7296ce72cb Adds more infos to docs 2024-02-13 11:28:28 +01:00
Joe Schr
b68afb4063 Fix markdown 2024-02-13 10:54:59 +01:00
Joe Schr
bff93e31c8 Moves orderflow logic to it's own file 2024-02-12 13:45:56 +01:00
Joe Schr
64e9784d1f Remove formatting changes 2024-02-12 13:45:56 +01:00
Joe Schr
d7b88194e0 Resolve various issues and comments 2024-02-12 13:45:56 +01:00
Joe Schr
6e7a536c7a Replaces public_trades_to_dataframe with trades_list_to_df 2024-02-12 13:45:56 +01:00
Joe Schr
c610c44a43 Removes unrequired drop_incomplete 2024-02-12 12:12:20 +01:00
Joe Schr
a7e4a5e2dc Removes clean_duplicate_trades 2024-02-12 12:11:52 +01:00
Joe Schr
c85ded14d1 Extract _if_enabled_populate_trades 2024-02-12 10:18:17 +01:00
Joe Schr
71e36be34b Use get_historic_trades directly 2024-02-12 10:10:45 +01:00
Joe Schr
aab3c07b87 Use _max_trades_candle_limit directly 2024-02-12 10:10:36 +01:00
Joe Schr
50070bc2ca Removes unused import 2024-02-12 09:39:09 +01:00
Joe Schr
e60b997fd0 Pass on missed argument stop_on_from_id 2024-02-12 09:38:49 +01:00
Joe Schr
e8714d52cd Removes nonsensical if gate 2024-02-12 09:31:37 +01:00
Joe Schr
0a4da26f2d Resolve using trades directly from trades_load when backtesting 2024-02-12 09:29:30 +01:00
Joe Schr
eaa85e8651 Removes do_plot and old comments 2024-02-11 13:16:16 +01:00
Joe Schr
0fd2aca47e Remove if since 2024-02-11 13:14:17 +01:00
Joe Schr
e8c911e7b4 Remove since/until superfluous arguments 2024-02-11 13:04:39 +01:00
Matthias
d23079f837 improve tests slighly 2024-02-10 20:13:17 +01:00
Matthias
fc15f98b80 Reduce unnecessary newlines 2024-02-10 17:45:03 +01:00
Matthias
4b0383f197 Fix overly long lines 2024-02-10 17:40:24 +01:00
Matthias
a216a08f09 Formatting ... 2024-02-10 17:29:17 +01:00
Matthias
7ae69a9cde update imports 2024-02-10 17:27:11 +01:00
Matthias
cfcc8f9fde Ensure docs are rendered in the navigation pane 2024-02-10 17:26:59 +01:00
Joe Schr
849413c5ea Changes scale from type int to float 2024-02-10 11:53:40 +01:00
Joe Schr
4ae63d7ecb Fix superfluous formatting 2024-02-09 13:15:12 +01:00
Joe Schr
9ec45ce042 Ruff fix 2024-02-08 19:48:53 +01:00
Joe Schr
3d92b40ad3 Ruff fix: E303 too many blank lines 2024-02-08 19:48:53 +01:00
Joe Schr
5b264d66e0 Ruff and flake fixes 2024-02-08 19:38:21 +01:00
Joe Schr
c40f3d91d4 Ruff fix 2024-02-08 19:06:43 +01:00
Joe Schr
1a0610f3e4 mypy fixes 2024-02-08 12:11:10 +01:00
Joe Schr
14fb29516a Removes unused code path 2024-02-08 11:56:57 +01:00
Joe Schr
0647ce59e7 Fix error if until is undefined 2024-02-08 11:06:15 +01:00
Joe Schr
2925a2a2fa Fix regression BaseException 2024-02-07 17:39:49 +01:00
Joe Schr
d6e3464973 Flake8 fix 2024-02-07 13:39:02 +01:00
Joe Schr
ca8cb73efa Ruff fixes 2024-02-07 13:37:17 +01:00
Joe Schr
69eb35deff Ruff fixes 2024-02-07 13:35:20 +01:00
Joe Schr
b8f92ecc52 Ruff fixes 2024-02-07 13:23:43 +01:00
Joe Schr
118ca784e8 Adds TRADESResponse 2024-02-07 13:20:39 +01:00
Joe Schr
634e81c7e0 Fix ruff 2024-02-07 13:10:04 +01:00
Joe Schr
79074ea4b3 Fix untrue ruff error by adding line ignore 2024-02-07 12:51:18 +01:00
Joe Schr
39ba6fe56b Ruff --fix 2024-02-07 12:48:15 +01:00
Joe Schr
72a20e9928 Ruff changes for clean_duplicate_trades, populate_dataframe_with_trades, public_trades_to_dataframe 2024-02-07 12:42:30 +01:00
Joe Schr
b117f1b474 Fix superfluous changes 2024-02-07 12:30:50 +01:00
Joe Schr
e6c1c3d60b Fix immediate rename of argument 2024-02-07 12:30:50 +01:00
Joe Schr
9c070431e1 Fix isort after ruff changes 2024-02-07 12:30:48 +01:00
Joe Schr
f61c75ffcc Fix isort imports 2024-02-06 20:35:16 +01:00
Joe Schr
3ae5667684 Fix merge regression regarding _pairs_last_refresh_time 2024-02-06 20:23:10 +01:00
Joe Schr
c04cce52ea Fix unnecessary deep intend 2024-02-06 20:13:23 +01:00
Joe Schr
aa663b926a Fix tests for use public trades 2024-02-06 14:33:13 +01:00
Joe Schr
1f783b2995 Start writing orderflow documentation 2024-02-06 14:10:18 +01:00
TheJoeSchr
5487e02ba2 Merge branch 'develop' into feature/fetch-public-trades 2024-02-02 15:14:04 +01:00
Joe Schr
8337bf3c47 Fix typo 2024-02-02 15:12:05 +01:00
TheJoeSchr
0153fd8d70 Update constants.py
Fix formatting change
2024-02-02 14:59:45 +01:00
Joe Schr
f6a8e03b59 Remove invoke self code for test_converter_public_trades 2024-02-02 14:54:28 +01:00
Joe Schr
43645729a0 Don't fetch trades for informatitve pairs 2024-02-02 14:33:45 +01:00
Joe Schr
6aaf5d6069 Explain why not using IDataHandler 2024-02-02 14:17:18 +01:00
Joe Schr
e405c42097 Copy trades dataframe directly instead of using deepcopy 2024-02-02 14:15:17 +01:00
Joe Schr
62cec9f043 Revert "Add .envrc to .gitignore"
This reverts commit 1f0077b1b5.
2024-02-02 14:03:42 +01:00
Joe Schr
b79aeb0a0d Shrink public trades testdata by using BCH 2024-02-01 13:42:58 +01:00
Joe Schr
2833169955 Merge remote-tracking branch 'upstream/develop' into feature/fetch-public-trades 2024-02-01 11:46:38 +01:00
Joe Schr
1f0077b1b5 Add .envrc to .gitignore
Affected files:
2024-02-01 11:41:00 +01:00
Simon Waiblinger
060198c04c Merge branch 'freqtrade:develop' into develop 2024-01-25 22:28:05 +01:00
simwai
44856eedb2 Merge branch 'develop' of https://github.com/simwai/freqtrade into develop 2024-01-08 13:40:34 +01:00
simwai
5110c14d35 Updated gitignore file 2024-01-08 13:40:32 +01:00
Joe Schr
18be79c906 Merge remote-tracking branch 'upstream/develop' into feature/fetch-public-trades 2023-12-18 10:34:20 +01:00
pixeebot[bot]
0bc84c6a0d Use SafeLoader in yaml.load() Calls 2023-11-14 03:05:54 +00:00
Joe Schr
1a4eabc0bb converter: use new trades_df_remove_duplicates 2023-10-24 12:22:23 +02:00
Joe Schr
6243c0e4bb exchange: fix import of clean_ohlcv_dataframe, raise exception when no trades received 2023-10-24 12:21:20 +02:00
Joe Schr
bb8ced525a exchange: re-add hardcoded required candle call count max 2023-10-24 12:20:01 +02:00
Joe Schr
8adf776218 fix imports for orderflow 2023-10-23 13:39:20 +02:00
Joe Schr
2c995977e8 exchange: fix last arrow use 2023-10-23 13:39:20 +02:00
Joe Schr
0c9df2ed61 exchange: removes duplicate _now_is_time_to_refresh_trades method 2023-10-23 11:17:42 +02:00
Joe Schr
4ef901e5e3 add back DEFAULT_ORDERFLOW_COLUMNS 2023-10-23 11:00:38 +02:00
Joe Schr
d514d3aec1 fix docstring back 2023-10-23 10:58:24 +02:00
Joe Schr
d4890eade2 exchange: re-remove arrow use 2023-10-23 10:50:00 +02:00
Joe Schr
a81a3be8d6 Fix imports and handling of trade regarding changes from PR#9065 2023-10-23 10:16:59 +02:00
TheJoeSchr
9f507e0146 Update converter.py, revert random formatting changes 2023-10-09 11:37:56 +02:00
Joe Schr
a9bd9b506b use fetch_trades' public trades to populate dataframe 2023-10-09 11:37:56 +02:00
TheJoeSchr
4478f72492 Update converter.py, revert random formatting changes 2023-10-09 11:34:31 +02:00
Joe Schr
1530bb6a40 fix: unfinished trades data for last candle 2023-10-09 11:34:31 +02:00
Joe Schr
2e1c661449 fix: remove obsolete infer_datetime 2023-10-09 11:34:31 +02:00
Joe Schr
387a36e730 fix: fetches only every second OHLCV candle 2023-10-09 11:34:31 +02:00
Joe Schr
4abac1364a refactor(move function): refresh_latest_trades into dataprovider
needed here to be used for call before analyze
also removes need for internal exchange function checking if
public_trades is enabled
2023-10-09 11:34:30 +02:00
Joe Schr
64a072e207 Converter: fix wrong return type 2023-10-09 11:34:30 +02:00
Joe Schr
b0074cbf8b Converter: log exception instead of error 2023-10-09 11:34:30 +02:00
Joe Schr
33af450034 tests: replace load config from file with static dict 2023-10-09 11:34:30 +02:00
Joe Schr
bdca2ac96f tests: removes cached and stratgey specific tests 2023-10-09 11:34:30 +02:00
Joe Schr
0796bfadd5 optimize and fix issues with refresh_latest_trades
return types, timings and other issues
2023-10-09 11:34:30 +02:00
Joe Schr
d96f314f16 converter: revert cache for public trades because of memleak 2023-10-09 11:34:29 +02:00
Joe Schr
1bc206ea8e adds tests for public trades branch (no data, too big) 2023-10-09 11:34:29 +02:00
Joe Schr
070d28b6d8 Exchange: make required_candle_call_count configurable 2023-10-09 11:34:29 +02:00
Joe Schr
0f4e147035 use fetch_trades' public trades to populate dataframe 2023-10-09 11:34:29 +02:00
516 changed files with 70709 additions and 43085 deletions

View File

@@ -1,22 +0,0 @@
FROM freqtradeorg/freqtrade:develop_freqairl
USER root
# Install dependencies
COPY requirements-dev.txt /freqtrade/
RUN apt-get update \
&& apt-get -y install --no-install-recommends apt-utils dialog \
&& apt-get -y install --no-install-recommends git sudo vim build-essential \
&& apt-get clean \
&& mkdir -p /home/ftuser/.vscode-server /home/ftuser/.vscode-server-insiders /home/ftuser/commandhistory \
&& echo "export PROMPT_COMMAND='history -a'" >> /home/ftuser/.bashrc \
&& echo "export HISTFILE=~/commandhistory/.bash_history" >> /home/ftuser/.bashrc \
&& chown ftuser:ftuser -R /home/ftuser/.local/ \
&& chown ftuser: -R /home/ftuser/
USER ftuser
RUN pip install --user autopep8 -r docs/requirements-docs.txt -r requirements-dev.txt --no-cache-dir
# Empty the ENTRYPOINT to allow all commands
ENTRYPOINT []

View File

@@ -1,42 +1,44 @@
{
"name": "freqtrade Develop",
"build": {
"dockerfile": "Dockerfile",
"context": ".."
},
"image": "ghcr.io/freqtrade/freqtrade-devcontainer:latest",
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [
8080
],
"mounts": [
"source=freqtrade-bashhistory,target=/home/ftuser/commandhistory,type=volume"
],
"workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/freqtrade,type=bind,consistency=cached",
// Uncomment to connect as a non-root user if you've added one. See https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "ftuser",
"onCreateCommand": "pip install --user -e .",
"postCreateCommand": "freqtrade create-userdir --userdir user_data/",
"workspaceFolder": "/workspaces/freqtrade",
"customizations": {
"settings": {
"terminal.integrated.shell.linux": "/bin/bash",
"editor.insertSpaces": true,
"files.trimTrailingWhitespace": true,
"[markdown]": {
"files.trimTrailingWhitespace": false,
"vscode": {
"settings": {
"terminal.integrated.shell.linux": "/bin/bash",
"editor.insertSpaces": true,
"files.trimTrailingWhitespace": true,
"[markdown]": {
"files.trimTrailingWhitespace": false
},
"python.pythonPath": "/usr/local/bin/python",
"[python]": {
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
},
"editor.formatOnSave": true,
"editor.defaultFormatter": "charliermarsh.ruff"
}
},
"python.pythonPath": "/usr/local/bin/python",
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance",
"davidanson.vscode-markdownlint",
"ms-azuretools.vscode-docker",
"vscode-icons-team.vscode-icons",
],
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance",
"charliermarsh.ruff",
"davidanson.vscode-markdownlint",
"ms-azuretools.vscode-docker",
"vscode-icons-team.vscode-icons",
"github.vscode-github-actions",
],
}
}
}

21
.github/.devcontainer/Dockerfile vendored Normal file
View File

@@ -0,0 +1,21 @@
FROM freqtradeorg/freqtrade:develop_freqairl
USER root
# Install dependencies
COPY requirements-dev.txt /freqtrade/
ARG USERNAME=ftuser
RUN apt-get update \
&& apt-get -y install --no-install-recommends apt-utils dialog git ssh vim build-essential zsh \
&& apt-get clean \
&& mkdir -p /home/${USERNAME}/.vscode-server /home/${USERNAME}/.vscode-server-insiders /home/${USERNAME}/commandhistory \
&& chown ${USERNAME}:${USERNAME} -R /home/${USERNAME}/.local/ \
&& chown ${USERNAME}: -R /home/${USERNAME}/
USER ftuser
RUN pip install --user autopep8 -r docs/requirements-docs.txt -r requirements-dev.txt --no-cache-dir
# Empty the ENTRYPOINT to allow all commands
ENTRYPOINT []

12
.github/.devcontainer/devcontainer.json vendored Normal file
View File

@@ -0,0 +1,12 @@
{
"name": "freqtrade Dev container image builder",
"build": {
"dockerfile": "Dockerfile",
"context": "../../"
},
"features": {
"ghcr.io/devcontainers/features/common-utils:2": {
},
"ghcr.io/stuartleeks/dev-container-features/shell-history:0.0.3": {}
}
}

View File

@@ -1,9 +1,14 @@
version: 2
updates:
- package-ecosystem: docker
directory: "/"
directories:
- "/"
- "/docker"
schedule:
interval: daily
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major"]
open-pull-requests-limit: 10
- package-ecosystem: pip
@@ -21,6 +26,9 @@ updates:
pytest:
patterns:
- "pytest*"
mkdocs:
patterns:
- "mkdocs*"
- package-ecosystem: "github-actions"
directory: "/"

View File

@@ -19,7 +19,7 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: "3.11"
python-version: "3.12"
- name: Install ccxt
run: pip install ccxt
@@ -32,7 +32,7 @@ jobs:
run: python build_helpers/binance_update_lev_tiers.py
- uses: peter-evans/create-pull-request@v6
- uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.REPO_SCOPED_TOKEN }}
add-paths: freqtrade/exchange/binance_leverage_tiers.json

View File

@@ -24,7 +24,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-20.04, ubuntu-22.04 ]
os: [ "ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04" ]
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
@@ -80,6 +80,11 @@ jobs:
# Allow failure for coveralls
coveralls || true
- name: Run json schema extract
# This should be kept before the repository check to ensure that the schema is up-to-date
run: |
python build_helpers/extract_config_json_schema.py
- name: Check for repository changes
run: |
if [ -n "$(git status --porcelain)" ]; then
@@ -111,7 +116,11 @@ jobs:
- name: Run Ruff
run: |
ruff check --output-format=github .
ruff check --output-format=github
- name: Run Ruff format check
run: |
ruff format --check
- name: Mypy
run: |
@@ -129,7 +138,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ "macos-latest", "macos-13", "macos-14" ]
os: [ "macos-12", "macos-13", "macos-14" ]
python-version: ["3.9", "3.10", "3.11", "3.12"]
exclude:
- os: "macos-14"
@@ -230,7 +239,11 @@ jobs:
- name: Run Ruff
run: |
ruff check --output-format=github .
ruff check --output-format=github
- name: Run Ruff format check
run: |
ruff format --check
- name: Mypy
run: |
@@ -300,12 +313,27 @@ jobs:
- name: Run Ruff
run: |
ruff check --output-format=github .
ruff check --output-format=github
- name: Run Ruff format check
run: |
ruff format --check
- name: Mypy
run: |
mypy freqtrade scripts tests
- name: Run Pester tests (PowerShell)
run: |
$PSVersionTable
Set-PSRepository psgallery -InstallationPolicy trusted
Install-Module -Name Pester -RequiredVersion 5.3.1 -Confirm:$false -Force -SkipPublisherCheck
$Error.clear()
Invoke-Pester -Path "tests" -CI
if ($Error.Length -gt 0) {exit 1}
shell: powershell
- name: Discord notification
uses: rjstone/discord-webhook-notify@v1
if: failure() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
@@ -322,7 +350,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.12"
- name: pre-commit dependencies
run: |
@@ -336,7 +364,7 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.12"
- uses: pre-commit/action@v3.0.1
docs-check:
@@ -351,12 +379,11 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
python-version: "3.12"
- name: Documentation build
run: |
pip install -r docs/requirements-docs.txt
pip install mkdocs
mkdocs build
- name: Discord notification
@@ -377,7 +404,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
python-version: "3.12"
- name: Cache_dependencies
uses: actions/cache@v4
@@ -414,7 +441,7 @@ jobs:
pytest --random-order --longrun --durations 20 -n auto
# Notify only once - when CI completes (and after deploy) in case it's successfull
# Notify only once - when CI completes (and after deploy) in case it's successful
notify-complete:
needs: [
build-linux,
@@ -459,7 +486,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
python-version: "3.12"
- name: Build distribution
run: |
@@ -510,12 +537,12 @@ jobs:
- name: Publish to PyPI (Test)
uses: pypa/gh-action-pypi-publish@v1.8.14
uses: pypa/gh-action-pypi-publish@v1.10.2
with:
repository-url: https://test.pypi.org/legacy/
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@v1.8.14
uses: pypa/gh-action-pypi-publish@v1.10.2
deploy-docker:
@@ -530,7 +557,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
python-version: "3.12"
- name: Extract branch name
id: extract-branch
@@ -553,12 +580,12 @@ jobs:
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: crazy-max/ghaction-docker-buildx@v3.3.1
with:
buildx-version: latest
qemu-version: latest
uses: docker/setup-buildx-action@v3
- name: Available platforms
run: echo ${{ steps.buildx.outputs.platforms }}

55
.github/workflows/deploy-docs.yml vendored Normal file
View File

@@ -0,0 +1,55 @@
name: Build Documentation
on:
push:
branches:
- develop
release:
types: [published]
# disable permissions for all of the available permissions
permissions: {}
jobs:
build-docs:
permissions:
contents: write # for mike to push
name: Deploy Docs through mike
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r docs/requirements-docs.txt
- name: Fetch gh-pages branch
run: |
git fetch origin gh-pages --depth=1
- name: Configure Git user
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
- name: Build and push Mike
if: ${{ github.event_name == 'push' }}
run: |
mike deploy ${{ github.ref_name }} latest --push --update-aliases
- name: Build and push Mike - Release
if: ${{ github.event_name == 'release' }}
run: |
mike deploy ${{ github.ref_name }} stable --push --update-aliases
- name: Show mike versions
run: |
mike list

View File

@@ -0,0 +1,45 @@
name: Devcontainer Pre-Build
on:
workflow_dispatch:
schedule:
- cron: "0 3 * * 0"
# push:
# branches:
# - "master"
# tags:
# - "v*.*.*"
# pull_requests:
# branches:
# - "master"
concurrency:
group: "${{ github.workflow }}"
cancel-in-progress: true
permissions:
packages: write
jobs:
build-and-push:
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

View File

@@ -17,7 +17,7 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: "3.11"
python-version: "3.12"
- name: Install pre-commit
@@ -26,10 +26,7 @@ jobs:
- name: Run auto-update
run: pre-commit autoupdate
- name: Run pre-commit
run: pre-commit run --all-files
- uses: peter-evans/create-pull-request@v6
- uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.REPO_SCOPED_TOKEN }}
add-paths: .pre-commit-config.yaml

2
.gitignore vendored
View File

@@ -114,3 +114,5 @@ target/
!config_examples/config_full.example.json
!config_examples/config_kraken.example.json
!config_examples/config_freqai.example.json
docker-compose-*.yml

View File

@@ -2,24 +2,24 @@
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pycqa/flake8
rev: "7.0.0"
rev: "7.1.1"
hooks:
- id: flake8
additional_dependencies: [Flake8-pyproject]
# stages: [push]
- repo: https://github.com/pre-commit/mirrors-mypy
rev: "v1.9.0"
rev: "v1.11.2"
hooks:
- id: mypy
exclude: build_helpers
additional_dependencies:
- types-cachetools==5.3.0.7
- types-cachetools==5.5.0.20240820
- types-filelock==3.2.7
- types-requests==2.31.0.20240311
- types-requests==2.32.0.20240914
- types-tabulate==0.9.0.20240106
- types-python-dateutil==2.9.0.20240316
- SQLAlchemy==2.0.29
- types-python-dateutil==2.9.0.20240906
- SQLAlchemy==2.0.35
# stages: [push]
- repo: https://github.com/pycqa/isort
@@ -31,12 +31,13 @@ repos:
- repo: https://github.com/charliermarsh/ruff-pre-commit
# Ruff version.
rev: 'v0.3.4'
rev: 'v0.6.7'
hooks:
- id: ruff
- id: ruff-format
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
rev: v4.6.0
hooks:
- id: end-of-file-fixer
exclude: |
@@ -54,3 +55,10 @@ repos:
(?x)^(
.*\.md
)$
- repo: https://github.com/codespell-project/codespell
rev: v2.3.0
hooks:
- id: codespell
additional_dependencies:
- tomli

11
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,11 @@
{
"recommendations": [
"ms-python.python",
"ms-python.vscode-pylance",
"charliermarsh.ruff",
"davidanson.vscode-markdownlint",
"ms-azuretools.vscode-docker",
"vscode-icons-team.vscode-icons",
"github.vscode-github-actions",
]
}

View File

@@ -72,12 +72,12 @@ you can manually run pre-commit with `pre-commit run -a`.
mypy freqtrade
```
### 4. Ensure all imports are correct
### 4. Ensure formatting is correct
#### Run isort
#### Run ruff
``` bash
isort .
ruff format .
```
## (Core)-Committer Guide

View File

@@ -1,4 +1,4 @@
FROM python:3.12.2-slim-bookworm as base
FROM python:3.12.6-slim-bookworm as base
# Setup env
ENV LANG C.UTF-8
@@ -35,7 +35,7 @@ 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 \
RUN pip install --user --no-cache-dir "numpy<2.0" \
&& pip install --user --no-cache-dir -r requirements-hyperopt.txt
# Copy dependencies to runtime-image

View File

@@ -29,6 +29,8 @@ Please read the [exchange specific notes](docs/exchanges.md) to learn about even
- [X] [Binance](https://www.binance.com/)
- [X] [Bitmart](https://bitmart.com/)
- [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] [Kraken](https://kraken.com/)
@@ -85,41 +87,50 @@ For further (native) installation methods, please refer to the [Installation doc
```
usage: freqtrade [-h] [-V]
{trade,create-userdir,new-config,new-strategy,download-data,convert-data,convert-trade-data,list-data,backtesting,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-hyperopts,list-markets,list-pairs,list-strategies,list-timeframes,show-trades,test-pairlist,install-ui,plot-dataframe,plot-profit,webserver}
{trade,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,new-strategy,download-data,convert-data,convert-trade-data,list-data,backtesting,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-hyperopts,list-markets,list-pairs,list-strategies,list-timeframes,show-trades,test-pairlist,install-ui,plot-dataframe,plot-profit,webserver}
{trade,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-hyperopts Print available hyperopt classes.
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.
optional arguments:
options:
-h, --help show this help message and exit
-V, --version show program's version number and exit

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -6,21 +6,18 @@ from pathlib import Path
import ccxt
key = os.environ.get('FREQTRADE__EXCHANGE__KEY')
secret = os.environ.get('FREQTRADE__EXCHANGE__SECRET')
key = os.environ.get("FREQTRADE__EXCHANGE__KEY")
secret = os.environ.get("FREQTRADE__EXCHANGE__SECRET")
proxy = os.environ.get('CI_WEB_PROXY')
proxy = os.environ.get("CI_WEB_PROXY")
exchange = ccxt.binance({
'apiKey': key,
'secret': secret,
'httpsProxy': proxy,
'options': {'defaultType': 'swap'}
})
exchange = ccxt.binance(
{"apiKey": key, "secret": secret, "httpsProxy": proxy, "options": {"defaultType": "swap"}}
)
_ = exchange.load_markets()
lev_tiers = exchange.fetch_leverage_tiers()
# Assumes this is running in the root of the repository.
file = Path('freqtrade/exchange/binance_leverage_tiers.json')
json.dump(dict(sorted(lev_tiers.items())), file.open('w'), indent=2)
file = Path("freqtrade/exchange/binance_leverage_tiers.json")
json.dump(dict(sorted(lev_tiers.items())), file.open("w"), indent=2)

View File

@@ -0,0 +1,17 @@
"""Script to extract the configuration json schema from config_schema.py file."""
from pathlib import Path
import rapidjson
from freqtrade.configuration.config_schema import CONF_SCHEMA
def extract_config_json_schema():
schema_filename = Path(__file__).parent / "schema.json"
with schema_filename.open("w") as f:
rapidjson.dump(CONF_SCHEMA, f, indent=2)
if __name__ == "__main__":
extract_config_json_schema()

View File

@@ -1,18 +1,15 @@
#!/usr/bin/env python3
from freqtrade_client import __version__ as client_version
from freqtrade import __version__ as ft_version
from freqtrade_client import __version__ as client_version
def main():
if ft_version != client_version:
print(f"Versions do not match: \n"
f"ft: {ft_version} \n"
f"client: {client_version}")
print(f"Versions do not match: \nft: {ft_version} \nclient: {client_version}")
exit(1)
print(f"Versions match: ft: {ft_version}, client: {client_version}")
exit(0)
if __name__ == '__main__':
if __name__ == "__main__":
main()

View File

@@ -1,4 +1,4 @@
# File used in CI to ensure pre-commit dependencies are kept uptodate.
# File used in CI to ensure pre-commit dependencies are kept up-to-date.
import sys
from pathlib import Path
@@ -6,28 +6,30 @@ from pathlib import Path
import yaml
pre_commit_file = Path('.pre-commit-config.yaml')
require_dev = Path('requirements-dev.txt')
require = Path('requirements.txt')
pre_commit_file = Path(".pre-commit-config.yaml")
require_dev = Path("requirements-dev.txt")
require = Path("requirements.txt")
with require_dev.open('r') as rfile:
with require_dev.open("r") as rfile:
requirements = rfile.readlines()
with require.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')]
type_reqs = [
r.strip("\n") for r in requirements if r.startswith("types-") or r.startswith("SQLAlchemy")
]
with pre_commit_file.open('r') as file:
f = yaml.load(file, Loader=yaml.FullLoader)
with pre_commit_file.open("r") as file:
f = yaml.load(file, Loader=yaml.SafeLoader)
mypy_repo = [repo for repo in f['repos'] if repo['repo']
== 'https://github.com/pre-commit/mirrors-mypy']
mypy_repo = [
repo for repo in f["repos"] if repo["repo"] == "https://github.com/pre-commit/mirrors-mypy"
]
hooks = mypy_repo[0]['hooks'][0]['additional_dependencies']
hooks = mypy_repo[0]["hooks"][0]["additional_dependencies"]
errors = []
for hook in hooks:

1622
build_helpers/schema.json Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,5 @@
{
"$schema": "https://schema.freqtrade.io/schema.json",
"max_open_trades": 3,
"stake_currency": "USDT",
"stake_amount": 0.05,

View File

@@ -1,4 +1,5 @@
{
"$schema": "https://schema.freqtrade.io/schema.json",
"trading_mode": "futures",
"margin_mode": "isolated",
"max_open_trades": 5,

View File

@@ -1,4 +1,5 @@
{
"$schema": "https://schema.freqtrade.io/schema.json",
"max_open_trades": 3,
"stake_currency": "BTC",
"stake_amount": 0.05,

View File

@@ -1,4 +1,5 @@
{
"$schema": "https://schema.freqtrade.io/schema.json",
"max_open_trades": 5,
"stake_currency": "EUR",
"stake_amount": 10,

View File

@@ -1,5 +1,4 @@
---
version: '3'
services:
freqtrade:
image: freqtradeorg/freqtrade:stable

View File

@@ -1,4 +1,4 @@
FROM python:3.11.8-slim-bookworm as base
FROM python:3.11.10-slim-bookworm as base
# Setup env
ENV LANG C.UTF-8
@@ -35,7 +35,7 @@ COPY build_helpers/* /tmp/
COPY --chown=ftuser:ftuser requirements.txt /freqtrade/
USER ftuser
RUN pip install --user --no-cache-dir numpy \
&& pip install --user --no-index --find-links /tmp/ pyarrow TA-Lib==0.4.28 \
&& 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

View File

@@ -1,5 +1,4 @@
---
version: '3'
services:
freqtrade:
image: freqtradeorg/freqtrade:stable_freqaitorch

View File

@@ -1,5 +1,4 @@
---
version: '3'
services:
ft_jupyterlab:
build:

View File

@@ -18,15 +18,13 @@ freqtrade backtesting -c <config.json> --timeframe <tf> --strategy <strategy_nam
```
This will tell freqtrade to output a pickled dictionary of strategy, pairs and corresponding
DataFrame of the candles that resulted in buy signals. Depending on how many buys your strategy
makes, this file may get quite large, so periodically check your `user_data/backtest_results`
folder to delete old exports.
DataFrame of the candles that resulted in entry and exit signals.
Depending on how many entries your strategy makes, this file may get quite large, so periodically check your `user_data/backtest_results` folder to delete old exports.
Before running your next backtest, make sure you either delete your old backtest results or run
backtesting with the `--cache none` option to make sure no cached results are used.
If all goes well, you should now see a `backtest-result-{timestamp}_signals.pkl` file in the
`user_data/backtest_results` folder.
If all goes well, you should now see a `backtest-result-{timestamp}_signals.pkl` and `backtest-result-{timestamp}_exited.pkl` files in the `user_data/backtest_results` folder.
To analyze the entry/exit tags, we now need to use the `freqtrade backtesting-analysis` command
with `--analysis-groups` option provided with space-separated arguments:
@@ -36,7 +34,7 @@ freqtrade backtesting-analysis -c <config.json> --analysis-groups 0 1 2 3 4 5
```
This command will read from the last backtesting results. The `--analysis-groups` option is
used to specify the various tabular outputs showing the profit fo each group or trade,
used to specify the various tabular outputs showing the profit of each group or trade,
ranging from the simplest (0) to the most detailed per pair, per buy and per sell tag (4):
* 0: overall winrate and profit summary by enter_tag
@@ -103,6 +101,10 @@ The indicators have to be present in your strategy's main DataFrame (either for
timeframe or for informative timeframes) otherwise they will simply be ignored in the script
output.
!!! Note "Indicator List"
The indicator values will be displayed for both entry and exit points. If `--indicator-list all` is specified,
only the indicators at the entry point will be shown to avoid excessively large lists, which could occur depending on the strategy.
There are a range of candle and trade-related fields that are included in the analysis so are
automatically accessible by including them on the indicator-list, and these include:
@@ -118,6 +120,53 @@ automatically accessible by including them on the indicator-list, and these incl
- **profit_ratio :** trade profit ratio
- **profit_abs :** absolute profit return of the trade
#### Sample Output for Indicator Values
```bash
freqtrade backtesting-analysis -c user_data/config.json --analysis-groups 0 --indicator-list chikou_span tenkan_sen
```
In this example,
we aim to display the `chikou_span` and `tenkan_sen` indicator values at both the entry and exit points of trades.
A sample output for indicators might look like this:
| pair | open_date | enter_reason | exit_reason | chikou_span (entry) | tenkan_sen (entry) | chikou_span (exit) | tenkan_sen (exit) |
|-----------|---------------------------|--------------|-------------|---------------------|--------------------|--------------------|-------------------|
| DOGE/USDT | 2024-07-06 00:35:00+00:00 | | exit_signal | 0.105 | 0.106 | 0.105 | 0.107 |
| BTC/USDT | 2024-08-05 14:20:00+00:00 | | roi | 54643.440 | 51696.400 | 54386.000 | 52072.010 |
As shown in the table, `chikou_span (entry)` represents the indicator value at the time of trade entry,
while `chikou_span (exit)` reflects its value at the time of exit.
This detailed view of indicator values enhances the analysis.
The `(entry)` and `(exit)` suffixes are added to indicators
to distinguish the values at the entry and exit points of the trade.
!!! Note "Trade-wide Indicators"
Certain trade-wide indicators do not have the `(entry)` or `(exit)` suffix. These indicators include: `pair`, `stake_amount`,
`max_stake_amount`, `amount`, `open_date`, `close_date`, `open_rate`, `close_rate`, `fee_open`, `fee_close`, `trade_duration`,
`profit_ratio`, `profit_abs`, `exit_reason`,`initial_stop_loss_abs`, `initial_stop_loss_ratio`, `stop_loss_abs`, `stop_loss_ratio`,
`min_rate`, `max_rate`, `is_open`, `enter_tag`, `leverage`, `is_short`, `open_timestamp`, `close_timestamp` and `orders`
#### Filtering Indicators Based on Entry or Exit Signals
The `--indicator-list` option, by default, displays indicator values for both entry and exit signals. To filter the indicator values exclusively for entry signals, you can use the `--entry-only` argument. Similarly, to display indicator values only at exit signals, use the `--exit-only` argument.
Example: Display indicator values at entry signals:
```bash
freqtrade backtesting-analysis -c user_data/config.json --analysis-groups 0 --indicator-list chikou_span tenkan_sen --entry-only
```
Example: Display indicator values at exit signals:
```bash
freqtrade backtesting-analysis -c user_data/config.json --analysis-groups 0 --indicator-list chikou_span tenkan_sen --exit-only
```
!!! note
When using these filters, the indicator names will not be suffixed with `(entry)` or `(exit)`.
### Filtering the trade output by date

View File

@@ -30,11 +30,17 @@ class SuperDuperHyperOptLoss(IHyperOptLoss):
"""
@staticmethod
def hyperopt_loss_function(results: DataFrame, trade_count: int,
min_date: datetime, max_date: datetime,
config: Config, processed: Dict[str, DataFrame],
backtest_stats: Dict[str, Any],
*args, **kwargs) -> float:
def hyperopt_loss_function(
*,
results: DataFrame,
trade_count: int,
min_date: datetime,
max_date: datetime,
config: Config,
processed: Dict[str, DataFrame],
backtest_stats: Dict[str, Any],
**kwargs,
) -> float:
"""
Objective function, returns smaller number for better results
This is the legacy algorithm (used until now in freqtrade).

152
docs/advanced-orderflow.md Normal file
View File

@@ -0,0 +1,152 @@
# Orderflow data
This guide walks you through utilizing public trade data for advanced orderflow analysis in Freqtrade.
!!! 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).
!!! 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.
## Getting Started
### Enable Public Trades
In your `config.json` file, set the `use_public_trades` option to true under the `exchange` section.
```json
"exchange": {
...
"use_public_trades": true,
}
```
### Configure Orderflow Processing
Define your desired settings for orderflow processing within the orderflow section of config.json. Here, you can adjust factors like:
- `cache_size`: How many previous orderflow candles are saved into cache instead of calculated every new candle
- `max_candles`: Filter how many candles would you like to get trades data for.
- `scale`: This controls the price bin size for the footprint chart.
- `stacked_imbalance_range`: Defines the minimum consecutive imbalanced price levels required for consideration.
- `imbalance_volume`: Filters out imbalances with volume below this threshold.
- `imbalance_ratio`: Filters out imbalances with a ratio (difference between ask and bid volume) lower than this value.
```json
"orderflow": {
"cache_size": 1000,
"max_candles": 1500,
"scale": 0.5,
"stacked_imbalance_range": 3, // needs at least this amount of imbalance next to each other
"imbalance_volume": 1, // filters out below
"imbalance_ratio": 3 // filters out ratio lower than
},
```
## Downloading Trade Data for Backtesting
To download historical trade data for backtesting, use the --dl-trades flag with the freqtrade download-data command.
```bash
freqtrade download-data -p BTC/USDT:USDT --timerange 20230101- --trading-mode futures --timeframes 5m --dl-trades
```
!!! Warning "Data availability"
Not all exchanges provide public trade data. For supported exchanges, freqtrade will warn you if public trade data is not available if you start downloading data with the `--dl-trades` flag.
## Accessing Orderflow Data
Once activated, several new columns become available in your dataframe:
``` python
dataframe["trades"] # Contains information about each individual trade.
dataframe["orderflow"] # Represents a footprint chart dict (see below)
dataframe["imbalances"] # Contains information about imbalances in the order flow.
dataframe["bid"] # Total bid volume
dataframe["ask"] # Total ask volume
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
```
You can access these columns in your strategy code for further analysis. Here's an example:
``` python
def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
# Calculating cumulative delta
dataframe["cum_delta"] = cumulative_delta(dataframe["delta"])
# Accessing total trades
total_trades = dataframe["total_trades"]
...
def cumulative_delta(delta: Series):
cumdelta = delta.cumsum()
return cumdelta
```
### Footprint chart (`dataframe["orderflow"]`)
This column provides a detailed breakdown of buy and sell orders at different price levels, offering valuable insights into order flow dynamics. The `scale` parameter in your configuration determines the price bin size for this representation
The `orderflow` column contains a dict with the following structure:
``` output
{
"price": {
"bid_amount": 0.0,
"ask_amount": 0.0,
"bid": 0,
"ask": 0,
"delta": 0.0,
"total_volume": 0.0,
"total_trades": 0
}
}
```
#### Orderflow column explanation
- key: Price bin - binned at `scale` intervals
- `bid_amount`: Total volume bought at each price level.
- `ask_amount`: Total volume sold at each price level.
- `bid`: Number of buy orders at each price level.
- `ask`: Number of sell orders at each price level.
- `delta`: Difference between ask and bid volume at each price level.
- `total_volume`: Total volume (ask amount + bid amount) at each price level.
- `total_trades`: Total number of trades (ask + bid) at each price level.
By leveraging these features, you can gain valuable insights into market sentiment and potential trading opportunities based on order flow analysis.
### Raw trades data (`dataframe["trades"]`)
List with the individual trades that occurred during the candle. This data can be used for more granular analysis of order flow dynamics.
Each individual entry contains a dict with the following keys:
- `timestamp`: Timestamp of the trade.
- `date`: Date of the trade.
- `price`: Price of the trade.
- `amount`: Volume of the trade.
- `side`: Buy or sell.
- `id`: Unique identifier for the trade.
- `cost`: Total cost of the trade (price * amount).
### Imbalances (`dataframe["imbalances"]`)
This column provides a dict with information about imbalances in the order flow. An imbalance occurs when there is a significant difference between the ask and bid volume at a given price level.
Each row looks as follows - with price as index, and the corresponding bid and ask imbalance values as columns
``` output
{
"price": {
"bid_imbalance": False,
"ask_imbalance": False
}
}
```

View File

@@ -114,8 +114,46 @@ services:
--strategy SampleStrategy
```
You can use whatever naming convention you want, freqtrade1 and 2 are arbitrary. Note, that you will need to use different database files, port mappings and telegram configurations for each instance, as mentioned above.
## Use a different database system
Freqtrade is using SQLAlchemy, which supports multiple different database systems. As such, a multitude of database systems should be supported.
Freqtrade does not depend or install any additional database driver. Please refer to the [SQLAlchemy docs](https://docs.sqlalchemy.org/en/14/core/engines.html#database-urls) on installation instructions for the respective database systems.
The following systems have been tested and are known to work with freqtrade:
* sqlite (default)
* PostgreSQL
* MariaDB
!!! Warning
By using one of the below database systems, you acknowledge that you know how to manage such a system. The freqtrade team will not provide any support with setup or maintenance (or backups) of the below database systems.
### PostgreSQL
Installation:
`pip install psycopg2-binary`
Usage:
`... --db-url postgresql+psycopg2://<username>:<password>@localhost:5432/<database>`
Freqtrade will automatically create the tables necessary upon startup.
If you're running different instances of Freqtrade, you must either setup one database per Instance or use different users / schemas for your connections.
### MariaDB / MySQL
Freqtrade supports MariaDB by using SQLAlchemy, which supports multiple different database systems.
Installation:
`pip install pymysql`
Usage:
`... --db-url mysql+pymysql://<username>:<password>@localhost:3306/<database>`
## Configure the bot running as a systemd service

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

View File

@@ -253,36 +253,36 @@ A backtesting result will look like that:
```
================================================ BACKTESTING REPORT =================================================
| Pair | Entries | Avg Profit % | Tot Profit BTC | Tot Profit % | Avg Duration | Wins Draws Loss Win% |
|:---------|--------:|---------------:|-----------------:|---------------:|:-------------|-------------------------:|
| ADA/BTC | 35 | -0.11 | -0.00019428 | -1.94 | 4:35:00 | 14 0 21 40.0 |
| ARK/BTC | 11 | -0.41 | -0.00022647 | -2.26 | 2:03:00 | 3 0 8 27.3 |
| BTS/BTC | 32 | 0.31 | 0.00048938 | 4.89 | 5:05:00 | 18 0 14 56.2 |
| DASH/BTC | 13 | -0.08 | -0.00005343 | -0.53 | 4:39:00 | 6 0 7 46.2 |
| ENG/BTC | 18 | 1.36 | 0.00122807 | 12.27 | 2:50:00 | 8 0 10 44.4 |
| EOS/BTC | 36 | 0.08 | 0.00015304 | 1.53 | 3:34:00 | 16 0 20 44.4 |
| ETC/BTC | 26 | 0.37 | 0.00047576 | 4.75 | 6:14:00 | 11 0 15 42.3 |
| ETH/BTC | 33 | 0.30 | 0.00049856 | 4.98 | 7:31:00 | 16 0 17 48.5 |
| IOTA/BTC | 32 | 0.03 | 0.00005444 | 0.54 | 3:12:00 | 14 0 18 43.8 |
| LSK/BTC | 15 | 1.75 | 0.00131413 | 13.13 | 2:58:00 | 6 0 9 40.0 |
| LTC/BTC | 32 | -0.04 | -0.00006886 | -0.69 | 4:49:00 | 11 0 21 34.4 |
| NANO/BTC | 17 | 1.26 | 0.00107058 | 10.70 | 1:55:00 | 10 0 7 58.5 |
| NEO/BTC | 23 | 0.82 | 0.00094936 | 9.48 | 2:59:00 | 10 0 13 43.5 |
| REQ/BTC | 9 | 1.17 | 0.00052734 | 5.27 | 3:47:00 | 4 0 5 44.4 |
| XLM/BTC | 16 | 1.22 | 0.00097800 | 9.77 | 3:15:00 | 7 0 9 43.8 |
| XMR/BTC | 23 | -0.18 | -0.00020696 | -2.07 | 5:30:00 | 12 0 11 52.2 |
| XRP/BTC | 35 | 0.66 | 0.00114897 | 11.48 | 3:49:00 | 12 0 23 34.3 |
| ZEC/BTC | 22 | -0.46 | -0.00050971 | -5.09 | 2:22:00 | 7 0 15 31.8 |
| TOTAL | 429 | 0.36 | 0.00762792 | 76.20 | 4:12:00 | 186 0 243 43.4 |
| Pair | Trades | Avg Profit % | Tot Profit BTC | Tot Profit % | Avg Duration | Wins Draws Loss Win% |
|----------+--------+----------------+------------------+----------------+--------------+--------------------------|
| ADA/BTC | 35 | -0.11 | -0.00019428 | -1.94 | 4:35:00 | 14 0 21 40.0 |
| ARK/BTC | 11 | -0.41 | -0.00022647 | -2.26 | 2:03:00 | 3 0 8 27.3 |
| BTS/BTC | 32 | 0.31 | 0.00048938 | 4.89 | 5:05:00 | 18 0 14 56.2 |
| DASH/BTC | 13 | -0.08 | -0.00005343 | -0.53 | 4:39:00 | 6 0 7 46.2 |
| ENG/BTC | 18 | 1.36 | 0.00122807 | 12.27 | 2:50:00 | 8 0 10 44.4 |
| EOS/BTC | 36 | 0.08 | 0.00015304 | 1.53 | 3:34:00 | 16 0 20 44.4 |
| ETC/BTC | 26 | 0.37 | 0.00047576 | 4.75 | 6:14:00 | 11 0 15 42.3 |
| ETH/BTC | 33 | 0.30 | 0.00049856 | 4.98 | 7:31:00 | 16 0 17 48.5 |
| IOTA/BTC | 32 | 0.03 | 0.00005444 | 0.54 | 3:12:00 | 14 0 18 43.8 |
| LSK/BTC | 15 | 1.75 | 0.00131413 | 13.13 | 2:58:00 | 6 0 9 40.0 |
| LTC/BTC | 32 | -0.04 | -0.00006886 | -0.69 | 4:49:00 | 11 0 21 34.4 |
| NANO/BTC | 17 | 1.26 | 0.00107058 | 10.70 | 1:55:00 | 10 0 7 58.5 |
| NEO/BTC | 23 | 0.82 | 0.00094936 | 9.48 | 2:59:00 | 10 0 13 43.5 |
| REQ/BTC | 9 | 1.17 | 0.00052734 | 5.27 | 3:47:00 | 4 0 5 44.4 |
| XLM/BTC | 16 | 1.22 | 0.00097800 | 9.77 | 3:15:00 | 7 0 9 43.8 |
| XMR/BTC | 23 | -0.18 | -0.00020696 | -2.07 | 5:30:00 | 12 0 11 52.2 |
| XRP/BTC | 35 | 0.66 | 0.00114897 | 11.48 | 3:49:00 | 12 0 23 34.3 |
| ZEC/BTC | 22 | -0.46 | -0.00050971 | -5.09 | 2:22:00 | 7 0 15 31.8 |
| TOTAL | 429 | 0.36 | 0.00762792 | 76.20 | 4:12:00 | 186 0 243 43.4 |
============================================= LEFT OPEN TRADES REPORT =============================================
| Pair | Entries | Avg Profit % | Tot Profit BTC | Tot Profit % | Avg Duration | Win Draw Loss Win% |
|:---------|---------:|---------------:|-----------------:|---------------:|:---------------|--------------------:|
| ADA/BTC | 1 | 0.89 | 0.00004434 | 0.44 | 6:00:00 | 1 0 0 100 |
| LTC/BTC | 1 | 0.68 | 0.00003421 | 0.34 | 2:00:00 | 1 0 0 100 |
| TOTAL | 2 | 0.78 | 0.00007855 | 0.78 | 4:00:00 | 2 0 0 100 |
| Pair | Trades | Avg Profit % | Tot Profit BTC | Tot Profit % | Avg Duration | Win Draw Loss Win% |
|----------+---------+----------------+------------------+----------------+----------------+---------------------|
| ADA/BTC | 1 | 0.89 | 0.00004434 | 0.44 | 6:00:00 | 1 0 0 100 |
| LTC/BTC | 1 | 0.68 | 0.00003421 | 0.34 | 2:00:00 | 1 0 0 100 |
| TOTAL | 2 | 0.78 | 0.00007855 | 0.78 | 4:00:00 | 2 0 0 100 |
==================== EXIT REASON STATS ====================
| Exit Reason | Exits | Wins | Draws | Losses |
|:-------------------|--------:|------:|-------:|--------:|
|--------------------+---------+-------+--------+---------|
| trailing_stop_loss | 205 | 150 | 0 | 55 |
| stop_loss | 166 | 0 | 0 | 166 |
| exit_signal | 56 | 36 | 0 | 20 |
@@ -293,6 +293,7 @@ A backtesting result will look like that:
|-----------------------------+---------------------|
| Backtesting from | 2019-01-01 00:00:00 |
| Backtesting to | 2019-05-01 00:00:00 |
| Trading Mode | Spot |
| Max open trades | 3 |
| | |
| Total/Daily Avg Trades | 429 / 3.575 |
@@ -398,6 +399,7 @@ It contains some useful key metrics about performance of your strategy on backte
|-----------------------------+---------------------|
| Backtesting from | 2019-01-01 00:00:00 |
| Backtesting to | 2019-05-01 00:00:00 |
| Trading Mode | Spot |
| Max open trades | 3 |
| | |
| Total/Daily Avg Trades | 429 / 3.575 |
@@ -452,6 +454,7 @@ It contains some useful key metrics about performance of your strategy on backte
- `Backtesting from` / `Backtesting to`: Backtesting range (usually defined with the `--timerange` option).
- `Max open trades`: Setting of `max_open_trades` (or `--max-open-trades`) - or number of pairs in the pairlist (whatever is lower).
- `Trading Mode`: Spot or Futures trading.
- `Total/Daily Avg Trades`: Identical to the total trades of the backtest output table / Total trades divided by the backtesting duration in days (this will give you information about how many trades to expect from the strategy).
- `Starting balance`: Start balance - as given by dry-run-wallet (config or command line).
- `Final balance`: Final balance - starting balance + absolute profit.
@@ -522,21 +525,22 @@ To save time, by default backtest will reuse a cached result from within the las
### Further backtest-result analysis
To further analyze your backtest results, you can [export the trades](#exporting-trades-to-file).
You can then load the trades to perform further analysis as shown in the [data analysis](data-analysis.md#backtesting) backtesting section.
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.
## Assumptions made by backtesting
Since backtesting lacks some detailed information about what happens within a candle, it needs to take a few assumptions:
- Exchange [trading limits](#trading-limits-in-backtesting) are respected
- Entries happen at open-price
- All orders are filled at the requested price (no slippage, no unfilled orders)
- Entries happen at open-price unless a custom price logic has been specified
- All orders are filled at the requested price (no slippage) as long as the price is within the candle's high/low range
- Exit-signal exits happen at open-price of the consecutive candle
- Exits free their trade slot for a new trade with a different pair
- Exit-signal is favored over Stoploss, because exit-signals are assumed to trigger on candle's open
- ROI
- exits are compared to high - but the ROI value is used (e.g. ROI = 2%, high=5% - so the exit will be at 2%)
- exits are never "below the candle", so a ROI of 2% may result in a exit at 2.4% if low was at 2.4% profit
- Exits are compared to high - but the ROI value is used (e.g. ROI = 2%, high=5% - so the exit will be at 2%)
- Exits are never "below the candle", so a ROI of 2% may result in a exit at 2.4% if low was at 2.4% profit
- ROI entries which came into effect on the triggering candle (e.g. `120: 0.02` for 1h candles, from `60: 0.05`) will use the candle's open as exit rate
- Force-exits caused by `<N>=-1` ROI entries use low as exit value, unless N falls on the candle open (e.g. `120: -1` for 1h candles)
- Stoploss exits happen exactly at stoploss price, even if low was lower, but the loss will be `2 * fees` higher than the stoploss price
@@ -587,7 +591,7 @@ These precision values are based on current exchange limits (as described in the
## Improved backtest accuracy
One big limitation of backtesting is it's inability to know how prices moved intra-candle (was high before close, or viceversa?).
One big limitation of backtesting is it's inability to know how prices moved intra-candle (was high before close, or vice-versa?).
So assuming you run backtesting with a 1h timeframe, there will be 4 prices for that candle (Open, High, Low, Close).
While backtesting does take some assumptions (read above) about this - this can never be perfect, and will always be biased in one way or the other.
@@ -630,10 +634,10 @@ Detailed output for all strategies one after the other will be available, so mak
```
================================================== STRATEGY SUMMARY ===================================================================
| Strategy | Entries | Avg Profit % | Tot Profit BTC | Tot Profit % | Avg Duration | Wins | Draws | Losses | Drawdown % |
|:------------|---------:|---------------:|-----------------:|---------------:|:---------------|------:|-------:|-------:|-----------:|
| Strategy1 | 429 | 0.36 | 0.00762792 | 76.20 | 4:12:00 | 186 | 0 | 243 | 45.2 |
| Strategy2 | 1487 | -0.13 | -0.00988917 | -98.79 | 4:43:00 | 662 | 0 | 825 | 241.68 |
| Strategy | Trades | Avg Profit % | Tot Profit BTC | Tot Profit % | Avg Duration | Wins | Draws | Losses | Drawdown % |
|-------------+---------+----------------+------------------+----------------+----------------+-------+--------+--------+------------|
| Strategy1 | 429 | 0.36 | 0.00762792 | 76.20 | 4:12:00 | 186 | 0 | 243 | 45.2 |
| Strategy2 | 1487 | -0.13 | -0.00988917 | -98.79 | 4:43:00 | 662 | 0 | 825 | 241.68 |
```
## Next step

View File

@@ -12,41 +12,50 @@ This page explains the different parameters of the bot and how to run it.
```
usage: freqtrade [-h] [-V]
{trade,create-userdir,new-config,new-strategy,download-data,convert-data,convert-trade-data,list-data,backtesting,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-hyperopts,list-markets,list-pairs,list-strategies,list-timeframes,show-trades,test-pairlist,install-ui,plot-dataframe,plot-profit,webserver}
{trade,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,new-strategy,download-data,convert-data,convert-trade-data,list-data,backtesting,edge,hyperopt,hyperopt-list,hyperopt-show,list-exchanges,list-hyperopts,list-markets,list-pairs,list-strategies,list-timeframes,show-trades,test-pairlist,install-ui,plot-dataframe,plot-profit,webserver}
{trade,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-hyperopts Print available hyperopt classes.
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.
optional arguments:
options:
-h, --help show this help message and exit
-V, --version show program's version number and exit

View File

@@ -123,6 +123,19 @@ This is similar to using multiple `--config` parameters, but simpler in usage as
If multiple files are in the `add_config_files` section, then they will be assumed to be at identical levels, having the last occurrence override the earlier config (unless a parent already defined such a key).
## Editor autocomplete and validation
If you are using an editor that supports JSON schema, you can use the schema provided by Freqtrade to get autocompletion and validation of your configuration file by adding the following line to the top of your configuration file:
``` json
{
"$schema": "https://schema.freqtrade.io/schema.json",
}
```
??? Note "Develop version"
The develop schema is available as `https://schema.freqtrade.io/schema_dev.json` - though we recommend to stick to the stable version for the best experience.
## Configuration parameters
The table below will list all configuration parameters available.
@@ -197,18 +210,18 @@ Mandatory parameters are marked as **Required**, which means that they are requi
| `position_adjustment_enable` | Enables the strategy to use position adjustments (additional buys or sells). [More information here](strategy-callbacks.md#adjust-trade-position). <br> [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `false`.*<br> **Datatype:** Boolean
| `max_entry_position_adjustment` | Maximum additional order(s) for each open trade on top of the first entry Order. Set it to `-1` for unlimited additional orders. [More information here](strategy-callbacks.md#adjust-trade-position). <br> [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `-1`.*<br> **Datatype:** Positive Integer or -1
| | **Exchange**
| `exchange.name` | **Required.** Name of the exchange class to use. [List below](#user-content-what-values-for-exchangename). <br> **Datatype:** String
| `exchange.name` | **Required.** Name of the exchange class to use. <br> **Datatype:** String
| `exchange.key` | API key to use for the exchange. Only required when you are in production mode.<br>**Keep it in secret, do not disclose publicly.** <br> **Datatype:** String
| `exchange.secret` | API secret to use for the exchange. Only required when you are in production mode.<br>**Keep it in secret, do not disclose publicly.** <br> **Datatype:** String
| `exchange.password` | API password to use for the exchange. Only required when you are in production mode and for exchanges that use password for API requests.<br>**Keep it in secret, do not disclose publicly.** <br> **Datatype:** String
| `exchange.uid` | API uid to use for the exchange. Only required when you are in production mode and for exchanges that use uid for API requests.<br>**Keep it in secret, do not disclose publicly.** <br> **Datatype:** String
| `exchange.pair_whitelist` | List of pairs to use by the bot for trading and to check for potential trades during backtesting. Supports regex pairs as `.*/BTC`. Not used by VolumePairList. [More information](plugins.md#pairlists-and-pairlist-handlers). <br> **Datatype:** List
| `exchange.pair_blacklist` | List of pairs the bot must absolutely avoid for trading and backtesting. [More information](plugins.md#pairlists-and-pairlist-handlers). <br> **Datatype:** List
| `exchange.ccxt_config` | Additional CCXT parameters passed to both ccxt instances (sync and async). This is usually the correct place for additional ccxt configurations. Parameters may differ from exchange to exchange and are documented in the [ccxt documentation](https://ccxt.readthedocs.io/en/latest/manual.html#instantiation). Please avoid adding exchange secrets here (use the dedicated fields instead), as they may be contained in logs. <br> **Datatype:** Dict
| `exchange.ccxt_sync_config` | Additional CCXT parameters passed to the regular (sync) ccxt instance. Parameters may differ from exchange to exchange and are documented in the [ccxt documentation](https://ccxt.readthedocs.io/en/latest/manual.html#instantiation) <br> **Datatype:** Dict
| `exchange.ccxt_async_config` | Additional CCXT parameters passed to the async ccxt instance. Parameters may differ from exchange to exchange and are documented in the [ccxt documentation](https://ccxt.readthedocs.io/en/latest/manual.html#instantiation) <br> **Datatype:** Dict
| `exchange.ccxt_config` | Additional CCXT parameters passed to both ccxt instances (sync and async). This is usually the correct place for additional ccxt configurations. Parameters may differ from exchange to exchange and are documented in the [ccxt documentation](https://docs.ccxt.com/#/README?id=overriding-exchange-properties-upon-instantiation). Please avoid adding exchange secrets here (use the dedicated fields instead), as they may be contained in logs. <br> **Datatype:** Dict
| `exchange.ccxt_sync_config` | Additional CCXT parameters passed to the regular (sync) ccxt instance. Parameters may differ from exchange to exchange and are documented in the [ccxt documentation](https://docs.ccxt.com/#/README?id=overriding-exchange-properties-upon-instantiation) <br> **Datatype:** Dict
| `exchange.ccxt_async_config` | Additional CCXT parameters passed to the async ccxt instance. Parameters may differ from exchange to exchange and are documented in the [ccxt documentation](https://docs.ccxt.com/#/README?id=overriding-exchange-properties-upon-instantiation) <br> **Datatype:** Dict
| `exchange.enable_ws` | Enable the usage of Websockets for the exchange. <br>[More information](#consuming-exchange-websockets).<br>*Defaults to `true`.* <br> **Datatype:** Boolean
| `exchange.markets_refresh_interval` | The interval in minutes in which markets are reloaded. <br>*Defaults to `60` minutes.* <br> **Datatype:** Positive Integer
| `exchange.skip_pair_validation` | Skip pairlist validation on startup.<br>*Defaults to `false`*<br> **Datatype:** Boolean
| `exchange.skip_open_order_update` | Skips open order updates on startup should the exchange cause problems. Only relevant in live conditions.<br>*Defaults to `false`*<br> **Datatype:** Boolean
| `exchange.unknown_fee_rate` | Fallback value to use when calculating trading fees. This can be useful for exchanges which have fees in non-tradable currencies. The value provided here will be multiplied with the "fee cost".<br>*Defaults to `None`<br> **Datatype:** float
| `exchange.log_responses` | Log relevant exchange responses. For debug mode only - use with care.<br>*Defaults to `false`*<br> **Datatype:** Boolean
@@ -252,7 +265,7 @@ Mandatory parameters are marked as **Required**, which means that they are requi
| `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
| `internals.heartbeat_interval` | Print heartbeat message every N seconds. Set to 0 to disable heartbeat messages. <br>*Defaults to `60` seconds.* <br> **Datatype:** Positive Integer or 0
| `internals.sd_notify` | Enables use of the sd_notify protocol to tell systemd service manager about changes in the bot state and issue keep-alive pings. See [here](installation.md#7-optional-configure-freqtrade-as-a-systemd-service) for more details. <br> **Datatype:** Boolean
| `internals.sd_notify` | Enables use of the sd_notify protocol to tell systemd service manager about changes in the bot state and issue keep-alive pings. See [here](advanced-setup.md#configure-the-bot-running-as-a-systemd-service) for more details. <br> **Datatype:** Boolean
| `strategy` | **Required** Defines Strategy class to use. Recommended to be set via `--strategy NAME`. <br> **Datatype:** ClassName
| `strategy_path` | Adds an additional strategy lookup path (must be a directory). <br> **Datatype:** String
| `recursive_strategy_search` | Set to `true` to recursively search sub-directories inside `user_data/strategies` for a strategy. <br> **Datatype:** Boolean
@@ -370,7 +383,7 @@ This setting works in combination with `max_open_trades`. The maximum capital en
For example, the bot will at most use (0.05 BTC x 3) = 0.15 BTC, assuming a configuration of `max_open_trades=3` and `stake_amount=0.05`.
!!! Note
This setting respects the [available balance configuration](#available-balance).
This setting respects the [available balance configuration](#tradable-balance).
#### Dynamic stake amount
@@ -409,6 +422,8 @@ Or another example if your position adjustment assumes it can do 1 additional bu
--8<-- "includes/pricing.md"
## Further Configuration details
### Understand minimal_roi
The `minimal_roi` configuration parameter is a JSON object where the key is a duration
@@ -547,7 +562,7 @@ is automatically cancelled by the exchange.
**PO (Post only):**
Post only order. The order is either placed as a maker order, or it is canceled.
This means the order must be placed on orderbook for at at least time in an unfilled state.
This means the order must be placed on orderbook for at least time in an unfilled state.
#### time_in_force config
@@ -568,7 +583,14 @@ The possible values are: `GTC` (default), `FOK` or `IOC`.
This is ongoing work. For now, it is supported only for binance, gate and kucoin.
Please don't change the default value unless you know what you are doing and have researched the impact of using different values for your particular exchange.
### What values can be used for fiat_display_currency?
### Fiat conversion
Freqtrade uses the Coingecko API to convert the coin value to it's corresponding fiat value for the Telegram reports.
The FIAT currency can be set in the configuration file as `fiat_display_currency`.
Removing `fiat_display_currency` completely from the configuration will skip initializing coingecko, and will not show any FIAT currency conversion. This has no importance for the correct functioning of the bot.
#### What values can be used for fiat_display_currency?
The `fiat_display_currency` configuration parameter sets the base currency to use for the
conversion from coin to fiat in the bot Telegram reports.
@@ -587,7 +609,49 @@ The valid values are:
"BTC", "ETH", "XRP", "LTC", "BCH", "BNB"
```
Removing `fiat_display_currency` completely from the configuration will skip initializing coingecko, and will not show any FIAT currency conversion. This has no importance for the correct functioning of the bot.
#### Coingecko Rate limit problems
On some IP ranges, coingecko is heavily rate-limiting.
In such cases, you may want to add your coingecko API key to the configuration.
``` json
{
"fiat_display_currency": "USD",
"coingecko": {
"api_key": "your-api",
"is_demo": true
}
}
```
Freqtrade supports both Demo and Pro coingecko API keys.
The Coingecko API key is NOT required for the bot to function correctly.
It is only used for the conversion of coin to fiat in the Telegram reports, which usually also work without API key.
## Consuming exchange Websockets
Freqtrade can consume websockets through ccxt.pro.
Freqtrade aims ensure data is available at all times.
Should the websocket connection fail (or be disabled), the bot will fall back to REST API calls.
Should you experience problems you suspect are caused by websockets, you can disable these via the setting `exchange.enable_ws`, which defaults to true.
```jsonc
"exchange": {
// ...
"enable_ws": false,
// ...
}
```
Should you be required to use a proxy, please refer to the [proxy section](#using-proxy-with-freqtrade) for more information.
!!! Info "Rollout"
We're implementing this out slowly, ensuring stability of your bots.
Currently, usage is limited to ohlcv data streams.
It's also limited to a few exchanges, with new exchanges being added on an ongoing basis.
## Using Dry-run mode
@@ -625,9 +689,9 @@ Once you will be happy with your bot performance running in the Dry-run mode, yo
* API-keys may or may not be provided. Only Read-Only operations (i.e. operations that do not alter account state) on the exchange are performed in dry-run mode.
* Wallets (`/balance`) are simulated based on `dry_run_wallet`.
* Orders are simulated, and will not be posted to the exchange.
* Market orders fill based on orderbook volume the moment the order is placed.
* Market orders fill based on orderbook volume the moment the order is placed, with a maximum slippage of 5%.
* Limit orders fill once the price reaches the defined level - or time out based on `unfilledtimeout` settings.
* Limit orders will be converted to market orders if they cross the price by more than 1%.
* Limit orders will be converted to market orders if they cross the price by more than 1%, and will be filled immediately based regular market order rules (see point about Market orders above).
* In combination with `stoploss_on_exchange`, the stop_loss price is assumed to be filled.
* Open orders (not trades, which are stored in the database) are kept open after bot restarts, with the assumption that they were not filled while being offline.
@@ -677,7 +741,7 @@ You should also make sure to read the [Exchanges](exchanges.md) section of the d
**NEVER** share your private configuration file or your exchange keys with anyone!
### Using proxy with Freqtrade
## Using a proxy with Freqtrade
To use a proxy with freqtrade, export your proxy settings using the variables `"HTTP_PROXY"` and `"HTTPS_PROXY"` set to the appropriate values.
This will have the proxy settings applied to everything (telegram, coingecko, ...) **except** for exchange requests.
@@ -688,7 +752,7 @@ export HTTPS_PROXY="http://addr:port"
freqtrade
```
#### Proxy exchange requests
### Proxy exchange requests
To use a proxy for exchange connections - you will have to define the proxies as part of the ccxt configuration.
@@ -697,6 +761,7 @@ To use a proxy for exchange connections - you will have to define the proxies as
"exchange": {
"ccxt_config": {
"httpsProxy": "http://addr:port",
"wsProxy": "http://addr:port",
}
}
}

View File

@@ -24,10 +24,10 @@ usage: freqtrade download-data [-h] [-v] [--logfile FILE] [-V] [-c PATH]
[--days INT] [--new-pairs-days INT]
[--include-inactive-pairs]
[--timerange TIMERANGE] [--dl-trades]
[--exchange EXCHANGE]
[--convert] [--exchange EXCHANGE]
[-t TIMEFRAMES [TIMEFRAMES ...]] [--erase]
[--data-format-ohlcv {json,jsongz,hdf5,feather,parquet}]
[--data-format-trades {json,jsongz,hdf5,feather}]
[--data-format-trades {json,jsongz,hdf5,feather,parquet}]
[--trading-mode {spot,margin,futures}]
[--prepend]
@@ -48,6 +48,11 @@ options:
--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
@@ -57,7 +62,7 @@ options:
--data-format-ohlcv {json,jsongz,hdf5,feather,parquet}
Storage format for downloaded candle (OHLCV) data.
(default: `feather`).
--data-format-trades {json,jsongz,hdf5,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}
@@ -418,7 +423,8 @@ You can get a list of downloaded data using the `list-data` sub-command.
usage: freqtrade list-data [-h] [-v] [--logfile FILE] [-V] [-c PATH] [-d PATH]
[--userdir PATH] [--exchange EXCHANGE]
[--data-format-ohlcv {json,jsongz,hdf5,feather,parquet}]
[-p PAIRS [PAIRS ...]]
[--data-format-trades {json,jsongz,hdf5,feather,parquet}]
[--trades] [-p PAIRS [PAIRS ...]]
[--trading-mode {spot,margin,futures}]
[--show-timerange]
@@ -428,6 +434,10 @@ options:
--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.
@@ -460,26 +470,47 @@ Common arguments:
```bash
> freqtrade list-data --userdir ~/.freqtrade/user_data/
Found 33 pair / timeframe combinations.
pairs timeframe
---------- -----------------------------------------
ADA/BTC 5m, 15m, 30m, 1h, 2h, 4h, 6h, 12h, 1d
ADA/ETH 5m, 15m, 30m, 1h, 2h, 4h, 6h, 12h, 1d
ETH/BTC 5m, 15m, 30m, 1h, 2h, 4h, 6h, 12h, 1d
ETH/USDT 5m, 15m, 30m, 1h, 2h, 4h
Found 33 pair / timeframe combinations.
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━┓
┃ Pair ┃ Timeframe ┃ Type ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━┩
│ ADA/BTC │ 5m, 15m, 30m, 1h, 2h, 4h, 6h, 12h, 1d │ spot │
│ ADA/ETH │ 5m, 15m, 30m, 1h, 2h, 4h, 6h, 12h, 1d │ spot │
│ ETH/BTC │ 5m, 15m, 30m, 1h, 2h, 4h, 6h, 12h, 1d │ spot │
│ ETH/USDT │ 5m, 15m, 30m, 1h, 2h, 4h │ spot │
└───────────────┴───────────────────────────────────────────┴──────┘
```
Show all trades data including from/to timerange
``` bash
> freqtrade list-data --show --trades
Found trades data for 1 pair.
┏━━━━━━━━━┳━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┓
┃ Pair ┃ Type ┃ From ┃ To ┃ Trades ┃
┡━━━━━━━━━╇━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━┩
│ XRP/ETH │ spot │ 2019-10-11 00:00:11 │ 2019-10-13 11:19:28 │ 12477 │
└─────────┴──────┴─────────────────────┴─────────────────────┴────────┘
```
## Trades (tick) data
By default, `download-data` sub-command downloads Candles (OHLCV) data. Some exchanges also provide historic trade-data via their API.
By default, `download-data` sub-command downloads Candles (OHLCV) data. Most exchanges also provide historic trade-data via their API.
This data can be useful if you need many different timeframes, since it is only downloaded once, and then resampled locally to the desired timeframes.
Since this data is large by default, the files use the feather fileformat by default. They are stored in your data-directory with the naming convention of `<pair>-trades.feather` (`ETH_BTC-trades.feather`). Incremental mode is also supported, as for historic OHLCV data, so downloading the data once per week with `--days 8` will create an incremental data-repository.
Since this data is large by default, the files use the feather file format by default. They are stored in your data-directory with the naming convention of `<pair>-trades.feather` (`ETH_BTC-trades.feather`). Incremental mode is also supported, as for historic OHLCV data, so downloading the data once per week with `--days 8` will create an incremental data-repository.
To use this mode, simply add `--dl-trades` to your call. This will swap the download method to download trades, and resamples the data locally.
To use this mode, simply add `--dl-trades` to your call. This will swap the download method to download trades.
If `--convert` is also provided, the resample step will happen automatically and overwrite eventually existing OHLCV data for the given pair/timeframe combinations.
!!! Warning "do not use"
You should not use this unless you're a kraken user. Most other exchanges provide OHLCV data with sufficient history.
!!! Warning "Do not use"
You should not use this unless you're a kraken user (Kraken does not provide historic OHLCV data).
Most other exchanges provide OHLCV data with sufficient history, so downloading multiple timeframes through that method will still proof to be a lot faster than downloading trades data.
!!! Note "Kraken user"
Kraken users should read [this](exchanges.md#historic-kraken-data) before starting to download data.
Example call:
@@ -490,12 +521,6 @@ freqtrade download-data --exchange kraken --pairs XRP/EUR ETH/EUR --days 20 --dl
!!! Note
While this method uses async calls, it will be slow, since it requires the result of the previous call to generate the next request to the exchange.
!!! Warning
The historic trades are not available during Freqtrade dry-run and live trade modes because all exchanges tested provide this data with a delay of few 100 candles, so it's not suitable for real-time trading.
!!! Note "Kraken user"
Kraken users should read [this](exchanges.md#historic-kraken-data) before starting to download data.
## Next step
Great, you now have backtest data downloaded, so you can now start [backtesting](backtesting.md) your strategy.
Great, you now have some data downloaded, so you can now start [backtesting](backtesting.md) your strategy.

View File

@@ -22,7 +22,7 @@ This will spin up a local server (usually on port 8000) so you can see if everyt
## Developer setup
To configure a development environment, you can either use the provided [DevContainer](#devcontainer-setup), or use the `setup.sh` script and answer "y" when asked "Do you want to install dependencies for dev [y/N]? ".
Alternatively (e.g. if your system is not supported by the setup.sh script), follow the manual installation process and run `pip3 install -e .[all]`.
Alternatively (e.g. if your system is not supported by the setup.sh script), follow the manual installation process and run `pip3 install -r requirements-dev.txt` - followed by `pip3 install -e .[all]`.
This will install all required tools for development, including `pytest`, `ruff`, `mypy`, and `coveralls`.
@@ -83,7 +83,7 @@ Details will obviously vary between setups - but this should work to get you sta
``` json
{
"name": "freqtrade trade",
"type": "python",
"type": "debugpy",
"request": "launch",
"module": "freqtrade",
"console": "integratedTerminal",
@@ -205,7 +205,7 @@ This is called with each iteration of the bot (only if the Pairlist Handler is a
It must return the resulting pairlist (which may then be passed into the chain of Pairlist Handlers).
Validations are optional, the parent class exposes a `_verify_blacklist(pairlist)` and `_whitelist_for_active_markets(pairlist)` to do default filtering. Use this if you limit your result to a certain number of pairs - so the end-result is not shorter than expected.
Validations are optional, the parent class exposes a `verify_blacklist(pairlist)` and `_whitelist_for_active_markets(pairlist)` to do default filtering. Use this if you limit your result to a certain number of pairs - so the end-result is not shorter than expected.
#### filter_pairlist
@@ -219,7 +219,7 @@ The default implementation in the base class simply calls the `_validate_pair()`
If overridden, it must return the resulting pairlist (which may then be passed into the next Pairlist Handler in the chain).
Validations are optional, the parent class exposes a `_verify_blacklist(pairlist)` and `_whitelist_for_active_markets(pairlist)` to do default filters. Use this if you limit your result to a certain number of pairs - so the end result is not shorter than expected.
Validations are optional, the parent class exposes a `verify_blacklist(pairlist)` and `_whitelist_for_active_markets(pairlist)` to do default filters. Use this if you limit your result to a certain number of pairs - so the end result is not shorter than expected.
In `VolumePairList`, this implements different methods of sorting, does early validation so only the expected number of pairs is returned.
@@ -261,7 +261,7 @@ For that reason, they must implement the following methods:
The `until` portion should be calculated using the provided `calculate_lock_end()` method.
All Protections should use `"stop_duration"` / `"stop_duration_candles"` to define how long a a pair (or all pairs) should be locked.
All Protections should use `"stop_duration"` / `"stop_duration_candles"` to define how long a pair (or all pairs) should be locked.
The content of this is made available as `self._stop_duration` to the each Protection.
If your protection requires a look-back period, please use `"lookback_period"` / `"lockback_period_candles"` to keep all protections aligned.
@@ -305,7 +305,7 @@ The `IProtection` parent class provides a helper method for this in `calculate_l
Most exchanges supported by CCXT should work out of the box.
To quickly test the public endpoints of an exchange, add a configuration for your exchange to `test_ccxt_compat.py` and run these tests with `pytest --longrun tests/exchange/test_ccxt_compat.py`.
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).
Also try to use `freqtrade download-data` for an extended timerange (multiple months) and verify that the data downloaded correctly (no holes, the specified timerange was actually downloaded).
@@ -481,21 +481,24 @@ Once the PR against stable is merged (best right after merging):
### pypi
!!! Note
This process is now automated as part of Github Actions.
!!! Warning "Manual Releases"
This process is automated as part of Github Actions.
Manual pypi pushes should not be necessary.
To create a pypi release, please run the following commands:
??? example "Manual release"
To manually create a pypi release, please run the following commands:
Additional requirement: `wheel`, `twine` (for uploading), account on pypi with proper permissions.
Additional requirement: `wheel`, `twine` (for uploading), account on pypi with proper permissions.
``` bash
python setup.py sdist bdist_wheel
``` bash
pip install -U build
python -m build --sdist --wheel
# For pypi test (to check if some change to the installation did work)
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
# For pypi test (to check if some change to the installation did work)
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
# For production:
twine upload dist/*
```
# For production:
twine upload dist/*
```
Please don't push non-releases to the productive / real pypi instance.
Please don't push non-releases to the productive / real pypi instance.

View File

@@ -137,7 +137,7 @@ $$ R = \frac{\text{average_profit}}{\text{average_loss}} = \frac{\mu_{win}}{\mu_
### Expectancy
By combining the Win Rate $W$ and 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:
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$$

View File

@@ -127,6 +127,13 @@ These settings will be checked on startup, and freqtrade will show an error if t
Freqtrade will not attempt to change these settings.
## 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.
!!! Tip "Stoploss on Exchange"
Bingx supports `stoploss_on_exchange` and can use both stop-limit and stop-market orders. It provides great advantages, so we recommend to benefit from it by enabling stoploss on exchange.
## Kraken
Kraken 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.
@@ -248,18 +255,24 @@ The configuration parameter `exchange.unknown_fee_rate` can be used to specify t
## Bybit
Futures trading on bybit is currently supported for USDT markets, and will use isolated futures mode.
Users with unified accounts (there's no way back) can create a Sub-account which will start as "non-unified", and can therefore use isolated futures.
On startup, freqtrade will set the position mode to "One-way Mode" for the whole (sub)account. This avoids making this call over and over again (slowing down bot operations), but means that changes to this setting may result in exceptions and errors
On startup, freqtrade will set the position mode to "One-way Mode" for the whole (sub)account. This avoids making this call over and over again (slowing down bot operations), but means that changes to this setting may result in exceptions and errors.
As bybit doesn't provide funding rate history, the dry-run calculation is used for live trades as well.
API Keys for live futures trading (Subaccount on non-unified) must have the following permissions:
API Keys for live futures trading must have the following permissions:
* Read-write
* Contract - Orders
* Contract - Positions
We do strongly recommend to limit all API keys to the IP you're going to use it from.
!!! Warning "Unified accounts"
Freqtrade assumes accounts to be dedicated to the bot.
We therefore recommend the usage of one subaccount per bot. This is especially important when using unified accounts.
Other configurations (multiple bots on one account, manual non-bot trades on the bot account) are not supported and may lead to unexpected behavior.
!!! Tip "Stoploss on Exchange"
Bybit (futures only) supports `stoploss_on_exchange` and uses `stop-loss-limit` orders. It provides great advantages, so we recommend to benefit from it by enabling stoploss on exchange.
On futures, Bybit supports both `stop-limit` as well as `stop-market` orders. You can use either `"limit"` or `"market"` in the `order_types.stoploss` configuration setting to decide which type to use.
@@ -299,7 +312,7 @@ $ pip3 install web3
Most exchanges return current incomplete candle via their OHLCV/klines API interface.
By default, Freqtrade assumes that incomplete candle is fetched from the exchange and removes the last candle assuming it's the incomplete candle.
Whether your exchange returns incomplete candles or not can be checked using [the helper script](developer.md#Incomplete-candles) from the Contributor documentation.
Whether your exchange returns incomplete candles or not can be checked using [the helper script](developer.md#incomplete-candles) from the Contributor documentation.
Due to the danger of repainting, Freqtrade does not allow you to use this incomplete candle.

View File

@@ -2,7 +2,7 @@
## Supported Markets
Freqtrade supports spot trading, as well as (isolated) futures trading for some selected exchanges. Please refer to the [documentation start page](index.md#supported-futures-exchanges-experimental) for an uptodate list of supported exchanges.
Freqtrade supports spot trading, as well as (isolated) futures trading for some selected exchanges. Please refer to the [documentation start page](index.md#supported-futures-exchanges-experimental) for an up-to-date list of supported exchanges.
### Can my bot open short positions?
@@ -14,7 +14,7 @@ In spot markets, you can in some cases use leveraged spot tokens, which reflect
### Can my bot trade options or futures?
Futures trading is supported for selected exchanges. Please refer to the [documentation start page](index.md#supported-futures-exchanges-experimental) for an uptodate list of supported exchanges.
Futures trading is supported for selected exchanges. Please refer to the [documentation start page](index.md#supported-futures-exchanges-experimental) for an up-to-date list of supported exchanges.
## Beginner Tips & Tricks

84
docs/freq-ui.md Normal file
View File

@@ -0,0 +1,84 @@
# FreqUI
Freqtrade provides a builtin webserver, which can serve [FreqUI](https://github.com/freqtrade/frequi), the freqtrade frontend.
By default, the UI is automatically installed as part of the installation (script, docker).
freqUI can also be manually installed by using the `freqtrade install-ui` command.
This same command can also be used to update freqUI to new new releases.
Once the bot is started in trade / dry-run mode (with `freqtrade trade`) - the UI will be available under the configured API port (by default `http://127.0.0.1:8080`).
??? Note "Looking to contribute to freqUI?"
Developers should not use this method, but instead clone the corresponding use the method described in the [freqUI repository](https://github.com/freqtrade/frequi) to get the source-code of freqUI. A working installation of node will be required to build the frontend.
!!! tip "freqUI is not required to run freqtrade"
freqUI is an optional component of freqtrade, and is not required to run the bot.
It is a frontend that can be used to monitor the bot and to interact with it - but freqtrade itself will work perfectly fine without it.
## Configuration
FreqUI does not have it's own configuration file - but assumes a working setup for the [rest-api](rest-api.md) is available.
Please refer to the corresponding documentation page to get setup with freqUI
## UI
FreqUI is a modern, responsive web application that can be used to monitor and interact with your bot.
FreqUI provides a light, as well as a dark theme.
Themes can be easily switched via a prominent button at the top of the page.
The theme of the screenshots on this page will adapt to the selected documentation Theme, so to see the dark (or light) version, please switch the theme of the Documentation.
### Login
The below screenshot shows the login screen of freqUI.
![FreqUI - login](assets/frequi-login-CORS.png#only-dark)
![FreqUI - login](assets/frequi-login-CORS-light.png#only-light)
!!! Hint "CORS"
The Cors error shown in this screenshot is due to the fact that the UI is running on a different port than the API, and [CORS](#cors) has not been setup correctly yet.
### Trade view
The trade view allows you to visualize the trades that the bot is making and to interact with the bot.
On this page, you can also interact with the bot by starting and stopping it and - if configured - force trade entries and exits.
![FreqUI - trade view](assets/freqUI-trade-pane-dark.png#only-dark)
![FreqUI - trade view](assets/freqUI-trade-pane-light.png#only-light)
### Plot Configurator
FreqUI Plots can be configured either via a `plot_config` configuration object in the strategy (which can be loaded via "from strategy" button) or via the UI.
Multiple plot configurations can be created and switched at will - allowing for flexible, different views into your charts.
The plot configuration can be accessed via the "Plot Configurator" (Cog icon) button in the top right corner of the trade view.
![FreqUI - plot configuration](assets/freqUI-plot-configurator-dark.png#only-dark)
![FreqUI - plot configuration](assets/freqUI-plot-configurator-light.png#only-light)
### Settings
Several UI related settings can be changed by accessing the settings page.
Things you can change (among others):
* Timezone of the UI
* Visualization of open trades as part of the favicon (browser tab)
* Candle colors (up/down -> red/green)
* Enable / disable in-app notification types
![FreqUI - Settings view](assets/frequi-settings-dark.png#only-dark)
![FreqUI - Settings view](assets/frequi-settings-light.png#only-light)
## Backtesting
When freqtrade is started in [webserver mode](utils.md#webserver-mode) (freqtrade started with `freqtrade webserver`), the backtesting view becomes available.
This view allows you to backtest strategies and visualize the results.
You can also load and visualize previous backtest results, as well as compare the results with each other.
![FreqUI - Backtesting](assets/freqUI-backtesting-dark.png#only-dark)
![FreqUI - Backtesting](assets/freqUI-backtesting-light.png#only-light)
--8<-- "includes/cors.md"

View File

@@ -224,7 +224,7 @@ where $W_i$ is the weight of data point $i$ in a total set of $n$ data points. B
## Building the data pipeline
By default, FreqAI builds a dynamic pipeline based on user congfiguration settings. The default settings are robust and designed to work with a variety of methods. These two steps are a `MinMaxScaler(-1,1)` and a `VarianceThreshold` which removes any column that has 0 variance. Users can activate other steps with more configuration parameters. For example if users add `use_SVM_to_remove_outliers: true` to the `freqai` config, then FreqAI will automatically add the [`SVMOutlierExtractor`](#identifying-outliers-using-a-support-vector-machine-svm) to the pipeline. Likewise, users can add `principal_component_analysis: true` to the `freqai` config to activate PCA. The [DissimilarityIndex](#identifying-outliers-with-the-dissimilarity-index-di) is activated with `DI_threshold: 1`. Finally, noise can also be added to the data with `noise_standard_deviation: 0.1`. Finally, users can add [DBSCAN](#identifying-outliers-with-dbscan) outlier removal with `use_DBSCAN_to_remove_outliers: true`.
By default, FreqAI builds a dynamic pipeline based on user configuration settings. The default settings are robust and designed to work with a variety of methods. These two steps are a `MinMaxScaler(-1,1)` and a `VarianceThreshold` which removes any column that has 0 variance. Users can activate other steps with more configuration parameters. For example if users add `use_SVM_to_remove_outliers: true` to the `freqai` config, then FreqAI will automatically add the [`SVMOutlierExtractor`](#identifying-outliers-using-a-support-vector-machine-svm) to the pipeline. Likewise, users can add `principal_component_analysis: true` to the `freqai` config to activate PCA. The [DissimilarityIndex](#identifying-outliers-with-the-dissimilarity-index-di) is activated with `DI_threshold: 1`. Finally, noise can also be added to the data with `noise_standard_deviation: 0.1`. Finally, users can add [DBSCAN](#identifying-outliers-with-dbscan) outlier removal with `use_DBSCAN_to_remove_outliers: true`.
!!! note "More information available"
Please review the [parameter table](freqai-parameter-table.md) for more information on these parameters.
@@ -235,7 +235,7 @@ By default, FreqAI builds a dynamic pipeline based on user congfiguration settin
Users are encouraged to customize the data pipeline to their needs by building their own data pipeline. This can be done by simply setting `dk.feature_pipeline` to their desired `Pipeline` object inside their `IFreqaiModel` `train()` function, or if they prefer not to touch the `train()` function, they can override `define_data_pipeline`/`define_label_pipeline` functions in their `IFreqaiModel`:
!!! note "More information available"
FreqAI uses the the [`DataSieve`](https://github.com/emergentmethods/datasieve) pipeline, which follows the SKlearn pipeline API, but adds, among other features, coherence between the X, y, and sample_weight vector point removals, feature removal, feature name following.
FreqAI uses the [`DataSieve`](https://github.com/emergentmethods/datasieve) pipeline, which follows the SKlearn pipeline API, but adds, among other features, coherence between the X, y, and sample_weight vector point removals, feature removal, feature name following.
```python
from datasieve.transforms import SKLearnWrapper, DissimilarityIndex
@@ -391,3 +391,18 @@ Given a number of data points $N$, and a distance $\varepsilon$, DBSCAN clusters
![dbscan](assets/freqai_dbscan.jpg)
FreqAI uses `sklearn.cluster.DBSCAN` (details are available on scikit-learn's webpage [here](https://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html) (external website)) with `min_samples` ($N$) taken as 1/4 of the no. of time points (candles) in the feature set. `eps` ($\varepsilon$) is computed automatically as the elbow point in the *k-distance graph* computed from the nearest neighbors in the pairwise distances of all data points in the feature set.
### Data dimensionality reduction with Principal Component Analysis
You can reduce the dimensionality of your features by activating the principal_component_analysis in the config:
```json
"freqai": {
"feature_parameters" : {
"principal_component_analysis": true
}
}
```
This will perform PCA on the features and reduce their dimensionality so that the explained variance of the data set is >= 0.999. Reducing data dimensionality makes training the model faster and hence allows for more up-to-date models.

View File

@@ -31,12 +31,12 @@ Mandatory parameters are marked as **Required** and have to be set in one of the
| `feature_parameters` | A dictionary containing the parameters used to engineer the feature set. Details and examples are shown [here](freqai-feature-engineering.md). <br> **Datatype:** Dictionary.
| `include_timeframes` | A list of timeframes that all indicators in `feature_engineering_expand_*()` will be created for. The list is added as features to the base indicators dataset. <br> **Datatype:** List of timeframes (strings).
| `include_corr_pairlist` | A list of correlated coins that FreqAI will add as additional features to all `pair_whitelist` coins. All indicators set in `feature_engineering_expand_*()` during feature engineering (see details [here](freqai-feature-engineering.md)) will be created for each correlated coin. The correlated coins features are added to the base indicators dataset. <br> **Datatype:** List of assets (strings).
| `label_period_candles` | Number of candles into the future that the labels are created for. This is used in `feature_engineering_expand_all()` (see `templates/FreqaiExampleStrategy.py` for detailed usage). You can create custom labels and choose whether to make use of this parameter or not. <br> **Datatype:** Positive integer.
| `label_period_candles` | Number of candles into the future that the labels are created for. This can be used in `set_freqai_targets()` (see `templates/FreqaiExampleStrategy.py` for detailed usage). This parameter is not necessarily required, you can create custom labels and choose whether to make use of this parameter or not. Please see `templates/FreqaiExampleStrategy.py` to see the example usage. <br> **Datatype:** Positive integer.
| `include_shifted_candles` | Add features from previous candles to subsequent candles with the intent of adding historical information. If used, FreqAI will duplicate and shift all features from the `include_shifted_candles` previous candles so that the information is available for the subsequent candle. <br> **Datatype:** Positive integer.
| `weight_factor` | Weight training data points according to their recency (see details [here](freqai-feature-engineering.md#weighting-features-for-temporal-importance)). <br> **Datatype:** Positive float (typically < 1).
| `indicator_max_period_candles` | **No longer used (#7325)**. Replaced by `startup_candle_count` which is set in the [strategy](freqai-configuration.md#building-a-freqai-strategy). `startup_candle_count` is timeframe independent and defines the maximum *period* used in `feature_engineering_*()` for indicator creation. FreqAI uses this parameter together with the maximum timeframe in `include_time_frames` to calculate how many data points to download such that the first data point does not include a NaN. <br> **Datatype:** Positive integer.
| `indicator_periods_candles` | Time periods to calculate indicators for. The indicators are added to the base indicator dataset. <br> **Datatype:** List of positive integers.
| `principal_component_analysis` | Automatically reduce the dimensionality of the data set using Principal Component Analysis. See details about how it works [here](#reducing-data-dimensionality-with-principal-component-analysis) <br> **Datatype:** Boolean. <br> Default: `False`.
| `principal_component_analysis` | Automatically reduce the dimensionality of the data set using Principal Component Analysis. See details about how it works [here](freqai-feature-engineering.md#data-dimensionality-reduction-with-principal-component-analysis) <br> **Datatype:** Boolean. <br> Default: `False`.
| `plot_feature_importances` | Create a feature importance plot for each model for the top/bottom `plot_feature_importances` number of features. Plot is stored in `user_data/models/<identifier>/sub-train-<COIN>_<timestamp>.html`. <br> **Datatype:** Integer. <br> Default: `0`.
| `DI_threshold` | Activates the use of the Dissimilarity Index for outlier detection when set to > 0. See details about how it works [here](freqai-feature-engineering.md#identifying-outliers-with-the-dissimilarity-index-di). <br> **Datatype:** Positive float (typically < 1).
| `use_SVM_to_remove_outliers` | Train a support vector machine to detect and remove outliers from the training dataset, as well as from incoming data points. See details about how it works [here](freqai-feature-engineering.md#identifying-outliers-using-a-support-vector-machine-svm). <br> **Datatype:** Boolean.
@@ -55,7 +55,7 @@ Mandatory parameters are marked as **Required** and have to be set in one of the
| | **Data split parameters within the `freqai.data_split_parameters` sub dictionary**
| `data_split_parameters` | Include any additional parameters available from scikit-learn `test_train_split()`, which are shown [here](https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html) (external website). <br> **Datatype:** Dictionary.
| `test_size` | The fraction of data that should be used for testing instead of training. <br> **Datatype:** Positive float < 1.
| `shuffle` | Shuffle the training data points during training. Typically, to not remove the chronological order of data in time-series forecasting, this is set to `False`. <br> **Datatype:** Boolean. <br> Defaut: `False`.
| `shuffle` | Shuffle the training data points during training. Typically, to not remove the chronological order of data in time-series forecasting, this is set to `False`. <br> **Datatype:** Boolean. <br> Default: `False`.
### Model training parameters

View File

@@ -73,23 +73,26 @@ Backtesting mode requires [downloading the necessary data](#downloading-data-to-
---
### Saving prediction data
### Saving backtesting prediction data
To allow for tweaking your strategy (**not** the features!), FreqAI will automatically save the predictions during backtesting so that they can be reused for future backtests and live runs using the same `identifier` model. This provides a performance enhancement geared towards enabling **high-level hyperopting** of entry/exit criteria.
An additional directory called `backtesting_predictions`, which contains all the predictions stored in `hdf` format, will be created in the `unique-id` folder.
An additional directory called `backtesting_predictions`, which contains all the predictions stored in `feather` format, will be created in the `unique-id` folder.
To change your **features**, you **must** set a new `identifier` in the config to signal to FreqAI to train new models.
To save the models generated during a particular backtest so that you can start a live deployment from one of them instead of training a new model, you must set `save_backtest_models` to `True` in the config.
!!! Note
To ensure that the model can be reused, freqAI will call your strategy with a dataframe of length 1.
If your strategy requires more data than this to generate the same features, you can't reuse backtest predictions for live deployment and need to update your `identifier` for each new backtest.
### Backtest live collected predictions
FreqAI allow you to reuse live historic predictions through the backtest parameter `--freqai-backtest-live-models`. This can be useful when you want to reuse predictions generated in dry/run for comparison or other study.
The `--timerange` parameter must not be informed, as it will be automatically calculated through the data in the historic predictions file.
### Downloading data to cover the full backtest period
For live/dry deployments, FreqAI will download the necessary data automatically. However, to use backtesting functionality, you need to download the necessary data using `download-data` (details [here](data-download.md#data-downloading)). You need to pay careful attention to understanding how much *additional* data needs to be downloaded to ensure that there is a sufficient amount of training data *before* the start of the backtesting time range. The amount of additional data can be roughly estimated by moving the start date of the time range backwards by `train_period_days` and the `startup_candle_count` (see the [parameter table](freqai-parameter-table.md) for detailed descriptions of these parameters) from the beginning of the desired backtesting time range.

View File

@@ -14,8 +14,7 @@ To learn how to get data for the pairs and exchange you're interested in, head o
!!! Note
Since 2021.4 release you no longer have to write a separate hyperopt class, but can configure the parameters directly in the strategy.
The legacy method is still supported, but it is no longer the recommended way of setting up hyperopt.
The legacy documentation is available at [Legacy Hyperopt](advanced-hyperopt.md#legacy-hyperopt).
The legacy method was supported up to 2021.8 and has been removed in 2021.9.
## Install hyperopt dependencies
@@ -765,7 +764,7 @@ Override the `roi_space()` method if you need components of the ROI tables to va
A sample for these methods can be found in the [overriding pre-defined spaces section](advanced-hyperopt.md#overriding-pre-defined-spaces).
!!! Note "Reduced search space"
To limit the search space further, Decimals are limited to 3 decimal places (a precision of 0.001). This is usually sufficient, every value more precise than this will usually result in overfitted results. You can however [overriding pre-defined spaces](advanced-hyperopt.md#pverriding-pre-defined-spaces) to change this to your needs.
To limit the search space further, Decimals are limited to 3 decimal places (a precision of 0.001). This is usually sufficient, every value more precise than this will usually result in overfitted results. You can however [overriding pre-defined spaces](advanced-hyperopt.md#overriding-pre-defined-spaces) to change this to your needs.
### Understand Hyperopt Stoploss results
@@ -807,7 +806,7 @@ If you have the `stoploss_space()` method in your custom hyperopt file, remove i
Override the `stoploss_space()` method and define the desired range in it if you need stoploss values to vary in other range during hyperoptimization. A sample for this method can be found in the [overriding pre-defined spaces section](advanced-hyperopt.md#overriding-pre-defined-spaces).
!!! Note "Reduced search space"
To limit the search space further, Decimals are limited to 3 decimal places (a precision of 0.001). This is usually sufficient, every value more precise than this will usually result in overfitted results. You can however [overriding pre-defined spaces](advanced-hyperopt.md#pverriding-pre-defined-spaces) to change this to your needs.
To limit the search space further, Decimals are limited to 3 decimal places (a precision of 0.001). This is usually sufficient, every value more precise than this will usually result in overfitted results. You can however [overriding pre-defined spaces](advanced-hyperopt.md#overriding-pre-defined-spaces) to change this to your needs.
### Understand Hyperopt Trailing Stop results

43
docs/includes/cors.md Normal file
View File

@@ -0,0 +1,43 @@
## CORS
This whole section is only necessary in cross-origin cases (where you multiple bot API's running on `localhost:8081`, `localhost:8082`, ...), and want to combine them into one FreqUI instance.
??? info "Technical explanation"
All web-based front-ends are subject to [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) - Cross-Origin Resource Sharing.
Since most of the requests to the Freqtrade API must be authenticated, a proper CORS policy is key to avoid security problems.
Also, the standard disallows `*` CORS policies for requests with credentials, so this setting must be set appropriately.
Users can allow access from different origin URL's to the bot API via the `CORS_origins` configuration setting.
It consists of a list of allowed URL's that are allowed to consume resources from the bot's API.
Assuming your application is deployed as `https://frequi.freqtrade.io/home/` - this would mean that the following configuration becomes necessary:
```jsonc
{
//...
"jwt_secret_key": "somethingrandom",
"CORS_origins": ["https://frequi.freqtrade.io"],
//...
}
```
In the following (pretty common) case, FreqUI is accessible on `http://localhost:8080/trade` (this is what you see in your navbar when navigating to freqUI).
![freqUI url](assets/frequi_url.png)
The correct configuration for this case is `http://localhost:8080` - the main part of the URL including the port.
```jsonc
{
//...
"jwt_secret_key": "somethingrandom",
"CORS_origins": ["http://localhost:8080"],
//...
}
```
!!! Tip "trailing Slash"
The trailing slash is not allowed in the `CORS_origins` configuration (e.g. `"http://localhots:8080/"`).
Such a configuration will not take effect, and the cors errors will remain.
!!! Note
We strongly recommend to also set `jwt_secret_key` to something random and known only to yourself to avoid unauthorized access to your bot.

View File

@@ -2,11 +2,11 @@
Pairlist Handlers define the list of pairs (pairlist) that the bot should trade. They are configured in the `pairlists` section of the configuration settings.
In your configuration, you can use Static Pairlist (defined by the [`StaticPairList`](#static-pair-list) Pairlist Handler) and Dynamic Pairlist (defined by the [`VolumePairList`](#volume-pair-list) Pairlist Handler).
In your configuration, you can use Static Pairlist (defined by the [`StaticPairList`](#static-pair-list) Pairlist Handler) and Dynamic Pairlist (defined by the [`VolumePairList`](#volume-pair-list) and [`PercentChangePairList`](#percent-change-pair-list) Pairlist Handlers).
Additionally, [`AgeFilter`](#agefilter), [`PrecisionFilter`](#precisionfilter), [`PriceFilter`](#pricefilter), [`ShuffleFilter`](#shufflefilter), [`SpreadFilter`](#spreadfilter) and [`VolatilityFilter`](#volatilityfilter) act as Pairlist Filters, removing certain pairs and/or moving their positions in the pairlist.
If multiple Pairlist Handlers are used, they are chained and a combination of all Pairlist Handlers forms the resulting pairlist the bot uses for trading and backtesting. Pairlist Handlers are executed in the sequence they are configured. You can define either `StaticPairList`, `VolumePairList`, `ProducerPairList`, `RemotePairList` or `MarketCapPairList` as the starting Pairlist Handler.
If multiple Pairlist Handlers are used, they are chained and a combination of all Pairlist Handlers forms the resulting pairlist the bot uses for trading and backtesting. Pairlist Handlers are executed in the sequence they are configured. You can define either `StaticPairList`, `VolumePairList`, `ProducerPairList`, `RemotePairList`, `MarketCapPairList` or `PercentChangePairList` as the starting Pairlist Handler.
Inactive markets are always removed from the resulting pairlist. Explicitly blacklisted pairs (those in the `pair_blacklist` configuration setting) are also always removed from the resulting pairlist.
@@ -22,6 +22,7 @@ You may also use something like `.*DOWN/BTC` or `.*UP/BTC` to exclude leveraged
* [`StaticPairList`](#static-pair-list) (default, if not configured differently)
* [`VolumePairList`](#volume-pair-list)
* [`PercentChangePairList`](#percent-change-pair-list)
* [`ProducerPairList`](#producerpairlist)
* [`RemotePairList`](#remotepairlist)
* [`MarketCapPairList`](#marketcappairlist)
@@ -54,7 +55,6 @@ It uses configuration from `exchange.pair_whitelist` and `exchange.pair_blacklis
By default, only currently enabled pairs are allowed.
To skip pair validation against active markets, set `"allow_inactive": true` within the `StaticPairList` configuration.
This can be useful for backtesting expired pairs (like quarterly spot-markets).
This option must be configured along with `exchange.skip_pair_validation` in the exchange configuration.
When used in a "follow-up" position (e.g. after VolumePairlist), all pairs in `'pair_whitelist'` will be added to the end of the pairlist.
@@ -152,6 +152,89 @@ More sophisticated approach can be used, by using `lookback_timeframe` for candl
!!! Note
`VolumePairList` does not support backtesting mode.
#### Percent Change Pair List
`PercentChangePairList` filters and sorts pairs based on the percentage change in their price over the last 24 hours or any defined timeframe as part of advanced options. This allows traders to focus on assets that have experienced significant price movements, either positive or negative.
**Configuration Options**
* `number_assets`: Specifies the number of top pairs to select based on the 24-hour percentage change.
* `min_value`: Sets a minimum percentage change threshold. Pairs with a percentage change below this value will be filtered out.
* `max_value`: Sets a maximum percentage change threshold. Pairs with a percentage change above this value will be filtered out.
* `sort_direction`: Specifies the order in which pairs are sorted based on their percentage change. Accepts two values: `asc` for ascending order and `desc` for descending order.
* `refresh_period`: Defines the interval (in seconds) at which the pairlist will be refreshed. The default is 1800 seconds (30 minutes).
* `lookback_days`: Number of days to look back. When `lookback_days` is selected, the `lookback_timeframe` is defaulted to 1 day.
* `lookback_timeframe`: Timeframe to use for the lookback period.
* `lookback_period`: Number of periods to look back at.
When PercentChangePairList is used after other Pairlist Handlers, it will operate on the outputs of those handlers. If it is the leading Pairlist Handler, it will select pairs from all available markets with the specified stake currency.
`PercentChangePairList` uses ticker data from the exchange, provided via the ccxt library:
The percentage change is calculated as the change in price over the last 24 hours.
??? Note "Unsupported exchanges"
On some exchanges (like HTX), regular PercentChangePairList does not work as the api does not natively provide 24h percent change in price. This can be worked around by using candle data to calculate the percentage change. To roughly simulate 24h percent change, you can use the following configuration. Please note that these pairlists will only refresh once per day.
```json
"pairlists": [
{
"method": "PercentChangePairList",
"number_assets": 20,
"min_value": 0,
"refresh_period": 86400,
"lookback_days": 1
}
],
```
**Example Configuration to Read from Ticker**
```json
"pairlists": [
{
"method": "PercentChangePairList",
"number_assets": 15,
"min_value": -10,
"max_value": 50
}
],
```
In this configuration:
1. The top 15 pairs are selected based on the highest percentage change in price over the last 24 hours.
2. Only pairs with a percentage change between -10% and 50% are considered.
**Example Configuration to Read from Candles**
```json
"pairlists": [
{
"method": "PercentChangePairList",
"number_assets": 15,
"sort_key": "percentage",
"min_value": 0,
"refresh_period": 3600,
"lookback_timeframe": "1h",
"lookback_period": 72
}
],
```
This example builds the percent change pairs based on a rolling period of 3 days of 1-hour candles by using `lookback_timeframe` for candle size and `lookback_period` which specifies the number of candles.
The percent change in price is calculated using the following formula, which expresses the percentage difference between the current candle's close price and the previous candle's close price, as defined by the specified timeframe and lookback period:
$$ Percent Change = (\frac{Current Close - Previous Close}{Previous Close}) * 100 $$
!!! Warning "Range look back and refresh period"
When used in conjunction with `lookback_days` and `lookback_timeframe` the `refresh_period` can not be smaller than the candle size in seconds. As this will result in unnecessary requests to the exchanges API.
!!! Warning "Performance implications when using lookback range"
If used in first position in combination with lookback, the computation of the range-based percent change can be time and resource consuming, as it downloads candles for all tradable pairs. Hence it's highly advised to use the standard approach with `PercentChangePairList` to narrow the pairlist down for further percent-change calculation.
!!! Note "Backtesting"
`PercentChangePairList` does not support backtesting mode.
#### ProducerPairList
With `ProducerPairList`, you can reuse the pairlist from a [Producer](producer-consumer.md) without explicitly defining the pairlist on each consumer.
@@ -277,14 +360,21 @@ The optional `bearer_token` will be included in the requests Authorization Heade
"method": "MarketCapPairList",
"number_assets": 20,
"max_rank": 50,
"refresh_period": 86400
"refresh_period": 86400,
"categories": ["layer-1"]
}
]
```
`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.
`refresh_period` setting defines the period (in seconds) at which the marketcap rank data will be refreshed. Defaults to 86,400s (1 day). The pairlist cache (`refresh_period`) is applicable on both generating pairlists (first position in the list) and filtering instances (not the first position in the list).
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).
The `categories` setting specifies the [coingecko categories](https://www.coingecko.com/en/categories) from which to select coins from. The default is an empty list `[]`, meaning no category filtering is applied.
If an incorrect category string is chosen, the plugin will print the available categories from CoinGecko and fail. The category should be the ID of the category, for example, for `https://www.coingecko.com/en/categories/layer-1`, the category ID would be `layer-1`. You can pass multiple categories such as `["layer-1", "meme-token"]` to select from several categories.
!!! 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.
#### AgeFilter
@@ -373,7 +463,7 @@ Filters low-value coins which would not allow setting stoplosses.
Namely, pairs are blacklisted if a variance of one percent or more in the stop price would be caused by precision rounding on the exchange, i.e. `rounded(stop_price) <= rounded(stop_price * 0.99)`. The idea is to avoid coins with a value VERY close to their lower trading boundary, not allowing setting of proper stoploss.
!!! Tip "PerformanceFilter is pointless for futures trading"
!!! Tip "PrecisionFilter is pointless for futures trading"
The above does not apply to shorts. And for longs, in theory the trade will be liquidated first.
!!! Warning "Backtesting"

View File

@@ -36,6 +36,7 @@ All protection end times are rounded up to the next candle to avoid sudden, unex
| `lookback_period_candles` | Only trades that completed within the last `lookback_period_candles` candles will be considered. This setting may be ignored by some Protections. <br> **Datatype:** Positive integer (in candles).
| `lookback_period` | Only trades that completed after `current_time - lookback_period` will be considered. <br>Cannot be used together with `lookback_period_candles`. <br>This setting may be ignored by some Protections. <br> **Datatype:** Float (in minutes)
| `trade_limit` | Number of trades required at minimum (not used by all Protections). <br> **Datatype:** Positive integer
| `unlock_at` | Time when trading will be unlocked regularly (not used by all Protections). <br> **Datatype:** string <br>**Input Format:** "HH:MM" (24-hours)
!!! Note "Durations"
Durations (`stop_duration*` and `lookback_period*` can be defined in either minutes or candles).
@@ -44,7 +45,7 @@ All protection end times are rounded up to the next candle to avoid sudden, unex
#### Stoploss Guard
`StoplossGuard` selects all trades within `lookback_period` in minutes (or in candles when using `lookback_period_candles`).
If `trade_limit` or more trades resulted in stoploss, trading will stop for `stop_duration` in minutes (or in candles when using `stop_duration_candles`).
If `trade_limit` or more trades resulted in stoploss, trading will stop for `stop_duration` in minutes (or in candles when using `stop_duration_candles`, or until the set time when using `unlock_at`).
This applies across all pairs, unless `only_per_pair` is set to true, which will then only look at one pair at a time.
@@ -97,7 +98,7 @@ def protections(self):
#### Low Profit Pairs
`LowProfitPairs` uses all trades for a pair within `lookback_period` in minutes (or in candles when using `lookback_period_candles`) to determine the overall profit ratio.
If that ratio is below `required_profit`, that pair will be locked for `stop_duration` in minutes (or in candles when using `stop_duration_candles`).
If that ratio is below `required_profit`, that pair will be locked for `stop_duration` in minutes (or in candles when using `stop_duration_candles`, or until the set time when using `unlock_at`).
For futures bots, setting `only_per_side` will make the bot only consider one side, and will then only lock this one side, allowing for example shorts to continue after a series of long losses.
@@ -120,7 +121,7 @@ def protections(self):
#### Cooldown Period
`CooldownPeriod` locks a pair for `stop_duration` in minutes (or in candles when using `stop_duration_candles`) after selling, avoiding a re-entry for this pair for `stop_duration` minutes.
`CooldownPeriod` locks a pair for `stop_duration` in minutes (or in candles when using `stop_duration_candles`, or until the set time when using `unlock_at`) after exiting, avoiding a re-entry for this pair for `stop_duration` minutes.
The below example will stop trading a pair for 2 candles after closing a trade, allowing this pair to "cool down".

View File

@@ -0,0 +1,45 @@
## Imports necessary for a strategy
When creating a strategy, you will need to import the necessary modules and classes. The following imports are required for a strategy:
By default, we recommend the following imports as a base line for your strategy:
This will cover all imports necessary for freqtrade functions to work.
Obviously you can add more imports as needed for your strategy.
``` python
# flake8: noqa: F401
# isort: skip_file
# --- Do not remove these imports ---
import numpy as np
import pandas as pd
from datetime import datetime, timedelta, timezone
from pandas import DataFrame
from typing import Dict, Optional, Union, Tuple
from freqtrade.strategy import (
IStrategy,
Trade,
Order,
PairLocks,
informative, # @informative decorator
# Hyperopt Parameters
BooleanParameter,
CategoricalParameter,
DecimalParameter,
IntParameter,
RealParameter,
# timeframe helpers
timeframe_to_minutes,
timeframe_to_next_date,
timeframe_to_prev_date,
# Strategy helper functions
merge_informative_pair,
stoploss_from_absolute,
stoploss_from_open,
)
# --------------------------------
# Add your lib to import here
import talib.abstract as ta
from technical import qtpylib
```

View File

@@ -41,6 +41,8 @@ Please read the [exchange specific notes](exchanges.md) to learn about eventual,
- [X] [Binance](https://www.binance.com/)
- [X] [Bitmart](https://bitmart.com/)
- [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] [Kraken](https://kraken.com/)

View File

@@ -51,7 +51,7 @@ These requirements apply to both [Script Installation](#script-installation) and
### Install code
We've included/collected install instructions for Ubuntu, MacOS, and Windows. These are guidelines and your success may vary with other distros.
OS Specific steps are listed first, the [Common](#common) section below is necessary for all systems.
OS Specific steps are listed first, the common section below is necessary for all systems.
!!! Note
Python3.9 or higher and the corresponding pip are assumed to be available.
@@ -286,7 +286,7 @@ cd freqtrade
#### Freqtrade install: Conda Environment
```bash
conda create --name freqtrade python=3.11
conda create --name freqtrade python=3.12
```
!!! Note "Creating Conda Environment"

View File

@@ -17,7 +17,7 @@ If you already have an existing strategy, please read the [strategy migration gu
## Shorting
Shorting is not possible when trading with [`trading_mode`](#understand-tradingmode) set to `spot`. To short trade, `trading_mode` must be set to `margin`(currently unavailable) or [`futures`](#futures), with [`margin_mode`](#margin-mode) set to `cross`(currently unavailable) or [`isolated`](#isolated-margin-mode)
Shorting is not possible when trading with [`trading_mode`](#leverage-trading-modes) set to `spot`. To short trade, `trading_mode` must be set to `margin`(currently unavailable) or [`futures`](#futures), with [`margin_mode`](#margin-mode) set to `cross`(currently unavailable) or [`isolated`](#isolated-margin-mode)
For a strategy to short, the strategy class must set the class variable `can_short = True`

View File

@@ -101,3 +101,4 @@ This could lead to a false-negative (the strategy will then be reported as non-b
- `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.

View File

@@ -2,6 +2,14 @@
This page explains how to plot prices, indicators and profits.
!!! Warning "Deprecated"
The commands described in this page (`plot-dataframe`, `plot-profit`) should be considered deprecated and are in maintenance mode.
This is mostly for the performance problems even medium sized plots can cause, but also because "store a file and open it in a browser" isn't very intuitive from a UI perspective.
While there are no immediate plans to remove them, they are not actively maintained - and may be removed short-term should major changes be required to keep them working.
Please use [FreqUI](freq-ui.md) for plotting needs, which doesn't struggle with the same performance problems.
## Installation / Setup
Plotting modules use the Plotly library. You can install / upgrade this by running the following command:

View File

@@ -1,6 +1,7 @@
markdown==3.6
mkdocs==1.5.3
mkdocs-material==9.5.15
markdown==3.7
mkdocs==1.6.1
mkdocs-material==9.5.36
mdx_truly_sane_lists==1.3
pymdown-extensions==10.7.1
jinja2==3.1.3
pymdown-extensions==10.10.1
jinja2==3.1.4
mike==2.1.3

View File

@@ -1,16 +1,8 @@
# REST API & FreqUI
# REST API
## FreqUI
Freqtrade provides a builtin webserver, which can serve [FreqUI](https://github.com/freqtrade/frequi), the freqtrade UI.
By default, the UI is not included in the installation (except for docker images), and must be installed explicitly with `freqtrade install-ui`.
This same command can also be used to update freqUI, should there be a new release.
Once the bot is started in trade / dry-run mode (with `freqtrade trade`) - the UI will be available under the configured port below (usually `http://127.0.0.1:8080`).
!!! Note "developers"
Developers should not use this method, but instead use the method described in the [freqUI repository](https://github.com/freqtrade/frequi) to get the source-code of freqUI.
FreqUI now has it's own dedicated [documentation section](freq-ui.md) - please refer to that section for all information regarding the FreqUI.
## Configuration
@@ -89,7 +81,8 @@ Make sure that the following 2 lines are available in your docker-compose file:
```
!!! Danger "Security warning"
By using `8080:8080` in the docker port mapping, the API will be available to everyone connecting to the server under the correct port, so others may be able to control your bot.
By using `"8080:8080"` (or `"0.0.0.0:8080:8080"`) in the docker port mapping, the API will be available to everyone connecting to the server under the correct port, so others may be able to control your bot.
This **may** be safe if you're running the bot in a secure environment (like your home network), but it's not recommended to expose the API to the internet.
## Rest API
@@ -125,6 +118,14 @@ By default, the script assumes `127.0.0.1` (localhost) and port `8080` to be use
freqtrade-client --config rest_config.json <command> [optional parameters]
```
Commands with many arguments may require keyword arguments (for clarity) - which can be provided as follows:
``` bash
freqtrade-client --config rest_config.json forceenter BTC/USDT long enter_tag=GutFeeling
```
This method will work for all arguments - check the "show" command for a list of available parameters.
??? Note "Programmatic use"
The `freqtrade-client` package (installable independent of freqtrade) can be used in your own scripts to interact with the freqtrade API.
to do so, please use the following:
@@ -166,8 +167,9 @@ freqtrade-client --config rest_config.json <command> [optional parameters]
| `mix_tags [pair]` | Shows profit statistics for each combinations of enter tag + exit reasons for given pair (or all pairs if pair isn't given). Pair is optional.
| `locks` | Displays currently locked pairs.
| `delete_lock <lock_id>` | Deletes (disables) the lock by id.
| `locks add <pair>, <until>, [side], [reason]` | Locks a pair until "until". (Until will be rounded up to the nearest timeframe).
| `profit` | Display a summary of your profit/loss from close trades and some stats about your performance.
| `forceexit <trade_id>` | Instantly exits the given trade (Ignoring `minimum_roi`).
| `forceexit <trade_id> [order_type] [amount]` | Instantly exits the given trade (ignoring `minimum_roi`), using the given order type ("market" or "limit", uses your config setting if not specified), and the chosen amount (full sell if not specified).
| `forceexit all` | Instantly exits all open trades (Ignoring `minimum_roi`).
| `forceenter <pair> [rate]` | Instantly enters the given pair. Rate is optional. (`force_entry_enable` must be set to True)
| `forceenter <pair> <side> [rate]` | Instantly longs or shorts the given pair. Rate is optional. (`force_entry_enable` must be set to True)
@@ -453,7 +455,7 @@ To properly configure your reverse proxy (securely), please consult it's documen
- **Caddy**: Caddy v2 supports websockets out of the box, see the [documentation](https://caddyserver.com/docs/v2-upgrade#proxy)
!!! Tip "SSL certificates"
You can use tools like certbot to setup ssl certificates to access your bot's UI through encrypted connection by using any fo the above reverse proxies.
You can use tools like certbot to setup ssl certificates to access your bot's UI through encrypted connection by using any of the above reverse proxies.
While this will protect your data in transit, we do not recommend to run the freqtrade API outside of your private network (VPN, SSH tunnel).
### OpenAPI interface
@@ -486,42 +488,4 @@ Since the access token has a short timeout (15 min) - the `token/refresh` reques
{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1ODkxMTk5NzQsIm5iZiI6MTU4OTExOTk3NCwianRpIjoiMDBjNTlhMWUtMjBmYS00ZTk0LTliZjAtNWQwNTg2MTdiZDIyIiwiZXhwIjoxNTg5MTIwODc0LCJpZGVudGl0eSI6eyJ1IjoiRnJlcXRyYWRlciJ9LCJmcmVzaCI6ZmFsc2UsInR5cGUiOiJhY2Nlc3MifQ.1seHlII3WprjjclY6DpRhen0rqdF4j6jbvxIhUFaSbs"}
```
### CORS
This whole section is only necessary in cross-origin cases (where you multiple bot API's running on `localhost:8081`, `localhost:8082`, ...), and want to combine them into one FreqUI instance.
??? info "Technical explanation"
All web-based front-ends are subject to [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) - Cross-Origin Resource Sharing.
Since most of the requests to the Freqtrade API must be authenticated, a proper CORS policy is key to avoid security problems.
Also, the standard disallows `*` CORS policies for requests with credentials, so this setting must be set appropriately.
Users can allow access from different origin URL's to the bot API via the `CORS_origins` configuration setting.
It consists of a list of allowed URL's that are allowed to consume resources from the bot's API.
Assuming your application is deployed as `https://frequi.freqtrade.io/home/` - this would mean that the following configuration becomes necessary:
```jsonc
{
//...
"jwt_secret_key": "somethingrandom",
"CORS_origins": ["https://frequi.freqtrade.io"],
//...
}
```
In the following (pretty common) case, FreqUI is accessible on `http://localhost:8080/trade` (this is what you see in your navbar when navigating to freqUI).
![freqUI url](assets/frequi_url.png)
The correct configuration for this case is `http://localhost:8080` - the main part of the URL including the port.
```jsonc
{
//...
"jwt_secret_key": "somethingrandom",
"CORS_origins": ["http://localhost:8080"],
//...
}
```
!!! Note
We strongly recommend to also set `jwt_secret_key` to something random and known only to yourself to avoid unauthorized access to your bot.
--8<-- "includes/cors.md"

View File

@@ -1,6 +1,13 @@
# SQL Helper
This page contains some help if you want to edit your sqlite db.
This page contains some help if you want to query your sqlite db.
!!! Tip "Other Database systems"
To use other Database Systems like PostgreSQL or MariaDB, you can use the same queries, but you need to use the respective client for the database system. [Click here](advanced-setup.md#use-a-different-database-system) to learn how to setup a different database system with freqtrade.
!!! Warning
If you are not familiar with SQL, you should be very careful when running queries on your database.
Always make sure to have a backup of your database before running any queries.
## Install sqlite3
@@ -43,13 +50,25 @@ sqlite3
.schema <table_name>
```
## Get all trades in the table
### Get all trades in the table
```sql
SELECT * FROM trades;
```
## Fix trade still open after a manual exit on the exchange
## Destructive queries
Queries that write to the database.
These queries should usually not be necessary as freqtrade tries to handle all database operations itself - or exposes them via API or telegram commands.
!!! Warning
Please make sure you have a backup of your database before running any of the below queries.
!!! Danger
You should also **never** run any writing query (`update`, `insert`, `delete`) while a bot is connected to the database.
This can and will lead to data corruption - most likely, without the possibility of recovery.
### Fix trade still open after a manual exit on the exchange
!!! Warning
Manually selling a pair on the exchange will not be detected by the bot and it will try to sell anyway. Whenever possible, /forceexit <tradeid> should be used to accomplish the same thing.
@@ -69,7 +88,7 @@ SET is_open=0,
WHERE id=<trade_ID_to_update>;
```
### Example
#### Example
```sql
UPDATE trades
@@ -82,7 +101,7 @@ SET is_open=0,
WHERE id=31;
```
## Remove trade from the database
### Remove trade from the database
!!! Tip "Use RPC Methods to delete trades"
Consider using `/delete <tradeid>` via telegram or rest API. That's the recommended way to deleting trades.
@@ -100,39 +119,3 @@ DELETE FROM trades WHERE id = 31;
!!! Warning
This will remove this trade from the database. Please make sure you got the correct id and **NEVER** run this query without the `where` clause.
## Use a different database system
Freqtrade is using SQLAlchemy, which supports multiple different database systems. As such, a multitude of database systems should be supported.
Freqtrade does not depend or install any additional database driver. Please refer to the [SQLAlchemy docs](https://docs.sqlalchemy.org/en/14/core/engines.html#database-urls) on installation instructions for the respective database systems.
The following systems have been tested and are known to work with freqtrade:
* sqlite (default)
* PostgreSQL
* MariaDB
!!! Warning
By using one of the below database systems, you acknowledge that you know how to manage such a system. The freqtrade team will not provide any support with setup or maintenance (or backups) of the below database systems.
### PostgreSQL
Installation:
`pip install psycopg2-binary`
Usage:
`... --db-url postgresql+psycopg2://<username>:<password>@localhost:5432/<database>`
Freqtrade will automatically create the tables necessary upon startup.
If you're running different instances of Freqtrade, you must either setup one database per Instance or use different users / schemas for your connections.
### MariaDB / MySQL
Freqtrade supports MariaDB by using SQLAlchemy, which supports multiple different database systems.
Installation:
`pip install pymysql`
Usage:
`... --db-url mysql+pymysql://<username>:<password>@localhost:3306/<database>`

View File

@@ -30,6 +30,7 @@ The Order-type will be ignored if only one mode is available.
|----------|-------------|
| Binance | limit |
| Binance Futures | market, limit |
| Bingx | market, limit |
| HTX (former Huobi) | limit |
| kraken | market, limit |
| Gate | limit |
@@ -158,7 +159,7 @@ You could also have a default stop loss when you are in the red with your buy (b
For example, your default stop loss is -10%, but once you have more than 0% profit (example 0.1%) a different trailing stoploss will be used.
!!! Note
If you want the stoploss to only be changed when you break even of making a profit (what most users want) please refer to next section with [offset enabled](#Trailing-stop-loss-only-once-the-trade-has-reached-a-certain-offset).
If you want the stoploss to only be changed when you break even of making a profit (what most users want) please refer to next section with [offset enabled](#trailing-stop-loss-only-once-the-trade-has-reached-a-certain-offset).
Both values require `trailing_stop` to be set to true and `trailing_stop_positive` with a value.
@@ -240,7 +241,7 @@ When using leverage, the same principle is applied - with stoploss defining the
Therefore, a stoploss of 10% on a 10x trade would trigger on a 1% price move.
If your stake amount (own capital) was 100$ - this trade would be 1000$ at 10x (after leverage).
If price moves 1% - you've lost 10$ of your own capital - therfore stoploss will trigger in this case.
If price moves 1% - you've lost 10$ of your own capital - therefore stoploss will trigger in this case.
Make sure to be aware of this, and avoid using too tight stoploss (at 10x leverage, 10% risk may be too little to allow the trade to "breath" a little).

View File

@@ -209,7 +209,7 @@ def custom_exit(self, pair: str, trade: Trade, current_time: datetime, current_r
## Exit tag
Similar to [Buy Tagging](#buy-tag), you can also specify a sell tag.
Similar to [Entry Tagging](#enter-tag), you can also specify an exit tag.
``` python
def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
@@ -326,4 +326,4 @@ for val in self.buy_ema_short.range:
dataframe = pd.concat(frames, axis=1)
```
Freqtrade does however also counter this by running `dataframe.copy()` on the dataframe right after the `populate_indicators()` method - so performance implications of this should be low to non-existant.
Freqtrade does however also counter this by running `dataframe.copy()` on the dataframe right after the `populate_indicators()` method - so performance implications of this should be low to non-existent.

View File

@@ -24,6 +24,8 @@ Currently available callbacks:
!!! Tip "Callback calling sequence"
You can find the callback calling sequence in [bot-basics](bot-basics.md#bot-execution-logic)
--8<-- "includes/strategy-imports.md"
## Bot start
A simple callback which is called once when the strategy is loaded.
@@ -41,10 +43,10 @@ class AwesomeStrategy(IStrategy):
Called only once after bot instantiation.
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
"""
if self.config['runmode'].value in ('live', 'dry_run'):
if self.config["runmode"].value in ("live", "dry_run"):
# Assign this to the class by using self.*
# can then be used by populate_* methods
self.custom_remote_data = requests.get('https://some_remote_source.example.com')
self.custom_remote_data = requests.get("https://some_remote_source.example.com")
```
@@ -57,6 +59,7 @@ seconds, unless configured differently) or once per candle in backtest/hyperopt
This can be used to perform calculations which are pair independent (apply to all pairs), loading of external data, etc.
``` python
# Default imports
import requests
class AwesomeStrategy(IStrategy):
@@ -71,10 +74,10 @@ class AwesomeStrategy(IStrategy):
:param current_time: datetime object, containing the current datetime
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
"""
if self.config['runmode'].value in ('live', 'dry_run'):
if self.config["runmode"].value in ("live", "dry_run"):
# Assign this to the class by using self.*
# can then be used by populate_* methods
self.remote_data = requests.get('https://some_remote_source.example.com')
self.remote_data = requests.get("https://some_remote_source.example.com")
```
@@ -83,6 +86,8 @@ class AwesomeStrategy(IStrategy):
Called before entering a trade, makes it possible to manage your position size when placing a new trade.
```python
# Default imports
class AwesomeStrategy(IStrategy):
def custom_stake_amount(self, pair: str, current_time: datetime, current_rate: float,
proposed_stake: float, min_stake: Optional[float], max_stake: float,
@@ -92,13 +97,13 @@ class AwesomeStrategy(IStrategy):
dataframe, _ = self.dp.get_analyzed_dataframe(pair=pair, timeframe=self.timeframe)
current_candle = dataframe.iloc[-1].squeeze()
if current_candle['fastk_rsi_1h'] > current_candle['fastd_rsi_1h']:
if self.config['stake_amount'] == 'unlimited':
if current_candle["fastk_rsi_1h"] > current_candle["fastd_rsi_1h"]:
if self.config["stake_amount"] == "unlimited":
# Use entire available wallet during favorable conditions when in compounding mode.
return max_stake
else:
# Compound profits during favorable conditions instead of using a static stake.
return self.wallets.get_total_stake_amount() / self.config['max_open_trades']
return self.wallets.get_total_stake_amount() / self.config["max_open_trades"]
# Use default stake amount.
return proposed_stake
@@ -129,25 +134,27 @@ Using `custom_exit()` signals in place of stoploss though *is not recommended*.
An example of how we can use different indicators depending on the current profit and also exit trades that were open longer than one day:
``` python
# Default imports
class AwesomeStrategy(IStrategy):
def custom_exit(self, pair: str, trade: 'Trade', current_time: 'datetime', current_rate: float,
def custom_exit(self, pair: str, trade: Trade, current_time: datetime, current_rate: float,
current_profit: float, **kwargs):
dataframe, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe)
last_candle = dataframe.iloc[-1].squeeze()
# Above 20% profit, sell when rsi < 80
if current_profit > 0.2:
if last_candle['rsi'] < 80:
return 'rsi_below_80'
if last_candle["rsi"] < 80:
return "rsi_below_80"
# Between 2% and 10%, sell if EMA-long above EMA-short
if 0.02 < current_profit < 0.1:
if last_candle['emalong'] > last_candle['emashort']:
return 'ema_long_below_80'
if last_candle["emalong"] > last_candle["emashort"]:
return "ema_long_below_80"
# Sell any positions at a loss if they are held for more than one day.
if current_profit < 0.0 and (current_time - trade.open_date_utc).days >= 1:
return 'unclog'
return "unclog"
```
See [Dataframe access](strategy-advanced.md#dataframe-access) for more information about dataframe use in strategy callbacks.
@@ -165,9 +172,10 @@ E.g. If the `current_rate` is 200 USD, then returning `0.02` will set the stoplo
During backtesting, `current_rate` (and `current_profit`) are provided against the candle's high (or low for short trades) - while the resulting stoploss is evaluated against the candle's low (or high for short trades).
The absolute value of the return value is used (the sign is ignored), so returning `0.05` or `-0.05` have the same result, a stoploss 5% below the current price.
Returning None will be interpreted as "no desire to change", and is the only safe way to return when you'd like to not modify the stoploss.
Returning `None` will be interpreted as "no desire to change", and is the only safe way to return when you'd like to not modify the stoploss.
`NaN` and `inf` values are considered invalid and will be ignored (identical to `None`).
Stoploss on exchange works similar to `trailing_stop`, and the stoploss on exchange is updated as configured in `stoploss_on_exchange_interval` ([More details about stoploss on exchange](stoploss.md#stop-loss-on-exchange-freqtrade)).
Stoploss on exchange works similar to `trailing_stop`, and the stoploss on exchange is updated as configured in `stoploss_on_exchange_interval` ([More details about stoploss on exchange](stoploss.md#stop-loss-on-exchangefreqtrade)).
!!! Note "Use of dates"
All time-based calculations should be done based on `current_time` - using `datetime.now()` or `datetime.utcnow()` is discouraged, as this will break backtesting support.
@@ -194,9 +202,7 @@ Of course, many more things are possible, and all examples can be combined at wi
To simulate a regular trailing stoploss of 4% (trailing 4% behind the maximum reached price) you would use the following very simple method:
``` python
# additional imports required
from datetime import datetime
from freqtrade.persistence import Trade
# Default imports
class AwesomeStrategy(IStrategy):
@@ -204,7 +210,7 @@ class AwesomeStrategy(IStrategy):
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
def custom_stoploss(self, pair: str, trade: Trade, current_time: datetime,
current_rate: float, current_profit: float, after_fill: bool,
**kwargs) -> Optional[float]:
"""
@@ -234,8 +240,7 @@ class AwesomeStrategy(IStrategy):
Use the initial stoploss for the first 60 minutes, after this change to 10% trailing stoploss, and after 2 hours (120 minutes) we use a 5% trailing stoploss.
``` python
from datetime import datetime, timedelta
from freqtrade.persistence import Trade
# Default imports
class AwesomeStrategy(IStrategy):
@@ -243,7 +248,7 @@ class AwesomeStrategy(IStrategy):
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
def custom_stoploss(self, pair: str, trade: Trade, current_time: datetime,
current_rate: float, current_profit: float, after_fill: bool,
**kwargs) -> Optional[float]:
@@ -261,8 +266,7 @@ Use the initial stoploss for the first 60 minutes, after this change to 10% trai
If an additional order fills, set stoploss to -10% below the new `open_rate` ([Averaged across all entries](#position-adjust-calculations)).
``` python
from datetime import datetime, timedelta
from freqtrade.persistence import Trade
# Default imports
class AwesomeStrategy(IStrategy):
@@ -270,7 +274,7 @@ class AwesomeStrategy(IStrategy):
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
def custom_stoploss(self, pair: str, trade: Trade, current_time: datetime,
current_rate: float, current_profit: float, after_fill: bool,
**kwargs) -> Optional[float]:
@@ -291,8 +295,7 @@ Use a different stoploss depending on the pair.
In this example, we'll trail the highest price with 10% trailing stoploss for `ETH/BTC` and `XRP/BTC`, with 5% trailing stoploss for `LTC/BTC` and with 15% for all other pairs.
``` python
from datetime import datetime
from freqtrade.persistence import Trade
# Default imports
class AwesomeStrategy(IStrategy):
@@ -300,13 +303,13 @@ class AwesomeStrategy(IStrategy):
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
def custom_stoploss(self, pair: str, trade: Trade, current_time: datetime,
current_rate: float, current_profit: float, after_fill: bool,
**kwargs) -> Optional[float]:
if pair in ('ETH/BTC', 'XRP/BTC'):
if pair in ("ETH/BTC", "XRP/BTC"):
return -0.10
elif pair in ('LTC/BTC'):
elif pair in ("LTC/BTC"):
return -0.05
return -0.15
```
@@ -318,8 +321,7 @@ Use the initial stoploss until the profit is above 4%, then use a trailing stopl
Please note that the stoploss can only increase, values lower than the current stoploss are ignored.
``` python
from datetime import datetime, timedelta
from freqtrade.persistence import Trade
# Default imports
class AwesomeStrategy(IStrategy):
@@ -327,12 +329,12 @@ class AwesomeStrategy(IStrategy):
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
def custom_stoploss(self, pair: str, trade: Trade, current_time: datetime,
current_rate: float, current_profit: float, after_fill: bool,
**kwargs) -> Optional[float]:
if current_profit < 0.04:
return -1 # return a value bigger than the initial stoploss to keep using the initial stoploss
return None # return None to keep using the initial stoploss
# After reaching the desired offset, allow the stoploss to trail by half the profit
desired_stoploss = current_profit / 2
@@ -351,9 +353,7 @@ Instead of continuously trailing behind the current price, this example sets fix
* Once profit is > 40% - set stoploss to 25% above open price.
``` python
from datetime import datetime
from freqtrade.persistence import Trade
from freqtrade.strategy import stoploss_from_open
# Default imports
class AwesomeStrategy(IStrategy):
@@ -361,7 +361,7 @@ class AwesomeStrategy(IStrategy):
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
def custom_stoploss(self, pair: str, trade: Trade, current_time: datetime,
current_rate: float, current_profit: float, after_fill: bool,
**kwargs) -> Optional[float]:
@@ -382,15 +382,17 @@ class AwesomeStrategy(IStrategy):
Absolute stoploss value may be derived from indicators stored in dataframe. Example uses parabolic SAR below the price as stoploss.
``` python
# Default imports
class AwesomeStrategy(IStrategy):
def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
# <...>
dataframe['sar'] = ta.SAR(dataframe)
dataframe["sar"] = ta.SAR(dataframe)
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
def custom_stoploss(self, pair: str, trade: Trade, current_time: datetime,
current_rate: float, current_profit: float, after_fill: bool,
**kwargs) -> Optional[float]:
@@ -398,7 +400,7 @@ class AwesomeStrategy(IStrategy):
last_candle = dataframe.iloc[-1].squeeze()
# Use parabolic sar as absolute stoploss price
stoploss_price = last_candle['sar']
stoploss_price = last_candle["sar"]
# Convert absolute price to percentage relative to current_rate
if stoploss_price < current_rate:
@@ -427,10 +429,7 @@ Stoploss values returned from `custom_stoploss()` must specify a percentage rela
``` python
from datetime import datetime
from freqtrade.persistence import Trade
from freqtrade.strategy import IStrategy, stoploss_from_open
# Default imports
class AwesomeStrategy(IStrategy):
@@ -438,7 +437,7 @@ Stoploss values returned from `custom_stoploss()` must specify a percentage rela
use_custom_stoploss = True
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
def custom_stoploss(self, pair: str, trade: Trade, current_time: datetime,
current_rate: float, current_profit: float, after_fill: bool,
**kwargs) -> Optional[float]:
@@ -450,7 +449,7 @@ Stoploss values returned from `custom_stoploss()` must specify a percentage rela
```
Full examples can be found in the [Custom stoploss](strategy-advanced.md#custom-stoploss) section of the Documentation.
Full examples can be found in the [Custom stoploss](strategy-callbacks.md#custom-stoploss) section of the Documentation.
!!! Note
Providing invalid input to `stoploss_from_open()` may produce "CustomStoploss function did not return valid stoploss" warnings.
@@ -467,37 +466,34 @@ The helper function `stoploss_from_absolute()` can be used to convert from an ab
??? Example "Returning a stoploss using absolute price from the custom stoploss function"
If we want to trail a stop price at 2xATR below current price we can call `stoploss_from_absolute(current_rate + (side * candle['atr'] * 2), current_rate, is_short=trade.is_short, leverage=trade.leverage)`.
If we want to trail a stop price at 2xATR below current price we can call `stoploss_from_absolute(current_rate + (side * candle["atr"] * 2), current_rate=current_rate, is_short=trade.is_short, leverage=trade.leverage)`.
For futures, we need to adjust the direction (up or down), as well as adjust for leverage, since the [`custom_stoploss`](strategy-callbacks.md#custom-stoploss) callback returns the ["risk for this trade"](stoploss.md#stoploss-and-leverage) - not the relative price movement.
``` python
from datetime import datetime
from freqtrade.persistence import Trade
from freqtrade.strategy import IStrategy, stoploss_from_absolute, timeframe_to_prev_date
# Default imports
class AwesomeStrategy(IStrategy):
use_custom_stoploss = True
def populate_indicators_1h(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe['atr'] = ta.ATR(dataframe, timeperiod=14)
def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe["atr"] = ta.ATR(dataframe, timeperiod=14)
return dataframe
def custom_stoploss(self, pair: str, trade: 'Trade', current_time: datetime,
def custom_stoploss(self, pair: str, trade: Trade, current_time: datetime,
current_rate: float, current_profit: float, after_fill: bool,
**kwargs) -> Optional[float]:
dataframe, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe)
trade_date = timeframe_to_prev_date(self.timeframe, trade.open_date_utc)
candle = dataframe.iloc[-1].squeeze()
side = 1 if trade.is_short else -1
return stoploss_from_absolute(current_rate + (side * candle['atr'] * 2),
current_rate, is_short=trade.is_short,
return stoploss_from_absolute(current_rate + (side * candle["atr"] * 2),
current_rate=current_rate,
is_short=trade.is_short,
leverage=trade.leverage)
```
---
## Custom order price rules
@@ -517,19 +513,18 @@ Each of these methods are called right before placing an order on the exchange.
### Custom order entry and exit price example
``` python
from datetime import datetime, timedelta, timezone
from freqtrade.persistence import Trade
# Default imports
class AwesomeStrategy(IStrategy):
# ... populate_* methods
def custom_entry_price(self, pair: str, trade: Optional['Trade'], current_time: datetime, proposed_rate: float,
def custom_entry_price(self, pair: str, trade: Optional[Trade], current_time: datetime, proposed_rate: float,
entry_tag: Optional[str], side: str, **kwargs) -> float:
dataframe, last_updated = self.dp.get_analyzed_dataframe(pair=pair,
timeframe=self.timeframe)
new_entryprice = dataframe['bollinger_10_lowerband'].iat[-1]
new_entryprice = dataframe["bollinger_10_lowerband"].iat[-1]
return new_entryprice
@@ -539,7 +534,7 @@ class AwesomeStrategy(IStrategy):
dataframe, last_updated = self.dp.get_analyzed_dataframe(pair=pair,
timeframe=self.timeframe)
new_exitprice = dataframe['bollinger_10_upperband'].iat[-1]
new_exitprice = dataframe["bollinger_10_upperband"].iat[-1]
return new_exitprice
@@ -576,8 +571,7 @@ It applies a tight timeout for higher priced assets, while allowing more time to
The function must return either `True` (cancel order) or `False` (keep order alive).
``` python
from datetime import datetime, timedelta
from freqtrade.persistence import Trade, Order
# Default imports
class AwesomeStrategy(IStrategy):
@@ -585,11 +579,11 @@ class AwesomeStrategy(IStrategy):
# Set unfilledtimeout to 25 hours, since the maximum timeout from below is 24 hours.
unfilledtimeout = {
'entry': 60 * 25,
'exit': 60 * 25
"entry": 60 * 25,
"exit": 60 * 25
}
def check_entry_timeout(self, pair: str, trade: 'Trade', order: 'Order',
def check_entry_timeout(self, pair: str, trade: Trade, order: Order,
current_time: datetime, **kwargs) -> bool:
if trade.open_rate > 100 and trade.open_date_utc < current_time - timedelta(minutes=5):
return True
@@ -600,7 +594,7 @@ class AwesomeStrategy(IStrategy):
return False
def check_exit_timeout(self, pair: str, trade: Trade, order: 'Order',
def check_exit_timeout(self, pair: str, trade: Trade, order: Order,
current_time: datetime, **kwargs) -> bool:
if trade.open_rate > 100 and trade.open_date_utc < current_time - timedelta(minutes=5):
return True
@@ -617,8 +611,7 @@ class AwesomeStrategy(IStrategy):
### Custom order timeout example (using additional data)
``` python
from datetime import datetime
from freqtrade.persistence import Trade, Order
# Default imports
class AwesomeStrategy(IStrategy):
@@ -626,24 +619,24 @@ class AwesomeStrategy(IStrategy):
# Set unfilledtimeout to 25 hours, since the maximum timeout from below is 24 hours.
unfilledtimeout = {
'entry': 60 * 25,
'exit': 60 * 25
"entry": 60 * 25,
"exit": 60 * 25
}
def check_entry_timeout(self, pair: str, trade: 'Trade', order: 'Order',
def check_entry_timeout(self, pair: str, trade: Trade, order: Order,
current_time: datetime, **kwargs) -> bool:
ob = self.dp.orderbook(pair, 1)
current_price = ob['bids'][0][0]
current_price = ob["bids"][0][0]
# Cancel buy order if price is more than 2% above the order.
if current_price > order.price * 1.02:
return True
return False
def check_exit_timeout(self, pair: str, trade: 'Trade', order: 'Order',
def check_exit_timeout(self, pair: str, trade: Trade, order: Order,
current_time: datetime, **kwargs) -> bool:
ob = self.dp.orderbook(pair, 1)
current_price = ob['asks'][0][0]
current_price = ob["asks"][0][0]
# Cancel sell order if price is more than 2% below the order.
if current_price < order.price * 0.98:
return True
@@ -662,6 +655,8 @@ This are the last methods that will be called before an order is placed.
`confirm_trade_entry()` can be used to abort a trade entry at the latest second (maybe because the price is not what we expect).
``` python
# Default imports
class AwesomeStrategy(IStrategy):
# ... populate_* methods
@@ -686,7 +681,7 @@ class AwesomeStrategy(IStrategy):
:param time_in_force: Time in force. Defaults to GTC (Good-til-cancelled).
:param current_time: datetime object, containing the current datetime
:param entry_tag: Optional entry_tag (buy_tag) if provided with the buy signal.
:param side: 'long' or 'short' - indicating the direction of the proposed trade
:param side: "long" or "short" - indicating the direction of the proposed trade
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
:return bool: When True is returned, then the buy-order is placed on the exchange.
False aborts the process
@@ -708,8 +703,7 @@ The exit-reasons (if applicable) will be in the following sequence:
* `trailing_stop_loss`
``` python
from freqtrade.persistence import Trade
# Default imports
class AwesomeStrategy(IStrategy):
@@ -735,14 +729,14 @@ class AwesomeStrategy(IStrategy):
or current rate for market orders.
:param time_in_force: Time in force. Defaults to GTC (Good-til-cancelled).
:param exit_reason: Exit reason.
Can be any of ['roi', 'stop_loss', 'stoploss_on_exchange', 'trailing_stop_loss',
'exit_signal', 'force_exit', 'emergency_exit']
Can be any of ["roi", "stop_loss", "stoploss_on_exchange", "trailing_stop_loss",
"exit_signal", "force_exit", "emergency_exit"]
:param current_time: datetime object, containing the current datetime
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
:return bool: When True, then the exit-order is placed on the exchange.
False aborts the process
"""
if exit_reason == 'force_exit' and trade.calc_profit_ratio(rate) < 0:
if exit_reason == "force_exit" and trade.calc_profit_ratio(rate) < 0:
# Reject force-sells with negative profit
# This is just a sample, please adjust to your needs
# (this does not necessarily make sense, assuming you know when you're force-selling)
@@ -768,7 +762,7 @@ This callback is **not** called when there is an open order (either buy or sell)
`adjust_trade_position()` is called very frequently for the duration of a trade, so you must keep your implementation as performant as possible.
Position adjustments will always be applied in the direction of the trade, so a positive value will always increase your position (negative values will decrease your position), no matter if it's a long or short trade.
Adjustment orders can be assigned with a tag by returning a 2 element Tuple, with the first element being the adjustment amount, and the 2nd element the tag (e.g. `return 250, 'increase_favorable_conditions'`).
Adjustment orders can be assigned with a tag by returning a 2 element Tuple, with the first element being the adjustment amount, and the 2nd element the tag (e.g. `return 250, "increase_favorable_conditions"`).
Modifications to leverage are not possible, and the stake-amount returned is assumed to be before applying leverage.
@@ -790,7 +784,7 @@ Returning a value more than the above (so remaining stake_amount would become ne
!!! Note "About stake size"
Using fixed stake size means it will be the amount used for the first order, just like without position adjustment.
If you wish to buy additional orders with DCA, then make sure to leave enough funds in the wallet for that.
Using 'unlimited' stake amount with DCA orders requires you to also implement the `custom_stake_amount()` callback to avoid allocating all funds to the initial order.
Using `"unlimited"` stake amount with DCA orders requires you to also implement the `custom_stake_amount()` callback to avoid allocating all funds to the initial order.
!!! Warning "Stoploss calculation"
Stoploss is still calculated from the initial opening price, not averaged price.
@@ -808,8 +802,7 @@ Returning a value more than the above (so remaining stake_amount would become ne
Trades with long duration and 10s or even 100ds of position adjustments are therefore not recommended, and should be closed at regular intervals to not affect performance.
``` python
from freqtrade.persistence import Trade
# Default imports
class DigDeeperStrategy(IStrategy):
@@ -872,7 +865,7 @@ class DigDeeperStrategy(IStrategy):
if current_profit > 0.05 and trade.nr_of_successful_exits == 0:
# Take half of the profit at +5%
return -(trade.stake_amount / 2), 'half_profit_5%'
return -(trade.stake_amount / 2), "half_profit_5%"
if current_profit > -0.05:
return None
@@ -882,7 +875,7 @@ class DigDeeperStrategy(IStrategy):
# Only buy when not actively falling price.
last_candle = dataframe.iloc[-1].squeeze()
previous_candle = dataframe.iloc[-2].squeeze()
if last_candle['close'] < previous_candle['close']:
if last_candle["close"] < previous_candle["close"]:
return None
filled_entries = trade.select_filled_orders(trade.entry_side)
@@ -900,7 +893,7 @@ class DigDeeperStrategy(IStrategy):
stake_amount = filled_entries[0].stake_amount
# This then calculates current safety order size
stake_amount = stake_amount * (1 + (count_of_entries * 0.25))
return stake_amount, '1/3rd_increase'
return stake_amount, "1/3rd_increase"
except Exception as exception:
return None
@@ -947,8 +940,7 @@ If the cancellation of the original order fails, then the order will not be repl
Entry Orders that are cancelled via the above methods will not have this callback called. Be sure to update timeout values to match your expectations.
```python
from freqtrade.persistence import Trade
from datetime import timedelta
# Default imports
class AwesomeStrategy(IStrategy):
@@ -973,13 +965,18 @@ class AwesomeStrategy(IStrategy):
:param proposed_rate: Rate, calculated based on pricing settings in entry_pricing.
:param current_order_rate: Rate of the existing order in place.
:param entry_tag: Optional entry_tag (buy_tag) if provided with the buy signal.
:param side: 'long' or 'short' - indicating the direction of the proposed trade
:param side: "long" or "short" - indicating the direction of the proposed trade
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
:return float: New entry price value if provided
"""
# Limit orders to use and follow SMA200 as price target for the first 10 minutes since entry trigger for BTC/USDT pair.
if pair == 'BTC/USDT' and entry_tag == 'long_sma200' and side == 'long' and (current_time - timedelta(minutes=10)) > trade.open_date_utc:
if (
pair == "BTC/USDT"
and entry_tag == "long_sma200"
and side == "long"
and (current_time - timedelta(minutes=10)) > trade.open_date_utc
):
# just cancel the order if it has been filled more than half of the amount
if order.filled > order.remaining:
return None
@@ -987,7 +984,7 @@ class AwesomeStrategy(IStrategy):
dataframe, _ = self.dp.get_analyzed_dataframe(pair=pair, timeframe=self.timeframe)
current_candle = dataframe.iloc[-1].squeeze()
# desired price
return current_candle['sma_200']
return current_candle["sma_200"]
# default: maintain existing order
return current_order_rate
```
@@ -1002,6 +999,8 @@ Values that are above `max_leverage` will be adjusted to `max_leverage`.
For markets / exchanges that don't support leverage, this method is ignored.
``` python
# Default imports
class AwesomeStrategy(IStrategy):
def leverage(self, pair: str, current_time: datetime, current_rate: float,
proposed_leverage: float, max_leverage: float, entry_tag: Optional[str], side: str,
@@ -1015,7 +1014,7 @@ class AwesomeStrategy(IStrategy):
:param proposed_leverage: A leverage proposed by the bot.
:param max_leverage: Max leverage allowed on this pair
:param entry_tag: Optional entry_tag (buy_tag) if provided with the buy signal.
:param side: 'long' or 'short' - indicating the direction of the proposed trade
:param side: "long" or "short" - indicating the direction of the proposed trade
:return: A leverage amount, which is between 1.0 and max_leverage.
"""
return 1.0
@@ -1032,6 +1031,8 @@ It will be called independent of the order type (entry, exit, stoploss or positi
Assuming that your strategy needs to store the high value of the candle at trade entry, this is possible with this callback as the following example show.
``` python
# Default imports
class AwesomeStrategy(IStrategy):
def order_filled(self, pair: str, trade: Trade, order: Order, current_time: datetime, **kwargs) -> None:
"""
@@ -1048,7 +1049,7 @@ class AwesomeStrategy(IStrategy):
last_candle = dataframe.iloc[-1].squeeze()
if (trade.nr_of_successful_entries == 1) and (order.ft_order_side == trade.entry_side):
trade.set_custom_data(key='entry_candle_high', value=last_candle['high'])
trade.set_custom_data(key="entry_candle_high", value=last_candle["high"])
return None

View File

@@ -158,7 +158,7 @@ Out of the box, freqtrade installs the following technical libraries:
- [ta-lib](https://ta-lib.github.io/ta-lib-python/)
- [pandas-ta](https://twopirllc.github.io/pandas-ta/)
- [technical](https://github.com/freqtrade/technical/)
- [technical](https://technical.freqtrade.io)
Additional technical libraries can be installed as necessary, or custom indicators may be written / invented by the strategy author.
@@ -405,7 +405,9 @@ The metadata-dict (available for `populate_entry_trend`, `populate_exit_trend`,
Currently this is `pair`, which can be accessed using `metadata['pair']` - and will return a pair in the format `XRP/BTC`.
The Metadata-dict should not be modified and does not persist information across multiple calls.
Instead, have a look at the [Storing information](strategy-advanced.md#Storing-information) section.
Instead, have a look at the [Storing information](strategy-advanced.md#storing-information-persistent) section.
--8<-- "includes/strategy-imports.md"
## Strategy file loading
@@ -551,8 +553,8 @@ for more information.
# Define BTC/STAKE informative pair. A custom formatter may be specified for formatting
# column names. A callable `fmt(**kwargs) -> str` may be specified, to implement custom
# formatting. Available in populate_indicators and other methods as 'rsi_upper'.
@informative('1h', 'BTC/{stake}', '{column}')
# formatting. Available in populate_indicators and other methods as 'rsi_upper_1h'.
@informative('1h', 'BTC/{stake}', '{column}_{timeframe}')
def populate_indicators_btc_1h_2(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe['rsi_upper'] = ta.RSI(dataframe, timeperiod=14)
return dataframe
@@ -715,6 +717,7 @@ This is where calling `self.dp.current_whitelist()` comes in handy.
??? Note "Plotting with current_whitelist"
Current whitelist is not supported for `plot-dataframe`, as this command is usually used by providing an explicit pairlist - and would therefore make the return values of this method misleading.
It's also not supported for freqUI visualization in [webserver mode](utils.md#webserver-mode) - as the configuration for webserver mode doesn't require a pairlist to be set.
### *get_pair_dataframe(pair, timeframe)*
@@ -776,7 +779,7 @@ The orderbook structure is aligned with the order structure from [ccxt](https://
Therefore, using `ob['bids'][0][0]` as demonstrated above will result in using the best bid price. `ob['bids'][0][1]` would look at the amount at this orderbook position.
!!! Warning "Warning about backtesting"
The order book is not part of the historic data which means backtesting and hyperopt will not work correctly if this method is used, as the method will return uptodate values.
The order book is not part of the historic data which means backtesting and hyperopt will not work correctly if this method is used, as the method will return up-to-date values.
### *ticker(pair)*

View File

@@ -13,19 +13,22 @@ Please follow the [documentation](https://www.freqtrade.io/en/stable/data-downlo
import os
from pathlib import Path
# Change directory
# Modify this cell to insure that the output shows the correct path.
# Define all paths relative to the project root shown in the cell output
project_root = "somedir/freqtrade"
i=0
i = 0
try:
os.chdir(project_root)
assert Path('LICENSE').is_file()
except:
while i<4 and (not Path('LICENSE').is_file()):
os.chdir(Path(Path.cwd(), '../'))
i+=1
project_root = Path.cwd()
if not Path("LICENSE").is_file():
i = 0
while i < 4 and (not Path("LICENSE").is_file()):
os.chdir(Path(Path.cwd(), "../"))
i += 1
project_root = Path.cwd()
except FileNotFoundError:
print("Please define the project root relative to the current directory")
print(Path.cwd())
```
@@ -35,6 +38,7 @@ print(Path.cwd())
```python
from freqtrade.configuration import Configuration
# Customize these according to your needs.
# Initialize empty configuration object
@@ -58,12 +62,14 @@ pair = "BTC/USDT"
from freqtrade.data.history import load_pair_history
from freqtrade.enums import CandleType
candles = load_pair_history(datadir=data_location,
timeframe=config["timeframe"],
pair=pair,
data_format = "json", # Make sure to update this to your data
candle_type=CandleType.SPOT,
)
candles = load_pair_history(
datadir=data_location,
timeframe=config["timeframe"],
pair=pair,
data_format="json", # Make sure to update this to your data
candle_type=CandleType.SPOT,
)
# Confirm success
print(f"Loaded {len(candles)} rows of data for {pair} from {data_location}")
@@ -76,14 +82,16 @@ candles.head()
```python
# Load strategy using values set above
from freqtrade.resolvers import StrategyResolver
from freqtrade.data.dataprovider import DataProvider
from freqtrade.resolvers import StrategyResolver
strategy = StrategyResolver.load_strategy(config)
strategy.dp = DataProvider(config, None, None)
strategy.ft_bot_start()
# Generate buy/sell signals using strategy
df = strategy.analyze_ticker(candles, {'pair': pair})
df = strategy.analyze_ticker(candles, {"pair": pair})
df.tail()
```
@@ -102,7 +110,7 @@ df.tail()
```python
# Report results
print(f"Generated {df['enter_long'].sum()} entry signals")
data = df.set_index('date', drop=False)
data = df.set_index("date", drop=False)
data.tail()
```
@@ -119,10 +127,13 @@ Analyze a trades dataframe (also used below for plotting)
```python
from freqtrade.data.btanalysis import load_backtest_data, load_backtest_stats
# if backtest_dir points to a directory, it'll automatically load the last backtest file.
backtest_dir = config["user_data_dir"] / "backtest_results"
# backtest_dir can also point to a specific file
# backtest_dir = config["user_data_dir"] / "backtest_results/backtest-result-2020-07-01_20-04-22.json"
# backtest_dir can also point to a specific file
# backtest_dir = (
# config["user_data_dir"] / "backtest_results/backtest-result-2020-07-01_20-04-22.json"
# )
```
@@ -131,24 +142,24 @@ backtest_dir = config["user_data_dir"] / "backtest_results"
# This contains all information used to generate the backtest result.
stats = load_backtest_stats(backtest_dir)
strategy = 'SampleStrategy'
# All statistics are available per strategy, so if `--strategy-list` was used during backtest, this will be reflected here as well.
strategy = "SampleStrategy"
# All statistics are available per strategy, so if `--strategy-list` was used during backtest,
# this will be reflected here as well.
# Example usages:
print(stats['strategy'][strategy]['results_per_pair'])
print(stats["strategy"][strategy]["results_per_pair"])
# Get pairlist used for this backtest
print(stats['strategy'][strategy]['pairlist'])
print(stats["strategy"][strategy]["pairlist"])
# Get market change (average change of all pairs from start to end of the backtest period)
print(stats['strategy'][strategy]['market_change'])
print(stats["strategy"][strategy]["market_change"])
# Maximum drawdown ()
print(stats['strategy'][strategy]['max_drawdown'])
print(stats["strategy"][strategy]["max_drawdown"])
# Maximum drawdown start and end
print(stats['strategy'][strategy]['drawdown_start'])
print(stats['strategy'][strategy]['drawdown_end'])
print(stats["strategy"][strategy]["drawdown_start"])
print(stats["strategy"][strategy]["drawdown_end"])
# Get strategy comparison (only relevant if multiple strategies were compared)
print(stats['strategy_comparison'])
print(stats["strategy_comparison"])
```
@@ -166,24 +177,25 @@ trades.groupby("pair")["exit_reason"].value_counts()
```python
# Plotting equity line (starting with 0 on day 1 and adding daily profit for each backtested day)
import pandas as pd
import plotly.express as px
from freqtrade.configuration import Configuration
from freqtrade.data.btanalysis import load_backtest_stats
import plotly.express as px
import pandas as pd
# strategy = 'SampleStrategy'
# config = Configuration.from_files(["user_data/config.json"])
# backtest_dir = config["user_data_dir"] / "backtest_results"
stats = load_backtest_stats(backtest_dir)
strategy_stats = stats['strategy'][strategy]
strategy_stats = stats["strategy"][strategy]
df = pd.DataFrame(columns=['dates','equity'], data=strategy_stats['daily_profit'])
df['equity_daily'] = df['equity'].cumsum()
df = pd.DataFrame(columns=["dates", "equity"], data=strategy_stats["daily_profit"])
df["equity_daily"] = df["equity"].cumsum()
fig = px.line(df, x="dates", y="equity_daily")
fig.show()
```
### Load live trading results into a pandas dataframe
@@ -194,6 +206,7 @@ In case you did already some trading and want to analyze your performance
```python
from freqtrade.data.btanalysis import load_trades_from_db
# Fetch trades from database
trades = load_trades_from_db("sqlite:///tradesv3.sqlite")
@@ -210,8 +223,9 @@ This can be useful to find the best `max_open_trades` parameter, when used with
```python
from freqtrade.data.btanalysis import analyze_trade_parallelism
# Analyze the above
parallel_trades = analyze_trade_parallelism(trades, '5m')
parallel_trades = analyze_trade_parallelism(trades, "5m")
parallel_trades.plot()
```
@@ -222,23 +236,23 @@ Freqtrade offers interactive plotting capabilities based on plotly.
```python
from freqtrade.plot.plotting import generate_candlestick_graph
from freqtrade.plot.plotting import generate_candlestick_graph
# Limit graph period to keep plotly quick and reactive
# Filter trades to one pair
trades_red = trades.loc[trades['pair'] == pair]
trades_red = trades.loc[trades["pair"] == pair]
data_red = data['2019-06-01':'2019-06-10']
data_red = data["2019-06-01":"2019-06-10"]
# Generate candlestick graph
graph = generate_candlestick_graph(pair=pair,
data=data_red,
trades=trades_red,
indicators1=['sma20', 'ema50', 'ema55'],
indicators2=['rsi', 'macd', 'macdsignal', 'macdhist']
)
graph = generate_candlestick_graph(
pair=pair,
data=data_red,
trades=trades_red,
indicators1=["sma20", "ema50", "ema55"],
indicators2=["rsi", "macd", "macdsignal", "macdhist"],
)
```
@@ -248,7 +262,6 @@ graph = generate_candlestick_graph(pair=pair,
# Render graph in a separate window
graph.show(renderer="browser")
```
## Plot average profit per trade as distribution graph
@@ -257,12 +270,12 @@ graph.show(renderer="browser")
```python
import plotly.figure_factory as ff
hist_data = [trades.profit_ratio]
group_labels = ['profit_ratio'] # name of the dataset
group_labels = ["profit_ratio"] # name of the dataset
fig = ff.create_distplot(hist_data, group_labels, bin_size=0.01)
fig.show()
```
Feel free to submit an issue or Pull Request enhancing this document if you would like to share ideas on how to best analyze the data.

View File

@@ -11,3 +11,7 @@
.rst-versions .rst-other-versions {
color: white;
}
.md-version__list {
font-weight: 500 !important;
}

View File

@@ -53,7 +53,7 @@ You can use bots in telegram groups by just adding them to the group. You can fi
}
```
For the Freqtrade configuration, you can then use the the full value (including `-` if it's there) as string:
For the Freqtrade configuration, you can then use the full value (including `-` if it's there) as string:
```json
"chat_id": "-1001332619709"

View File

@@ -13,28 +13,28 @@ The following attributes / properties are available for each individual trade -
| Attribute | DataType | Description |
|------------|-------------|-------------|
`pair`| string | Pair of this trade
`is_open`| boolean | Is the trade currently open, or has it been concluded
`open_rate`| float | Rate this trade was entered at (Avg. entry rate in case of trade-adjustments)
`close_rate`| float | Close rate - only set when is_open = False
`stake_amount`| float | Amount in Stake (or Quote) currency.
`amount`| float | Amount in Asset / Base currency that is currently owned.
`open_date`| datetime | Timestamp when trade was opened **use `open_date_utc` instead**
`open_date_utc`| datetime | Timestamp when trade was opened - in UTC
`close_date`| datetime | Timestamp when trade was closed **use `close_date_utc` instead**
`close_date_utc`| datetime | Timestamp when trade was closed - in UTC
`close_profit`| float | Relative profit at the time of trade closure. `0.01` == 1%
`close_profit_abs`| float | Absolute profit (in stake currency) at the time of trade closure.
`leverage` | float | Leverage used for this trade - defaults to 1.0 in spot markets.
`enter_tag`| string | Tag provided on entry via the `enter_tag` column in the dataframe
`is_short` | boolean | True for short trades, False otherwise
`orders` | Order[] | List of order objects attached to this trade (includes both filled and cancelled orders)
`date_last_filled_utc` | datetime | Time of the last filled order
`entry_side` | "buy" / "sell" | Order Side the trade was entered
`exit_side` | "buy" / "sell" | Order Side that will result in a trade exit / position reduction.
`trade_direction` | "long" / "short" | Trade direction in text - long or short.
`nr_of_successful_entries` | int | Number of successful (filled) entry orders
`nr_of_successful_exits` | int | Number of successful (filled) exit orders
| `pair` | string | Pair of this trade. |
| `is_open` | boolean | Is the trade currently open, or has it been concluded. |
| `open_rate` | float | Rate this trade was entered at (Avg. entry rate in case of trade-adjustments). |
| `close_rate` | float | Close rate - only set when is_open = False. |
| `stake_amount` | float | Amount in Stake (or Quote) currency. |
| `amount` | float | Amount in Asset / Base currency that is currently owned. Will be 0.0 until the initial order fills. |
| `open_date` | datetime | Timestamp when trade was opened **use `open_date_utc` instead** |
| `open_date_utc` | datetime | Timestamp when trade was opened - in UTC. |
| `close_date` | datetime | Timestamp when trade was closed **use `close_date_utc` instead** |
| `close_date_utc` | datetime | Timestamp when trade was closed - in UTC. |
| `close_profit` | float | Relative profit at the time of trade closure. `0.01` == 1% |
| `close_profit_abs` | float | Absolute profit (in stake currency) at the time of trade closure. |
| `leverage` | float | Leverage used for this trade - defaults to 1.0 in spot markets. |
| `enter_tag` | string | Tag provided on entry via the `enter_tag` column in the dataframe. |
| `is_short` | boolean | True for short trades, False otherwise. |
| `orders` | Order[] | List of order objects attached to this trade (includes both filled and cancelled orders). |
| `date_last_filled_utc` | datetime | Time of the last filled order. |
| `entry_side` | "buy" / "sell" | Order Side the trade was entered. |
| `exit_side` | "buy" / "sell" | Order Side that will result in a trade exit / position reduction. |
| `trade_direction` | "long" / "short" | Trade direction in text - long or short. |
| `nr_of_successful_entries` | int | Number of successful (filled) entry orders. |
| `nr_of_successful_exits` | int | Number of successful (filled) exit orders. |
## Class methods
@@ -126,24 +126,24 @@ An `Order` object will always be tied to it's corresponding [`Trade`](#trade-obj
### Order - Available attributes
an Order object is typically attached to a trade.
Most properties here can be None as they are dependant on the exchange response.
Most properties here can be None as they are dependent on the exchange response.
| Attribute | DataType | Description |
|------------|-------------|-------------|
`trade` | Trade | Trade object this order is attached to
`ft_pair` | string | Pair this order is for
`ft_is_open` | boolean | is the order filled?
`order_type` | string | Order type as defined on the exchange - usually market, limit or stoploss
`status` | string | Status as defined by ccxt. Usually open, closed, expired or canceled
`side` | string | Buy or Sell
`price` | float | Price the order was placed at
`average` | float | Average price the order filled at
`amount` | float | Amount in base currency
`filled` | float | Filled amount (in base currency)
`remaining` | float | Remaining amount
`cost` | float | Cost of the order - usually average * filled (*Exchange dependant on futures, may contain the cost with or without leverage and may be in contracts.*)
`stake_amount` | float | Stake amount used for this order. *Added in 2023.7.*
`order_date` | datetime | Order creation date **use `order_date_utc` instead**
`order_date_utc` | datetime | Order creation date (in UTC)
`order_fill_date` | datetime | Order fill date **use `order_fill_utc` instead**
`order_fill_date_utc` | datetime | Order fill date
| `trade` | Trade | Trade object this order is attached to |
| `ft_pair` | string | Pair this order is for |
| `ft_is_open` | boolean | is the order filled? |
| `order_type` | string | Order type as defined on the exchange - usually market, limit or stoploss |
| `status` | string | Status as defined by ccxt. Usually open, closed, expired or canceled |
| `side` | string | Buy or Sell |
| `price` | float | Price the order was placed at |
| `average` | float | Average price the order filled at |
| `amount` | float | Amount in base currency |
| `filled` | float | Filled amount (in base currency) |
| `remaining` | float | Remaining amount |
| `cost` | float | Cost of the order - usually average * filled (*Exchange dependent on futures, may contain the cost with or without leverage and may be in contracts.*) |
| `stake_amount` | float | Stake amount used for this order. *Added in 2023.7.* |
| `order_date` | datetime | Order creation date **use `order_date_utc` instead** |
| `order_date_utc` | datetime | Order creation date (in UTC) |
| `order_fill_date` | datetime | Order fill date **use `order_fill_utc` instead** |
| `order_fill_date_utc` | datetime | Order fill date |

View File

@@ -418,8 +418,9 @@ Common arguments:
```
By default, only active pairs/markets are shown. Active pairs/markets are those that can currently be traded
on the exchange. The see the list of all pairs/markets (not only the active ones), use the `-a`/`-all` option.
By default, only active pairs/markets are shown. Active pairs/markets are those that can currently be traded on the exchange.
You can use the `-a`/`-all` option to see the list of all pairs/markets, including the inactive ones.
Pairs may be listed as untradeable if the smallest tradeable price for the market is very small, i.e. less than `1e-11` (`0.00000000001`)
Pairs/markets are sorted by its symbol string in the printed output.
@@ -488,7 +489,7 @@ freqtrade test-pairlist --config config.json --quote USDT BTC
`freqtrade convert-db` can be used to convert your database from one system to another (sqlite -> postgres, postgres -> other postgres), migrating all trades, orders and Pairlocks.
Please refer to the [SQL cheatsheet](sql_cheatsheet.md#use-a-different-database-system) to learn about requirements for different database systems.
Please refer to the [corresponding documentation](advanced-setup.md#use-a-different-database-system) to learn about requirements for different database systems.
```
usage: freqtrade convert-db [-h] [--db-url PATH] [--db-url-from PATH]

View File

@@ -5,6 +5,30 @@ We **strongly** recommend that Windows users use [Docker](docker_quickstart.md)
If that is not possible, try using the Windows Linux subsystem (WSL) - for which the Ubuntu instructions should work.
Otherwise, please follow the instructions below.
All instructions assume that python 3.9+ is installed and available.
## Clone the git repository
First of all clone the repository by running:
``` powershell
git clone https://github.com/freqtrade/freqtrade.git
```
Now, choose your installation method, either automatically via script (recommended) or manually following the corresponding instructions.
## Install freqtrade automatically
### Run the installation script
The script will ask you a few questions to determine which parts should be installed.
```powershell
Set-ExecutionPolicy -ExecutionPolicy Bypass
cd freqtrade
. .\setup.ps1
```
## Install freqtrade manually
!!! Note "64bit Python version"
@@ -14,17 +38,11 @@ Otherwise, please follow the instructions below.
!!! Hint
Using the [Anaconda Distribution](https://www.anaconda.com/distribution/) under Windows can greatly help with installation problems. Check out the [Anaconda installation section](installation.md#installation-with-conda) in the documentation for more information.
### 1. Clone the git repository
```bash
git clone https://github.com/freqtrade/freqtrade.git
```
### 2. Install ta-lib
### Install ta-lib
Install ta-lib according to the [ta-lib documentation](https://github.com/TA-Lib/ta-lib-python#windows).
As compiling from source on windows has heavy dependencies (requires a partial visual studio installation), Freqtrade provides these dependencies (in the binary wheel format) for the latest 3 Python versions (3.9, 3.10 and 3.11) and for 64bit Windows.
As compiling from source on windows has heavy dependencies (requires a partial visual studio installation), Freqtrade provides these dependencies (in the binary wheel format) for the latest 3 Python versions (3.9, 3.10, 3.11 and 3.12) and for 64bit Windows.
These Wheels are also used by CI running on windows, and are therefore tested together with freqtrade.
Other versions must be downloaded from the above link.

View File

@@ -1,22 +1,34 @@
""" Freqtrade bot """
__version__ = '2024.3'
"""Freqtrade bot"""
if 'dev' in __version__:
__version__ = "2024.9"
if "dev" in __version__:
from pathlib import Path
try:
import subprocess
import subprocess # noqa: S404
freqtrade_basedir = Path(__file__).parent
__version__ = __version__ + '-' + subprocess.check_output(
['git', 'log', '--format="%h"', '-n 1'],
stderr=subprocess.DEVNULL, cwd=freqtrade_basedir).decode("utf-8").rstrip().strip('"')
__version__ = (
__version__
+ "-"
+ subprocess.check_output(
["git", "log", '--format="%h"', "-n 1"],
stderr=subprocess.DEVNULL,
cwd=freqtrade_basedir,
)
.decode("utf-8")
.rstrip()
.strip('"')
)
except Exception: # pragma: no cover
# git not available, ignore
try:
# Try Fallback to freqtrade_commit file (created by CI while building docker image)
versionfile = Path('./freqtrade_commit')
versionfile = Path("./freqtrade_commit")
if versionfile.is_file():
__version__ = f"docker-{__version__}-{versionfile.read_text()[:8]}"
except Exception:
except Exception: # noqa: S110
pass

View File

@@ -9,5 +9,5 @@ To launch Freqtrade as a module
from freqtrade import main
if __name__ == '__main__':
if __name__ == "__main__":
main.main()

View File

@@ -6,22 +6,40 @@ Contains all start-commands, subcommands and CLI Interface creation.
Note: Be careful with file-scoped imports in these subfiles.
as they are parsed on startup, nothing containing optional modules should be loaded.
"""
from freqtrade.commands.analyze_commands import start_analysis_entries_exits
from freqtrade.commands.arguments import Arguments
from freqtrade.commands.build_config_commands import start_new_config, start_show_config
from freqtrade.commands.data_commands import (start_convert_data, start_convert_trades,
start_download_data, start_list_data)
from freqtrade.commands.data_commands import (
start_convert_data,
start_convert_trades,
start_download_data,
start_list_data,
start_list_trades_data,
)
from freqtrade.commands.db_commands import start_convert_db
from freqtrade.commands.deploy_commands import (start_create_userdir, start_install_ui,
start_new_strategy)
from freqtrade.commands.deploy_commands import (
start_create_userdir,
start_install_ui,
start_new_strategy,
)
from freqtrade.commands.hyperopt_commands import start_hyperopt_list, start_hyperopt_show
from freqtrade.commands.list_commands import (start_list_exchanges, start_list_freqAI_models,
start_list_markets, start_list_strategies,
start_list_timeframes, start_show_trades)
from freqtrade.commands.optimize_commands import (start_backtesting, start_backtesting_show,
start_edge, start_hyperopt,
start_lookahead_analysis,
start_recursive_analysis)
from freqtrade.commands.list_commands import (
start_list_exchanges,
start_list_freqAI_models,
start_list_markets,
start_list_strategies,
start_list_timeframes,
start_show_trades,
)
from freqtrade.commands.optimize_commands import (
start_backtesting,
start_backtesting_show,
start_edge,
start_hyperopt,
start_lookahead_analysis,
start_recursive_analysis,
)
from freqtrade.commands.pairlist_commands import start_test_pairlist
from freqtrade.commands.plot_commands import start_plot_dataframe, start_plot_profit
from freqtrade.commands.strategy_utils_commands import start_strategy_update

View File

@@ -20,25 +20,25 @@ def setup_analyze_configuration(args: Dict[str, Any], method: RunMode) -> Dict[s
config = setup_utils_configuration(args, method)
no_unlimited_runmodes = {
RunMode.BACKTEST: 'backtesting',
RunMode.BACKTEST: "backtesting",
}
if method in no_unlimited_runmodes.keys():
from freqtrade.data.btanalysis import get_latest_backtest_filename
if 'exportfilename' in config:
if config['exportfilename'].is_dir():
btfile = Path(get_latest_backtest_filename(config['exportfilename']))
if "exportfilename" in config:
if config["exportfilename"].is_dir():
btfile = Path(get_latest_backtest_filename(config["exportfilename"]))
signals_file = f"{config['exportfilename']}/{btfile.stem}_signals.pkl"
else:
if config['exportfilename'].exists():
btfile = Path(config['exportfilename'])
if config["exportfilename"].exists():
btfile = Path(config["exportfilename"])
signals_file = f"{btfile.parent}/{btfile.stem}_signals.pkl"
else:
raise ConfigurationError(f"{config['exportfilename']} does not exist.")
else:
raise ConfigurationError('exportfilename not in config.')
raise ConfigurationError("exportfilename not in config.")
if (not Path(signals_file).exists()):
if not Path(signals_file).exists():
raise OperationalException(
f"Cannot find latest backtest signals file: {signals_file}."
"Run backtesting with `--export signals`."
@@ -58,6 +58,6 @@ def start_analysis_entries_exits(args: Dict[str, Any]) -> None:
# Initialize configuration
config = setup_analyze_configuration(args, RunMode.BACKTEST)
logger.info('Starting freqtrade in analysis mode')
logger.info("Starting freqtrade in analysis mode")
process_entry_exit_reasons(config)

View File

@@ -1,10 +1,11 @@
"""
This module contains the argument manager class
"""
import argparse
from argparse import ArgumentParser, Namespace, _ArgumentGroup
from functools import partial
from pathlib import Path
from typing import Any, Dict, List, Optional
from typing import Any, Dict, List, Optional, Union
from freqtrade.commands.cli_options import AVAILABLE_CLI_OPTIONS
from freqtrade.constants import DEFAULT_CONFIG
@@ -12,35 +13,72 @@ from freqtrade.constants import DEFAULT_CONFIG
ARGS_COMMON = ["verbosity", "logfile", "version", "config", "datadir", "user_data_dir"]
ARGS_STRATEGY = ["strategy", "strategy_path", "recursive_strategy_search", "freqaimodel",
"freqaimodel_path"]
ARGS_STRATEGY = [
"strategy",
"strategy_path",
"recursive_strategy_search",
"freqaimodel",
"freqaimodel_path",
]
ARGS_TRADE = ["db_url", "sd_notify", "dry_run", "dry_run_wallet", "fee"]
ARGS_WEBSERVER: List[str] = []
ARGS_COMMON_OPTIMIZE = ["timeframe", "timerange", "dataformat_ohlcv",
"max_open_trades", "stake_amount", "fee", "pairs"]
ARGS_COMMON_OPTIMIZE = [
"timeframe",
"timerange",
"dataformat_ohlcv",
"max_open_trades",
"stake_amount",
"fee",
"pairs",
]
ARGS_BACKTEST = ARGS_COMMON_OPTIMIZE + ["position_stacking", "use_max_market_positions",
"enable_protections", "dry_run_wallet", "timeframe_detail",
"strategy_list", "export", "exportfilename",
"backtest_breakdown", "backtest_cache",
"freqai_backtest_live_models"]
ARGS_BACKTEST = ARGS_COMMON_OPTIMIZE + [
"position_stacking",
"use_max_market_positions",
"enable_protections",
"dry_run_wallet",
"timeframe_detail",
"strategy_list",
"export",
"exportfilename",
"backtest_breakdown",
"backtest_cache",
"freqai_backtest_live_models",
]
ARGS_HYPEROPT = ARGS_COMMON_OPTIMIZE + ["hyperopt", "hyperopt_path",
"position_stacking", "use_max_market_positions",
"enable_protections", "dry_run_wallet", "timeframe_detail",
"epochs", "spaces", "print_all",
"print_colorized", "print_json", "hyperopt_jobs",
"hyperopt_random_state", "hyperopt_min_trades",
"hyperopt_loss", "disableparamexport",
"hyperopt_ignore_missing_space", "analyze_per_epoch"]
ARGS_HYPEROPT = ARGS_COMMON_OPTIMIZE + [
"hyperopt",
"hyperopt_path",
"position_stacking",
"use_max_market_positions",
"enable_protections",
"dry_run_wallet",
"timeframe_detail",
"epochs",
"spaces",
"print_all",
"print_colorized",
"print_json",
"hyperopt_jobs",
"hyperopt_random_state",
"hyperopt_min_trades",
"hyperopt_loss",
"disableparamexport",
"hyperopt_ignore_missing_space",
"analyze_per_epoch",
]
ARGS_EDGE = ARGS_COMMON_OPTIMIZE + ["stoploss_range"]
ARGS_LIST_STRATEGIES = ["strategy_path", "print_one_column", "print_colorized",
"recursive_strategy_search"]
ARGS_LIST_STRATEGIES = [
"strategy_path",
"print_one_column",
"print_colorized",
"recursive_strategy_search",
]
ARGS_LIST_FREQAIMODELS = ["freqaimodel_path", "print_one_column", "print_colorized"]
@@ -52,12 +90,27 @@ ARGS_LIST_EXCHANGES = ["print_one_column", "list_exchanges_all"]
ARGS_LIST_TIMEFRAMES = ["exchange", "print_one_column"]
ARGS_LIST_PAIRS = ["exchange", "print_list", "list_pairs_print_json", "print_one_column",
"print_csv", "base_currencies", "quote_currencies", "list_pairs_all",
"trading_mode"]
ARGS_LIST_PAIRS = [
"exchange",
"print_list",
"list_pairs_print_json",
"print_one_column",
"print_csv",
"base_currencies",
"quote_currencies",
"list_pairs_all",
"trading_mode",
]
ARGS_TEST_PAIRLIST = ["user_data_dir", "verbosity", "config", "quote_currencies",
"print_one_column", "list_pairs_print_json", "exchange"]
ARGS_TEST_PAIRLIST = [
"user_data_dir",
"verbosity",
"config",
"quote_currencies",
"print_one_column",
"list_pairs_print_json",
"exchange",
]
ARGS_CREATE_USERDIR = ["user_data_dir", "reset"]
@@ -70,22 +123,67 @@ ARGS_CONVERT_DATA_TRADES = ["pairs", "format_from_trades", "format_to", "erase",
ARGS_CONVERT_DATA = ["pairs", "format_from", "format_to", "erase", "exchange"]
ARGS_CONVERT_DATA_OHLCV = ARGS_CONVERT_DATA + ["timeframes", "trading_mode", "candle_types"]
ARGS_CONVERT_TRADES = ["pairs", "timeframes", "exchange", "dataformat_ohlcv", "dataformat_trades",
"trading_mode"]
ARGS_CONVERT_TRADES = [
"pairs",
"timeframes",
"exchange",
"dataformat_ohlcv",
"dataformat_trades",
"trading_mode",
]
ARGS_LIST_DATA = ["exchange", "dataformat_ohlcv", "pairs", "trading_mode", "show_timerange"]
ARGS_LIST_DATA = [
"exchange",
"dataformat_ohlcv",
"dataformat_trades",
"trades",
"pairs",
"trading_mode",
"show_timerange",
]
ARGS_DOWNLOAD_DATA = ["pairs", "pairs_file", "days", "new_pairs_days", "include_inactive",
"timerange", "download_trades", "exchange", "timeframes",
"erase", "dataformat_ohlcv", "dataformat_trades", "trading_mode",
"prepend_data"]
ARGS_DOWNLOAD_DATA = [
"pairs",
"pairs_file",
"days",
"new_pairs_days",
"include_inactive",
"timerange",
"download_trades",
"convert_trades",
"exchange",
"timeframes",
"erase",
"dataformat_ohlcv",
"dataformat_trades",
"trading_mode",
"prepend_data",
]
ARGS_PLOT_DATAFRAME = ["pairs", "indicators1", "indicators2", "plot_limit",
"db_url", "trade_source", "export", "exportfilename",
"timerange", "timeframe", "no_trades"]
ARGS_PLOT_DATAFRAME = [
"pairs",
"indicators1",
"indicators2",
"plot_limit",
"db_url",
"trade_source",
"export",
"exportfilename",
"timerange",
"timeframe",
"no_trades",
]
ARGS_PLOT_PROFIT = ["pairs", "timerange", "export", "exportfilename", "db_url",
"trade_source", "timeframe", "plot_auto_open", ]
ARGS_PLOT_PROFIT = [
"pairs",
"timerange",
"export",
"exportfilename",
"db_url",
"trade_source",
"timeframe",
"plot_auto_open",
]
ARGS_CONVERT_DB = ["db_url", "db_url_from"]
@@ -93,39 +191,86 @@ ARGS_INSTALL_UI = ["erase_ui_only", "ui_version"]
ARGS_SHOW_TRADES = ["db_url", "trade_ids", "print_json"]
ARGS_HYPEROPT_LIST = ["hyperopt_list_best", "hyperopt_list_profitable",
"hyperopt_list_min_trades", "hyperopt_list_max_trades",
"hyperopt_list_min_avg_time", "hyperopt_list_max_avg_time",
"hyperopt_list_min_avg_profit", "hyperopt_list_max_avg_profit",
"hyperopt_list_min_total_profit", "hyperopt_list_max_total_profit",
"hyperopt_list_min_objective", "hyperopt_list_max_objective",
"print_colorized", "print_json", "hyperopt_list_no_details",
"hyperoptexportfilename", "export_csv"]
ARGS_HYPEROPT_LIST = [
"hyperopt_list_best",
"hyperopt_list_profitable",
"hyperopt_list_min_trades",
"hyperopt_list_max_trades",
"hyperopt_list_min_avg_time",
"hyperopt_list_max_avg_time",
"hyperopt_list_min_avg_profit",
"hyperopt_list_max_avg_profit",
"hyperopt_list_min_total_profit",
"hyperopt_list_max_total_profit",
"hyperopt_list_min_objective",
"hyperopt_list_max_objective",
"print_colorized",
"print_json",
"hyperopt_list_no_details",
"hyperoptexportfilename",
"export_csv",
]
ARGS_HYPEROPT_SHOW = ["hyperopt_list_best", "hyperopt_list_profitable", "hyperopt_show_index",
"print_json", "hyperoptexportfilename", "hyperopt_show_no_header",
"disableparamexport", "backtest_breakdown"]
ARGS_HYPEROPT_SHOW = [
"hyperopt_list_best",
"hyperopt_list_profitable",
"hyperopt_show_index",
"print_json",
"hyperoptexportfilename",
"hyperopt_show_no_header",
"disableparamexport",
"backtest_breakdown",
]
ARGS_ANALYZE_ENTRIES_EXITS = ["exportfilename", "analysis_groups", "enter_reason_list",
"exit_reason_list", "indicator_list", "timerange",
"analysis_rejected", "analysis_to_csv", "analysis_csv_path"]
ARGS_ANALYZE_ENTRIES_EXITS = [
"exportfilename",
"analysis_groups",
"enter_reason_list",
"exit_reason_list",
"indicator_list",
"entry_only",
"exit_only",
"timerange",
"analysis_rejected",
"analysis_to_csv",
"analysis_csv_path",
]
NO_CONF_REQURIED = ["convert-data", "convert-trade-data", "download-data", "list-timeframes",
"list-markets", "list-pairs", "list-strategies", "list-freqaimodels",
"list-data", "hyperopt-list", "hyperopt-show", "backtest-filter",
"plot-dataframe", "plot-profit", "show-trades", "trades-to-ohlcv",
"strategy-updater"]
NO_CONF_ALLOWED = ["create-userdir", "list-exchanges", "new-strategy"]
ARGS_STRATEGY_UPDATER = ["strategy_list", "strategy_path", "recursive_strategy_search"]
ARGS_LOOKAHEAD_ANALYSIS = [
a for a in ARGS_BACKTEST if a not in ("position_stacking", "use_max_market_positions", 'cache')
] + ["minimum_trade_amount", "targeted_trade_amount", "lookahead_analysis_exportfilename"]
a
for a in ARGS_BACKTEST
if a
not in ("position_stacking", "use_max_market_positions", "backtest_cache", "backtest_breakdown")
] + ["minimum_trade_amount", "targeted_trade_amount", "lookahead_analysis_exportfilename"]
ARGS_RECURSIVE_ANALYSIS = ["timeframe", "timerange", "dataformat_ohlcv", "pairs", "startup_candle"]
# Command level configs - keep at the bottom of the above definitions
NO_CONF_REQURIED = [
"convert-data",
"convert-trade-data",
"download-data",
"list-timeframes",
"list-markets",
"list-pairs",
"list-strategies",
"list-freqaimodels",
"list-data",
"hyperopt-list",
"hyperopt-show",
"backtest-filter",
"plot-dataframe",
"plot-profit",
"show-trades",
"trades-to-ohlcv",
"strategy-updater",
]
NO_CONF_ALLOWED = ["create-userdir", "list-exchanges", "new-strategy"]
class Arguments:
"""
@@ -134,7 +279,7 @@ class Arguments:
def __init__(self, args: Optional[List[str]]) -> None:
self.args = args
self._parsed_arg: Optional[argparse.Namespace] = None
self._parsed_arg: Optional[Namespace] = None
def get_parsed_arg(self) -> Dict[str, Any]:
"""
@@ -147,7 +292,7 @@ class Arguments:
return vars(self._parsed_arg)
def _parse_args(self) -> argparse.Namespace:
def _parse_args(self) -> Namespace:
"""
Parses given arguments and returns an argparse Namespace instance.
"""
@@ -156,14 +301,14 @@ class Arguments:
# Workaround issue in argparse with action='append' and default value
# (see https://bugs.python.org/issue16399)
# Allow no-config for certain commands (like downloading / plotting)
if ('config' in parsed_arg and parsed_arg.config is None):
conf_required = ('command' in parsed_arg and parsed_arg.command in NO_CONF_REQURIED)
if "config" in parsed_arg and parsed_arg.config is None:
conf_required = "command" in parsed_arg and parsed_arg.command in NO_CONF_REQURIED
if 'user_data_dir' in parsed_arg and parsed_arg.user_data_dir is not None:
if "user_data_dir" in parsed_arg and parsed_arg.user_data_dir is not None:
user_dir = parsed_arg.user_data_dir
else:
# Default case
user_dir = 'user_data'
user_dir = "user_data"
# Try loading from "user_data/config.json"
cfgfile = Path(user_dir) / DEFAULT_CONFIG
if cfgfile.is_file():
@@ -176,8 +321,9 @@ class Arguments:
return parsed_arg
def _build_args(self, optionlist, parser):
def _build_args(
self, optionlist: List[str], parser: Union[ArgumentParser, _ArgumentGroup]
) -> None:
for val in optionlist:
opt = AVAILABLE_CLI_OPTIONS[val]
parser.add_argument(*opt.cli, dest=val, **opt.kwargs)
@@ -188,50 +334,71 @@ class Arguments:
:return: None
"""
# Build shared arguments (as group Common Options)
_common_parser = argparse.ArgumentParser(add_help=False)
_common_parser = ArgumentParser(add_help=False)
group = _common_parser.add_argument_group("Common arguments")
self._build_args(optionlist=ARGS_COMMON, parser=group)
_strategy_parser = argparse.ArgumentParser(add_help=False)
_strategy_parser = ArgumentParser(add_help=False)
strategy_group = _strategy_parser.add_argument_group("Strategy arguments")
self._build_args(optionlist=ARGS_STRATEGY, parser=strategy_group)
# Build main command
self.parser = argparse.ArgumentParser(description='Free, open source crypto trading bot')
self._build_args(optionlist=['version'], parser=self.parser)
self.parser = ArgumentParser(
prog="freqtrade", description="Free, open source crypto trading bot"
)
self._build_args(optionlist=["version"], parser=self.parser)
from freqtrade.commands import (start_analysis_entries_exits, start_backtesting,
start_backtesting_show, start_convert_data,
start_convert_db, start_convert_trades,
start_create_userdir, start_download_data, start_edge,
start_hyperopt, start_hyperopt_list, start_hyperopt_show,
start_install_ui, start_list_data, start_list_exchanges,
start_list_freqAI_models, start_list_markets,
start_list_strategies, start_list_timeframes,
start_lookahead_analysis, start_new_config,
start_new_strategy, start_plot_dataframe, start_plot_profit,
start_recursive_analysis, start_show_config,
start_show_trades, start_strategy_update,
start_test_pairlist, start_trading, start_webserver)
from freqtrade.commands import (
start_analysis_entries_exits,
start_backtesting,
start_backtesting_show,
start_convert_data,
start_convert_db,
start_convert_trades,
start_create_userdir,
start_download_data,
start_edge,
start_hyperopt,
start_hyperopt_list,
start_hyperopt_show,
start_install_ui,
start_list_data,
start_list_exchanges,
start_list_freqAI_models,
start_list_markets,
start_list_strategies,
start_list_timeframes,
start_lookahead_analysis,
start_new_config,
start_new_strategy,
start_plot_dataframe,
start_plot_profit,
start_recursive_analysis,
start_show_config,
start_show_trades,
start_strategy_update,
start_test_pairlist,
start_trading,
start_webserver,
)
subparsers = self.parser.add_subparsers(dest='command',
# Use custom message when no subhandler is added
# shown from `main.py`
# required=True
)
subparsers = self.parser.add_subparsers(
dest="command",
# Use custom message when no subhandler is added
# shown from `main.py`
# required=True
)
# Add trade subcommand
trade_cmd = subparsers.add_parser(
'trade',
help='Trade module.',
parents=[_common_parser, _strategy_parser]
"trade", help="Trade module.", parents=[_common_parser, _strategy_parser]
)
trade_cmd.set_defaults(func=start_trading)
self._build_args(optionlist=ARGS_TRADE, parser=trade_cmd)
# add create-userdir subcommand
create_userdir_cmd = subparsers.add_parser(
'create-userdir',
"create-userdir",
help="Create user-data directory.",
)
create_userdir_cmd.set_defaults(func=start_create_userdir)
@@ -239,7 +406,7 @@ class Arguments:
# add new-config subcommand
build_config_cmd = subparsers.add_parser(
'new-config',
"new-config",
help="Create new config",
)
build_config_cmd.set_defaults(func=start_new_config)
@@ -247,7 +414,7 @@ class Arguments:
# add show-config subcommand
show_config_cmd = subparsers.add_parser(
'show-config',
"show-config",
help="Show resolved config",
)
show_config_cmd.set_defaults(func=start_show_config)
@@ -255,7 +422,7 @@ class Arguments:
# add new-strategy subcommand
build_strategy_cmd = subparsers.add_parser(
'new-strategy',
"new-strategy",
help="Create new strategy",
)
build_strategy_cmd.set_defaults(func=start_new_strategy)
@@ -263,8 +430,8 @@ class Arguments:
# Add download-data subcommand
download_data_cmd = subparsers.add_parser(
'download-data',
help='Download backtesting data.',
"download-data",
help="Download backtesting data.",
parents=[_common_parser],
)
download_data_cmd.set_defaults(func=start_download_data)
@@ -272,8 +439,8 @@ class Arguments:
# Add convert-data subcommand
convert_data_cmd = subparsers.add_parser(
'convert-data',
help='Convert candle (OHLCV) data from one format to another.',
"convert-data",
help="Convert candle (OHLCV) data from one format to another.",
parents=[_common_parser],
)
convert_data_cmd.set_defaults(func=partial(start_convert_data, ohlcv=True))
@@ -281,8 +448,8 @@ class Arguments:
# Add convert-trade-data subcommand
convert_trade_data_cmd = subparsers.add_parser(
'convert-trade-data',
help='Convert trade data from one format to another.',
"convert-trade-data",
help="Convert trade data from one format to another.",
parents=[_common_parser],
)
convert_trade_data_cmd.set_defaults(func=partial(start_convert_data, ohlcv=False))
@@ -290,8 +457,8 @@ class Arguments:
# Add trades-to-ohlcv subcommand
convert_trade_data_cmd = subparsers.add_parser(
'trades-to-ohlcv',
help='Convert trade data to OHLCV data.',
"trades-to-ohlcv",
help="Convert trade data to OHLCV data.",
parents=[_common_parser],
)
convert_trade_data_cmd.set_defaults(func=start_convert_trades)
@@ -299,8 +466,8 @@ class Arguments:
# Add list-data subcommand
list_data_cmd = subparsers.add_parser(
'list-data',
help='List downloaded data.',
"list-data",
help="List downloaded data.",
parents=[_common_parser],
)
list_data_cmd.set_defaults(func=start_list_data)
@@ -308,17 +475,15 @@ class Arguments:
# Add backtesting subcommand
backtesting_cmd = subparsers.add_parser(
'backtesting',
help='Backtesting module.',
parents=[_common_parser, _strategy_parser]
"backtesting", help="Backtesting module.", parents=[_common_parser, _strategy_parser]
)
backtesting_cmd.set_defaults(func=start_backtesting)
self._build_args(optionlist=ARGS_BACKTEST, parser=backtesting_cmd)
# Add backtesting-show subcommand
backtesting_show_cmd = subparsers.add_parser(
'backtesting-show',
help='Show past Backtest results',
"backtesting-show",
help="Show past Backtest results",
parents=[_common_parser],
)
backtesting_show_cmd.set_defaults(func=start_backtesting_show)
@@ -326,26 +491,22 @@ class Arguments:
# Add backtesting analysis subcommand
analysis_cmd = subparsers.add_parser(
'backtesting-analysis',
help='Backtest Analysis module.',
parents=[_common_parser]
"backtesting-analysis", help="Backtest Analysis module.", parents=[_common_parser]
)
analysis_cmd.set_defaults(func=start_analysis_entries_exits)
self._build_args(optionlist=ARGS_ANALYZE_ENTRIES_EXITS, parser=analysis_cmd)
# Add edge subcommand
edge_cmd = subparsers.add_parser(
'edge',
help='Edge module.',
parents=[_common_parser, _strategy_parser]
"edge", help="Edge module.", parents=[_common_parser, _strategy_parser]
)
edge_cmd.set_defaults(func=start_edge)
self._build_args(optionlist=ARGS_EDGE, parser=edge_cmd)
# Add hyperopt subcommand
hyperopt_cmd = subparsers.add_parser(
'hyperopt',
help='Hyperopt module.',
"hyperopt",
help="Hyperopt module.",
parents=[_common_parser, _strategy_parser],
)
hyperopt_cmd.set_defaults(func=start_hyperopt)
@@ -353,8 +514,8 @@ class Arguments:
# Add hyperopt-list subcommand
hyperopt_list_cmd = subparsers.add_parser(
'hyperopt-list',
help='List Hyperopt results',
"hyperopt-list",
help="List Hyperopt results",
parents=[_common_parser],
)
hyperopt_list_cmd.set_defaults(func=start_hyperopt_list)
@@ -362,8 +523,8 @@ class Arguments:
# Add hyperopt-show subcommand
hyperopt_show_cmd = subparsers.add_parser(
'hyperopt-show',
help='Show details of Hyperopt results',
"hyperopt-show",
help="Show details of Hyperopt results",
parents=[_common_parser],
)
hyperopt_show_cmd.set_defaults(func=start_hyperopt_show)
@@ -371,8 +532,8 @@ class Arguments:
# Add list-exchanges subcommand
list_exchanges_cmd = subparsers.add_parser(
'list-exchanges',
help='Print available exchanges.',
"list-exchanges",
help="Print available exchanges.",
parents=[_common_parser],
)
list_exchanges_cmd.set_defaults(func=start_list_exchanges)
@@ -380,8 +541,8 @@ class Arguments:
# Add list-markets subcommand
list_markets_cmd = subparsers.add_parser(
'list-markets',
help='Print markets on exchange.',
"list-markets",
help="Print markets on exchange.",
parents=[_common_parser],
)
list_markets_cmd.set_defaults(func=partial(start_list_markets, pairs_only=False))
@@ -389,8 +550,8 @@ class Arguments:
# Add list-pairs subcommand
list_pairs_cmd = subparsers.add_parser(
'list-pairs',
help='Print pairs on exchange.',
"list-pairs",
help="Print pairs on exchange.",
parents=[_common_parser],
)
list_pairs_cmd.set_defaults(func=partial(start_list_markets, pairs_only=True))
@@ -398,8 +559,8 @@ class Arguments:
# Add list-strategies subcommand
list_strategies_cmd = subparsers.add_parser(
'list-strategies',
help='Print available strategies.',
"list-strategies",
help="Print available strategies.",
parents=[_common_parser],
)
list_strategies_cmd.set_defaults(func=start_list_strategies)
@@ -407,8 +568,8 @@ class Arguments:
# Add list-freqAI Models subcommand
list_freqaimodels_cmd = subparsers.add_parser(
'list-freqaimodels',
help='Print available freqAI models.',
"list-freqaimodels",
help="Print available freqAI models.",
parents=[_common_parser],
)
list_freqaimodels_cmd.set_defaults(func=start_list_freqAI_models)
@@ -416,8 +577,8 @@ class Arguments:
# Add list-timeframes subcommand
list_timeframes_cmd = subparsers.add_parser(
'list-timeframes',
help='Print available timeframes for the exchange.',
"list-timeframes",
help="Print available timeframes for the exchange.",
parents=[_common_parser],
)
list_timeframes_cmd.set_defaults(func=start_list_timeframes)
@@ -425,8 +586,8 @@ class Arguments:
# Add show-trades subcommand
show_trades = subparsers.add_parser(
'show-trades',
help='Show trades.',
"show-trades",
help="Show trades.",
parents=[_common_parser],
)
show_trades.set_defaults(func=start_show_trades)
@@ -434,8 +595,8 @@ class Arguments:
# Add test-pairlist subcommand
test_pairlist_cmd = subparsers.add_parser(
'test-pairlist',
help='Test your pairlist configuration.',
"test-pairlist",
help="Test your pairlist configuration.",
)
test_pairlist_cmd.set_defaults(func=start_test_pairlist)
self._build_args(optionlist=ARGS_TEST_PAIRLIST, parser=test_pairlist_cmd)
@@ -450,16 +611,16 @@ class Arguments:
# Add install-ui subcommand
install_ui_cmd = subparsers.add_parser(
'install-ui',
help='Install FreqUI',
"install-ui",
help="Install FreqUI",
)
install_ui_cmd.set_defaults(func=start_install_ui)
self._build_args(optionlist=ARGS_INSTALL_UI, parser=install_ui_cmd)
# Add Plotting subcommand
plot_dataframe_cmd = subparsers.add_parser(
'plot-dataframe',
help='Plot candles with indicators.',
"plot-dataframe",
help="Plot candles with indicators.",
parents=[_common_parser, _strategy_parser],
)
plot_dataframe_cmd.set_defaults(func=start_plot_dataframe)
@@ -467,8 +628,8 @@ class Arguments:
# Plot profit
plot_profit_cmd = subparsers.add_parser(
'plot-profit',
help='Generate plot showing profits.',
"plot-profit",
help="Generate plot showing profits.",
parents=[_common_parser, _strategy_parser],
)
plot_profit_cmd.set_defaults(func=start_plot_profit)
@@ -476,40 +637,36 @@ class Arguments:
# Add webserver subcommand
webserver_cmd = subparsers.add_parser(
'webserver',
help='Webserver module.',
parents=[_common_parser]
"webserver", help="Webserver module.", parents=[_common_parser]
)
webserver_cmd.set_defaults(func=start_webserver)
self._build_args(optionlist=ARGS_WEBSERVER, parser=webserver_cmd)
# Add strategy_updater subcommand
strategy_updater_cmd = subparsers.add_parser(
'strategy-updater',
help='updates outdated strategy files to the current version',
parents=[_common_parser]
"strategy-updater",
help="updates outdated strategy files to the current version",
parents=[_common_parser],
)
strategy_updater_cmd.set_defaults(func=start_strategy_update)
self._build_args(optionlist=ARGS_STRATEGY_UPDATER, parser=strategy_updater_cmd)
# Add lookahead_analysis subcommand
lookahead_analayis_cmd = subparsers.add_parser(
'lookahead-analysis',
"lookahead-analysis",
help="Check for potential look ahead bias.",
parents=[_common_parser, _strategy_parser]
parents=[_common_parser, _strategy_parser],
)
lookahead_analayis_cmd.set_defaults(func=start_lookahead_analysis)
self._build_args(optionlist=ARGS_LOOKAHEAD_ANALYSIS,
parser=lookahead_analayis_cmd)
self._build_args(optionlist=ARGS_LOOKAHEAD_ANALYSIS, parser=lookahead_analayis_cmd)
# Add recursive_analysis subcommand
recursive_analayis_cmd = subparsers.add_parser(
'recursive-analysis',
"recursive-analysis",
help="Check for potential recursive formula issue.",
parents=[_common_parser, _strategy_parser]
parents=[_common_parser, _strategy_parser],
)
recursive_analayis_cmd.set_defaults(func=start_recursive_analysis)
self._build_args(optionlist=ARGS_RECURSIVE_ANALYSIS,
parser=recursive_analayis_cmd)
self._build_args(optionlist=ARGS_RECURSIVE_ANALYSIS, parser=recursive_analayis_cmd)

View File

@@ -45,7 +45,7 @@ def ask_user_overwrite(config_path: Path) -> bool:
},
]
answers = prompt(questions)
return answers['overwrite']
return answers["overwrite"]
def ask_user_config() -> Dict[str, Any]:
@@ -65,7 +65,7 @@ def ask_user_config() -> Dict[str, Any]:
"type": "text",
"name": "stake_currency",
"message": "Please insert your stake currency:",
"default": 'USDT',
"default": "USDT",
},
{
"type": "text",
@@ -73,36 +73,38 @@ def ask_user_config() -> Dict[str, Any]:
"message": f"Please insert your stake amount (Number or '{UNLIMITED_STAKE_AMOUNT}'):",
"default": "unlimited",
"validate": lambda val: val == UNLIMITED_STAKE_AMOUNT or validate_is_float(val),
"filter": lambda val: '"' + UNLIMITED_STAKE_AMOUNT + '"'
if val == UNLIMITED_STAKE_AMOUNT
else val
"filter": lambda val: (
'"' + UNLIMITED_STAKE_AMOUNT + '"' if val == UNLIMITED_STAKE_AMOUNT else val
),
},
{
"type": "text",
"name": "max_open_trades",
"message": "Please insert max_open_trades (Integer or -1 for unlimited open trades):",
"default": "3",
"validate": lambda val: validate_is_int(val)
"validate": lambda val: validate_is_int(val),
},
{
"type": "select",
"name": "timeframe_in_config",
"message": "Time",
"choices": ["Have the strategy define timeframe.", "Override in configuration."]
"choices": ["Have the strategy define timeframe.", "Override in configuration."],
},
{
"type": "text",
"name": "timeframe",
"message": "Please insert your desired timeframe (e.g. 5m):",
"default": "5m",
"when": lambda x: x["timeframe_in_config"] == 'Override in configuration.'
"when": lambda x: x["timeframe_in_config"] == "Override in configuration.",
},
{
"type": "text",
"name": "fiat_display_currency",
"message": "Please insert your display Currency (for reporting):",
"default": 'USD',
"message": (
"Please insert your display Currency for reporting "
"(leave empty to disable FIAT conversion):"
),
"default": "USD",
},
{
"type": "select",
@@ -111,6 +113,7 @@ def ask_user_config() -> Dict[str, Any]:
"choices": [
"binance",
"binanceus",
"bingx",
"gate",
"htx",
"kraken",
@@ -125,33 +128,33 @@ def ask_user_config() -> Dict[str, Any]:
"name": "trading_mode",
"message": "Do you want to trade Perpetual Swaps (perpetual futures)?",
"default": False,
"filter": lambda val: 'futures' if val else 'spot',
"when": lambda x: x["exchange_name"] in ['binance', 'gate', 'okx'],
"filter": lambda val: "futures" if val else "spot",
"when": lambda x: x["exchange_name"] in ["binance", "gate", "okx", "bybit"],
},
{
"type": "autocomplete",
"name": "exchange_name",
"message": "Type your exchange name (Must be supported by ccxt)",
"choices": available_exchanges(),
"when": lambda x: x["exchange_name"] == 'other'
"when": lambda x: x["exchange_name"] == "other",
},
{
"type": "password",
"name": "exchange_key",
"message": "Insert Exchange Key",
"when": lambda x: not x['dry_run']
"when": lambda x: not x["dry_run"],
},
{
"type": "password",
"name": "exchange_secret",
"message": "Insert Exchange Secret",
"when": lambda x: not x['dry_run']
"when": lambda x: not x["dry_run"],
},
{
"type": "password",
"name": "exchange_key_password",
"message": "Insert Exchange API Key password",
"when": lambda x: not x['dry_run'] and x['exchange_name'] in ('kucoin', 'okx')
"when": lambda x: not x["dry_run"] and x["exchange_name"] in ("kucoin", "okx"),
},
{
"type": "confirm",
@@ -163,13 +166,13 @@ def ask_user_config() -> Dict[str, Any]:
"type": "password",
"name": "telegram_token",
"message": "Insert Telegram token",
"when": lambda x: x['telegram']
"when": lambda x: x["telegram"],
},
{
"type": "password",
"name": "telegram_chat_id",
"message": "Insert Telegram chat id",
"when": lambda x: x['telegram']
"when": lambda x: x["telegram"],
},
{
"type": "confirm",
@@ -180,23 +183,25 @@ def ask_user_config() -> Dict[str, Any]:
{
"type": "text",
"name": "api_server_listen_addr",
"message": ("Insert Api server Listen Address (0.0.0.0 for docker, "
"otherwise best left untouched)"),
"default": "127.0.0.1" if not running_in_docker() else "0.0.0.0",
"when": lambda x: x['api_server']
"message": (
"Insert Api server Listen Address (0.0.0.0 for docker, "
"otherwise best left untouched)"
),
"default": "127.0.0.1" if not running_in_docker() else "0.0.0.0", # noqa: S104
"when": lambda x: x["api_server"],
},
{
"type": "text",
"name": "api_server_username",
"message": "Insert api-server username",
"default": "freqtrader",
"when": lambda x: x['api_server']
"when": lambda x: x["api_server"],
},
{
"type": "password",
"name": "api_server_password",
"message": "Insert api-server password",
"when": lambda x: x['api_server']
"when": lambda x: x["api_server"],
},
]
answers = prompt(questions)
@@ -205,15 +210,11 @@ def ask_user_config() -> Dict[str, Any]:
# Interrupted questionary sessions return an empty dict.
raise OperationalException("User interrupted interactive questions.")
# Ensure default is set for non-futures exchanges
answers['trading_mode'] = answers.get('trading_mode', "spot")
answers['margin_mode'] = (
'isolated'
if answers.get('trading_mode') == 'futures'
else ''
)
answers["trading_mode"] = answers.get("trading_mode", "spot")
answers["margin_mode"] = "isolated" if answers.get("trading_mode") == "futures" else ""
# Force JWT token to be a random string
answers['api_server_jwt_key'] = secrets.token_hex()
answers['api_server_ws_token'] = secrets.token_urlsafe(25)
answers["api_server_jwt_key"] = secrets.token_hex()
answers["api_server_ws_token"] = secrets.token_urlsafe(25)
return answers
@@ -225,26 +226,26 @@ def deploy_new_config(config_path: Path, selections: Dict[str, Any]) -> None:
:param selections: Dict containing selections taken by the user.
"""
from jinja2.exceptions import TemplateNotFound
try:
exchange_template = MAP_EXCHANGE_CHILDCLASS.get(
selections['exchange_name'], selections['exchange_name'])
selections["exchange_name"], selections["exchange_name"]
)
selections['exchange'] = render_template(
templatefile=f"subtemplates/exchange_{exchange_template}.j2",
arguments=selections
selections["exchange"] = render_template(
templatefile=f"subtemplates/exchange_{exchange_template}.j2", arguments=selections
)
except TemplateNotFound:
selections['exchange'] = render_template(
templatefile="subtemplates/exchange_generic.j2",
arguments=selections
selections["exchange"] = render_template(
templatefile="subtemplates/exchange_generic.j2", arguments=selections
)
config_text = render_template(templatefile='base_config.json.j2',
arguments=selections)
config_text = render_template(templatefile="base_config.json.j2", arguments=selections)
logger.info(f"Writing config to `{config_path}`.")
logger.info(
"Please make sure to check the configuration contents and adjust settings to your needs.")
"Please make sure to check the configuration contents and adjust settings to your needs."
)
config_path.write_text(config_text)
@@ -255,7 +256,7 @@ def start_new_config(args: Dict[str, Any]) -> None:
Asking the user questions to fill out the template accordingly.
"""
config_path = Path(args['config'][0])
config_path = Path(args["config"][0])
chown_user_directory(config_path.parent)
if config_path.exists():
overwrite = ask_user_overwrite(config_path)
@@ -264,22 +265,20 @@ def start_new_config(args: Dict[str, Any]) -> None:
else:
raise OperationalException(
f"Configuration file `{config_path}` already exists. "
"Please delete it or use a different configuration file name.")
"Please delete it or use a different configuration file name."
)
selections = ask_user_config()
deploy_new_config(config_path, selections)
def start_show_config(args: Dict[str, Any]) -> None:
config = setup_utils_configuration(args, RunMode.UTIL_EXCHANGE, set_dry=False)
# TODO: Sanitize from sensitive info before printing
print("Your combined configuration is:")
config_sanitized = sanitize_config(
config['original_config'],
show_sensitive=args.get('show_sensitive', False)
config["original_config"], show_sensitive=args.get("show_sensitive", False)
)
from rich import print_json
print_json(data=config_sanitized)

File diff suppressed because it is too large Load Diff

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