Commit Graph

1715 Commits

Author SHA1 Message Date
Italo 23f1a1904b more compact 2022-03-20 16:06:41 +00:00
Italo 0fd269e4f0 typo 2022-03-20 16:03:07 +00:00
Italo e16bb1b34e Optimize only new points
Enforce points returned from `self.opt.ask` have not been already evaluated
2022-03-20 16:02:03 +00:00
Italo 112738d68d
Merge branch 'freqtrade:develop' into plot_hyperopt_stats 2022-03-20 15:42:53 +00:00
Italo d796ce0935 Update hyperopt.py
1. Try to get points using `self.opt.ask` first
        2. Discard the points that have already been evaluated
        3. Retry using `self.opt.ask` up to 3 times
        4. If still some points are missing in respect to `n_points`, random sample some points
        5. Repeat until at least `n_points` points in the `asked_non_tried` list
        6. Return a list with legth truncated at `n_points`
2022-03-20 15:41:14 +00:00
Matthias 95f69b905a Remove ticker_interval support 2022-03-20 09:00:53 +01:00
Matthias 052758bbac Refactor price and stake out of _enter_trade 2022-03-19 15:45:43 +01:00
Matthias b292f28b35 Call leverage before custom_stake_amount to properly determine min-stake-amount 2022-03-19 15:44:37 +01:00
Matthias d6309449cf Fix short bug where close_rate is wrongly adjusted 2022-03-16 20:12:09 +01:00
Matthias a89c1da19f Fix 2 bugs in ROI calculation 2022-03-16 20:12:09 +01:00
froggleston 162e94455b Add support for storing buy candle indicator rows in backtesting results 2022-03-16 12:16:24 +00:00
Matthias 7c9d2dd20a Fix a few more short bugs in backtesting 2022-03-16 07:00:50 +01:00
adriance ceba4d6e9b Remove meaningless code 2022-03-15 14:03:06 +08:00
Matthias cbbdf00ddd Update comments in short backtest rates 2022-03-15 06:39:07 +01:00
adriance fd211166f0 fixed side error 2022-03-15 12:23:59 +08:00
adriance 7059892304 Optimize the code. Fix stop_rate judgment error 2022-03-15 12:04:02 +08:00
adriance 31182c4d80 format 2022-03-14 18:38:44 +08:00
adriance 26a74220fd remove buy filled logic 2022-03-14 13:43:42 +08:00
adriance bea38a2e7c remove filled date logic 2022-03-14 13:42:52 +08:00
adriance 3d9c55d519 restore set_isolated_liq 2022-03-14 11:29:26 +08:00
adriance 0fce0f64d1 Merge branch 'feat/short' into fs_fix 2022-03-13 14:41:22 +08:00
adriance 52bf926066 fix duplicate long 2022-03-13 12:26:57 +08:00
adriance b5662d6547 Merge branch 'feat/short' into fs_fix 2022-03-12 16:50:27 +08:00
Matthias efc313b28b
Merge pull request #6512 from freqtrade/short_order_types
Short order types renamal
2022-03-12 09:32:16 +01:00
Matthias 20fc9459f2 Add test for can_short strategy attribute 2022-03-11 19:37:45 +01:00
Italo d2a5448305 Update hyperopt.py 2022-03-11 17:38:32 +00:00
adriance 499e9c3e98 fix duration 2022-03-10 00:34:59 +08:00
adriance d579febfec add filled time 2022-03-09 23:55:57 +08:00
adriance 1c86e69c34 use filled time calculate duration 2022-03-09 21:55:13 +08:00
adriance 82e0eca128 add short close rate calu 2022-03-09 20:00:06 +08:00
Matthias e492bf3159 Update order_types to use entry/exit definition 2022-03-09 06:37:08 +01:00
dingzhoufeng 9facd5b52a Merge branch 'feat/short' into fs_fix 2022-03-08 15:14:11 +08:00
dingzhoufeng 53ecdb931b add leverage 2022-03-08 12:26:43 +08:00
Matthias 3ff261e22c Update order time in force to use entry/exit wording 2022-03-07 19:55:15 +01:00
Matthias f558d4b132
Merge pull request #6467 from samgermain/backtest-liq
Liquidation price in backtesting
2022-03-03 06:50:32 +01:00
Matthias eb30c40e0c Fix hyperopt for futures 2022-03-02 19:50:16 +01:00
Matthias e8206bc751 Simplify backtesting enter_Trade 2022-02-28 20:10:23 +01:00
Matthias 1b07ad92cf Merge branch 'feat/short' into pr/samgermain/6467 2022-02-28 20:07:19 +01:00
Matthias 79538368db Simplify liquidation price calculation 2022-02-28 19:47:21 +01:00
Matthias 1d27cbd01f Simplify leverage_prep interface 2022-02-28 19:34:10 +01:00
Matthias 8e2d3445a7 Move leverage_prep calculations to exchange class 2022-02-28 19:29:42 +01:00
Sam Germain b103045a05 backtesting._enter_trade update liquidation price on increased position 2022-02-27 12:09:45 -06:00
Sam Germain 6fdcc714bf backtesting margin_mode key fix 2022-02-27 11:59:27 -06:00
Matthias 1b6548c8d8 Don't modify leverage through DCA 2022-02-27 15:44:23 +01:00
Matthias bcfa73d492 Add "nr_of_successfull_entries" 2022-02-27 15:44:23 +01:00
Sam Germain 8af2ea754f add margin mode to backtesting 2022-02-26 14:11:21 -06:00
Sam Germain 6dbd249570 backtesting._enter_trade get liquidation_price and backtesting._leverage_prep 2022-02-26 13:55:01 -06:00
Italo 8d9d003671
Merge branch 'freqtrade:develop' into plot_hyperopt_stats 2022-02-25 17:58:57 +00:00
Matthias fd936e26ae Merge branch 'develop' into feat/short 2022-02-24 19:56:42 +01:00
Matthias 42df65d4ec Make sure backtesting is cleaned up in tests 2022-02-24 14:22:49 +00:00
Matthias 8952829adc Merge branch 'develop' into feat/short 2022-02-23 06:28:15 +01:00
Matthias 70f4305dfa don't allow short trades in spot mode 2022-02-21 19:19:12 +01:00
Matthias d610b6305d Improve /balance output by removing trailing zeros 2022-02-19 16:40:30 +01:00
Sam Germain a9eb8ce1bf added todos back in 2022-02-16 05:47:41 -06:00
Italo 88459acbeb
Merge branch 'freqtrade:develop' into plot_hyperopt_stats 2022-02-15 19:10:49 +00:00
Matthias 64b98989d2 Update open candle ROI condition 2022-02-15 19:25:32 +01:00
Matthias 30f6dbfc40 Attempt fix for #6261 2022-02-14 20:02:38 +01:00
Sam Germain 19783e0d39 edited todos 2022-02-14 09:02:55 -06:00
Sam Germain fc2d3649a1 edited todos 2022-02-12 16:23:14 -06:00
Matthias 0c6d92a7a6 Merge branch 'develop' into feat/short 2022-02-11 17:02:04 +01:00
Matthias 6a59103869 update wallets in backtesting to ensure a fresh wallet is used
closes #6388
2022-02-10 19:40:36 +01:00
Matthias 9f47853661
Merge pull request #6235 from freqtrade/backtest_order_timeout
Backtest order timeout
2022-02-09 07:12:35 +01:00
Matthias dcf8ad36f9 Backtesting should not allow unrealistic (automatic-filling) orders. 2022-02-08 19:12:01 +01:00
Matthias b192c82731 Only call "custom_exit_price" for limit orders 2022-02-08 07:10:54 +01:00
Matthias 036c2888b4 Track timedout entry/exit orders 2022-02-07 18:49:30 +01:00
zx 4bce64b427 commented method deletition 2022-02-07 14:12:07 +01:00
zx 7811a36ae9 max_drawdown_abs calc fix & .DS_Store deletition 2022-02-07 07:44:13 +01:00
zx 8cdb6e0774 DRAWDOWN_MULT back to a higher value as built-in for safer HOs first 2022-02-07 06:31:16 +01:00
zx 2893d0b50d proper var name 2022-02-07 06:22:27 +01:00
zx 7d3b80fbde isort fix and leftover cleaning 2022-02-06 21:09:40 +01:00
Italo d03378b1df Update hyperopt.py 2022-02-06 15:32:59 +00:00
zx 6b5f63d4d6 change profit_ratio by profit_abs 2022-02-06 16:28:01 +01:00
zx 0b01fcf047 Add ProfitDrawdownHyperoptLoss method 2022-02-06 15:40:54 +01:00
Matthias 644442e2f9 Track timedout orders 2022-02-06 13:37:31 +01:00
Matthias 17d748dd4c Improve handling of left_open_trades 2022-02-06 13:19:00 +01:00
Italo adf8f6b2d5 Update hyperopt.py 2022-02-06 10:33:49 +00:00
Italo 6c1729e20b ignore warnings 2022-02-06 01:07:30 +00:00
Sam Germain e0d42ad9a7
Update backtesting.py 2022-02-05 18:29:48 -06:00
Italo 6a4cae1f8c Update hyperopt.py 2022-02-06 00:17:48 +00:00
Italo 992eac9efa Update hyperopt.py 2022-02-05 17:36:19 +00:00
Matthias 9bf86bbe27 Extract backtesting row validation to separate function 2022-02-05 16:28:47 +01:00
Matthias 58fad72778 Update wallets when necessary
closes #6321
2022-02-05 16:28:47 +01:00
Matthias 4ea79a32e4 Use Order object for ft_timeout check 2022-02-05 16:28:47 +01:00
Matthias 1e603985c5 Extract backtesting order cancelling 2022-02-05 16:28:47 +01:00
Matthias 6637dacd7f Extract protections in backtesting 2022-02-05 16:28:47 +01:00
Matthias 7ac44380f7 Extract backtest order closing to models class 2022-02-05 16:28:46 +01:00
Matthias 090554f197 Try fill backtest order imediately for adjusted order 2022-02-05 16:28:21 +01:00
Matthias f4149ee462 Force ROI to be within candle 2022-02-05 16:28:21 +01:00
Matthias 44e616c264 Add unfilledtimeout to required props for backtesting 2022-02-05 16:28:21 +01:00
Matthias 49cecf1cb2 Small cosmetic fix 2022-02-05 16:28:21 +01:00
Rokas Kupstys 9140679bf4 Backtest order timeout continued. 2022-02-05 16:28:21 +01:00
Rokas Kupstys 15698dd1ca Fix errors so it runs, implement timeout handling. 2022-02-05 16:28:21 +01:00
Matthias f7a1cabe23 Add first version to fill orders "later" in backtesting 2022-02-05 16:28:21 +01:00
Matthias c12e5a3b6c Initial idea backtesting order timeout 2022-02-05 16:28:21 +01:00
Sam Germain 8b57827676 exchange.get_max_pair_stake_amount hard set leverage to 0 2022-02-04 14:26:15 -06:00
Sam Germain dc6cb445fd Merge branch 'feat/short' into max-amount 2022-02-04 04:42:38 -06:00
Sam Germain 3ee2b7978c wallets.validate_stake_amount added param max_stake_available 2022-02-03 20:33:16 -06:00
Sam Germain 7465037906 freqtradebot.execute_entry test for too high stake amount 2022-02-03 20:33:16 -06:00
Sam Germain 8c680d75b9 moved max_stake_amount check for None to exchange.get_max_pair_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 edc0e9c75f backtesting._get_ohlcv_as_lists changed candle_type to candle_type_def 2022-02-03 17:48:34 -06:00
Sam Germain 977f87659c edited backtesting._get_sell_trade_entry TODO: removed "Other fees" 2022-02-03 17:48:33 -06:00
Sam Germain 73d10b5c02 backtesting._get_ohlcv_as_lists removed # TODO-lev: Candle-type should be conditional, either "spot" or futures 2022-02-03 17:48:33 -06:00
Matthias a4e1aaa9bd
Merge pull request #6307 from freqtrade/bt_shift
Remove shift in analyzed dataframe columns
2022-02-02 19:52:10 +01:00
Italo 328b969801 Merge branch 'develop' of https://github.com/freqtrade/freqtrade into freqtrade-develop 2022-02-01 01:06:57 +00:00
Matthias 463714832d Merge branch 'develop' into feat/short 2022-01-29 14:19:30 +01:00
Matthias 5d0c2bcb44 Shift candles after pushing them to dataprovider
this will ensure that the signals are not shifted in callbacks
closes #6234
2022-01-28 07:25:10 +01:00
Matthias 82e193d9f0
Merge pull request #6260 from stash86/pos_adjust
Add max_buy_position_adjustment as attribute
2022-01-27 20:13:51 +01:00
Matthias 002226f5fd Update setting to max_entry_position_adjustment 2022-01-27 16:57:50 +01:00
Matthias 12c79967f5
Merge pull request #6258 from italodamato/pass_dimensions_to_generate_estimator
Pass dimensions to generate_estimator
2022-01-25 19:37:22 +01:00
Italo 30b27ae736 explicit dtype 2022-01-25 12:29:55 +00:00
Italo f7a5b2cb71 explicit dimensions, added **kwargs, updated docs 2022-01-25 11:43:40 +00:00
Stefano Ariestasia 0fa7986369
Merge branch 'freqtrade:develop' into pos_adjust 2022-01-25 10:30:18 +09:00
Italo a7ea06791a
Merge branch 'freqtrade:develop' into plot_hyperopt_stats 2022-01-24 21:46:33 +00:00
Matthias e252830229 Add entry_tag to "entry" callbacks 2022-01-24 07:02:01 +01:00
Italo a2fb241a3b increase initial points to 64 2022-01-24 01:35:42 +00:00
Reigo Reinmets 451eca51c8 Optimise the multiple usages of the same timestamp. 2022-01-23 20:58:25 +02:00
Reigo Reinmets e67a54f7a9 Fix missing order time info in backtesting. 2022-01-23 20:52:35 +02:00
Matthias 7429f535c1 Imrpove code by reusing available properties 2022-01-23 18:59:09 +01:00
Matthias ad28543d4d Update kraken calculation 2022-01-22 19:46:11 +01:00
Matthias a0c0c4dcbe Update funding_fee formula to correctly calculate fees for long trades 2022-01-22 19:46:10 +01:00
Matthias f26cd19146 Merge index and mark rates as part of dataload 2022-01-22 19:45:46 +01:00
Matthias 84c6d92d4c calculate_funding_fees is actually a public exchange interface (used in backtesting). 2022-01-22 19:45:46 +01:00
Matthias e9e7fd749b Support funding-fees while running backtest 2022-01-22 19:45:43 +01:00
Matthias f090dcc597 Merge branch 'develop' into feat/short 2022-01-22 17:56:01 +01:00
Italo eacd1b0752
Merge branch 'plot_hyperopt_stats' into develop 2022-01-22 15:39:39 +00:00
Matthias 01b331ee42
Merge pull request #6274 from italodamato/set-stoploss-at-trade-creation
set stoploss at trade creation
2022-01-22 16:17:47 +01:00
Italo 0ce6c150ff set stoploss at trade creation 2022-01-22 14:06:45 +00:00
Italo 82f0d4d056 set stoploss at trade creation 2022-01-22 14:03:12 +00:00
Stefano Ariestasia fe5f61694b
Merge branch 'freqtrade:develop' into pos_adjust 2022-01-22 21:25:16 +09:00
Matthias bb1d8fb54f Improve message when no hyperopt fie is found
closes #6266
2022-01-21 15:24:26 +01:00
Stefano Ariestasia f3a152a5a2
Merge branch 'freqtrade:develop' into pos_adjust 2022-01-21 17:11:36 +09:00
Italo 34d19dc108
Merge branch 'freqtrade:develop' into plot_hyperopt_stats 2022-01-20 11:37:54 +00:00
Matthias a6c7f45545 Update webserver backtseting to reuse prior results 2022-01-20 06:51:48 +01:00
Stefano Ariestasia 62ea1a445e add lines to show_config message 2022-01-20 10:03:26 +09: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
Italo 16a516a882 added plot functionality 2022-01-19 01:50:15 +00:00
Italo a4dbdb549d added type spec 2022-01-19 01:37:47 +00:00
Italo 407c20412d Pass dimensions to generate_estimator
It's needed in order to create isotropic kernels for the GaussianProcessRegressor
2022-01-19 01:07:41 +00:00
Matthias 2bcfc0c90c Add warning about cache problems 2022-01-16 18:01:05 +01:00
Matthias 5bb48eaed0 Replace Nan with 0 or None in backtesting
part of #6224
2022-01-16 14:49:29 +01:00
Rokas Kupstys 062d00e8f2 Fix @informative decorator failing with edge. 2022-01-15 17:31:16 +02:00
Rokas Kupstys 2b7405470a Fix timerange check. 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 13bc5c5d8f Fine, this does look better. 2022-01-13 20:24:21 +02:00
Reigo Reinmets 678be0b773 Slightly move code. 2022-01-13 20:16:45 +02:00
Reigo Reinmets 3b7167ab07 Fix backtesting missing filled amounts in orders. 2022-01-10 20:30:40 +02:00
Reigo Reinmets 0bca07a32a Added min_stake, max_stake. Removed pair as its included in trade. 2022-01-08 17:20:02 +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 04976658da Fix crash when using backtesting-show on a old backtestresult 2022-01-07 17:34:47 +01:00
Rokas Kupstys 11ace0f867 Instead of clearing `processed` dict, store `df_analyzed` (one with buy/sell signals) dataframe in it.
It still saves memory because this dataframe is kept by DataProvider.
Fixes #6179.
Amends #6133 (a715083fc0).
2022-01-07 12:07:49 +02: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 addba6597a
Merge pull request #6165 from freqtrade/drawdown_fixes
Improved drawdown calculation
2022-01-06 09:56:05 +01:00
Matthias 2a2392fd73 Update parameter name in docstring 2022-01-06 09:15:30 +01:00
Matthias a9a6cf13f8 Add exit_tag to detail-sells
closes #6159
2022-01-06 08:22:15 +01:00
Matthias 6abd6bceb9 Avoid recalculating statistics for comparison line 2022-01-05 20:16:48 +01:00
Sam Germain 501f473164 Merge branch 'develop' into feat/short 2022-01-04 22:47:33 -06:00
Matthias 8373a4e713 Small Adjustments to improve compatibility 2022-01-04 19:17:08 +01:00
Matthias 4d9b4ddc28 Update hyperopt-tools to use account drawdown 2022-01-04 17:43:39 +01:00
Matthias 09fae25c94 Fix some tests after drawdown calculation change 2022-01-04 17:07:31 +01:00
Matthias 7a2b50ce8b Update drawdown calculation to account drawdown 2022-01-04 17:07:31 +01:00
Matthias 42579c0268 Drop hyperopt results legacy mode 2022-01-04 17:06:40 +01:00
Matthias 711a6a6dbc Merge branch 'develop' into pr/xataxxx/6079 2022-01-02 22:21:41 +01:00
Matthias 209ecc8732 Fix typo in bt_progress 2022-01-02 19:38:03 +01:00
Matthias ddfbe55e7c Merge branch 'develop' into feat/short 2022-01-01 19:16:49 +01:00
Matthias 670aed06bf Remove loop for hyperopt. 2021-12-31 17:35:08 +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
Wade Dyck 3d9360bb8c When backtesting, pass the candle_type to load_data. 2021-12-27 11:46:05 -07:00
Reigo Reinmets 817a65b656 This is not needed since backtesting does not have open orders. 2021-12-26 20:01:48 +02:00
Reigo Reinmets de79d25caf Refactoring to use strategy based configuration 2021-12-24 12:38:43 +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 d10fb95fce Fix typo 2021-12-17 22:27:10 +02:00
Reigo Reinmets f11a40f144 Improve documentation on adjust_trade_position and position_adjustment_enable 2021-12-11 17:14:04 +02:00
Reigo Reinmets f97662e816 Add position_adjustment_enable config keyword to enable it. 2021-12-11 00:28:12 +02:00
Reigo Reinmets 1e3fc5e984 Slight code touchup 2021-12-10 22:48:00 +02:00
Reigo Reinmets c179951cca Expect stake_amount, not actual amount of pair from strategy for DCA. 2021-12-10 20:42:24 +02:00
Reigo Reinmets b2c2852f86 Initial backtesting support. This does make it rather slow. 2021-12-09 23:21:35 +02:00
Matthias edd80c3006 Merge branch 'develop' into feat/short 2021-12-09 06:34:07 +01:00
Matthias c981cc335d Remove wrong comment 2021-12-04 14:51:55 +01:00
Matthias 68ac8008ec Call custom_exit_price only for sell_signal and custom_sell 2021-12-04 14:14:22 +01:00
Matthias 86910b58dc Bracket entry/exit prices to low/high of the candle 2021-12-03 17:44:53 +01:00
Matthias d1209fe415 Merge branch 'develop' into pr/GluTbl/5756 2021-12-03 17:37:44 +01:00
Matthias 2f17fa2765 Update more to use candleType 2021-12-03 14:15:35 +01:00
Matthias 5493212672 More candletype changes 2021-12-03 13:04:31 +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 a2a974fc6d correctly apply leverage to backtesting 2021-11-30 20:32:34 +01:00
Matthias 6ca6f62509 Remove duplicate code in optimize_reports 2021-11-27 09:39:10 +01:00
Matthias 450293878f
Merge pull request #5964 from stash86/fix-docs
Add more words on VolumePairlist backtest error message
2021-11-26 07:48:24 +01:00
Matthias 897788de17 Reformulate exception to be "nicer" 2021-11-26 07:02:50 +01:00
Matthias cc9ea1d466
Merge pull request #5935 from freqtrade/short_buy_tag_compat
Short buy tag compat
2021-11-26 06:29:56 +01:00
Stefano Ariestasia 5307d2bf3b Trimming the sentence 2021-11-25 17:04:04 +09:00
Stefano Ariestasia 0d1e84cf55 Add more words
Because apparently, we get at least 1 question about this everyday in Discord
2021-11-25 16:00:10 +09:00
Matthias ce0593c0e1 Merge branch 'develop' into feat/short 2021-11-23 07:35:26 +01:00
Rokas Kupstys 78a00f2518 Use market data to get base and quote currencies in @informative() decorator. 2021-11-22 09:27:45 +02:00
Matthias c26c0b6822 Merge branch 'feat/short' into short_buy_tag_compat 2021-11-21 19:31:59 +01:00
Matthias aad37bb8f3
Merge pull request #5924 from freqtrade/feat/leverage
call leverage methods
2021-11-21 19:30:27 +01:00
Matthias 63d94aa585 short should be allowed for all non-spot modes 2021-11-21 19:29:08 +01:00
Matthias fb519a5b39 Add comment with reasoning to ignore leverage in min_amount calculation 2021-11-21 10:28:40 +01:00
Matthias 192ac88314 Update optimize-reports to enter_tag wording 2021-11-21 10:20:09 +01:00
Matthias 36deced00b Remove more buy_tag references 2021-11-21 09:55:10 +01:00
Matthias 6247608cc6 top/bottom cap leverage 2021-11-19 07:11:19 +01:00
Matthias 021d1b518c Call "leverage" to determine leverage to be used. 2021-11-18 20:55:45 +01:00
Matthias 5a8824171c Add short/long metrics to backtest result 2021-11-18 20:42:43 +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 8638e6fe47 Simplify tradingmode parsing 2021-11-18 19:58:44 +01:00
Matthias e0fd880c11 Improve some more pct formattings 2021-11-11 16:12:23 +01:00
Matthias 4eb9038358 Some more fixes to % formatting 2021-11-11 15:06:16 +01:00
Matthias 23a566b478 validate_stake_amount should not be a private method 2021-11-10 06:38:24 +01:00
Matthias e4cca63163 Align sell_reason assignment location
trade mode sets it after "exit confirmation" - so should backtesting
detected in #5828
2021-11-08 19:32:13 +01:00
Matthias ebc38159b8 Merge branch 'develop' into feat/short 2021-11-06 15:24:52 +01:00
raphael ae2343db93
Update optimize_reports
Update show_backtest_reults() to preserve backwards compatibility by fixing KeyError: 'results_per_buy_tag' for older hyperopt result files.
2021-11-04 10:25:13 -04: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 d60001e886 Stoploss cannot be below candle low
fix #5816
2021-10-30 16:14:13 +02:00
Matthias f472709438 Add option to show sorted pairlist
Allows easy copy/pasting of the pairlist to a configuration
2021-10-30 10:50:40 +02:00
Matthias 6f1e719216 Merge branch 'develop' into pr/cryptomeisternox/5150 2021-10-30 10:26:05 +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
Matthias 20a61e03da
Merge pull request #5786 from SimonEbner/clean_up_file_handles
Clean up file handles
2021-10-25 19:49:07 +02:00
Robert Roman 88b96d5d1b
Update hyperopt_loss_calmar.py 2021-10-25 00:45:10 -05: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
Simon Ebner df033d92ef Improve performance of decimalspace.py
decimalspace.py is heavily used in the hyperoptimization. The following
benchmark code runs an optimization which is taken from optimizing a
real strategy (wtc).
The optimized version takes on my machine approx. 11/12s compared to the
original 32s. Results are equivalent in both cases.

```
import freqtrade.optimize.space
import numpy as np
import skopt
import timeit

def init():
    Decimal = freqtrade.optimize.space.decimalspace.SKDecimal
    Integer = skopt.space.space.Integer
    dimensions = [Decimal(low=-1.0,
        high=1.0,
        decimals=4,
        prior='uniform',
        transform='identity')] * 20

    return skopt.Optimizer(
        dimensions,
        base_estimator="ET",
        acq_optimizer="auto",
        n_initial_points=5,
        acq_optimizer_kwargs={'n_jobs': 96},
        random_state=0,
        model_queue_size=10,
    )

def test():
    opt = init()
    actual = opt.ask(n_points=2)
    expected = [[
        0.7515, -0.4723, -0.6941, -0.7988, 0.0448, 0.8605, -0.108, 0.5399,
        0.763, -0.2948, 0.8345, -0.7683, 0.7077, -0.2478, -0.333, 0.8575,
        0.6108, 0.4514, 0.5982, 0.3506
    ], [
        0.5563, 0.7386, -0.6407, 0.9073, -0.5211, -0.8167, -0.3771,
        -0.0318, 0.2861, 0.1176, 0.0943, -0.6077, -0.9317, -0.5372,
        -0.4934, -0.3637, -0.8035, -0.8627, -0.5399, 0.6036
    ]]

    absdiff = np.max(np.abs(np.asarray(expected) - np.asarray(actual)))
    assert absdiff < 1e-5

def time():
    opt = init()
    print('dt', timeit.timeit("opt.ask(n_points=20)", globals=locals()))

if __name__ == "__main__":
    test()
    time()
```
2021-10-24 18:14:24 +02:00
Matthias 22dd2ca003 Fix mypy type errors 2021-10-24 15:18:29 +02:00
Matthias 17432b2823 Improve some stylings 2021-10-24 09:15:05 +02:00
Matthias dffb4c5d53 Merge branch 'develop' into pr/TreborNamor/5607 2021-10-24 08:55:10 +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 96f99699e0
Merge pull request #4606 from rextea/add_days_breakdown_to_backtesting_summary
Add days breakdown table to backtesting
2021-10-21 13:56:30 +02: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 fa028c2134 Support day/week/month breakdowns 2021-10-21 06:58:40 +02:00
Matthias 7197f4ce77 Don't show daily % profit (it's wrong) 2021-10-20 20:01:31 +02:00
Matthias de5497c766 backtest_days cannot be below 1 2021-10-20 19:39:37 +02:00
theluxaz 905f3a1a50 Removed exit_tag from Trade objects. 2021-10-20 17:58:50 +03:00
Sam Germain 3fffc315ac Merge branch 'develop' into feat/short 2021-10-20 08:11:53 -06:00
Matthias 5454460227 Revert initial_points to 30
closes #5760
2021-10-20 07:46:15 +02:00
theluxaz 1fdc4425dd Changed exit_tag to be represented as sell_reason 2021-10-20 01:26:15 +03:00
GluTbl 00406ea7d5
Update backtesting.py
Support for custom entry-prices and exit-prices during backtesting.
2021-10-19 17:15:45 +05:30
theluxaz 5ecdd1d112 Merge branch 'develop' into freqtrade-development 2021-10-19 00:00:15 +03:00
theluxaz 69a59cdf37 Fixed flake 8, changed sell_tag to exit_tag and fixed telegram functions 2021-10-18 23:56:41 +03:00