Commit Graph

604 Commits

Author SHA1 Message Date
Sam Germain 7465037906 freqtradebot.execute_entry test for too high stake amount 2022-02-03 20:33:16 -06:00
Sam Germain 6b6b35ac1c check for max stake limit in freqtradebot and backtesting 2022-02-03 20:33:04 -06:00
Sam Germain 30519aa3be Changed name Collateral -> MarginMode, collateral -> margin_mode, and _supported_trading_mode_margin_pairs -> _supported_trading_margin_pairs 2022-02-01 13:05:40 -06:00
Matthias 463714832d Merge branch 'develop' into feat/short 2022-01-29 14:19:30 +01:00
Matthias 4b9d55dbe2 Add test for backtest dataprovider
(should cache the correct candle)
2022-01-27 18:59:23 +01:00
Matthias 88ccfedd32 Improve wording of "no history found" error 2022-01-26 06:53:00 +01:00
Matthias 6492e1cd76 Investigate random test failure 2022-01-23 17:42:18 +01:00
Matthias bf0b95b3d8 Improve backtest tests 2022-01-22 19:46:11 +01:00
Matthias f090dcc597 Merge branch 'develop' into feat/short 2022-01-22 17:56:01 +01:00
Matthias 314a544881 Add Failing test for get_strategy_run_id
Fails because max_open_trades is "inf"
emulates behaviour of `max_open_trades=-1` when loading the
configuration)
2022-01-22 08:09:08 +01:00
Matthias bb1d8fb54f Improve message when no hyperopt fie is found
closes #6266
2022-01-21 15:24:26 +01:00
Rokas Kupstys 5fffc5033a Rework backtesting --no-cahche to --cache=[none, day, week, month].
Fix an issue where config modification during runtime would prevent use of cached results.
2022-01-19 11:44:35 +02:00
Matthias 5bb48eaed0 Replace Nan with 0 or None in backtesting
part of #6224
2022-01-16 14:49:29 +01:00
Matthias 9becce9897 Update failing test 2022-01-15 17:30:40 +02:00
Rokas Kupstys 526ed7fa9a Add test_backtest_start_multi_strat_caching test flexing backtest result caching. 2022-01-15 17:30:40 +02:00
Rokas Kupstys 16861db653 Implement previous backtest result reuse when config and strategy did not change. 2022-01-15 17:30:40 +02:00
Reigo Reinmets 8e424f7c73
Merge branch 'freqtrade:develop' into dca 2022-01-08 14:57:15 +02:00
Matthias dad080f56f Merge branch 'develop' into feat/short 2022-01-08 10:45:15 +01:00
Matthias 827b8d3e4c Don't use test_datadir as userdata dir
use tmpdir
2022-01-07 20:00:20 +01:00
Matthias 46809f08fe Merge branch 'develop' into feat/short 2022-01-07 10:13:16 +01:00
Matthias e540959c27 Remove btdata from generate_strategy_stats 2022-01-07 09:27:07 +01:00
Matthias 1203d08d1e generate_pair_metrics does not need processed dict 2022-01-07 09:27:07 +01:00
Matthias 4e2b9203d7 Remove no longer used BT_DATA_COLUMNS_MID 2022-01-05 20:40:59 +01:00
Matthias 2ca90577a6 Update strategy-comparison test 2022-01-05 20:29:40 +01:00
Matthias 2ecaf9f8b4 Update backtest-result test-files to latest format 2022-01-05 20:26:24 +01:00
Sam Germain 501f473164 Merge branch 'develop' into feat/short 2022-01-04 22:47:33 -06:00
Matthias 09fae25c94 Fix some tests after drawdown calculation change 2022-01-04 17:07:31 +01:00
Matthias 937f5e3d0f No longer use legacy mode for tests 2022-01-04 17:06:40 +01:00
Matthias 7ea5b0e359 Simplify hyperopt test setup 2022-01-04 17:06:40 +01:00
Matthias fac6956eeb Fix test failure after merge 2022-01-02 22:25:40 +01:00
Matthias 711a6a6dbc Merge branch 'develop' into pr/xataxxx/6079 2022-01-02 22:21:41 +01:00
Sam Germain 33ab3c1bea Removed some todo-lev comments 2022-01-01 14:10:24 -06:00
Matthias ddfbe55e7c Merge branch 'develop' into feat/short 2022-01-01 19:16:49 +01:00
Rokas Kupstys a715083fc0 Reduce memory usage by not holding on to no longer needed data. 2021-12-31 12:10:01 +02:00
Matthias b1b2eebd11 Change sequence of ROI/sell signal to favor sell-signal 2021-12-30 20:00:58 +01:00
Reigo Reinmets aa54592ec7
Merge branch 'freqtrade:develop' into dca 2021-12-25 21:06:26 +02:00
Matthias 6fdad8c6bd Prevent exception, ensure deletion occurs 2021-12-25 14:03:44 +01:00
Matthias 356b2d3d91 Reestablish backward compatibility 2021-12-25 13:47:28 +01:00
Matthias b1feb69ca9 Use Pathlib to delete testfile 2021-12-25 10:30:59 +01:00
Reigo Reinmets ea79eb55e9 Remove this test change from DCA branch. 2021-12-25 10:43:25 +02:00
Reigo Reinmets d11a8928d4 Fix test not running when user_data contains historical data. 2021-12-25 10:39:27 +02:00
Reigo Reinmets de79d25caf Refactoring to use strategy based configuration 2021-12-24 12:38:43 +02:00
Reigo Reinmets 0c4664e8f4 Lock file is not always left behind so handle it. 2021-12-23 17:39:43 +02:00
Reigo Reinmets bc60139ae3 I really should make this flake8 / isort check automatic before commit. 2021-12-23 16:40:47 +02:00
Reigo Reinmets 8393c99b62 Whoops, missing a line. 2021-12-23 16:25:27 +02:00
Reigo Reinmets 8bf1001b33 Fix test failing when user_data already contains data... 2021-12-23 12:41:37 +02:00
Reigo Reinmets db2f0660fa Some more compatibility fixes. 2021-12-18 11:15:59 +02:00
Reigo Reinmets 30673f84f9 Flake8 compatibility 2021-12-18 11:00:25 +02:00
Reigo Reinmets 1017b68af9 Fix some unit-tests. Use common trade entry code. 2021-12-13 02:27:09 +02:00
Reigo Reinmets f97662e816 Add position_adjustment_enable config keyword to enable it. 2021-12-11 00:28:12 +02:00
Matthias 22cda87211 Update some tests after merge 2021-12-02 19:05:06 +01:00
Matthias f4d0abc51a Merge branch 'feat/short' into pr/samgermain/5780 2021-12-02 07:09:37 +01:00
Matthias 77443d5abc
Merge pull request #6011 from freqtrade/lev/backtesting
correctly apply leverage to backtesting
2021-12-01 19:49:40 +01:00
Matthias 67f3570bf3 Merge branch 'develop' into feat/short 2021-12-01 07:21:36 +01:00
Matthias 8b2fbb6432 Add leveraged backtest detail test 2021-11-30 20:42:18 +01:00
Matthias 134b129d9d get_analyzed_df does not need a "candle_type" argument 2021-11-28 19:14:58 +01:00
Matthias 897788de17 Reformulate exception to be "nicer" 2021-11-26 07:02:50 +01:00
Stefano Ariestasia 5307d2bf3b Trimming the sentence 2021-11-25 17:04:04 +09:00
Stefano Ariestasia c23d90e2b8 Update test_backtesting.py 2021-11-25 16:56:56 +09:00
Stefano Ariestasia 0c629fc951 Update test_backtesting.py 2021-11-25 16:03:29 +09:00
Sam Germain 920151934a Added candle_type to a lot of methods, wrote some tests 2021-11-21 17:48:14 -06:00
Matthias c26c0b6822 Merge branch 'feat/short' into short_buy_tag_compat 2021-11-21 19:31:59 +01:00
Matthias 36deced00b Remove more buy_tag references 2021-11-21 09:55:10 +01:00
Matthias 0a50017c84 Add long/short support to backtesting 2021-11-18 20:34:59 +01:00
Matthias f40221dd9f Merge branch 'develop' into feat/short 2021-11-18 20:20:01 +01:00
Matthias 39bb34cdb3 Fix test loading bug 2021-11-11 16:34:40 +01:00
Matthias ebc38159b8 Merge branch 'develop' into feat/short 2021-11-06 15:24:52 +01:00
Matthias 431b96de98 Merge branch 'develop' into pr/theluxaz/5710 2021-11-03 19:43:36 +01:00
Matthias 4249fcefba
Merge pull request #5150 from cryptomeisternox/backtesting-filter
Adding command for Filtering and print trades
2021-11-01 09:43:49 +01:00
Matthias c094ac5762 Merge branch 'develop' into feat/short 2021-10-30 19:45:19 +02:00
Matthias 20904f1ca4 Add tests for new command 2021-10-30 19:43:42 +02:00
Matthias 72ecb45d86 Add test for backtest_show logic 2021-10-30 16:53:48 +02:00
Matthias 459a2239ce Fix candle ranges in backtesting test 2021-10-30 16:13:04 +02:00
Matthias 6cf140f8fb FIx testcases 2021-10-30 16:07:10 +02:00
Matthias 201fe108bc
Merge pull request #5607 from TreborNamor/develop
a new hyperopt loss created that uses calmar ratio
2021-10-29 09:20:44 +02:00
Matthias 5cdae2ce3f Remove CalmarDaily hyperopt loss 2021-10-29 06:53:40 +02:00
Simon Ebner f7926083ca Clean up unclosed file handles
Close all file handles that are left dangling to avoid warnings such as

```
ResourceWarning: unclosed file <_io.TextIOWrapper
name='...' mode='r' encoding='UTF-8'> params = json_load(filename.open('r'))
```
2021-10-24 23:15:05 +02:00
Matthias 5f309627ea Update tests for Calmar ratio 2021-10-24 09:01:13 +02:00
Sam Germain aed22f7dad Merge branch 'develop' into feat/short 2021-10-22 11:45:27 -06:00
Matthias 78724e304e Merge branch 'develop' into pr/theluxaz/5710 2021-10-21 17:46:39 +02:00
theluxaz 0e085298e9 Fixed test failures. 2021-10-21 17:25:38 +03:00
Matthias e458c9867a Styling fixes 2021-10-21 07:45:15 +02:00
Matthias 7b5346b984 Add test for breakdown-stats 2021-10-21 07:11:39 +02:00
Matthias 1267374c8a Small fixes to tests 2021-10-20 19:21:38 +02:00
Matthias 69fdb8edfa Merge branch 'develop' into feat/short 2021-10-17 10:40:08 +02:00
Matthias 0e7d903a6f
Merge pull request #5644 from slyons/develop
Add ability to ignore unparameterized spaces
2021-10-14 08:07:07 +02:00
Matthias fe8374f2a4 Test for non-failing missing hyperopt space 2021-10-14 07:06:51 +02:00
Sam Germain bd488cc086 Merge branch 'develop' into feat/short 2021-10-13 17:56:40 -06:00
Matthias 45b7a0c837 Add Test and docs for MaxDrawDownHyperOptLoss 2021-10-07 07:12:45 +02:00
Sam Germain d3f7207fe6 Merge branch 'develop' into feat/short 2021-10-03 02:12:25 -06:00
Matthias 3b5cc5f015 Improve dates used for hyperopt tests 2021-10-02 15:37:01 +02:00
Matthias 77388eb423 Improve generate_test_data to make it easier to use 2021-10-02 15:23:48 +02:00
Matthias 5fdeca812d Combine most hyperopt-loss tests to one 2021-10-02 14:30:24 +02:00
Matthias 4fd00db630 Use "combined" enter_tag column 2021-09-26 15:22:37 +02:00
Matthias 2a678bdbb4 Update buy_tag column to long_tag 2021-09-26 08:37:44 +02:00
Matthias 0e13d57e57 Update advise_* methods to entry/exit 2021-09-22 20:42:31 +02:00
Matthias c791b95405 Use new TestStrategy (V3) by default in tests 2021-09-21 20:24:08 +02:00
Matthias 4d558879e9 Merge branch 'feat/short' into pr/samgermain/5378 2021-09-17 19:33:35 +02:00
Matthias 994c3c3a4c Add some errorhandling for custom estimator 2021-09-16 07:13:25 +02:00
Matthias 3675df8344 Update documentation regarding Legacy Hyperopt 2021-09-12 08:18:17 +02:00
Matthias fd6bf591f8 Update some tests to remove explicit hyperopt interface 2021-09-12 08:18:13 +02:00
Matthias 49350f2a8e Fix backtesting test 2021-09-05 08:36:22 +02:00
Matthias 2e50948699 Fix some tests 2021-09-04 20:23:51 +02:00
Matthias ca44d2e092 Merge branch 'feat/short' into pr/samgermain/5378 2021-09-04 19:54:34 +02:00
Matthias 5184cc7749 Merge branch 'develop' into feat/short 2021-09-02 07:03:14 +02:00
Matthias b0c4f079c2 Merge branch 'develop' into feat/backtest_detail 2021-08-31 20:16:42 +02:00
Matthias 2ce458810b rename default_hyperopt_loss file 2021-08-26 19:39:57 +02:00
Matthias 07d71f014f Rename defaultStrategy file 2021-08-26 19:38:41 +02:00
Matthias 6d96b11279 Rename DefaultStrategy 2021-08-26 07:25:53 +02:00
Matthias df1c0540ab Rename Hyperopt Test Class 2021-08-26 07:20:05 +02:00
Matthias fbf8eb4526 Rename test-legacy strategy 2021-08-26 07:04:33 +02:00
Matthias 053d6d8ee1 Merge branch 'feat/short' into pr/samgermain/5378 2021-08-25 20:34:52 +02:00
Matthias e1c3b7fd8c Merge branch 'develop' into feat/short 2021-08-25 20:31:40 +02:00
Matthias 4b36276e4f Improve has_space test 2021-08-25 19:54:26 +02:00
Matthias 11bd8e912e Fix some tests 2021-08-24 06:52:28 +02:00
Matthias 7a977a8eaf Merge branch 'feat/short' into pr/samgermain/5378 2021-08-24 06:28:16 +02:00
Matthias 957551ea97 Merge branch 'develop' into feat/short 2021-08-24 06:25:06 +02:00
Matthias faf5cfa66d Update some tests for updated backtest interface 2021-08-23 21:35:28 +02:00
Sam Germain 317a454c0e Removed shorting from tests/optimize/hyperopts/default_hyperopt.py and created another tests/optimize/hyperopts/short_hyperopt.py with long and shorting 2021-08-23 00:24:49 -06:00
Sam Germain 092780df9d condensed strategy methods down to 2 2021-08-18 16:52:34 -06:00
Sam Germain d4a7d2d444 Added short and exit_short to strategy 2021-08-18 16:52:20 -06:00
Sam Germain e2d5299116 Name changes for strategy 2021-08-18 13:22:54 -06:00
Matthias fa4ec9f83e Add explicit test for get_sell_trade_entry 2021-08-15 14:52:24 +02:00
Matthias 3406b889b6 First test 2021-08-14 17:06:28 +02:00
Rokas Kupstys f6267c7514 Fix buy_tag not being saved to trade object.
Column is mistakenly excluded because advise_buy() creating this column runs after code detecting presence of buy_tag column.
2021-08-11 15:21:23 +03:00
Matthias 0b6aedbc4c
Merge pull request #5395 from freqtrade/fix/hyperopt-show
Stream hyperopt-result in small batches
2021-08-10 19:54:02 +02:00
Matthias 039d6384ed Stream hyperopt-result in small batches
Avoiding memory-exhaustion on huge hyperopt results

closes #5305
closes #5149
2021-08-10 10:12:57 +02:00
Matthias 3f160c7144 Cache dataframe before cutting the first candle
This allows providing the "current closed" candle in all cases.
2021-08-10 09:14:29 +02:00
Matthias cf27968b97 Properly preserve trade's low during backtesting 2021-08-09 19:38:56 +02:00
Matthias 895b912c71 Fix recently introduced lookahead bias in backtesting
closes #5388
2021-08-09 14:54:47 +02:00
Matthias a5f796bc97 refactor ohlcvdata_to_dataframe to advise_all_indicators 2021-08-09 14:53:18 +02:00
Matthias f17942b68f Fix random test failure 2021-08-09 11:18:18 +02:00
Matthias 47f641d12f Remove hyperopt-pickle result support 2021-08-09 07:04:18 +02:00
Matthias 6532aba765
Merge pull request #5360 from freqtrade/hyperopt_protections
Hyperopt protections and Boolean parameter
2021-08-07 09:42:05 +02:00
Sam Germain b9356a5564 Autopep8 formatting 2021-08-06 16:35:39 -06:00
Matthias b73768acd1 Fix bug in property overwriting prevention 2021-08-04 20:21:56 +02:00
Matthias 3c41223333 Add test for protections-hyperopt 2021-08-04 20:01:28 +02:00
Matthias 091bf7c4d2 Output protection space 2021-08-04 06:50:14 +02:00
Matthias 6abd352c0f Add test for backtesting dataframe cache 2021-07-31 08:44:09 +02:00
Matthias 138b126d03
Merge pull request #5299 from kevinjulian/feat/kevinjulian/add-buy-signal-name
Add buy signal name
2021-07-30 08:23:11 +02:00
kevinjulian 0fcbe097c0 remove blankspace 2021-07-23 21:06:38 +07:00
kevinjulian aea5da0c73 changes testcase 2021-07-23 11:42:43 +07:00
kevinjulian 49886874aa rename to buy_tag 2021-07-21 20:05:35 +07:00
kevinjulian 66a7070170 run linter 2021-07-20 23:56:03 +07:00
kevinjulian 5d04d6ffa7 fix edge testcase 2021-07-20 23:40:32 +07:00
kevinjulian cbfedf8b29 fix backtest testcase 2021-07-20 23:25:00 +07:00
Kevin Julian edf9c08f06
Merge branch 'develop' into feat/kevinjulian/add-buy-signal-name 2021-07-20 19:19:46 +07:00
kevinjulian ed30c023cd fix some testcase 2021-07-20 19:08:14 +07:00
Matthias 365479f5e0 Remove startup-candles after populating buy/sell signals
closes #5242
2021-07-18 11:06:41 +02:00
Matthias 7b7d9c02d7
Merge pull request #5243 from freqtrade/feat/webservermode_progress
Introduce webserver mode subcommand
2021-07-18 10:48:55 +02:00
Matthias 7ea0a74c53 Default to proposed stake 2021-07-11 14:11:41 +02:00
Matthias 005da97183 extract backtesting abort functionality 2021-07-06 19:48:28 +02:00
Matthias 898bef1837
Merge pull request #5219 from freqtrade/hyperopt_paramfile
automatic Hyperopt paramfile
2021-07-04 13:56:52 +02:00
Matthias dc8abd77df Fix import order 2021-07-03 15:45:00 +02:00
Matthias 9d6860337f
Merge pull request #5212 from rokups/rk/trailing-stop-2
Trailing stoploss in backtesting v2
2021-07-03 08:39:30 +02:00
Matthias 3503fdb4ec Improve tests for newly added methods 2021-07-03 08:38:55 +02:00
Rokas Kupstys bc0742ae67 Fix extremely optimistic results when using a combination of custom_stoploss and trailing_stop. 2021-06-30 09:10:50 +03:00
Matthias 645da51b5f Add test for parameter loading 2021-06-30 06:55:10 +02:00
Matthias dcf53ac3ff Add test for try_eport_params 2021-06-30 06:33:40 +02:00
Matthias 8ca0076332 Fix small typos 2021-06-29 06:50:47 +02:00
Matthias a7e9e362b7 Simplify printing logic for non-optimized parameters 2021-06-29 06:50:47 +02:00
Matthias 8b7010fc9a Update pprint name 2021-06-29 06:50:47 +02:00
Matthias ef14359d31 Add some tests for paramfile writing 2021-06-29 06:50:47 +02:00
Matthias e97de4643f Move tests to hyperopttools test file 2021-06-29 06:50:47 +02:00
Matthias 750c780293 Support loading parameters from json file 2021-06-29 06:50:47 +02:00
barbarius a0f28f4a15 Added max open trades to strategy summary first line 2021-06-28 17:05:12 +02:00
barbarius c99ae3b419 Added timerange above multiple strategy backtest result summary table 2021-06-28 10:20:34 +02:00
Matthias 0235868c66 Update tests for new config structure 2021-06-26 16:39:01 +02:00
Rokas Kupstys 6d5fc96714 Implement most pessimistic handling of trailing stoploss. 2021-06-15 09:05:36 +03:00
Matthias cf7394d01c Export backtesting results by default
closes #4977
2021-06-14 19:57:24 +02:00
Matthias d54ee0eb04 Refactor hyperopt_tools naming 2021-06-13 11:24:24 +02:00
Matthias 9c34304cb9 Move state enums to enums package 2021-06-08 21:20:35 +02:00
Matthias 89b9915c12 Update imports for SellType in tests 2021-06-08 21:07:16 +02:00
Matthias 08f96df3ac Don't write to testdir, but to tempdir 2021-05-30 08:43:14 +02:00
Matthias 8a56af9192 Update onlyprofit loss should use absolute profit
closes #4934
2021-05-28 08:38:46 +02:00
Matthias a89364aa98 Merge branch 'develop' into pr/Antreasgr/4838 2021-05-27 14:59:39 +02:00
Matthias 3014bc3467 Don't use Sum sign in hyperopt to avoid compatibility problems 2021-05-27 14:22:11 +02:00
Matthias a39860e0de Add tests for rejected signals 2021-05-23 14:15:02 +02:00
Matthias 916ece6a29 More realistic testcase for results 2021-05-23 09:15:36 +02:00
Rokas Kupstys 25cc4eae96 Fix tests that broke after table formatting changed. 2021-05-22 15:25:37 +02:00
Rokas Kupstys e1dc1357ce Add drawdown column to strategy summary table. 2021-05-21 11:36:23 +03:00
Matthias ef4d1c24d7
Merge pull request #4941 from brookmiles/fix-stoploss-above-candle
prevent backtest stoploss trade price being set above candle high
2021-05-19 06:20:35 +02:00
Matthias 7a9853bfe1 Fix "Too many open Files" exception 2021-05-18 20:39:55 +02:00
Matthias 2565f91bc2 Adjust tests to reflect new stoploss behaviour 2021-05-18 19:33:17 +02:00
Matthias 6aa574fa2b Convert ROI result to proper json object
closes #4952
2021-05-17 20:58:50 +02:00
Matthias 4f968b4a6f
Merge pull request #4926 from rokups/rk/misc-fixes
Two fixes
2021-05-15 15:11:07 +02:00
Rokas Kupstys 2d5f465f1b Fix protections being loaded multiple times for first strategy when backtesting. 2021-05-15 13:37:03 +03:00
Matthias 5f5597b93f Better test hyperopt writing and reading 2021-05-12 19:06:09 +02:00
Matthias 06bf1aa274 Store epochs as json per line 2021-05-12 05:58:25 +02:00
Matthias 7398ea88e0 Change optimize_reports to convert dates to string earlier 2021-05-11 20:37:49 +02:00
Matthias 513be11fd9 Fix hyperopt output
closes #4892
2021-05-07 20:23:11 +02:00
Matthias 554f5f14b6 Raise exception if no data is left 2021-05-07 06:41:15 +02:00
Matthias d069ad43d8 Small reformatting in hyperopt 2021-05-02 11:01:26 +02:00
Matthias 46f0f66039 Keep dimensions stored in hyperopt class
There is no point in regenerating them and it will cause some
overhead as all space classes will be recreated for every epoch.
2021-05-02 09:48:37 +02:00
Matthias ced5cc7ce2 Don't recalculate min/max date - they won't change between epochs 2021-05-02 09:46:27 +02:00
Matthias 97478abb9d Move format explanation string to HyperoptTools 2021-05-02 09:46:27 +02:00
Matthias 4c00d4496d Update tests to reflect new backtest returns 2021-05-02 09:46:27 +02:00
Matthias f2e182002d Simplify calling backtesting by returning the proper result 2021-05-02 09:46:27 +02:00
Matthias e2e1d34828 Extract stake_currency param from hyperopt-explanationstring 2021-05-02 09:46:27 +02:00
Matthias 852f125347 Fix tests 2021-05-02 09:46:27 +02:00