Commit Graph

865 Commits

Author SHA1 Message Date
Matthias d32508aa75 Merge branch 'develop' into pr/eatrisno/4308 2021-06-13 20:04:24 +02:00
Matthias d4dfdf04fc Move RPCMessageType to enums 2021-06-09 20:23:17 +02:00
Matthias 9c34304cb9 Move state enums to enums package 2021-06-08 21:20:35 +02:00
Matthias d16a619489 Move SellType Enum to it's own module 2021-06-08 21:04:34 +02:00
Matthias e71d965e32
Merge pull request #4982 from eschava/profit_day_week
day/week options for Telegram '/profit' command
2021-06-08 19:26:57 +01:00
Matthias 3310a45029 Change wording if limited lookback is used 2021-06-08 20:10:43 +02:00
Matthias bd1984386e Move get_sell_rate to exchange class 2021-06-02 11:41:13 +02:00
Eugene Schava 9edcb393b6 telegram: move the most important information to the top of sell message
fixed flake error
2021-06-01 22:24:21 +03:00
Eugene Schava 53b1f38952 telegram: move the most important information to the top of sell message 2021-06-01 20:08:22 +03:00
Kamontat Chantrachirathumrong 806838c3af
Fix we use check sell_noti not noti 2021-05-30 21:07:44 +07:00
Matthias 313567d07d Support having numbers in custom keyboard 2021-05-29 08:12:25 +02:00
Eugene Schava 14df243661 day/week options for Telegram '/profit' command
mypy fix
2021-05-28 17:18:23 +03:00
Eugene Schava 012309a06a day/week options for Telegram '/profit' command
fixed line lenght
2021-05-28 17:03:31 +03:00
Eugene Schava 36b68d3702 day/week options for Telegram '/profit' command
format changed to "/profit n"
2021-05-28 14:46:22 +03:00
Eugene Schava 4b5a9d8c49 day/week options for Telegram '/profit' command
revert accidental changes
2021-05-28 14:43:57 +03:00
Eugene Schava a965436cd6 day/week options for Telegram '/profit' command
format changed to "/profit n"
2021-05-28 10:17:26 +03:00
Matthias 377352fced
Merge pull request #4682 from freqtrade/sqlalchemy_14
Sqlalchemy 14 preparations
2021-05-27 14:19:25 +01:00
Matthias 17f74f7da8 Ensure commit happens on forcebuy 2021-05-27 11:38:28 +02:00
Matthias a01d05997e Add Trade.commit method for easy use 2021-05-27 11:38:28 +02:00
Matthias 6fb32c3594 Use commit instead of .flush() 2021-05-27 11:38:28 +02:00
Kamontat Chantrachirathumrong c5c323ca88
Settings notify sell in telegram base on sell reason (#5028)
* BREAK: notification sell by sell reason

* Update constants.py

* Update telegram.py

* Update telegram-usage.md

* Update telegram.py

* Update telegram.py

* Fix test fail

* Update config_full.json.example

* Update telegram-usage.md

* Update telegram.py

* Update telegram.py

* Update telegram-usage.md

* validate value of sell object

* Fix linter

* Update constants.py

* Make telegram sample slightly more positive

Co-authored-by: Matthias <xmatthias@outlook.com>
2021-05-27 11:35:27 +02:00
Matthias f760b4a789 Merge branch 'develop' into pr/gmatheu/4746 2021-05-23 16:03:11 +02:00
Matthias 765c824bfc isort 2021-05-22 17:25:23 +02:00
A. Schueler 0693458507
Update freqtrade/rpc/fiat_convert.py 2021-05-22 16:26:58 +02:00
A. Schueler f8cdd6475c Reduce warnings when waiting for coingecko backoff 2021-05-22 13:43:33 +02:00
A. Schueler 6e05f856b4 Abort _find_price when cryptomap is empty after retry 2021-05-22 11:55:03 +02:00
A. Schueler ab6bfbad12 Handle RequestExceptions that are not 429s in _load_cryptomap 2021-05-22 11:52:40 +02:00
A. Schueler 8842e0d161 Fix flake8 error in fiat_convert 2021-05-22 10:59:33 +02:00
A. Schueler a0921ec753 Add backoff timer for coingecko API
Set a future timestamp when we should retry getting coingecko data.

This fixes conversion from stake to fiat when running multiple bots
as we don't simply accept the 429 error from Coingecko but handle it.
2021-05-22 10:59:33 +02:00
Eugene Schava 336f4aa6a7 day/week options for Telegram '/profit' command
isort fix
2021-05-20 08:17:08 +03:00
Eugene Schava 935ed36433 day/week options for Telegram '/profit' command
mypy fix
2021-05-20 01:10:22 +03:00
Eugene Schava e9841910e9 day/week options for Telegram '/profit' command 2021-05-20 00:33:33 +03:00
Eugene Schava 459fae6d80 Total row for telegram "/status table" command
fixes
2021-05-17 16:22:48 +03:00
Eugene Schava 3ad8fa2f38 Total row for telegram "/status table" command
moved sum calculation to API
2021-05-17 15:59:03 +03:00
Eugene Schava 196fde44e0 Total row for telegram "/status table" command
work around mypy warning
2021-05-17 14:45:54 +03:00
Eugene Schava 915ff7e1bf Total row for telegram "/status table" command
fix mypy warnings
2021-05-17 13:03:20 +03:00
Eugene Schava d7479fda1f Total row for telegram "/status table" command
fix compiler warnings
2021-05-17 12:53:57 +03:00
Eugene Schava 0abb9cfe28 Total row for telegram "/status table" command 2021-05-17 12:41:44 +03:00
Eugene Schava 10ef0f54ac Total row for telegram "/status table" command 2021-05-17 11:12:11 +03:00
Matthias 2d7735ba04 Update telegram to sort performance by absolute performance 2021-05-15 19:49:21 +02:00
Matthias 6b2a38ccfb Add absolute Profit to apiserver 2021-05-15 19:39:46 +02:00
Matthias e1447f955c /locks should always respond, even if there's no locks
closes #4942
2021-05-15 10:50:00 +02:00
Matthias 0ace35bf3d Fix unreferenced error 2021-05-15 08:14:50 +02:00
Matthias 09756e3007 Subplots should always be included in responses 2021-05-14 06:36:50 +02:00
Matthias 2157923aee have edge send multiple messages if necessary
closes #4519
2021-05-08 19:45:34 +02:00
Matthias 32577cc0cd
Merge pull request #4836 from bzed/telegram-locks
Telegram rpc: split too long /locks messages
2021-05-05 20:15:13 +02:00
Bernd Zeimetz 3be7bc509c Telegram: send locks as chunks of 25.
Producing easily readable messages, hopefully always below the message lenght limit
2021-04-29 22:21:04 +02:00
Rokas Kupstys 961b38636f Remove explicit sell_flag parameter from SellCheckTuple. 2021-04-25 09:48:40 +03:00
Rokas Kupstys bfad4e82ad Make execute_sell() use SellCheckTuple for sell reason. 2021-04-25 09:48:40 +03:00
Matthias f12e002686
Merge pull request #4775 from freqtrade/fix_wallet_unlimited
Fix wallet unlimited
2021-04-24 15:54:06 +02:00
Matthias 4693cba10d
Merge pull request #4769 from freqtrade/trades_pagination
Trades pagination
2021-04-22 19:13:19 +02:00
Matthias 7e2e196643 improve sell_message by using sell rate 2021-04-22 17:13:22 +02:00
Matthias f744df2374 Fix bad fill message 2021-04-22 10:01:41 +02:00
Matthias 515c73f399 Don't hard-limit trades endpoint for now 2021-04-22 06:51:26 +02:00
Matthias d8c8a8d8c2 Remvoe pointless arguments from get_trade_stake_amount 2021-04-21 20:01:10 +02:00
Matthias bd92ce938c trade_history should paginate through results
this avoids huge results
2021-04-20 21:04:44 +02:00
Matthias f821ef5aec Final finetunings of rpc_fill messages 2021-04-20 19:36:30 +02:00
Matthias 0341ac5a55 rename RPC message types 2021-04-20 19:23:28 +02:00
Matthias fecd5c582b Add buy and sell fill notifications
closes #3542
2021-04-20 19:22:14 +02:00
Matthias 44bfb53668 Don't use current rate for closed trades 2021-04-17 19:29:34 +02:00
Matthias c52edcff4d
Merge pull request #4677 from mads03dk/get_trade
Add API endpoint for getting a specific trade
2021-04-16 19:57:58 +02:00
Matthias aeb81f90ff Implement errorhandling for /trade endpoint 2021-04-16 19:35:56 +02:00
Gonzalo Matheu 7a98de10ea telegram: Formatting typings 2021-04-15 21:51:16 -03:00
Gonzalo Matheu e3c5a4b3fc telegram: Formatting imports 2021-04-15 21:51:16 -03:00
Gonzalo Matheu 5fae4ea2fd telegram: Formatting code 2021-04-15 21:51:16 -03:00
Gonzalo Matheu 50bdae8eb2 telegram: Adding forcebuy inline keyboard 2021-04-15 21:51:16 -03:00
Gonzalo Matheu e2f28991e6 telegram: Wrapping long line 2021-04-15 21:51:16 -03:00
Gonzalo Matheu 271e4500d9 telegram: Adding dynamic keyboard to /forcebuy response 2021-04-15 21:51:16 -03:00
Matthias c2f35ce416 /balance should use cached tickers when possible 2021-04-13 20:21:03 +02:00
Matthias 82d66410f7 Fix /performance output
if multiple messages are necessary

closes #4726
2021-04-13 19:20:57 +02:00
Matthias 4b902d6eb8 Don't use response-model on trades endpoint for now 2021-04-13 06:23:11 +02:00
Matthias 9a58a85347 Don't export "hum" date versions for trade objects.
They are not used and have a rather high performance penalty due to
using arrow.get
2021-04-13 06:17:11 +02:00
Matthias ebbe47f38d Simplify fiat convert and fix USD coingecko problem 2021-04-10 13:36:16 +02:00
Matthias d2680f6cb8 Remove telegram deprecation warning
closes #4688
2021-04-07 06:57:05 +02:00
Matthias ac6bff536f Fix test failure with UI test if UI is deployed 2021-04-07 06:55:11 +02:00
Mads Sørensen c176e277f1 Add a REST endpoint for getting a specific trade 2021-04-05 19:31:34 +02:00
Matthias 0407bf755f Use .query.session to make sure the scoped session is used properly 2021-04-05 07:28:51 +02:00
Matthias 5f6eae52a2 fix too long performance message
closes #4655
2021-04-03 19:12:36 +02:00
Mads Sørensen 3691ae8686 Make sure the fiat converter exists before calling it 2021-04-02 14:50:47 +02:00
Mads Sørensen 51f0fcb2cb Add profit_fiat to REST API 2021-04-02 12:20:38 +02:00
Matthias ee82d36bef
Merge pull request #4593 from hoeckxer/feat/status_table_telegram_length
Changed the code for status table a bit so that it splits up the trad…
2021-03-24 06:49:54 +01:00
Erwin Hoeckx 2fd510e6e4 Added comment with an example calculation
Signed-off-by: Erwin Hoeckx <hawkeyenl@yahoo.com>
2021-03-23 21:52:46 +01:00
Erwin Hoeckx 65a9763fa5 Fixed an issue when there were exactly 50 trades, it was sending an extra empty table
Signed-off-by: Erwin Hoeckx <hawkeyenl@yahoo.com>
2021-03-23 16:54:38 +01:00
Erwin Hoeckx c928cd38dc Small bugfix to make sure it shows all the trades
Signed-off-by: Erwin Hoeckx <hawkeyenl@yahoo.com>
2021-03-23 16:45:42 +01:00
Erwin Hoeckx 4e8999ade3 Changed the code for status table a bit so that it splits up the trades per 50 trades, to make sure it can be sent regardless of number of trades
Signed-off-by: Erwin Hoeckx <hawkeyenl@yahoo.com>
2021-03-22 20:40:11 +01:00
Jackson Law 425cd7adba Create event loop manually if uvloop is available
asyncio.get_event_loop() does not call new_event_loop()
if current_thread() != main_thread()
2021-03-12 16:16:03 -08:00
Th0masL 37e6006169 Fix order_by in trades command 2021-03-08 23:21:56 +02:00
Matthias b515609d73
Merge pull request #4490 from Th0masL/add_trade_id
Add the trade ID to Telegram Buy/Sell/Cancel messages
2021-03-06 15:40:34 +01:00
Th0masL ad0e60b5b6 Add trade_id to Cancel messages and reduced lines length 2021-03-06 15:07:47 +02:00
Th0masL 03b89e7f78 Add trade_id in Telegram messages 2021-03-06 00:04:12 +02:00
Matthias a405d578da Introduce forcebuy ordertype to allow specifiying a different ordertype for forcebuy / forcesells 2021-03-05 20:22:04 +01:00
Matthias 5196306407 Remove deprecated profit return value 2021-03-05 20:03:49 +01:00
Matthias 4bb6a27745 Don't catch errors that can't happen 2021-03-02 06:59:58 +01:00
Matthias 007ac7abb5 Add telegram pair unlocking 2021-03-01 20:09:40 +01:00
Matthias 6640156ac7 Support deleting locks via API 2021-03-01 19:50:39 +01:00
Matthias 3d65ba2dcb Add rpc method to delete locks 2021-03-01 07:51:33 +01:00
Matthias bba9b9e819 Don't use __root__ directly for api response 2021-03-01 07:08:44 +01:00
Matthias 4b689f5b88
Merge pull request #4420 from freqtrade/dependabot/pip/develop/mypy-0.812
Bump mypy from 0.790 to 0.812
2021-02-28 15:30:44 +01:00
Matthias aba034ff40 Fix mypy problem after mypy 0.800 upgrade 2021-02-28 11:04:30 +01:00
Matthias 54ccbd9370
Merge pull request #4391 from squat0001/develop
Add dust level to balance command in telegram
2021-02-28 10:36:44 +01:00
Matthias a13dc3cdde Use sensible defaults for balance_dust_level 2021-02-28 09:57:52 +01:00
Florian Reitmeir 0895407811 add balance_dust_level parameter to make telegram less chatty 2021-02-28 08:51:32 +01:00
Matthias 05f057fe72 Stringify favicon path
potentially closes #4459
2021-02-28 08:48:28 +01:00
Xanders 7281e794b4
Fix too long line at webhook.py 2021-02-26 21:31:33 +03:00
Xanders fc69240e6d
Add JSON-encoded webhooks 2021-02-26 17:46:23 +03:00
Matthias 228e51b60b Fix #4405 2021-02-22 13:34:52 +01:00
Matthias 245e39e523 dry-run should be a bool, not a string 2021-02-20 19:17:26 +01:00
Eko Aprili Trisno af98e025d1
Merge branch 'develop' into patch-1 2021-02-14 02:12:38 +07:00
Eko Aprili Trisno ba32708ed4
Update telegram.py 2021-02-14 01:40:04 +07:00
Matthias d4c8be915c Use fstring where possible 2021-02-13 16:11:49 +01:00
Matthias e7acee7904 Improve coin value output by rounding coin specific 2021-02-13 16:05:56 +01:00
Matthias dd23f6bcbc Fix type for getting pairs 2021-02-11 20:29:31 +01:00
Matthias 843fb204e9 Fix problem with inf values returned from dataframe for api methods 2021-02-11 20:21:31 +01:00
Matthias 2c71b3b118
Merge pull request #4309 from freqtrade/extract_stake_amount
Move get_trade_stake_amount to wallets
2021-02-05 19:47:30 +01:00
Matthias 1310a7b547 Fix bug with wrong conversion for BTCST/BTC
This can happen if a pair starts with the stake-currency

closes #4307
2021-02-04 19:58:44 +01:00
raoulus 99b2214d1f setting resize_keyboard=True for slightly smaller Telegram buttons 2021-02-04 15:27:18 +01:00
Matthias b8cb39462c Move get_trade_stake_amount to wallets
this way it can be easier used by other functions
2021-02-03 20:00:33 +01:00
Eko Aprili Trisno 54d0ac9d20
Update telegram.py 2021-02-04 01:19:23 +07:00
Eko Aprili Trisno 21d3635e8d
Update telegram.py 2021-02-04 01:16:27 +07:00
Eko Aprili Trisno 69d62ef383
Add Refresh / Reload Button on rpc/Telegram 2021-02-04 01:06:52 +07:00
Matthias 06e2bc94c3 Deploy to subdirectory 2021-01-31 16:01:00 +01:00
Matthias 28be71806f Install html file as well 2021-01-31 15:13:51 +01:00
Matthias a87a885ccd Don't use Path object to return fileresponses 2021-01-31 14:54:58 +01:00
Matthias e928d2991d Add fallback file 2021-01-31 14:50:54 +01:00
Matthias 27970b424d Add webUI serving to api-server 2021-01-31 14:50:54 +01:00
Matthias 5724371a4f Fix types for numpy 1.20.0 upgrade 2021-01-31 11:21:23 +01:00
Matthias 16dad8b6d4 Allow custom_stoploss to cooperate with stoploss on exchange 2021-01-30 20:11:18 +01:00
Matthias 20591b539a
Merge pull request #4228 from baartch/develop
Extending the Telegram Bot command /status with the possibility to query specific trade_ids
2021-01-19 20:08:49 +01:00
Andreas Brunner a68a546dd9 _rpc_trade_status argument datatype optimizations 2021-01-18 15:26:53 +01:00
Andreas Brunner eb95d970e9 flake8 beautify 2021-01-17 21:26:55 +01:00
Andreas Brunner d21eff0d52 fix, if an non existing trade_id is provided 2021-01-17 21:21:31 +01:00
Andreas Brunner 3ea33d1737 updating doc and help with new /status argument 2021-01-17 21:15:17 +01:00
Andreas Brunner 6d40814dbf extend status bot command to query specific trades 2021-01-17 20:39:35 +01:00
Matthias 53c208197d Add bot_name setting
allows naming the bot to simply differentiate when running different
bots.
2021-01-16 16:19:49 +01:00
Matthias d74376726a api-server should fully support max_open_trades=-1 2021-01-15 20:47:12 +01:00
Matthias 47a06c6213 Fix enable/reenable of swagger UI endpoint 2021-01-12 19:28:22 +01:00
Matthias ac43591c44 Fix failing api when max_open_trades is unlimited 2021-01-12 19:24:37 +01:00
Matthias 8631a54514 Fix test due to pyjwt2.0 2021-01-08 19:34:01 +01:00
Matthias e69dac2704 Fix bug in RPC history mode when no data is found 2021-01-06 15:38:46 +01:00
Matthias 5ca2cd3a1e Change defaults to log only errors 2021-01-03 07:18:41 +01:00
Matthias 634d6f3898 Change logging to stderr 2021-01-03 07:15:45 +01:00
Matthias 26c3463403 Stake-amount supports unlimited, too 2021-01-03 06:49:10 +01:00
Matthias cff50f9f66 Add response-model for show_config 2021-01-03 06:49:10 +01:00
Matthias ca0bb7bbb8 Don't require RPC for strategy 2021-01-03 06:49:07 +01:00
Matthias e6176d43f3 Optional RPC dependency 2021-01-03 06:49:07 +01:00
Matthias 3dc37dd79d Add types for deps 2021-01-03 06:49:07 +01:00
Matthias 336dd1a29c Rename api_models to api_schemas 2021-01-03 06:49:07 +01:00
Matthias 84ced92002 Fix mock-tests missing some fields 2021-01-03 06:49:07 +01:00
Matthias 29f4dd1dcd Enhance some response models 2021-01-03 06:49:07 +01:00
Matthias 718f2b24d2 Don't use relative imports 2021-01-03 06:49:07 +01:00
Matthias b2ab553a31 Rename api_server2 module to apiserver 2021-01-03 06:49:04 +01:00
Matthias eb20f6e7d0 Align auth token to flask version to prevent user-logout 2021-01-03 06:49:04 +01:00
Matthias 346542e5cd Remove flask dependency 2021-01-03 06:49:04 +01:00
Matthias 68d148e72d Allow configuration of openAPI interface 2021-01-03 06:49:04 +01:00
Matthias 1717121f10 Properly use JWT secret key 2021-01-03 06:49:04 +01:00
Matthias 790f833653 Some more tests around api_auth 2021-01-03 06:49:04 +01:00
Matthias 776ce57f55 Remove api_server 2021-01-03 06:49:04 +01:00
Matthias 54a50b1fb4 Fix some tests 2021-01-03 06:49:04 +01:00
Matthias 9f873305eb Improve response models 2021-01-03 06:49:04 +01:00
Matthias 9350f505bc Implement missing methods 2021-01-03 06:49:04 +01:00
Matthias e23898d17b Improve some tests 2021-01-03 06:49:04 +01:00
Matthias 9ee1d88355 Implement more endpoints 2021-01-03 06:49:04 +01:00
Matthias 73a29e6d74 Improve tests, implement more fastapi methods 2021-01-03 06:49:04 +01:00
Matthias a18d66e108 Add more endpoints to fastapi 2021-01-03 06:49:04 +01:00
Matthias 4b86700a0f Implement more endpoints 2021-01-03 06:48:56 +01:00
Matthias 5e4c4cae06 Fix auth providers 2021-01-03 06:48:53 +01:00
Matthias 86d0700884 Move models to apimodels 2021-01-03 06:46:25 +01:00
Matthias 6594278509 Reorder endpoints 2021-01-03 06:46:25 +01:00
Matthias eac74a9dec Implement auth in fastapi 2021-01-03 06:46:25 +01:00
Matthias 619b855d5f Add version endpoint 2021-01-03 06:46:25 +01:00
Matthias a862f19f82 Allow retrieval of rpc and config via dependencies 2021-01-03 06:46:25 +01:00
Matthias 1e38fec61b Initial fastapi implementation (Ping working) 2021-01-03 06:46:25 +01:00
Matthias 9feabe707f Fix RPC methods to allow wildcards (and validate wildcards) 2020-12-30 09:57:31 +01:00
Matthias a87c273903 Refactor RPC modules so handlers don't inherit RPC directly 2020-12-24 09:09:23 +01:00
Matthias 1508e08ea5 Move fiatconvert init to RPC class 2020-12-24 08:39:00 +01:00
Matthias 516e56bfaa Move init of _config to apiserver parent 2020-12-23 20:50:32 +01:00
Christof 74bcd82c3d Exception msg 2020-12-23 16:00:01 +01:00
Christof cd1a8e2c42 better error msg 2020-12-22 12:39:27 +01:00
Christof be28b42bfa Exception for invalid keyboard config 2020-12-22 12:34:21 +01:00
Christof 5423c21be0 keyboard type 2020-12-20 22:51:40 +01:00
Christof f39dde121a moved keyboard config validation to __inti__ 2020-12-20 22:36:56 +01:00
Christof 6b44545d37 sort order imports 2020-12-20 21:06:45 +01:00
Christof 621105df9a renaming shortcut_btns to keyboard 2020-12-20 21:06:45 +01:00
Christof 5b3ffd5141 better log msg, comments 2020-12-20 21:06:45 +01:00
Christof e92bcb00f6 telegram: specify custom shortcut bottons (keyboard) in config.json 2020-12-20 21:06:45 +01:00
Matthias 7eab33de08 Merge branch 'develop' into plugins/protections_backtest 2020-12-13 10:31:33 +01:00
Matthias 76594d5dde
Merge pull request #3799 from imxuwang/issue3783
Introduce Telegram /stats endpoint
2020-12-10 15:41:09 +01:00
Matthias ca99d484fc Refactor to use list comprehension 2020-12-10 07:39:50 +01:00
Matthias 33f330256b Reorder commands on telegram init 2020-12-09 20:36:30 +01:00
Matthias 3ab5514697 Add API endpoint for /stats 2020-12-07 15:07:08 +01:00
Matthias 81410fb404 Document /stats for telegram 2020-12-07 15:03:16 +01:00
Matthias e873cafdc4 Beautify code a bit 2020-12-07 14:54:39 +01:00
Matthias 3426e99b8b Improve formatting of protection startup message 2020-12-07 11:37:57 +01:00
Matthias c993831a04 Add protections to startup messages 2020-12-07 10:57:01 +01:00
Matthias 51fbd0698c Move get_logs to be static method 2020-12-06 19:57:48 +01:00
Matthias 245c19f5e9 Add simple test for /stats call 2020-12-05 14:48:56 +01:00
Matthias aa27c9ace2 Reorder methods in telegram
/stats is closely related to /profit
2020-12-05 14:39:50 +01:00
Matthias 143423145c Refactor most of the logic to rpc.py
this way /stats can be used by other RPC methods too
2020-12-05 14:38:42 +01:00
Matthias c556d1b37e Make /stats working 2020-12-05 14:06:46 +01:00
Matthias 8f61b68b2a Merge branch 'develop' into pr/imxuwang/3799 2020-12-05 14:06:23 +01:00