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
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
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
209ecc8732
Fix typo in bt_progress
2022-01-02 19:38:03 +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
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
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
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
Rokas Kupstys
78a00f2518
Use market data to get base and quote currencies in @informative() decorator.
2021-11-22 09:27:45 +02: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
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
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
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