Commit Graph

2003 Commits

Author SHA1 Message Date
Matthias
78124cd025 feat: support /profit long, too 2025-07-17 07:20:15 +02:00
Matthias
7c4c789711 chore: fix message formatting issue 2025-07-17 07:10:32 +02:00
qqqqqf
c92c64bac2 Modify the duplicate functions.
Modify the original three duplicate functions (_profit_short, _profit_long, _profit), and add _profit_handler and _format_profit_message.

Refactor telegram.py and rpc.py.

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

Both pytest and ruff have passed.
2025-07-16 11:43:51 +08:00
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
17c7826756 Merge branch 'develop' into add-current-drawdown-in-telegram-profit-command 2025-07-08 19:59:42 +02:00
Matthias
fe92df7842 chore: revert unnecessary edits 2025-07-08 19:59:37 +02:00
mrpabloyeah
e6dd932436 Expand calculate_max_drawdown() to return the current drawdown data and use it instead of calculate_current_drawdown() 2025-07-08 13:00:48 +02:00
Matthias
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
5b8b80cf59 refactor: Update timezone.utc to UTC 2025-07-04 18:22:42 +02:00
Matthias
37cc949d94 refactor: Update utc to UTC 2025-07-04 18:22:42 +02:00
mrpabloyeah
2ebc5374f4 Add current drawdown in telegram profit command 2025-06-21 12:10:53 +02:00
Matthias
5e059660d4 chore: move remove_exchange_credentials to config module 2025-06-20 20:19:20 +02:00
Matthias
5dd5b95d6a Merge pull request #11867 from freqtrade/maint/remove_edge
Remove Edge from Freqtrade
2025-06-10 20:19:53 +02:00
mrpabloyeah
48f3d612e9 Fix Telegram balance command when fiat_display_currency is not set 2025-06-10 13:35:49 +02:00
Matthias
971dfef0ee chore: remove edge from RPC modules 2025-06-10 07:09:30 +02:00
Matthias
3155dfc14c Merge pull request #11789 from freqtrade/fix/customdata_sessions
fix: improved session handling for custom_data sessions
2025-06-03 06:30:39 +02:00
mrpabloyeah
c4eb26be9d Fix telegram profit stats when fiat_display_currency is not set 2025-06-01 13:53:17 +02:00
Matthias
29ae71333a fix: improved session handling for custom_data sessions 2025-05-25 08:37:01 +02:00
Matthias
8b8bf6f97d refactor: automatically load detailed bt data 2025-05-03 20:01:13 +02:00
Matthias
1fec5a873e Merge branch 'develop' into feat/plot_annotations 2025-05-02 19:48:50 +02:00
Matthias
8a8cc5e563 chore: don't rerun binance futures migration
once it's migrated, new migrations shouldn't be necessary.
2025-04-27 08:44:48 +02:00
Matthias
875216cdc5 refactor: improved variable naming 2025-04-26 09:20:55 +02:00
David Arena
751d98495f fix: tests/formatting 2025-04-12 00:02:31 +02:00
David Arena
49b119f1dc Feat: option for order_by_id 2025-04-11 23:53:27 +02:00
Matthias
b797a5bf2f chore: remove some unused noqa's 2025-04-09 19:51:38 +02:00
Matthias
1aaf0c2034 Merge pull request #11539 from Axel-CH/feat/add-paused-state
Feature: add paused state
2025-04-03 06:48:48 +02:00
Axel-CH
ca573a828f chore: update _rpc_pause return wording 2025-04-01 00:34:38 -04:00
Axel-CH
91ace759c5 chore: update _rpc_pause remove specific fallback if bot alreadu paused 2025-03-28 10:17:16 -04:00
Axel-CH
58154d76ae chore: update paused state status message wording 2025-03-28 02:31:18 -04:00
Matthias
38feb90f9e chore: update function naming 2025-03-28 06:42:07 +01:00
Axel-CH
543c77fe00 chore: slight refactor on rpc stop handler 2025-03-25 11:43:23 -04:00
Axel-CH
b2898cf742 feat: add stop state change from pause state 2025-03-23 22:27:49 -04:00
Axel-CH
394535c2e8 chore: update telegram _stopentry handling function description 2025-03-23 22:13:09 -04:00
Axel-CH
16576d37b1 feat: allow force_exit, rpc_cancel_open_order and _rpc_count in paused state 2025-03-23 15:25:34 -04:00
Axel-CH
b6b3429b62 chore: remove _pause handler to use already existing _stopentry handler 2025-03-23 14:44:30 -04:00
Axel-CH
445c3a67db add pause in telegram commandHandler init 2025-03-23 14:31:36 -04:00
Matthias
7b44dd17ae feat: strategy-file saving for api backtest 2025-03-23 17:24:00 +01:00
Axel-CH
b8dffe0eb0 chore: revert telegram keyboard list, remove paused button 2025-03-23 04:09:18 -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
46fab55378 feat: /pause telegram command now use _rpc_stopentry function 2025-03-22 23:57:07 -04:00
Axel-CH
1d44f75659 feat: update api, change /pause from individual route to alias with /stopentry and /stopbuy 2025-03-22 23:50:27 -04:00
Axel-CH
a4416b885a feat: _rpc_stopentry to handle paused state, remove _rpc_pause 2025-03-22 23:45:01 -04:00
Axel-CH
47151e77e1 feat: add paused state to telegram commands 2025-03-21 19:02:48 -04:00
Axel-CH
f46c8cdc4a feat: add paused state path to api 2025-03-21 16:58:23 -04:00
Axel-CH
db57f83922 feat: add paused state handler to rpc 2025-03-21 16:49:05 -04:00
Matthias
7178ce8559 chore: Add descriptions to api parameters 2025-03-20 18:05:25 +01:00
Matthias
42e45a0a65 chore: simplify import and docstring 2025-03-20 06:43:50 +01:00