Commit Graph

5304 Commits

Author SHA1 Message Date
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 a3688b159f Improve formatting 2020-08-03 19:28:57 +02:00
Matthias a33346c6b6 Fix testing errors - which surfaced with pytest 6.0.1 2020-08-03 19:22:07 +02:00
Matthias 3915101d2d Add more backoff to fetch_order endpoint 2020-08-02 10:32:17 +02:00
Matthias 6c77feee85 Improve some exchange logs 2020-08-02 10:18:19 +02:00
Matthias 99bfa839eb Improve logging for sell exception 2020-08-02 10:12:15 +02:00
Matthias 071e82043a Better handle cancelled buy orders 2020-08-01 15:59:50 +02:00
Matthias d1cbc567e4 Fix filtering for bumped pairs 2020-07-28 13:41:09 +02:00
Matthias aab5596fa6 Convert trade open / close to timestamp
(to allow uniform analysis of backtest and real trade data - while
giving control of date-formatting to the endsystem.
2020-07-27 07:20:40 +02:00
Matthias 977a6d4e9c Add profit_total to results line 2020-07-26 16:10:48 +02:00
Matthias 454046f745 Add stake_currency and max_opeN_trades to backtest result 2020-07-26 15:55:54 +02:00
Matthias 8d0f338bf2 Timestamps should be in ms 2020-07-26 15:23:21 +02:00
Matthias 9ed5fed887 Fix output format to be of an identical type 2020-07-26 15:17:54 +02:00
Matthias 902e8fa62f Fix wrong spelling in one subcomponent 2020-07-26 14:39:00 +02:00
Matthias bad89307dd Fix mypy error 2020-07-25 17:19:41 +02:00
Matthias 119bf2a8ea Document hdf5 dataformat 2020-07-25 17:06:58 +02:00
Matthias db8f3a9e9b
Merge pull request #3609 from thopd88/develop
Add telegram /trades command
2020-07-25 16:45:09 +02:00
Matthias 0a28818b46 Add some tests for hdf5 2020-07-24 19:37:37 +02:00
Matthias 861e7099cc Rename hdf5handler to hdf5DataHandler 2020-07-24 19:23:37 +02:00
Matthias 3171ad33b7 Add blosc compression 2020-07-24 17:44:29 +02:00
Matthias 0f08addfbe Don't store empty arrays 2020-07-24 17:37:07 +02:00
Matthias 31df42e737 Implement get_available_data 2020-07-24 17:31:43 +02:00
Matthias d4540c846a Add trades_load method 2020-07-23 19:33:23 +02:00
Matthias 55591e287c First version of hdf5handler - no proper support for trades yet 2020-07-23 19:33:23 +02:00
Matthias 0614e59966 Add tables dependency 2020-07-23 19:33:23 +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
hroff-1902 c78199d3d9 Add checks for parameters of PriceFilter 2020-07-22 22:45:46 +03:00
hroff-1902 5213abf510 AgeFilter is always enabled 2020-07-22 21:44:39 +03:00
hroff-1902 f6bde8bd9c Improve exception message wordings 2020-07-22 21:43:15 +03:00
Matthias 7e980037a4
Merge pull request #3554 from jblestang/Fix_#3544
Adding a dataprovider to the strategy before plotting
2020-07-22 15:56:16 +02:00
Matthias f5f529cace Use correct initialization of DataProvider 2020-07-22 15:17:45 +02:00
Matthias 6a10c715fa Fix 0 division (if last = 0, something went wrong!) 2020-07-21 20:34:29 +02:00
hroff-1902 d8fa17cee8
Merge pull request #3614 from freqtrade/info_message_hyperopt
[minor] Reduce severity of hyperopt "does not provide" messages
2020-07-21 00:14:18 +03:00
Matthias 7d6708fc6a Reduce severity of hyperopt "does not provide" messages
closes #3371
2020-07-20 20:04:23 +02:00
Matthias 21dcef1134 Add trade_id to webhooks
allowing for easier corelation of different messages
2020-07-20 19:57:05 +02:00
Matthias 4774896169 Evaluate average before price in order returns 2020-07-20 19:39:12 +02:00
Matthias 4c97527b04 FIx failing test 2020-07-20 19:11:15 +02:00
hroff-1902 b7c6f868b2
Merge pull request #3478 from hroff-1902/exchange-cosmetics-5
Minor: Exchange cosmetics
2020-07-20 18:58:46 +03: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 ea1ddeb87d
Merge pull request #3570 from gambcl/develop
Added range checks to min_days_listed in AgeFilter
2020-07-19 09:37:17 +02:00
Matthias de46744aa9 Use filled before amount for order data
closes #3579
2020-07-15 21:08:16 +02:00
Matthias 98f2e79f27 Adjust tests to use correctly trimmed amount 2020-07-15 20:55:33 +02:00
Matthias 3721736aaf Convert to real amount before placing order
to keep the correct amount in the database
2020-07-15 20:28:07 +02:00
Matthias eafab38db3 Complete implementation of amount_requested 2020-07-15 20:20:14 +02:00
Matthias c826f7a707 Add amount_requested to database 2020-07-15 20:15:29 +02:00
Matthias d13cb4c055 Introduce safe_value_fallback_2 2020-07-15 19:50:09 +02:00
Matthias 5cebc9f39d Move stoploss_on_exchange_limit_ratio to configuration schema 2020-07-15 19:28:40 +02:00
Matthias c1191400a4 Allow 0 fee value by correctly checking for None 2020-07-15 19:20:20 +02:00
gambcl 1051ab917a Replaced logging with OperationalException when AgeFilter given invalid parameters 2020-07-15 12:40:54 +01:00
Matthias 82c68f07cd Add stoploss-distance (to current price) to /status output 2020-07-14 20:16:18 +02:00
Matthias bdf611352e Update summary-metrics output 2020-07-14 19:34:01 +02:00
hroff-1902 0f4fc67b83
Merge pull request #3582 from freqtrade/data/list
List available backtesting data
2020-07-14 19:38:32 +03:00
Matthias 0228b63418 Don't print empty table 2020-07-14 16:42:47 +02:00
Matthias 62c55b1863 Enhance formatting, Add pair filter 2020-07-14 06:55:34 +02:00
Matthias 01f325a9e4 Send timeframe min and ms in show_config response 2020-07-13 21:15:33 +02:00
Matthias 0b36693acc Add filter for stoploss_on_exchange_limit_ratio to constants 2020-07-13 19:48:21 +02:00
Matthias 6ee6e51ab4 Merge branch 'develop' into pr/hroff-1902/3478 2020-07-13 07:22:43 +02:00
Matthias b035d9e267 Update return type comment 2020-07-12 10:23:09 +02:00
Matthias 02afde857d Add list-data command 2020-07-12 09:57:00 +02:00
Matthias d4fc52d2d5 Add tests for ohlcv_get_available_data 2020-07-12 09:56:46 +02:00
Matthias 422825ea1b Add ohlcv_get_available_data to find available data 2020-07-12 09:50:53 +02:00
Matthias 40bdc93653 Add test for short_desc of priceFilter 2020-07-10 20:28:29 +02:00
gambcl 14eab9be04 Added min_price, max_price to PriceFilter 2020-07-08 22:02:04 +01:00
gambcl 2e45859aef Added range checks to min_days_listed in AgeFilter 2020-07-08 18:06:30 +01:00
hroff-1902 839b3340e6
Merge pull request #3497 from freqtrade/keep_dataframe_noapi
Analyze dataframe and keep it until the next analysis
2020-07-05 13:46:02 +03:00
Matthias c4a9a79be0
Apply suggested documentation changes from code review
Co-authored-by: hroff-1902 <47309513+hroff-1902@users.noreply.github.com>
2020-07-04 09:43:49 +02:00
Matthias 1fc4451d2f Avoid \ linebreak 2020-07-03 20:32:04 +02:00
Matthias ea5e47657a Remove ticker_interval from jupyter notebook 2020-07-03 20:27:32 +02:00
Matthias 0d15a87af8 Remove old store_backtest method 2020-07-03 20:21:32 +02:00
Matthias 987188e41f Add avgduration for winners and losers 2020-07-03 19:58:02 +02:00
Matthias 8e0ff4bd86 Add Win / draw / losing days 2020-07-03 19:45:45 +02:00
Matthias 42868ad24a Add best / worst day to statistics 2020-07-03 19:30:29 +02:00
Matthias d56f9655e2 Update notebook with new statistics example 2020-07-03 07:20:43 +02:00
Matthias 619eb183fe Allow strategy for plot-profit
to allow loading of multi-backtest files
2020-07-03 07:03:43 +02:00
Matthias 16a842f9f6 Have plotting support folder-based exportfilename 2020-07-03 06:58:27 +02:00
Matthias d999fa2a7e Test autogetting result filename 2020-07-03 06:58:27 +02:00
Matthias 7c5587aeaa exportfilename can be a file or directory 2020-07-03 06:58:27 +02:00
Matthias 2ed808da1f Extract .last_result.json to constant 2020-07-03 06:58:27 +02:00
Matthias 59e0ca0aaa Add pairlist to backtest-result 2020-07-03 06:58:27 +02:00
Matthias afefe92523 Add multi-strategy loading logic 2020-07-03 06:58:27 +02:00
Matthias c13ec4a1d4 implement fallback loading for load_backtest_data 2020-07-03 06:58:27 +02:00
Matthias 1339479882 Have sell_type stringify correctly 2020-07-03 06:58:27 +02:00
Matthias 04eaf2c39c Add test for get_last_backtest_Result 2020-07-03 06:58:27 +02:00
Matthias 7727292861 Rename duration to trade_duration 2020-07-03 06:58:27 +02:00
Matthias f368aabcc7 Add amount to backtest-result 2020-07-03 06:58:27 +02:00
Matthias 6e94734678 Add fee to backtestresult 2020-07-03 06:58:27 +02:00
Matthias 03ab61959b Add test for generate_backtest_stats 2020-07-03 06:58:27 +02:00
Matthias af9a9592b7 Remove unnecessary statement 2020-07-03 06:58:27 +02:00
Matthias 075eb0a161 Fix sequence of saving 2020-07-03 06:58:27 +02:00
Matthias dacb40a976 Add get_latest_backtest_filename 2020-07-03 06:58:27 +02:00
Matthias 0fa56be9d2 remove openIndex and closeIndex from backtest-report 2020-07-03 06:58:27 +02:00
Matthias 04cbc2cde5 Shorten variable 2020-07-03 06:58:27 +02:00
Matthias b068e7c564 Rename open_time and close_time to *date 2020-07-03 06:58:27 +02:00
Matthias 415853583b Save backtest-stats 2020-07-03 06:58:27 +02:00
Matthias 81c8e8677d use 0 as profit mean, not nan 2020-07-03 06:58:27 +02:00
Matthias 480c5117f1 Handle empty return strings 2020-07-03 06:58:27 +02:00
Matthias 5fce7f3b22 Add market Change
closes #2524 and #3518
2020-07-03 06:58:27 +02:00
Matthias cf044d166e Tests should use new Datetime format too 2020-07-03 06:58:27 +02:00
Matthias fbddfaeacf Introduce DatetimePrintFormat 2020-07-03 06:58:27 +02:00
Matthias cbcf3dbb43 Add more metrics to summarytable 2020-07-03 06:58:27 +02:00
Matthias 6922fbc3aa Add max_drawdown error handler 2020-07-03 06:58:27 +02:00
Matthias 455b26ea48 Add max drawdown to backtesting 2020-07-03 06:58:27 +02:00
Jean-Baptiste LE STANG 20e8a29262 Adding a dataprovider to the strategy before plotting
Fix flake8
2020-07-02 21:14:31 +02:00
Theagainmen 99ac2659f3 Init FIAT converter in api_server.py 2020-07-02 11:27:33 +02:00
Theagainmen 81850b5fdf AgeFilter add actual amount of days in log message (debug info) 2020-07-02 11:26:52 +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 cf26ab1dd8
Merge pull request #3527 from Theagainmen/Warning_message2
Warning message bot is stopped and left open trades
2020-06-30 07:48:02 +02:00
Matthias c2a6f70b4c Merge branch 'develop' into keep_dataframe_noapi 2020-06-30 07:46:52 +02:00
hroff-1902 8a2f631ddd
Merge pull request #3531 from freqtrade/exchange_errorhandling
Improve exchange errorhandling and API backoff
2020-06-30 07:53:09 +03:00
hroff-1902 02c0488d45
Merge pull request #3453 from freqtrade/fix/3363
Backtesting should load pairlists after the strategy
2020-06-29 21:53:33 +03:00
Matthias b95065d701 Log backoff 2020-06-29 20:00:42 +02:00
Matthias 4d9ecf137b Fix failing test in python 3.7
can't use Magicmock in 3.7 (works in 3.8 though).
2020-06-28 20:38:28 +02:00
Matthias c6124180fe Fix bug when fetching orders fails 2020-06-28 19:45:42 +02:00
Matthias 6362bfc36e Fix calculate_backoff implementation 2020-06-28 19:41:21 +02:00
Matthias cbcbb4bdb5 Rename get_stoploss_order to fetch_stoploss_order (align with fetch_order) 2020-06-28 16:30:24 +02:00
Matthias 92c70fb903 Rename get_order to fetch_order (to align to ccxt naming) 2020-06-28 16:27:35 +02:00
Matthias e040c518ca Dynamic backoff on DDos errors 2020-06-28 16:19:12 +02:00
Matthias bf61bc9d83 Introduce ExchangeError 2020-06-28 16:01:40 +02:00
Matthias e74d2af857 Have TemporaryError a subCategory of DependencyException
so it's safe to raise out of the exchange
2020-06-28 15:44:58 +02:00
Matthias 5bd4798ed0 Add retrier to stoploss calls (but without retrying) 2020-06-28 11:56:29 +02:00
Matthias 2c45114a64 Implement DDos backoff (1s) 2020-06-28 11:17:06 +02:00
Theagainmen 118f051171 Added message in cleanup and fixes 2020-06-28 11:02:50 +02:00
Theagainmen e5676867a8 Trying to fix flake8 errors 2020-06-27 21:53:12 +02:00
Theagainmen b938c536fa Trying to fix flake8 errors 2020-06-27 21:46:53 +02:00
Theagainmen 48289e8ca7 Added exchange name, removed capital letters 2020-06-27 20:24:50 +02:00
Theagainmen 0642ab76bf Added information to the new function 2020-06-27 18:40:44 +02:00
Theagainmen e813573f27 Warning message for open trades when stopping bot 2020-06-27 18:35:46 +02:00
Matthias 865b73a456
Merge pull request #3520 from freqtrade/rpc/cors_setting
Fix RPC Cors
2020-06-27 15:38:40 +02:00
hroff-1902 cc24f44636
Merge pull request #3519 from freqtrade/fix/trades_download_older
dl-trades should also support increasing download span
2020-06-27 00:08:10 +03:00
Matthias 6734269bfc Use >= to compare for winning trades 2020-06-25 19:22:50 +02:00
gambcl ab7f5a2bcf Added pairslist AgeFilter 2020-06-24 23:58:12 +01:00
Matthias b77a105778 Add CORS_origins key to configuration 2020-06-24 20:32:19 +02:00
Matthias 676006b99c --dl-trades should also support increasing download span
(by downloading the whole dataset again to avoid missing data in the
middle).
2020-06-24 17:40:23 +02:00
gambcl 3624aec059 Typos 2020-06-24 15:21:28 +01:00
Matthias 0509b9a8fc Show winning vs. losing trades 2020-06-24 06:43:19 +02:00
Matthias f976905728 Fix more exchange message typos 2020-06-18 20:00:18 +02:00
Matthias 45ffb26910 Merge branch 'develop' into pr/hroff-1902/3478 2020-06-18 19:54:46 +02:00
Matthias eef3c01da7 Fix function header formatting 2020-06-18 19:49:05 +02:00
Matthias f1993fb2f4 Pass analyzed dataframe to get_signal 2020-06-18 08:09:52 +02:00
Matthias 48225e0d80 Improve interface docstrings for analyze functions 2020-06-18 07:54:00 +02:00
Matthias f2a778d294 Combine tests for empty dataframe 2020-06-18 07:03:30 +02:00
Matthias ab9382434f Add test for get_analyzed_dataframe 2020-06-18 06:50:06 +02:00
Matthias 8b186dbe0e Add additional test scenarios 2020-06-18 06:50:06 +02:00
Matthias 84329ad2ca Add confirm_trade* methods to abort buying or selling 2020-06-18 06:50:06 +02:00
Matthias 910100f1c8 Improve docstring comment 2020-06-18 06:50:06 +02:00
Matthias dea7e3db01 Use supress_errors in strategy wrapper - ensure it's called once 2020-06-18 06:50:06 +02:00
Matthias c047e48a47 Add errorsupression to safe wrapper 2020-06-18 06:50:06 +02:00
Matthias bc821c7c20 Add documentation for bot_loop_start 2020-06-18 06:50:06 +02:00
Matthias 77056a3119 Add bot_loop_start callback 2020-06-18 06:50:06 +02:00
Matthias 8166b37253 Explicitly check if dp is available 2020-06-18 06:50:06 +02:00
Matthias 55fa514ec9 Adapt most tests 2020-06-18 06:50:05 +02:00
Matthias 273aaaff12 Introduce .analyze() function for Strategy
Fixing a few tests along the way
2020-06-18 06:50:05 +02:00
Matthias 95f3ac08d4 Update some comments 2020-06-18 06:50:05 +02:00
Matthias 9794914838 store dataframe updated as tuple 2020-06-18 06:50:05 +02:00
Matthias fd97ad9b76 Cache analyzed dataframe 2020-06-18 06:50:05 +02:00
Matthias d4fb5af456 Also reload async markets
fixes #2876 - Logs and Empty ticker history  for new pair
2020-06-17 07:23:20 +02:00
Matthias 3517c86fa2 Fail if both ticker_interval and timeframe are present in a
configuration

Otherwise the wrong might be used, as it's unclear which one the intend
of the user is
2020-06-16 16:02:38 +02:00
Matthias 0b2982caed Merge branch 'develop' into hyperopt_colorama_init 2020-06-16 10:16:41 +02:00
Matthias 761407f74d
Merge pull request #3430 from freqtrade/timeframe
ticker_interval -> timeframe
2020-06-15 13:47:26 +02:00
Matthias dfc44e5b32
Merge pull request #3461 from felpasl/format_minimal_roi_opt
change hyperopt output to print ready to copy to strategy
2020-06-15 10:03:28 +02:00
Matthias a3506f4d8e Merge branch 'develop' into timeframe 2020-06-15 06:35:55 +02:00
Matthias d337fb6c6a Update some comments 2020-06-15 06:35:31 +02:00
Matthias f80b5f9410
Merge pull request #3438 from freqtrade/ftx_stoploss
Ftx stoploss
2020-06-14 07:02:15 +02:00
Matthias f6f7c99b9c
Adjust typography and add missing space
Co-authored-by: hroff-1902 <47309513+hroff-1902@users.noreply.github.com>
2020-06-14 06:31:05 +02:00
hroff-1902 de36f3d850 Cosmetics in freqtradebot 2020-06-14 01:42:45 +03:00
hroff-1902 4660909e95 Validate stoploss_on_exchange_limit_ratio at startup time 2020-06-14 01:07:00 +03:00
hroff-1902 be03c22dba Minor: Fix exception message 2020-06-14 00:35:58 +03:00
hroff-1902 ea77edce05
Make flake happy 2020-06-13 18:54:54 +03:00
Matthias d52198d15e
Merge pull request #3468 from hroff-1902/cleanup_async_markets
Cleanup async markets
2020-06-13 17:28:11 +02:00
hroff-1902 3d9b107761
Changes after review 2020-06-13 17:12:37 +03:00
hroff-1902 37bc2d28ad Revert "Remove _load_async_markets"
This reverts commit 6744f8f052.
2020-06-13 13:34:29 +03:00
hroff-1902 12d3a234c1
Merge pull request #3471 from freqtrade/fix/3465
Fix exception with stacktrace in test-pairlist
2020-06-12 07:57:37 +03:00
Matthias 1e7826f392 Explicitly raise OperationalException if markets are not loaded
correctly
2020-06-10 19:57:59 +02:00
Felipe Lambert 69ac5c1ac7 change hyperopt return to better copy to strategy file 2020-06-10 14:35:31 -03: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
hroff-1902 0067a3ab7c Change logging level 2020-06-10 06:30:29 +03:00
hroff-1902 7d451638a8 Make _reload_markets() public 2020-06-10 01:39:23 +03:00
hroff-1902 6744f8f052 Remove _load_async_markets 2020-06-10 01:22:55 +03:00
Matthias ab0003f565 fix #3463 by explicitly failing if no stoploss is defined 2020-06-09 14:33:57 +02:00
Matthias 72ae4b1500 Load pairlist after strategy to use strategy-config
fail in certain conditions when using strategy-list

Fix #3363
2020-06-07 16:15:26 +02:00
Matthias a75b94f143 use bracket notation for dataframe access 2020-06-07 15:40:00 +02:00
Matthias 68395d2745 Use bracket notation to query results in hyperopt 2020-06-07 15:39:59 +02:00