Commit Graph

5230 Commits

Author SHA1 Message Date
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
Matthias
3f9ab0846d Rename profitperc to profit_percent 2020-06-07 15:39:59 +02:00
Matthias
04779411f5 Add docstring to backtest_stats 2020-06-07 15:39:59 +02:00
Matthias
070913f327 Rename text_table generation 2020-06-07 11:35:02 +02:00
Matthias
499c6772d1 Rename tabulate methods
they don't "generate" anything
2020-06-07 11:31:33 +02:00
Matthias
a6f6724752 Reorder functions in optimize_report 2020-06-07 11:29:14 +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
Matthias
5f9994c9ed Reduce verbosity of sell-rate fetching 2020-06-05 20:24:21 +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
Matthias
f0eb0bc350 Support limit orders 2020-06-03 06:11:34 +02:00
Matthias
77a62b845a Fix some comments 2020-06-03 06:11:34 +02:00
Matthias
1d9aeef792 Support stop order in persistence 2020-06-03 06:11:34 +02:00
Matthias
b58fd179f2 Don't hardcode pair ... 2020-06-03 06:11:34 +02:00
Matthias
11ebdefd09 Fix bug after rebase 2020-06-03 06:11:34 +02:00
Matthias
f83c1c5abf Use get_stoploss_order and cancel_stoploss_order
This allows exchanges to use stoploss which don't have the same
endpoints
2020-06-03 06:11:34 +02:00
Matthias
68a59fd26d Add Hint to suggest this is still broken 2020-06-03 06:11:34 +02:00
Matthias
78dea19ffb Implement first version of FTX stop 2020-06-03 06:11:34 +02:00
hroff-1902
04a2fb16aa
Merge pull request #3433 from freqtrade/fix/cost_calc_crash
Free trades should not crash the bot
2020-06-02 22:20:29 +03:00
Matthias
a2551daf12 Fix ZeroDivision problem where cost is 0.0 2020-06-02 20:55:12 +02:00
Matthias
08049d23b4 Use "market_is_tradable" for whitelist validation 2020-06-02 20:41:29 +02:00
Matthias
b74a3addc6 Update tests 2020-06-02 20:30:31 +02:00
Matthias
b22e3a67d8 rename symbol_is_pair to market_is_tradable
Make it part of the exchange class, so subclasses can override this
2020-06-02 20:29:50 +02:00
Matthias
8550c3e43f
Merge pull request #3409 from hroff-1902/exchange_logging
Minor: Better exchange debug logging
2020-06-02 20:27:53 +02:00
hroff-1902
48117666fe
Update freqtrade/exchange/exchange.py
Co-authored-by: Matthias <xmatthias@outlook.com>
2020-06-02 21:09:23 +03:00
Matthias
02fca141a0 Readd ticker_interval to trade api response 2020-06-02 19:43:15 +02:00
Matthias
ca2352921f
Merge pull request #3432 from hroff-1902/fix/3404
Fix crash in #3404
2020-06-02 19:13:58 +02:00
hroff-1902
f4c2bb1346 Fix crash in #3404 2020-06-02 19:37:08 +03:00
hroff-1902
85fedf95e8 Make mypy happy 2020-06-02 18:43:37 +03:00
hroff-1902
9995a5899f
Fix merge 2020-06-02 16:25:22 +03:00
hroff-1902
64881a94e2
Merge branch 'develop' into timeframe 2020-06-02 15:56:34 +03:00
hroff-1902
4c82f127b3
Merge pull request #3419 from freqtrade/api_trade_response
Api trade response
2020-06-02 15:53:58 +03:00
hroff-1902
2cc47f651d
Merge pull request #3408 from freqtrade/apiserver_logging
Apiserver logging
2020-06-02 14:32:44 +03:00
Matthias
a8005819c9 Add class-level attributes to hyperopt and strategy 2020-06-02 10:19:27 +02:00
Matthias
33b7046260 Update more documentation 2020-06-02 10:06:42 +02:00
Matthias
f9bb1a7f22 Update more occurances of ticker_interval 2020-06-02 10:02:55 +02:00
Matthias
af0f29e6b7 Update persistence to use timeframe 2020-06-02 10:02:36 +02:00
Matthias
09fe3c6f5e create compatibility code 2020-06-02 09:52:30 +02:00
Matthias
3e895ae74a Some more replacements of ticker_interval 2020-06-02 09:41:42 +02:00
Matthias
947903a4ac Use timeframe from within strategy 2020-06-02 09:36:04 +02:00
hroff-1902
aff80d7331
Merge pull request #3417 from freqtrade/bt_result_store_metrics
Refactor result store metrics
2020-06-02 04:31:37 +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
hroff-1902
4c2228a2da
Merge pull request #3399 from freqtrade/fix_sell_rate_caching
[minor] Fix sell rate caching
2020-06-02 04:04:16 +03:00
hroff-1902
7b9bb5ba3d
Merge pull request #3425 from freqtrade/sell_rate_raise_empty
Verify sell-rate returns a value.
2020-06-02 02:22:56 +03:00
Matthias
388573800c Update configuration messages 2020-06-01 20:52:33 +02:00
Matthias
cadc50ce9b Replace more occurances of ticker_interval with timeframe 2020-06-01 20:49:40 +02:00
Matthias
b2c241e607 Replace ticker_interval in all rpc files 2020-06-01 20:43:20 +02:00
Matthias
898def7f6c Remove ticker_interval from exchange 2020-06-01 20:39:01 +02:00
Matthias
009ea0639f Exchange some occurances of ticker_interval 2020-06-01 20:33:26 +02:00
Matthias
b2025597aa Build-commands should write timeframe instead of ticker interval 2020-06-01 20:16:22 +02:00
Matthias
3139343946 Remove capital_available_percentage and raise instead 2020-06-01 19:58:28 +02:00
Matthias
c35f9f8d39 Verify sell-rate got a value - otherwise downstream code does not work.
Using PricingException here will cease operation for this pair for this
iteration - postponing handling to the next iteration - where hopefully
a price is again present.
2020-06-01 19:45:37 +02:00
Matthias
d2b7016dff Add stop_loss_abs ... 2020-06-01 11:05:37 +02:00
Matthias
adde1cfee2 Add stoplosss_ratio and initial_stoploss_ratio 2020-06-01 10:53:02 +02:00
Matthias
d9afef8fe1 Move colorama_init to where it was 2020-06-01 09:37:10 +02:00
Matthias
ffa93377b4 Test colorama init again (after the fixes done to progressbar) 2020-06-01 09:34:03 +02:00
Matthias
091693308a Correctly call show_backtest_results 2020-06-01 09:25:26 +02:00
Matthias
ceaf32d304 Extract backtesting report generation from show_backtest_Results 2020-06-01 09:24:05 +02:00
Matthias
f202e09b10 Extract conversion to trades list to it's own function 2020-06-01 08:57:31 +02:00
hroff-1902
123a556ec8 Better exchange logging 2020-05-31 13:05:58 +03:00
Matthias
dc7f0f1187 Add api-server to default config samples 2020-05-31 09:57:31 +02:00
Matthias
7ad1c7e817 Allow lower verbosity level for api server
Not logging all calls makes sense when running the UI
otherwise this is VERY verbose, clogging up the log.
2020-05-31 09:51:45 +02:00
hroff-1902
84c50bf16c
Merge pull request #3390 from freqtrade/rpc/profit
improve /profit to not raise an exception if no trade is closed
2020-05-30 22:06:22 +03:00