Matthias
8405ccc15e
Seperate detail data loading from regular backest-data loading
2021-08-14 16:33:01 +02:00
Matthias
88172fab82
Allow "detailed" backtesting timeframe to look into the candle
2021-08-14 16:04:23 +02:00
Matthias
bdbac37be7
Merge pull request #5399 from rokups/rk/fix-buy-tag-backtest
...
Fix buy_tag not being saved to trade object.
2021-08-12 06:36:33 +02:00
Rokas Kupstys
f6267c7514
Fix buy_tag not being saved to trade object.
...
Column is mistakenly excluded because advise_buy() creating this column runs after code detecting presence of buy_tag column.
2021-08-11 15:21:23 +03:00
ipqhjjybj
65d025923d
add code
2021-08-11 14:35:16 +08:00
Matthias
0b6aedbc4c
Merge pull request #5395 from freqtrade/fix/hyperopt-show
...
Stream hyperopt-result in small batches
2021-08-10 19:54:02 +02:00
Matthias
039d6384ed
Stream hyperopt-result in small batches
...
Avoiding memory-exhaustion on huge hyperopt results
closes #5305
closes #5149
2021-08-10 10:12:57 +02:00
Matthias
3f160c7144
Cache dataframe before cutting the first candle
...
This allows providing the "current closed" candle in all cases.
2021-08-10 09:14:29 +02:00
Matthias
5bfb9edf02
Only query date once from list
2021-08-09 15:42:17 +02:00
Matthias
895b912c71
Fix recently introduced lookahead bias in backtesting
...
closes #5388
2021-08-09 14:54:47 +02:00
Matthias
a5f796bc97
refactor ohlcvdata_to_dataframe to advise_all_indicators
2021-08-09 14:53:18 +02:00
Matthias
f17942b68f
Fix random test failure
2021-08-09 11:18:18 +02:00
Matthias
47f641d12f
Remove hyperopt-pickle result support
2021-08-09 07:04:18 +02:00
Matthias
3bd0c3d009
Remove legacy code from export to csv
2021-08-08 11:02:54 +02:00
Matthias
faf16a64e5
Remove legacy hyperopt file support
2021-08-08 10:22:45 +02:00
Matthias
0ae4eccea5
Refactor Hyperopt-list and hyperopt-show to reduce some duplicate code
2021-08-08 10:06:35 +02:00
Matthias
6532aba765
Merge pull request #5360 from freqtrade/hyperopt_protections
...
Hyperopt protections and Boolean parameter
2021-08-07 09:42:05 +02:00
Sam Germain
b9356a5564
Autopep8 formatting
2021-08-06 16:35:39 -06:00
Matthias
a6454cfc39
Autoenable protections when protection-space is selected
2021-08-04 07:17:29 +02:00
Matthias
091bf7c4d2
Output protection space
2021-08-04 06:50:14 +02:00
Matthias
544e0da6c2
Add protection parameter space
2021-08-04 06:50:14 +02:00
Matthias
800b2eeaf0
Load protections as part of backtest()
...
this enables different values in hyperopt per epoch
2021-08-04 06:50:14 +02:00
Matthias
dfc17f2bd1
Fix ci failure
2021-08-03 07:21:11 +02:00
Matthias
4ab03f7e37
Don't load fallback methods for autohyperopt
2021-08-02 21:17:56 +02:00
Matthias
e70a742005
Reorder space methods in hyperopt
2021-08-02 21:12:10 +02:00
Matthias
056bc93bc6
backtesting needs startup_candle_count
...
fixes informative-pair loading being different between --strategy-list and
--strategy.
2021-08-01 19:17:52 +02:00
Matthias
1ccc89d1e9
Store fully analyzed dataframe
2021-07-31 10:00:24 +02:00
Matthias
b1cbc75e93
Properly cache pair dataframe in backtesting (without startup-range).
2021-07-31 08:45:04 +02:00
Matthias
138b126d03
Merge pull request #5299 from kevinjulian/feat/kevinjulian/add-buy-signal-name
...
Add buy signal name
2021-07-30 08:23:11 +02:00
kevinjulian
aea5da0c73
changes testcase
2021-07-23 11:42:43 +07:00
kevinjulian
f5a660f845
caps BUY_TAG_IDX
2021-07-21 20:19:56 +07:00
kevinjulian
49886874aa
rename to buy_tag
2021-07-21 20:05:35 +07:00
kevinjulian
5d04d6ffa7
fix edge testcase
2021-07-20 23:40:32 +07:00
kevinjulian
cbfedf8b29
fix backtest testcase
2021-07-20 23:25:00 +07:00
Kevin Julian
edf9c08f06
Merge branch 'develop' into feat/kevinjulian/add-buy-signal-name
2021-07-20 19:19:46 +07:00
kevinjulian
ed30c023cd
fix some testcase
2021-07-20 19:08:14 +07:00
kevinjulian
9e63bdbac9
feat: add buy signal name
2021-07-20 04:58:20 +07:00
Matthias
365479f5e0
Remove startup-candles after populating buy/sell signals
...
closes #5242
2021-07-18 11:06:41 +02:00
Matthias
7b7d9c02d7
Merge pull request #5243 from freqtrade/feat/webservermode_progress
...
Introduce webserver mode subcommand
2021-07-18 10:48:55 +02:00
Matthias
38296e8689
Merge pull request #5189 from rokups/rk/custom-stake
...
Implement strategy-controlled stake sizes
2021-07-11 19:45:43 +02:00
Matthias
7ea0a74c53
Default to proposed stake
2021-07-11 14:11:41 +02:00
Rokas Kupstys
0e4466ca1e
Implement strategy-controlled stake sizes. Expose self.wallet
to a strategy.
2021-07-11 12:38:58 +03:00
Matthias
ad26b0dad0
Don't void backtest object when not necessary
2021-07-10 10:59:00 +02:00
Matthias
6129c5ca9e
Fix deprecation warnings from pandas 1.3.0
...
closes #5251
2021-07-09 20:46:38 +02:00
Matthias
2f33b97b95
Validate startup candles for backtesting correctly
...
closes #5250
2021-07-09 07:20:43 +02:00
octaviusgus
d1104bd434
fix daily profit data and daily profit curve example
2021-07-06 22:47:39 +02:00
Matthias
005da97183
extract backtesting abort functionality
2021-07-06 19:48:28 +02:00
Matthias
830b2548bc
Add backtest stopping
2021-07-06 19:48:28 +02:00
Matthias
134c61126e
Properly track bt progress ...
2021-07-06 19:48:28 +02:00
Matthias
048008756f
Add progress tracking for backtesting
2021-07-06 19:48:28 +02:00
Matthias
800e314bfd
Store backtesting results in backtest instance
2021-07-06 19:48:28 +02:00
octaviusgus
4aa2ae37bd
add daily_profit_list
...
added extra key daily_profit in return of optimize_reports.generate_daily_stats
this allows us to analyze and plot a daily profit chart / equity line using snippet below inside jupyter notebook
```
# Plotting equity line (starting with 0 on day 1 and adding daily profit for each backtested day)
from freqtrade.configuration import Configuration
from freqtrade.data.btanalysis import load_backtest_data, load_backtest_stats
import plotly.express as px
import pandas as pd
# strategy = 'Strat'
# config = Configuration.from_files(["user_data/config.json"])
# backtest_dir = config["user_data_dir"] / "backtest_results"
stats = load_backtest_stats(backtest_dir)
strategy_stats = stats['strategy'][strategy]
equity = 0
equity_daily = []
for dp in strategy_stats['daily_profit']:
equity_daily.append(equity)
equity += float(dp)
dates = pd.date_range(strategy_stats['backtest_start'], strategy_stats['backtest_end'])
df = pd.DataFrame({'dates':dates,'equity_daily':equity_daily})
fig = px.line(df, x="dates", y="equity_daily")
fig.show()
```
2021-07-04 14:38:17 +02:00
Matthias
898bef1837
Merge pull request #5219 from freqtrade/hyperopt_paramfile
...
automatic Hyperopt paramfile
2021-07-04 13:56:52 +02:00
Matthias
77293b1f1e
Remove Zero duration Trades
...
after the recent backtesting fixes, this metric no longer makes sense, as it can't really be 0 any longer.
2021-07-04 10:50:10 +02:00
Matthias
a4096318e0
Provide full backtest-statistics to Hyperopt loss functions
...
closes #5223
2021-07-04 10:15:19 +02:00
Matthias
9d6860337f
Merge pull request #5212 from rokups/rk/trailing-stop-2
...
Trailing stoploss in backtesting v2
2021-07-03 08:39:30 +02:00
Matthias
fbd91cd3f8
Improve formatting to avoid backslash newlines
2021-07-03 08:22:21 +02:00
Matthias
b25ad68c44
Fix np.bool_ not outputting correctly
2021-07-02 20:52:25 +02:00
Matthias
15e36a20e1
Improve naming of default hyperopt serializer
2021-06-30 19:48:34 +02:00
Rokas Kupstys
bc0742ae67
Fix extremely optimistic results when using a combination of custom_stoploss and trailing_stop.
2021-06-30 09:10:50 +03:00
Matthias
0809225a0a
Update documentation to mention parameter strategy files
2021-06-30 07:05:20 +02:00
Matthias
645da51b5f
Add test for parameter loading
2021-06-30 06:55:10 +02:00
Matthias
dcf53ac3ff
Add test for try_eport_params
2021-06-30 06:33:40 +02:00
Matthias
84703080b8
Extract hyperopt_defaults_serializer to hyperopt_tools
2021-06-29 20:51:29 +02:00
Matthias
62cdbdc26a
Automatically export hyperopt parameters
2021-06-29 20:51:25 +02:00
barbarius
a8117c6e0b
Refactored to use results variable from for loop
2021-06-29 11:24:49 +02:00
Matthias
8ca0076332
Fix small typos
2021-06-29 06:50:47 +02:00
Matthias
d4514f5f16
Introduce File versions to hyperopt result files
2021-06-29 06:50:47 +02:00
Matthias
a7e9e362b7
Simplify printing logic for non-optimized parameters
2021-06-29 06:50:47 +02:00
Matthias
8b7010fc9a
Update pprint name
2021-06-29 06:50:47 +02:00
Matthias
aa5181ca81
Properly export non-optimized parameters
2021-06-29 06:50:47 +02:00
Matthias
34e6ce431f
Print non-optimized parameters (also stop / roi)
2021-06-29 06:50:47 +02:00
Matthias
2310deec53
Update name to get non-optimized parameters
2021-06-29 06:50:47 +02:00
Matthias
8cdd1e3aef
Fix some type errors
2021-06-29 06:50:47 +02:00
Matthias
2bf17f71e7
Dump parameters from hyperopt-show
2021-06-29 06:50:47 +02:00
barbarius
a0f28f4a15
Added max open trades to strategy summary first line
2021-06-28 17:05:12 +02:00
barbarius
2e5b719de8
Added timerange above multiple strategy backtest result summary table
2021-06-28 10:54:54 +02:00
barbarius
c99ae3b419
Added timerange above multiple strategy backtest result summary table
2021-06-28 10:20:34 +02:00
Matthias
1067a9f356
Move strategy-override signals to top-level of the config
...
closes #2867
2021-06-26 16:06:13 +02:00
aayush-jain18
d294ef10d7
unexpected docstring params
2021-06-25 23:56:16 +05:30
aayush-jain18
a46f60bd94
spell corrections
2021-06-25 22:10:04 +05:30
Matthias
e40d481d09
Merge pull request #5014 from Rikj000/hyperopt-show-include-non-optimized-in-json
...
BugFix - `hyperopt-show --print-json` include non-optimized params
2021-06-19 07:42:15 +01:00
Rik Helsen
656bebd4da
🪲 Included completely non_optimized spaces in json + swapped merge dictionary order
2021-06-18 22:03:04 +02:00
Matthias
e1010ff592
Don't load protections from config if strategy defines a property
2021-06-18 19:55:53 +02:00
Rik Helsen
1567804509
⚡ kwargs merge dictionaries instead of using loops
2021-06-17 22:41:49 +02:00
Rik Helsen
546ca01071
♻️ Fixed flake8 warning
2021-06-17 20:33:21 +02:00
Rik Helsen
90d37f5ec6
🔀 Merged upstream branches and fixed merge conflicts
2021-06-17 20:24:20 +02:00
Matthias
8bb464bd64
Merge pull request #5108 from rokups/rk/pessimistic-trailing-stoploss
...
Implement most pessimistic handling of trailing stoploss.
2021-06-17 18:41:00 +01:00
Matthias
b38ab84a13
Add documentation mention about new behaviour
2021-06-17 06:48:41 +02:00
Matthias
1c9def2fdb
Update freqtrade/optimize/optimize_reports.py
2021-06-16 20:17:44 +01:00
barbarius
1bb04bb0c2
Moved daily avg trade row next to total trades on backtest results
2021-06-16 11:40:55 +02:00
Rokas Kupstys
6d5fc96714
Implement most pessimistic handling of trailing stoploss.
2021-06-15 09:05:36 +03:00
Matthias
cf7394d01c
Export backtesting results by default
...
closes #4977
2021-06-14 19:57:24 +02:00
Matthias
eaf0aac77e
Remove OrderedDict
...
as we're no longer supporting python 3.6
2021-06-13 11:47:18 +02:00
Matthias
d54ee0eb04
Refactor hyperopt_tools naming
2021-06-13 11:24:24 +02:00
Matthias
ef208012c4
Merge pull request #5104 from freqtrade/enums_own_module
...
Enums own package
2021-06-10 05:31:14 +01:00
Bruno Gouvea
40f1ede775
Simplifying HO's result function
2021-06-09 12:03:24 -03:00
Matthias
d16a619489
Move SellType Enum to it's own module
2021-06-08 21:04:34 +02:00
Bruno Gouvea
3cce668353
Creating a control variable to determine the existence of max drawdown in the final result.
2021-06-08 02:57:44 -03:00
Bruno Gouvea
816bb531b3
Creating fake column for legacy mode on max drawdown
2021-06-08 02:42:55 -03:00