Commit Graph

985 Commits

Author SHA1 Message Date
Matthias
8f29312c9e Minimum re-entry stake should not include stoploss 2023-03-14 08:14:01 +01:00
Andy Lawless
a3dee9350f Move bot_loop_start call to run on every candle 2023-03-03 20:37:05 +00:00
Matthias
6e9ff5fdd8
Merge pull request #8202 from freqtrade/remove-populate-any-indicators
remove populate_any_indicators
2023-03-03 06:33:25 +01:00
Matthias
b5f55c9b14 Improve type safety in backtesting 2023-03-01 20:32:32 +01:00
Matthias
f6b3998bbd Fix backtesting type incompatibilities 2023-03-01 20:32:32 +01:00
robcaulk
fd4e27d889 remove populate_any_indicators 2023-02-21 14:22:40 +01:00
Matthias
f57394c1ce Merge branch 'develop' into bybit 2023-01-30 07:23:41 +01:00
Matthias
25dfbb5a08 Compare stake amout >= in backtesting
closes #8067
2023-01-29 12:47:16 +01:00
Matthias
9286cbed86 add partial Docstring to backtesting enter_trade 2023-01-29 11:02:31 +01:00
Matthias
34e7433844 Add leverage to dry-run liquidation price calculation 2023-01-24 07:21:56 +01:00
Matthias
8108a48f39 Follow PEP 484 - no implicit optionals 2023-01-21 20:01:56 +01:00
Matthias
bb355cfac5 improve naming of backtest function 2023-01-21 19:46:27 +01:00
Matthias
80bb120026 Simplify backtesting by removing now unnecessary private function 2023-01-21 18:01:01 +01:00
Matthias
89eb1b0084 funding-fees need to be recalculated for detailed timeframes, too.
closes #7978
2023-01-21 17:47:37 +01:00
Matthias
c8ecedf6d5 Clarify a variable via typehint 2023-01-17 20:05:18 +01:00
Antonio Della Fortuna
5e10bb2cca Merge branch 'develop' of https://github.com/freqtrade/freqtrade into max-open-trades 2023-01-16 20:19:46 +01:00
Antonio Della Fortuna
b0f1d914c8 Changed max_open_trades type to int or inf 2023-01-15 11:44:10 +01:00
Matthias
cbcee02ded call data migration from backtesting 2023-01-14 20:07:33 +01:00
Antonio Della Fortuna
534aa8f7ff Merge branch 'develop' of https://github.com/freqtrade/freqtrade into max-open-trades
# Conflicts:
#	freqtrade/optimize/backtesting.py
2023-01-11 18:55:57 +01:00
Antonio Della Fortuna
464cb4761c Fixed max_open_trades update from hyperopt
Fixed max_open_trades update from hyperopt + removed max_open_trades as a param to backtesting + refactoring
2023-01-08 12:39:39 +01:00
Antonio Della Fortuna
8c3ac56bc5 Merge branch 'develop' of https://github.com/freqtrade/freqtrade into max-open-trades 2023-01-07 11:11:59 +01:00
Matthias
92800930e9 Improve backtest detail speed 2023-01-05 10:14:58 +01:00
Matthias
8e5b4750d6 Continue in "regular backtest" case (no detail-data available).
link to #7967
2023-01-04 18:08:45 +01:00
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
5fd85368a9 Added support for max_open_trades hyperopting 2023-01-04 10:34:44 +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
froggleston
f5359985e8 Make CLI option and docs clearer that we're handling signals not trades 2022-12-08 18:47:09 +00:00
froggleston
5a4e99b413 Add support for collating and analysing rejected trades in backtest 2022-12-05 15:34:31 +00: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
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
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
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
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
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
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
4d69df08dd trunc to amount precision before checking valid partial exits
closes #7368
2022-09-07 06:43:08 +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
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
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
eSeR1805
f755df2568
Merge branch 'develop' into feature_keyval_storage
Update rpc/telegram to use MAX_MESSAGE_LENGTH.
2022-08-11 11:26:45 +03: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
Matthias
61c41fd919 Merge branch 'develop' into feat/freqai 2022-07-24 16:18:58 +02:00
Matthias
2eb1d18c2a Don't load leverage tiers when not necessary 2022-07-23 19:56:38 +02:00
Matthias
f6bfd89cef Merge branch 'develop' into feat/freqai 2022-07-16 18:14:34 +02:00
Matthias
e52f82b565 Add leverage to custom_stake_amount callback
closes #7047
2022-07-08 19:44:20 +02:00
robcaulk
a6077ac7f4 Merge feat/freqai into develop to get new features 2022-07-03 16:17:13 +02:00
Matthias
07aa372e2a Ensure bot_loop_start is called in hyperopt, too
closes #7001
2022-07-03 14:10:59 +02:00
Matthias
2b07d34611 Revert several undesired changes 2022-06-23 20:47:51 +02:00
Matthias
8bf0bf10c5 Merge branch 'develop' into pr/SmartManoj/6859 2022-06-23 20:43:35 +02:00
eSeR1805
9fdb8b07ac
Rename persistant storage infrastructure. 2022-06-19 15:56:50 +03:00
eSeR1805
0009b987e4
Merge branch 'develop' into feature_keyval_storage 2022-06-19 13:32:25 +03:00
Matthias
8c46d19071 Fix backtesting bug
balance was never released on cancelled trades
2022-06-18 16:27:54 +02:00
Matthias
017fd03180 Fix but with late entries in backtesting 2022-06-18 09:05:22 +02:00
Matthias
3c62df6b86 Ensure the same timestamp is used for backtest and signal export 2022-06-15 06:53:52 +02:00
eSeR1805
1551510c6f
Merge branch 'develop' into feature_keyval_storage 2022-06-09 11:35:35 +03:00
Matthias
7eacb847b0 Fix backtesting bug when order is not replaced 2022-06-08 20:21:45 +02:00
Matthias
f709222943 Properly close out orders in backtesting 2022-06-05 22:12:27 +02:00
eSeR1805
9f1a7209d6
Merge branch 'develop' into feature_keyval_storage 2022-06-05 12:18:30 +03:00
Matthias
a790bad1e4 Add entry_tag to leverage callback
closes #6929
2022-06-05 10:24:54 +02:00
Matthias
34a44b9dd2 Fix backtesting bug when canceling orders
closes #6911
2022-05-31 20:32:41 +02:00
Matthias
66edbcd3d5 Fix slight backtesting bug in edge-case scenarios 2022-05-31 20:08:34 +02:00
robcaulk
7523ed825e automatically detect maximum required data based on user fed indicators (to avoid NaNs in dataset for rolling indicators), add new config parameter for backtesting to let users increase their startup_candles to accommodate high timeframe indicators, add docs to explain all. Add new feature for automatic indicator duplication according to user defined intervals (exhibited in example strat and configs now). 2022-05-31 18:42:27 +02:00
eSeR1805
854bd9af2b
Merge branch 'develop' into feature_keyval_storage 2022-05-31 12:28:58 +03:00
eSeR1805
10917a280a
Add initial structure and wrapping. 2022-05-31 12:26:07 +03:00
Matthias
eaa656f859 Hyperoptable parameters can be instance attributes 2022-05-30 07:07:47 +02:00
Matthias
1ee08d22d2 Delay parameter init
closes #6894
2022-05-29 16:39:52 +02:00
Matthias
3e66275c98 Refactor bot_start to separate function
to be reused further ...
2022-05-25 20:01:21 +02:00
Matthias
d6773bc32c
Merge pull request #6886 from freqtrade/fix/typing
Fix/typing
2022-05-24 19:41:59 +02:00
Matthias
a8ee77cd5e Simplify backtesting typechecking 2022-05-24 19:13:35 +02:00
Matthias
23e089061b
Merge pull request #6870 from freqtrade/should_exit_list
Should exit list
2022-05-24 06:57:50 +02:00
Matthias
0a713faca8 Fix some type errors 2022-05-24 06:54:16 +02:00
robcaulk
e1c068ca66 add config asserts, use .get method with default values for optional functionality, move data_cleaning_* to freqai_interface (away from user custom pred model) since it is controlled by config params. 2022-05-23 12:07:09 +02:00
Matthias
bdb904e714 Should_exit should return all sell signals 2022-05-22 10:17:49 +02:00
Matthias
f006978caf Be more explicit in default value 2022-05-21 17:35:49 +02:00
Matthias
2df42a3035 Move "funding fillup" logic to exchange class 2022-05-21 08:50:39 +02:00
Matthias
6bd5535d6c Use exchange method to combine funding and mark candles 2022-05-21 08:31:34 +02:00
froggleston
c499a92f57 Remove surplus mark columns, and make fillna on funding rate only 2022-05-20 11:48:53 +01:00
froggleston
363098d32d Fix reversed makr/funding_rate columns 2022-05-18 12:56:43 +01:00
froggleston
736f9f4972 Fix docs and add outer join support for merging funding rates across full timerange 2022-05-18 12:47:37 +01:00
மனோஜ்குமார் பழனிச்சாமி
2b61aa282a Removed None in dict.get()
https://stackoverflow.com/a/12631641

Extra Changes: freqtrade\freqtradebot.py:70
freqtrade\plugins\pairlistmanager.py:31
2022-05-18 03:41:10 +05:30
froggleston
37e4ede65c Fix flake issues 2022-05-17 22:32:17 +01:00
froggleston
bb758da940 Add support for fudging unavailable funding rates, allowing backtesting of timeranges where futures candles are available, but rates are not 2022-05-17 22:05:33 +01:00
eSeR1805
34684ec86a
Merge branch 'freqtrade:develop' into feat_bt_cancel_entry_reporting 2022-05-17 14:09:57 +03:00
eSeR1805
6e8f24f6a7
BT: track canceled/replaced orders also. 2022-05-17 14:07:02 +03:00
Matthias
6fd003c655
Merge pull request #6851 from eSeR1805/feat_bt_cancel_entry_reporting
BT: Reporting canceled trade entries
2022-05-17 07:05:26 +02:00
மனோஜ்குமார் பழனிச்சாமி
7cd0f8a7b1
Merge branch 'develop' into patch-10 2022-05-17 08:07:13 +05:30
eSeR1805
fb7c0792c0
Track trade entries canceled by user. 2022-05-17 01:41:01 +03:00
robcaulk
aae233bd6c try passing the check tests 2022-05-15 17:42:15 +02:00
robcaulk
b03c7b514d optional style for interfacing freqai with backtesting 2022-05-15 17:42:15 +02:00
Matthias
a0b25938f4 Fix exit_reason assignment in backtesting 2022-05-15 17:41:59 +02:00
robcaulk
764f9449b4 fix logger, debug some flake8 appeasements 2022-05-15 17:41:34 +02:00
robcaulk
fc837c4daa add freqao backend machinery, user interface, documentation 2022-05-15 17:38:58 +02:00
Matthias
18fd3bb333 Update stoploss handling for entry-order adjustment 2022-05-15 15:45:39 +02:00
eSeR1805
1c20fb7638
Refresh open_rate and stoploss on order replacement. 2022-05-14 16:37:04 +03:00
மனோஜ்குமார் பழனிச்சாமி
64670726a6
flake8 fix 2022-05-13 21:52:26 +05:30