Italo
229b0b037e
reduce search loops
2022-03-29 19:33:35 +01:00
adriance
d6082c33a7
fix type error
2022-03-28 21:29:50 +08:00
adriance
a0971a3e2c
fix using future data to fill when use timeout
2022-03-28 21:00:05 +08:00
Matthias
bcf326a035
Initial steps to change bid/ask pricing to enter/exit
2022-03-27 18:03:49 +02:00
Matthias
6f1b14c013
Update buy_timeout and sell_timeout methods
2022-03-25 19:57:06 +01:00
Matthias
743a7b7849
Merge branch 'develop' into feat/short
2022-03-25 10:04:18 +01:00
Matthias
a004bcf00f
Small refactor to backtesting
2022-03-25 08:03:32 +01:00
Matthias
dcfa3e8648
Update SellType to ExitType
2022-03-25 06:55:37 +01:00
Matthias
c07883b1f9
Move ExitCheckTuple to enums
2022-03-25 06:50:18 +01:00
Matthias
8d111d357a
Update SellCheckTuple to new naming
2022-03-25 06:46:29 +01:00
Matthias
d7f76ee452
Update confirm_trade_exit to use sell_reason terminology
2022-03-25 06:37:40 +01:00
Matthias
b1e3ead88b
Merge branch 'develop' into feat/short
2022-03-22 20:28:38 +01:00
Italo
b5a346a46d
Update hyperopt.py
2022-03-22 11:01:38 +00:00
Matthias
5b4f343d36
Update buy output for backtesting
2022-03-22 06:45:36 +01:00
Matthias
08777abd85
Update backtesting output terminology to "exit"
2022-03-22 06:43:37 +01:00
Italo
2733aa33b6
Update hyperopt.py
2022-03-22 00:28:11 +00:00
Italo
37a43019d6
fix
...
- clear cache before calling `ask`
- avoid errors in case asked_non_tried has less than n_points elements
2022-03-21 11:36:53 +00:00
Italo
fca93d8dfe
Update hyperopt.py
2022-03-20 16:12:06 +00:00
Italo
f8a674f24d
make robust in case all points have been tried
2022-03-20 16:08:38 +00:00
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