Commit Graph

1094 Commits

Author SHA1 Message Date
Matthias
34cba1480e test: improved line-annotation test-case 2025-10-08 07:07:39 +02:00
Matthias
9ea249180a test: add annotation line test 2025-10-08 06:42:53 +02:00
Matthias
9f436dcd1e chore: fix RUF043 violations 2025-09-15 19:20:20 +02:00
Matthias
95a710d4a8 chore: fix RUF059 violations 2025-09-15 19:15:43 +02:00
Matthias
739a67fdcb test: add test for new webhook functionality 2025-08-31 08:41:12 +02:00
Matthias
2542102280 test: Test telegram init exception handling 2025-08-30 20:02:03 +02:00
Matthias
07906d2576 test: update api backtest test 2025-08-17 15:02:28 +02:00
Matthias
5e64416dfa test: add test for profit_all 2025-07-18 20:17:19 +02:00
Matthias
571497e58b Merge pull request #11974 from qqqqqf-q/feat/telegram-profit-direction
feat(telegram): Add /profit long and /profit short commands
2025-07-18 06:54:21 +02:00
Matthias
35dab9b566 test: fix typo in test name 2025-07-17 07:28:53 +02:00
Matthias
2b05a49671 test: Update telegram /profit tests 2025-07-17 07:26:45 +02:00
Matthias
b79b5b6c32 refactor: move profit test next to each other 2025-07-17 07:21:05 +02:00
Matthias
78124cd025 feat: support /profit long, too 2025-07-17 07:20:15 +02:00
qqqqqf
19b57ad87e Add /profit long and /profit short commands#2
# Added `/profit_long` and `/profit_short` Commands

Users can now use commands like:

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

---

## Key Changes Implemented

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

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

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

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

---

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

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

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

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

---

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

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

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

---

## Testing

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

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

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

---
This time, only a little AI was used :)
Except for the translation.
2025-07-15 19:15:04 +08:00
qqqqqf
97f30cf13d feat(telegram): Add /profit long and /profit short commands
This commit enhances the /profit Telegram command to allow filtering by trade direction.

- The `_profit` handler in `telegram.py` now parses 'long'/'short' arguments and passes the direction to the RPC layer.
- The `_rpc_trade_statistics` method in `rpc.py` is updated to filter trades based on the provided direction. It has also been refactored for lower complexity.
- The `/help` command documentation is updated to reflect the new functionality.
- Corresponding unit tests in `test_rpc_telegram.py` are updated and extended to cover the new cases.
2025-07-12 08:41:39 +08:00
Matthias
2ecadabd92 chore: align API endpoints 2025-07-08 20:09:17 +02:00
Matthias
e90c60c940 chore: improved response on delete order 2025-07-07 19:26:35 +02:00
Matthias
60029c2a8b fix: improved message when nonexisting trade is deleted
part of #11967
2025-07-07 19:20:24 +02:00
Matthias
640cab2ca8 refactor: tests - update timezone.utc to UTC 2025-07-04 18:22:42 +02:00
Matthias
9bd8b7acf5 test: use event based init for telegram 2025-07-03 21:08:09 +02:00
Matthias
301d85ef4f test: remove edge tests 2025-06-10 18:20:02 +02:00
Matthias
aa89ce80ab test: remove edge from tests (initial round) 2025-06-10 07:15:02 +02:00
Matthias
61dd94ceb0 test: add tests for annotations feature 2025-05-02 19:59:23 +02:00
Matthias
d8b51875bf test: update tests for new file structure 2025-04-27 11:35:06 +02:00
Matthias
574419f3a4 test: freeze time to avoid random test failure 2025-04-21 11:22:16 +02:00
Matthias
a6d76cad39 test: improve api test to ensure the default is what we expect 2025-04-13 10:24:34 +02:00
David Arena
194d53acf8 fix: adding checks for trades and order_by_id 2025-04-12 16:57:30 +02:00
Matthias
0e92372b0b chore: don't use list[0] - but next 2025-04-09 19:42:46 +02:00
Matthias
a3d3a4de51 test: Update test to reflect new total_profit calculation 2025-04-07 19:28:43 +02:00
Axel-CH
722d5b2319 test: update test of _rpc_pause after removal of specific fallback if bot already paused 2025-03-28 10:18:21 -04:00
Axel-CH
3d8d2fc0c6 test: update tests related to paused state status message wording 2025-03-28 02:32:15 -04:00
Matthias
38feb90f9e chore: update function naming 2025-03-28 06:42:07 +01:00
Axel-CH
0adb264c9b test: update test_telegram_init with pause 2025-03-23 14:43:05 -04:00
Axel-CH
06c4b661f7 test: fix test__send_msg_keyboard after pause key removal 2025-03-23 14:17:06 -04:00
Axel-CH
85772ac7f7 test: update stopentry related tests for rpc api and telegram 2025-03-23 00:27:52 -04:00
Axel-CH
3ec72f88e2 test: update test_rpc_stopentry, small wording change on _rpc_stopentry status 2025-03-23 00:14:22 -04:00
Axel-CH
f70815dd8e test: update test_rpc_telegram with new paused state telegram commands 2025-03-21 19:04:14 -04:00
Matthias
425701ddcf test: simplify assert message 2025-03-20 06:44:34 +01:00
Matthias
42e45a0a65 chore: simplify import and docstring 2025-03-20 06:43:50 +01:00
Axel-CH
0d7854ff1b test: update tests after removal of cd_value field from list custom-data response 2025-03-19 15:24:19 -04:00
Axel-CH
61b29962c4 test: update test after trade id removal from telegram response for list_custom_data 2025-03-19 03:10:23 -04:00
Axel-CH
176f5518ea Merge branch 'develop' into api-server-list-custom-data 2025-03-18 00:53:10 -04:00
Axel-CH
06406b7103 test: update test_telegram_list_custom_data 2025-03-18 00:52:21 -04:00
Axel-CH
578ba9ea4a test: update custom-data api related tests according rpc_list_custom_data output 2025-03-18 00:50:03 -04:00
Axel-CH
68ad688665 test: update test_telegram_list_custom_data wording 2025-03-17 18:04:36 -04:00
Matthias
5d3c764e27 test for authorized_users telegram functionality
closes #11503
2025-03-16 14:00:17 +01:00
Matthias
d543feb032 tests: simplify telegram test setup 2025-03-16 13:42:15 +01:00
Axel-CH
429505b134 test: add test_api_custom_data_multiple_open_trades to validate api route behaviour 2025-03-12 10:37:39 -04:00
Axel-CH
2c2cc086c3 test: add test_api_custom_data_single_trade to validate api route behaviour 2025-03-12 00:24:17 -04:00
Axel-CH
fe16654733 test: slight change on expected string in test_telegram_list_custom_data 2025-03-12 00:21:24 -04:00