Commit Graph

1846 Commits

Author SHA1 Message Date
Antonio Della Fortuna f2fa476dc6 max_open_trades should be an integer
Max open trades will be always an integer in the strategy (-1 for infinity), but in the config -1 will be parsed as infinity
2023-01-04 16:09:27 +01:00
Antonio Della Fortuna ce661cb58b Merge branch 'develop' of https://github.com/freqtrade/freqtrade into max-open-trades 2023-01-04 10:35:09 +01:00
Antonio Della Fortuna 5fd85368a9 Added support for max_open_trades hyperopting 2023-01-04 10:34:44 +01:00
Matthias 02eb00fa33 Merge branch 'develop' into pr/stash86/7810 2022-12-28 14:04:54 +01:00
Stefano Ariestasia 6353f3ac1a fix formulas and implement new metrics 2022-12-26 08:19:51 +09:00
Matthias 7a5439321c Show new metrics in backtesting 2022-12-25 21:29:37 +01:00
Matthias ad0d7c9a9e Don't allow DCA trades to go beyond max order size
closes  #7924
2022-12-23 16:09:35 +01:00
Matthias 2219d2f491
Merge pull request #7707 from freqtrade/bt/full_detail
backtesting - use full detail timeframe
2022-11-27 16:09:23 +01:00
Matthias 79c041b62d Update tests for new export format 2022-11-25 16:57:58 +01:00
Matthias 8c014bd365 Export trade-counts to csv
closes #7789
2022-11-25 16:57:45 +01:00
Matthias 8ee8b6e943 Improve hyperopt list output
closes  #7789
2022-11-25 16:31:21 +01:00
Robert Caulk cd6f87be17
Merge pull request #7728 from freqtrade/improve_timerange
Simplify timerange handling
2022-11-17 19:57:48 +01:00
Matthias 0a702cdd26 Ensure more methods are typechecked 2022-11-14 20:56:35 +01:00
Matthias 0f9c5f8d41 Simplify timerange handling 2022-11-10 18:28:18 +01:00
Matthias 884014a4b9 Fix some minor typos 2022-11-07 18:35:28 +00:00
Matthias ded57fb301 Remove no longer valid test part 2022-11-05 20:32:31 +01:00
Matthias d089fdae34 Fix current-time_det calculation 2022-11-05 20:02:36 +01:00
Matthias 0888b53b5a Udpate current_time handling for detail loop 2022-11-05 17:02:27 +01:00
Matthias a11d579bc2 Verify order fills on "detail" timeframe 2022-11-05 17:02:27 +01:00
Wagner Costa Santos 6606a0113f refactoring - remove unnecessary config file 2022-10-20 14:53:25 -03:00
Wagner Costa Santos 52b60c5cbb Merge branch 'develop' into backtest_live_models 2022-10-20 11:59:37 -03:00
Matthias c3d4fb9f1b Simplify backtest calling interface 2022-10-18 06:39:55 +02:00
Matthias 6252ae466e Convert position_stacking to attribute of backtest 2022-10-17 06:57:26 +02:00
Matthias 8534dfb0d4 Extract backtest 1 candle from main function 2022-10-17 06:57:26 +02:00
Matthias 0e8cf366f5 Keep trade state in LocalTrade 2022-10-17 06:57:26 +02:00
Matthias e82baf5f60 Use helper-method to modify trades_open 2022-10-16 16:45:16 +02:00
Evgeniy Vladimirov de9f5660f3 Fix counting available trade slots in backtesting. 2022-10-16 12:56:59 +03:00
Matthias b6c096d3bc Simplify backtest condition 2022-10-16 09:22:56 +02:00
Matthias 05ca725e4d Remove no longer needed local state 2022-10-15 12:07:22 +02:00
Matthias c8e6dad9cd use exit_reason to determine left open trades 2022-10-15 12:00:20 +02:00
Matthias 9d4ba767c4 Update usages of search_all_objects 2022-10-14 14:50:52 +00:00
Wagner Costa Santos 02fc59d473 Merge branch 'develop' into backtest_live_models 2022-10-13 15:52:19 -03:00
Matthias f019471051 Don't round prices if no custom prices have been used
closes #7573
2022-10-13 19:51:42 +02:00
Wagner Costa Santos 3081e73f8a Merge branch 'develop' into backtest_live_models 2022-10-10 14:53:45 -03:00
Marek Cieplucha 3264d7b890
Fix for #7534 in backtesting 2022-10-04 20:27:13 +02:00
Matthias a6296be2f5 Update market_change datatype 2022-10-04 10:27:04 +00:00
Matthias 016e438468 Calculate market-change in hyperopt
closes #7532
2022-10-04 08:37:07 +00:00
Matthias 2ce265bed3
Merge pull request #7473 from freqtrade/feat/producerpairlist
Producerpairlist
2022-09-30 06:54:15 +02:00
Wagner Costa Santos 6845a5c6ea backtest_live_models - refactoring after PR review 2022-09-29 01:48:38 -03:00
Matthias 30a5bb08dd partial exits should account for leverage 2022-09-27 19:53:55 +02:00
Wagner Costa Santos 3c002ff752 Merge branch 'develop' into backtest_live_models 2022-09-27 10:27:47 -03:00
Matthias 8c2e473ee5 Fix test warning 2022-09-27 08:53:29 +00:00
Matthias 43e847ff2f Update to pandas 1.5.0 syntax, avoiding warnings 2022-09-27 08:02:51 +00:00
Wagner Costa Santos 182d9e5426 Merge branch 'develop' into backtest_live_models 2022-09-26 17:23:44 -03:00
Matthias cf5267a4d3
Merge pull request #7481 from chusri/develop
✏️ fixed typo from StaticPairlist to StaticPairList
2022-09-26 18:11:56 +02:00
Matthias 8e0811d9de Call cleanup explicitly 2022-09-26 09:35:21 +00:00
Matthias a1a62681bf add fixes for random test failures 2022-09-26 08:11:00 +00:00
Thaweesak Chusri c4784c6695 ✏️ fixed typo from StaticPairlist to StaticPairList 2022-09-26 11:05:27 +08:00
Wagner Costa Santos 5880f7a638 backtest_live_models - params validation and get timerange from live models in BT 2022-09-25 23:14:00 -03:00
Matthias 0c810868de Add Dataprovider to pairlist 2022-09-25 09:22:21 +02:00
Matthias 585342f193
Merge pull request #7454 from freqtrade/fix_backtesting_dfsize_freqai
Ensure the DF has the same size in backtesting FreqAI
2022-09-24 16:17:39 +02:00
paranoidandy 2cc00a1a2c
Allow use of --strategy-list with freqai, with warning (#7455)
* Allow use of --strategy-list with freqai, with warning

* ensure populate_any_indicators is identical for resused identifiers

* use pair instead of metadata["pair"]

Co-authored-by: robcaulk <rob.caulk@gmail.com>
2022-09-24 13:21:01 +02:00
Wagner Costa Santos b1dbc3a65f remove function remove_training_from_backtesting and ensure BT period is correct with startup_candle_count 2022-09-22 12:13:51 -03:00
Matthias 994c1c5ea0 use Config typing in more places 2022-09-18 13:31:52 +02:00
Matthias 667853c504 Use Alias to type config objects 2022-09-18 13:20:55 +02:00
Matthias e5368f5a14 backtesting confirm_trade_entry should pass correct amount, not stake-amount
closes #7423
2022-09-16 13:24:20 +00:00
Matthias 982c0315fa Rename variable 2022-09-11 19:31:11 +02:00
Matthias 72d197a99d Run first epoch in non-parallel mode
this allows dataprovider to load it's cache.

closes #7384
2022-09-11 17:51:07 +02:00
Matthias 78cd46ecd5 hyperopt Remove unnecessary arguments 2022-09-11 14:59:39 +02:00
Matthias 32e13d65c3 Refactor hyperopt to extract evaluate_result 2022-09-11 14:59:39 +02:00
Matthias a48923c0e4 Extract widget colorization to separate function 2022-09-11 14:59:39 +02:00
Matthias 37fcbeba58 Update backtesting output wording to Entries 2022-09-09 19:58:55 +02:00
Matthias 4d69df08dd trunc to amount precision before checking valid partial exits
closes #7368
2022-09-07 06:43:08 +02:00
Matthias 98ec84fca6
Merge pull request #7339 from freqtrade/fix/fundingfee_handling
Fix/fundingfee handling
2022-09-06 19:21:40 +02:00
Matthias 4dec19de9f Add comment to explain why we use the non-trimmed DF 2022-09-06 06:52:50 +02:00
Italo 9f5642fd97 fix hyperopt df preprocessing 2022-09-05 18:12:19 +02:00
Matthias df50b1928d Fix funding fee calculation for backtesting 2022-09-03 15:01:42 +02:00
Matthias a88ffd2c9d Merge branch 'develop' into move_datadownload 2022-08-31 10:23:45 +00:00
Matthias 226fa5d93c Simplify liquidation price calling structure 2022-08-29 07:04:48 +02:00
Matthias 6686489c06
Merge pull request #7258 from freqtrade/feat/hyp_optinal_indicator
Add flag to move hyperopt populate_indicators to epoch
2022-08-27 09:21:16 +02:00
Matthias 2b70c3d0c0 support price callback for partial exits in bt
This will align results to how live works.
closes #7292
2022-08-27 08:50:09 +02:00
Matthias 01126c43f7 Fix liquidation price tier calculation
closes #7294
2022-08-26 20:14:24 +02:00
robcaulk 4b7e640f31 reduce code duplication, optimize auto data download per tf 2022-08-26 13:56:44 +02:00
Matthias 53d46a0385 align `max_entry_position_adjustment` behavior of backtesting to live
closes #7293
2022-08-25 20:36:17 +02:00
Matthias 6636f17e0f Simplify usage of amount_to_contract precision 2022-08-25 07:08:22 +02:00
Matthias 32faad9333 Fix backtest calculation problem with DCA
closes #7287
2022-08-24 20:36:08 +02:00
Matthias fe7108ae75 Convert amount to contracts before comparing for close
closes #7279
2022-08-23 06:37:38 +02:00
robcaulk ac42c0153d deprecate indicator_max_period_candles, automatically compute startup candles for FreqAI backtesting. 2022-08-22 18:19:07 +02:00
Matthias f6d832c6d9 Add get_option to expose ft_has via method 2022-08-21 17:51:46 +02:00
Matthias 5b3f031590 Use hyperopt safe amount precision method 2022-08-20 14:13:15 +02:00
Matthias 0da0600836 Have backtesting respect tradable size
closes #7161
2022-08-20 11:41:11 +02:00
Matthias aa3da092a0 Dont' use classProperty - that's not supported on 3.8 2022-08-20 10:55:52 +02:00
Matthias bc359675a2 Add --analyze-per-epoch - moving populate_analysis to the epoch process 2022-08-19 15:19:43 +02:00
Matthias 09f8904545 Extract analysis to separate method 2022-08-19 15:12:55 +02:00
Matthias 08ef5ad2d8 Add HyperoptState enum and container class 2022-08-19 15:11:43 +02:00
Matthias 83ca168bb8
Merge pull request #7216 from freqtrade/precise_calcs
Precise calcs
2022-08-17 14:32:02 +02:00
Matthias 0b0e7eaf96 Mutex TTL Cache accesses which can be accessed by multiple threads
Apparently, cachetools is (intentionally) not threadsafe
when using the Caches directly.
It's therefore recommended to wrap these with an explicit lock to avoid
problems.

source: https://github.com/tkem/cachetools/issues/245

closes #7215
2022-08-16 19:48:21 +02:00
Matthias fa89368c02 Add test for precision backpopulation 2022-08-16 11:11:52 +02:00
Matthias 15a1c59a91 Backtesting should cache precisionMode 2022-08-16 10:15:19 +02:00
Matthias 711b6b1a1a Merge branch 'develop' into precise_calcs 2022-08-16 09:29:39 +02:00
Matthias c3f159bd57 Add precision fields to database 2022-08-15 19:58:40 +02:00
Matthias 3b827ee60a Add "freqai.enabled" flag to disable freqAI via config flag
aligns with how other optional modules work in freqtrade.
2022-08-13 09:24:04 +02:00
Matthias f6545ebdb8 Disallow backtesting with --strategy-list for now. 2022-08-13 09:10:03 +02:00
Matthias 9a82898d6b Merge branch 'develop' into feat/freqai 2022-08-09 06:22:57 +02:00
robcaulk 26de992d20 ensure user sets startup candles in backtesting mode 2022-08-05 12:23:14 +02:00
Matthias d75e0a9820 Fix Flake8 errors after flake update 2022-08-01 06:43:59 +02:00
Kavinkumar a4bada3ebe
Partial exit using average price (#6545)
Introduce Partial exits
2022-07-31 14:19:04 +02:00
Matthias d046f0cc5e Improve method wording for liquidation price setter 2022-07-30 16:11:31 +02:00
Matthias 8711b7d99f Liquidations cannot be rejected. 2022-07-30 16:10:16 +02:00
Matthias 995be90f91 Liquidation should be a separate exit type 2022-07-30 16:10:16 +02:00