Commit Graph

732 Commits

Author SHA1 Message Date
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
Matthias 058d40a72c Fix telegram /daily command without arguments 2020-12-05 08:16:40 +01:00
Matthias 36b7edc342 Update typing errors 2020-12-01 19:57:09 +01:00
Matthias 5ed85963a9 Allow forcebuy price to be a string by converting it to float
fix #3970
2020-11-21 10:39:49 +01:00
Matthias 7a8b274a44 Merge branch 'develop' into pr/imxuwang/3799 2020-11-19 13:18:03 +01:00
Matthias 4eb96cfc4f Allow locks to be gathered even when the bot is stopped 2020-11-13 06:51:45 +01:00
Matthias 2af1c80fd5 Convert _rpc_show_config to static method 2020-11-08 11:26:02 +01:00
Matthias b58d6d38b5 Use correct fields in telegram 2020-11-03 08:59:11 +01:00
Matthias d1dab23283 Remove deprecated api fields 2020-11-03 08:59:11 +01:00
Matthias cf89a773da Standardize trade api outputs
there should be no difference between current_profit and close_profit
 it's always profit, and the information if it's a closed trade is available elsewhere
2020-11-03 08:58:57 +01:00
Matthias e602ac3406 Introduce Pairlocks middleware 2020-10-27 07:06:06 +01:00
Matthias 2f91f87ad3 Merge branch 'develop' into pr/imxuwang/3799 2020-10-22 07:55:48 +02:00
Matthias 5f63fdd8ad Use better lock message 2020-10-20 19:40:39 +02:00
Matthias 64e680d7ee Document new api method 2020-10-20 19:30:00 +02:00
Matthias 1156f5e686 Use constant for times 2020-10-20 19:21:13 +02:00
Matthias cd2866eaec Add rest endpoint for /locks 2020-10-20 19:21:13 +02:00
Matthias 7a9768ffa6 Add /locks Telegram endpoint 2020-10-20 19:21:13 +02:00
Xu Wang 1c27aaab72 Declare type of 'dur'. 2020-10-18 20:24:13 +01:00
Matthias ec713ff5ae Convert _rpc_analysed_history_full to static method 2020-10-16 06:26:57 +02:00
Matthias c9b3766fa3 Remove rest_dump
it's just a wrapper around jsonify with no benefits
2020-10-04 09:14:46 +02:00
Matthias 63e1cba597 fix some typos 2020-10-04 09:12:52 +02:00
Matthias 176006da29 Sort imports 2020-10-02 07:00:45 +02:00
Matthias 66b77d2f53 Fix some types 2020-10-02 06:52:43 +02:00
Matthias 62110dc2fc Add buy / sell signal count to dataframe interface 2020-09-29 06:35:47 +02:00
Matthias 350fcc071e Don't use __code__
__code__ is a special method name used by python already
source:
https://docs.python.org/3/reference/datamodel.html#special-method-names
2020-09-29 06:35:47 +02:00
Matthias b38f68b3b0 Add 404 when strategy is not found 2020-09-29 06:35:47 +02:00
Matthias ba10bd7756 Add strategy code to __code__ 2020-09-29 06:35:47 +02:00
Matthias 4b6b7f8343 Add timeframe to candle return values 2020-09-29 06:35:47 +02:00
Matthias f82d39e1b0 Enhance restclient and add tests for new api methods 2020-09-29 06:35:47 +02:00
Matthias bb4993dc20 Add new endpoints to the documentation 2020-09-29 06:35:47 +02:00
Matthias c0654f3caf Add resiliancy against not having a analyzed dataframe yet 2020-09-29 06:35:47 +02:00
Matthias c59a1be154 show_config should not use freqtrade object 2020-09-29 06:35:47 +02:00
Matthias 1de248fe38 add list_available_pairs endpoint 2020-09-29 06:35:47 +02:00
Matthias 6a59740f83 Strategies should be a nested object 2020-09-29 06:35:47 +02:00
Matthias 32e6ea314c Return strategy with analyzed data 2020-09-29 06:35:47 +02:00
Matthias 18bbfdd341 Add /strategies endpoint 2020-09-29 06:35:47 +02:00
Matthias f227f6a755 Use passed in config object to allow this to work in webserver mode 2020-09-29 06:35:47 +02:00
Matthias bf0e75e2a5 Include data start and end date in dataframe api 2020-09-29 06:35:47 +02:00
Matthias b93ad8840a Return date column unmodified 2020-09-29 06:35:47 +02:00
Matthias 482f1faa88 Don't fail if no buy-signal is present 2020-09-29 06:35:46 +02:00
Matthias f5dc10e4ae Add pair_history endpoint 2020-09-29 06:35:46 +02:00
Matthias 677078350f Add plot_config endpoint 2020-09-29 06:35:46 +02:00
Matthias 133ca9c770 Convert types to support valid json 2020-09-29 06:35:46 +02:00
Matthias a38b33cd9c Support limiting analyzed history 2020-09-29 06:35:46 +02:00
Matthias 9dfbc1a7ff Add analyzed_history endpoint 2020-09-29 06:35:46 +02:00
Xu Wang 7bce2cd29d Add trade duration by win/loss. 2020-09-28 20:30:20 +01:00
Matthias 253b7b763e Apply isort to freqtrade codebase 2020-09-28 19:40:46 +02:00
Xu Wang 627e221b65 Use tabulate to create sell reason message. 2020-09-27 20:23:13 +01:00
Xu Wang 44ad0f631c Summarize trade reason for telegram command /stats. 2020-09-26 22:40:54 +01:00
Xu Wang 28411da83e Add the telegram command function template. 2020-09-22 22:28:12 +01:00
Matthias a31de431ed Explicitly convert to type to string 2020-09-19 20:38:42 +02:00
Matthias 2554dc48e4 Add test for notification settings 2020-09-19 20:29:44 +02:00
Matthias e53b88bde3 Introduce notification_settings for telegram 2020-09-19 19:38:33 +02:00
Matthias 2a7935e35e Rename custom_notification to startup_notification 2020-09-19 17:51:31 +02:00
Matthias a559611c15
Merge pull request #3682 from freqtrade/db_keep_orders
Keep order history in the database
2020-09-19 17:12:14 +02:00
Matthias 5daaed1449 Help endpoint does not make sense for the rest api server.
therefore, remove the TODO.
2020-09-19 11:25:00 +02:00
Matthias 977ccaac16 Merge branch 'develop' into db_keep_orders 2020-09-11 20:01:28 +02:00
Matthias b8773de5b0 scoped sessions should be closed after requests 2020-09-11 06:44:20 +02:00
Matthias 5fba446e9a Merge branch 'develop' into db_keep_orders 2020-09-06 15:22:13 +02:00
Matthias a78d61150c Deleting must delete orders first 2020-09-06 14:28:24 +02:00
Matthias c18441f36f Fix typo in reloading_conf 2020-09-05 16:44:23 +02:00
Matthias 5c5cf782f5 Fix small bug with /daily if close_profit_abs is not yet filled 2020-09-03 19:29:48 +02:00
Matthias 9c20d488a9
Merge branch 'develop' into fix/3084 2020-08-28 15:43:24 +02:00
Matthias a9e7ee8113
Merge pull request #3683 from freqtrade/logging_endpoints
Logging endpoints
2020-08-27 15:11:17 +02:00
Matthias dc6d71f651 Improve comment formatting 2020-08-27 14:41:31 +02:00
Matthias cf719bc5d3 Fix logformat to use epoch timestamp in ms 2020-08-27 12:04:55 +02:00
Matthias 9c0a3fffd7 Avoid double notifications in case of partially filled buy orders 2020-08-26 22:17:43 +02:00
Matthias 85e71275d3 Simplify forcesell method by using freqtrade methods 2020-08-26 21:27:09 +02:00
Matthias 605ed90567
Merge pull request #3592 from freqtrade/stoploss_distance
Add stoploss-distance (to current price) to /status output
2020-08-25 19:56:23 +02:00
Matthias 42273ae042
Merge pull request #3695 from freqtrade/fix_daily_rpc
Fix daily rpc for webservice
2020-08-19 14:16:24 +02:00
Matthias 3d515ed5bf
Merge pull request #3558 from freqtrade/bt_add_maxdrawdown
Revise backtesting export format, add some metrics
2020-08-19 06:39:47 +02:00
Matthias 375e671aaf Move formatting of /daily to telegram
so /daily can return numbers in the API
2020-08-18 20:12:14 +02:00
Matthias 56ca37fd8b Also provide stacktrace via log endpoints 2020-08-15 20:15:02 +02:00
Matthias 1ffa3d1ae0 Improve telegram message formatting 2020-08-15 08:31:36 +02:00
Matthias f5863a1c6f Fix mypy errors 2020-08-15 08:15:47 +02:00
Matthias 9ad8e74247 Add tests for log-endpoints 2020-08-14 19:41:27 +02:00
Matthias 5f79caa307 Implement /logs endpoints in telegram and restAPI 2020-08-14 15:44:36 +02:00
Matthias faa2bbb555 Document exception hierarchy 2020-08-12 14:29:14 +02:00
Matthias 87e4a82041 Merge branch 'develop' into bt_add_maxdrawdown 2020-08-09 08:34:36 +02:00
Matthias 8ed3b81c61 Implement /delete in rest client 2020-08-04 19:57:28 +02:00
Matthias 075c73b9e3 Improve formatting of telegram message 2020-08-04 19:56:49 +02:00
Matthias 817f5289db /delete should Cancel open orders (and stoploss orders) 2020-08-04 19:43:22 +02:00
Matthias 9163c7f3d3 Improve api response 2020-08-04 19:43:05 +02:00
Matthias b954af33cf Fix type erorr in callable 2020-08-04 16:01:41 +02:00
Matthias 4b0164770c Add test for /delete 2020-08-04 14:49:59 +02:00
Matthias 215972c68f Implement /delete for api-server 2020-08-04 14:41:22 +02:00
Matthias c0083c4244 Merge branch 'develop' into pr/thopd88/3611 2020-08-04 07:00:54 +02:00
Matthias db8f3a9e9b
Merge pull request #3609 from thopd88/develop
Add telegram /trades command
2020-07-25 16:45:09 +02:00
Matthias e0c14e6214 Add /trades to help (so users know about it) 2020-07-23 07:56:05 +02:00
Matthias fdc84eef59 /trades shall only return closed trades 2020-07-23 07:50:45 +02:00
Matthias 0f18b2a0d4 Add test and fix case where no trades were closed yet 2020-07-23 07:12:14 +02:00
thopd88 0bad55637e fix flake8 indent error 2020-07-23 10:12:52 +07:00
thopd88 a3daf8e41c Fix line too long 2020-07-23 09:47:53 +07:00
thopd88 0502fe0496 New /trades 3 columns and exclude open trades 2020-07-23 09:36:05 +07:00
Matthias 4c97527b04 FIx failing test 2020-07-20 19:11:15 +02:00
thopd88 eaa7370174 add /delete command 2020-07-20 11:08:18 +07:00
thopd88 28f4a1101e Revert "Add telegram /delete command to delete tradeid"
This reverts commit 08fdd7d863.
2020-07-20 10:54:17 +07:00
thopd88 08fdd7d863 Add telegram /delete command to delete tradeid
code inspired from _rpc_forcesell
2020-07-19 22:10:59 +07:00
thopd88 dd3a2675b5 Add telegram trades command to list recent trades 2020-07-19 22:02:53 +07:00
Alex Pham 3271c773a7
Fix SQL syntax error when compare pair strings
First happens in Postgres
2020-07-19 21:30:55 +07:00
Matthias 82c68f07cd Add stoploss-distance (to current price) to /status output 2020-07-14 20:16:18 +02:00
Matthias 01f325a9e4 Send timeframe min and ms in show_config response 2020-07-13 21:15:33 +02:00
Matthias fbddfaeacf Introduce DatetimePrintFormat 2020-07-03 06:58:27 +02:00
Theagainmen 99ac2659f3 Init FIAT converter in api_server.py 2020-07-02 11:27:33 +02:00
Matthias cf1bbb1afb
Merge pull request #3517 from freqtrade/rpc/winlossratio
Show winning vs. losing trades
2020-06-30 07:48:18 +02:00
Matthias 92c70fb903 Rename get_order to fetch_order (to align to ccxt naming) 2020-06-28 16:27:35 +02:00
Matthias bf61bc9d83 Introduce ExchangeError 2020-06-28 16:01:40 +02:00
Matthias 6734269bfc Use >= to compare for winning trades 2020-06-25 19:22:50 +02:00
Matthias b77a105778 Add CORS_origins key to configuration 2020-06-24 20:32:19 +02:00
Matthias 0509b9a8fc Show winning vs. losing trades 2020-06-24 06:43:19 +02:00
Matthias a3506f4d8e Merge branch 'develop' into timeframe 2020-06-15 06:35:55 +02:00
Theagainmen 8c9dea988c Now supports both commands & fixed test 2020-06-10 19:28:02 +02:00
Theagainmen 043397c5d7 reload_conf & reload_config now both accepted, code is more consistent now 2020-06-10 19:28:02 +02:00
Theagainmen 04fa597695 Test with multiple commands in one line 2020-06-10 19:28:02 +02:00
Theagainmen ac92834693 reload_conf & reload_config now both accepted, code is more consistent now 2020-06-10 19:28:02 +02:00
Matthias db4576c50b Use json for *strategy dump 2020-06-07 10:09:39 +02:00
Matthias 8d8cf5a2fd Improve code formatting of telegram 2020-06-06 17:28:00 +02:00
Matthias ed1268cf39 Merge branch 'develop' into ask_strategy_verbosity 2020-06-06 17:23:19 +02:00
Matthias 6aed16c146
Merge pull request #3448 from Theagainmen/Telegram_emojis_V2
Added emoji's to the Telegram RPC
2020-06-06 17:22:56 +02:00
Matthias 3bd38171f8 DOn't use json.dumps - it's not necessary 2020-06-06 17:19:44 +02:00
Theagainmen 172ca761f2 Fixed typo 'emoij' 2020-06-06 17:11:47 +02:00
Matthias b2316cdd00 Extract sell_smoij logic into it's own function 2020-06-06 17:11:47 +02:00
hroff-1902 a86863c032
Merge pull request #3440 from freqtrade/rpc_status_fields
Rpc status fields
2020-06-05 23:59:01 +03:00
Matthias 8c32d691c7 Add information about bid and ask strategy to /showconfig 2020-06-05 20:31:40 +02:00
Theagainmen f34bcc5fd3
Splitted a line that was too long, resulting in error for flake8 2020-06-05 20:15:22 +02:00
Theagainmen 4c6a7a354d
Removed '.encode' lines, unessecary 2020-06-05 20:04:11 +02:00
Theagainmen 080efd1102
Added unicoded emoji's to Telegram messages 2020-06-05 19:09:49 +02:00
Matthias 7bd55aa2f1 Use correct calcuation for "locked in profit" 2020-06-04 07:04:32 +02:00
Matthias 412b50dac5 Add current stoploss calculations 2020-06-04 06:59:48 +02:00
Matthias 0dc1a8e037 Add profit sum to api response 2020-06-03 19:40:30 +02:00
hroff-1902 64881a94e2
Merge branch 'develop' into timeframe 2020-06-02 15:56:34 +03:00
hroff-1902 2cc47f651d
Merge pull request #3408 from freqtrade/apiserver_logging
Apiserver logging
2020-06-02 14:32:44 +03:00
hroff-1902 5435df84bd
Merge pull request #3387 from freqtrade/rpc_blacklist
Improve RPC Blacklist by adding feedback
2020-06-02 04:10:33 +03:00
Matthias b2c241e607 Replace ticker_interval in all rpc files 2020-06-01 20:43:20 +02:00