Commit Graph

6539 Commits

Author SHA1 Message Date
Matthias
8b78a3bde2 Quick fix for trades opening below min-trade amount 2021-07-11 21:01:12 +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
f658cfa349 Remove Slack
As the community is mostly active on discord, there's little point in
linking people to Slack as well
2021-07-11 11:13:27 +02:00
Matthias
52ae95b2a5 Improve naming of apiserver variables 2021-07-10 11:20:21 +02:00
Matthias
ad26b0dad0 Don't void backtest object when not necessary 2021-07-10 10:59:00 +02:00
Matthias
e4e2340f91 Fix bug where currencies are duplicated
in case there is dust
2021-07-10 10:02:05 +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
Matthias
fb25130588
Merge pull request #5244 from octaviusgus/develop
fix daily profit data bug and daily profit curve example
2021-07-09 07:06:14 +02:00
Matthias
d96d6024f4
Merge pull request #5252 from kevinjulian/agefilter-max-days-listed
Fix Agefilter cannot appear on startup messages
2021-07-08 20:29:06 +02:00
kevinjulian
2a4a980855 Merge branch 'agefilter-max-days-listed' of https://github.com/kevinjulian/freqtrade into agefilter-max-days-listed 2021-07-08 19:25:32 +07:00
kevinjulian
863391122f fix short desc not appear 2021-07-08 13:42:52 +07:00
Matthias
225522762b
Merge pull request #5231 from nightshift2k/enhancement/range-based-volumefilter
Range based VolumeFilter
2021-07-08 07:22:37 +02:00
Matthias
76e51cddba
Merge pull request #5246 from nightshift2k/feature/offsetfilter
new filter OffsetFilter for offsetting incoming pairlists
2021-07-07 21:06:23 +02:00
Matthias
682f880630 Slightly simplify if statement, add additional test 2021-07-07 20:05:56 +02:00
kevinjulian
8248d1acd1 run flake8 2021-07-07 22:10:22 +07:00
kevinjulian
00a1931f40 fix test 2021-07-07 21:24:44 +07:00
sauces1313
8b0a02db8e Correct exception messages 2021-07-07 08:11:13 +00:00
nightshift2k
3c3772703b changed quoteVolume to be built over a
rolling period using lookback_period
to avoid pair_candles being larger
than requested lookback_period
2021-07-07 09:46:05 +02:00
user
638bed3dac Add RangeStabilityFilterMax pairlist filter 2021-07-07 06:46:51 +00: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
5474d5ee64 Move webserver start command to seperate file 2021-07-06 19:48:28 +02:00
Matthias
e5b1657ab3 Properly remove rpc handler 2021-07-06 19:48:28 +02:00
Matthias
2ec22f1d97 Add Sorting to available pair list 2021-07-06 19:48:28 +02:00
Matthias
830b2548bc Add backtest stopping 2021-07-06 19:48:28 +02:00
Matthias
129c7b02d0 Not all config values are mandatory in webserver mode 2021-07-06 19:48:28 +02:00
Matthias
17b3cc2097 Return numeric value, not empty string 2021-07-06 19:48:28 +02:00
Matthias
b44d215b90 Add test for backtest via APII 2021-07-06 19:48:28 +02:00
Matthias
804d99cce9 Move backtesting api to it's own file 2021-07-06 19:48:28 +02:00
Matthias
8566306010 Add test for start_websever 2021-07-06 19:48:28 +02:00
Matthias
134c61126e Properly track bt progress ... 2021-07-06 19:48:28 +02:00
Matthias
03140a0ecb Run webserver in main thread when using webserver mode 2021-07-06 19:48:28 +02:00
Matthias
37b15e830a Add trade count to 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
06b6726029 Support compounding key 2021-07-06 19:48:28 +02:00
Matthias
f96d7dfe6d Allow backtesting to reuse data
Allow activating / deactivating protections dynamically
2021-07-06 19:48:28 +02:00
Matthias
edb8c4f0e5 Fix tests for webserver mode 2021-07-06 19:48:28 +02:00
Matthias
5c18c8726d Implement backtesting with fastapi 2021-07-06 19:48:28 +02:00
Matthias
df55259737 Add start_trading endpoint 2021-07-06 19:48:28 +02:00
Matthias
02b84bd018 Introduce webserver mode for fastapi 2021-07-06 19:48:28 +02:00
Matthias
800e314bfd Store backtesting results in backtest instance 2021-07-06 19:48:28 +02:00
Matthias
97e8ec91f0 Save configuration file paths 2021-07-06 19:48:28 +02:00
Matthias
ef137546fe Add webserver entrypoint 2021-07-06 19:48:28 +02:00
Kevin Julian
0f3d34eaf4
Merge branch 'develop' into agefilter-max-days-listed 2021-07-06 19:47:18 +07:00
kevinjulian
502c69dce3 change short desc 2021-07-06 19:36:42 +07:00
Matthias
dec523eef0 Display verison of installed FreqUI 2021-07-06 07:20:05 +02:00
nightshift2k
1e87225e91 added test_VolumePairList_range to test_pairlist.py 2021-07-05 20:59:27 +02:00
Matthias
10998eb0fa Remove further usages of int(int_timestamp) 2021-07-05 19:51:14 +02:00
Matthias
1682578a39
Merge pull request #5234 from nightshift2k/fixups/pairlists
fixup pairlist filters, change  float_timestamp to int_timestamp
2021-07-05 19:45:35 +02:00
nightshift2k
346d66748b first version of OffsetFilter 2021-07-05 12:50:56 +02:00
nightshift2k
5626ca5a06 removed unnecessary casting to int() 2021-07-05 10:39:22 +02:00
Matthias
eb3ead4930
Merge pull request #5229 from kevinjulian/telegram-balance
compact low balance currencies
2021-07-05 06:56:35 +02:00
nightshift2k
7ac55e5415 AgeFilter, RangeStabilityFilter, VolatilityFilter
changed `float_timestamp` to `int_timestamp`
2021-07-04 21:08:42 +02:00
nightshift2k
85c7b55750 improvements:
- `float_timestamp` switched to `int_timestamp`
- added documentation to pairlists.md
2021-07-04 20:46:24 +02:00
Matthias
c5489d530a Reexport File to docs to have this available as documentation too 2021-07-04 19:50:44 +02:00
kevinjulian
c3cf71bba8 sort import 2021-07-04 22:04:39 +07:00
kevinjulian
2d5ced7801 fix testcase 2021-07-04 21:59:59 +07:00
octaviusgus
558bcc7959 Jupyter notebook snippet: Plotting daily profit / equity line 2021-07-04 15:56:55 +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
nightshift2k
9919061c78 PEP8 compliance 2021-07-04 11:40:45 +02:00
nightshift2k
348dbeff3f added meaningful logging of used lookback range 2021-07-04 11:16:33 +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
kevinjulian
7efa228d73 add dust balance 2021-07-04 03:08:29 +07:00
kevinjulian
dbdd7f38a8 add plural 2021-07-04 02:56:05 +07:00
kevinjulian
b722e12350 compact low balance currencies 2021-07-04 02:44:48 +07:00
kevinjulian
f6511c3e3f fix typo and add blocker 2021-07-04 02:20:53 +07:00
kevinjulian
b72bbebccb fix flake8 2021-07-04 01:46:51 +07:00
kevinjulian
3d9f3eeb07 feat(agefilter): add max_days_listed 2021-07-03 23:58:04 +07:00
Rokas Kupstys
3686efa08a Add range property to CategoricalParameter and DecimalParameter, add their tests.
At the moment we can keep a single code path when using IntParameter, but we have to make a special hyperopt case for CategoricalParameter/DecimalParameter. Range property solves this.
2021-07-03 16:02:45 +03:00
nightshift2k
53f963dd73 fixed self._tf_in_secs to self._tf_in_sec 2021-07-03 11:49:05 +02:00
nightshift2k
62da4b452c code cleanup and comments 2021-07-03 11:47:17 +02:00
nightshift2k
055229a44a first iteration of volume pairlist with range lookback 2021-07-03 11:39:14 +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
b8de3270fa Plotting: Fix hover mode options after plotly update
closes #5209
2021-06-30 20:11:11 +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
55f032b18e Catch trying to read faulty parameter file 2021-06-29 20:51:29 +02:00
Matthias
62cdbdc26a Automatically export hyperopt parameters 2021-06-29 20:51:25 +02:00
Matthias
af04c8e2da
Merge pull request #5205 from barisengez/develop
Added timerange and max open trades info above multiple strategy backtest result summary table
2021-06-29 16:49:17 +02:00
barbarius
a8117c6e0b Refactored to use results variable from for loop 2021-06-29 11:24:49 +02:00
Matthias
a2ccc1526e Load parameters from file 2021-06-29 07:07:34 +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
Matthias
750c780293 Support loading parameters from json file 2021-06-29 06:50:47 +02:00
Eugene Schava
d54de72471 "/profit N" command should print best pair for the same period of time, not for all trades 2021-06-28 23:42:09 +03: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
ab07fb5b3f
Merge pull request #5188 from freqtrade/move_config_settings
Move ask_strategy config settings to root level
2021-06-27 11:30:50 +02:00
Matthias
34448fb87c Expose default currency precision to API 2021-06-26 20:46:54 +02:00
Matthias
00a7097b9e Reduce verbosity of getting sell-rate from orderbook 2021-06-26 20:09:52 +02:00
Matthias
3f669147f1 Simplify strategy-resolver moving 2021-06-26 17:55:31 +02:00
Matthias
158cb415a9 Add settings interface to have types available 2021-06-26 17:28:37 +02:00
Matthias
b7f01a08f3 Update sequence of process_deprecated_setting parameters 2021-06-26 17:03:51 +02:00
Matthias
1067a9f356 Move strategy-override signals to top-level of the config
closes #2867
2021-06-26 16:06:13 +02:00
Matthias
60c7308126
Merge pull request #5183 from freqtrade/remove_order_book_max
Remove order book max
2021-06-26 14:56:10 +02:00
Matthias
c62fad0088 Pricing strategies should default to use orderbook pricing 2021-06-26 08:19:37 +02:00
Matthias
59a33d0fa9 Add test for ask_orderbook validation 2021-06-25 20:52:34 +02:00
Matthias
d59a38665c Remove support for order_book_max 2021-06-25 20:36:39 +02:00
aayush-jain18
d294ef10d7 unexpected docstring params 2021-06-25 23:56:16 +05:30
Matthias
1440b2f7fe
Merge pull request #5178 from aayush-jain18/spell-correction
spell corrections
2021-06-25 19:10:39 +02:00
aayush-jain18
a46f60bd94 spell corrections 2021-06-25 22:10:04 +05:30
Matthias
40545e62af
Merge pull request #5082 from freqtrade/dry_run_order
Dry run order filling
2021-06-25 18:26:01 +02:00
Matthias
1a82685dd8 Don't reset log caching
uvicorn will "load from dict" the config - which flushes the logs
and therefore cleans log-buffering
2021-06-25 18:24:10 +02:00
Matthias
e0d3ca6c6d Fix import sorting 2021-06-24 18:44:59 +02:00
Matthias
c938edc01b Apply dataprovider to /pair_history endpoint 2021-06-24 18:18:01 +02:00
Matthias
f7c09ba63a Log endpoint should use static rpc class 2021-06-24 18:17:40 +02:00
Eugene Schava
3c70768e18 make "/profit N" command output be consistent with "/daily" and "/status table" commands 2021-06-23 07:30:08 +03:00
Eugene Schava
e97c82c514 make "/profit N" command output be consistent with "/daily" and "/status table" commands 2021-06-22 12:22:19 +03:00
Eugene Schava
0605cbb06e make "/profit N" command output be consistent with "/daily" and "/status table" commands 2021-06-22 12:20:12 +03:00
Matthias
204758834d
Merge pull request #4308 from eatrisno/patch-1
Add Refresh / Reload Button on rpc/Telegram
2021-06-19 18:50:59 +01:00
Matthias
122943d835 Don't run filter again for pairlist generator
The generator implicitly runs filter - so it should not be ran again
as that would void generator caching.

closes #5103
2021-06-19 19:37:27 +02:00
Matthias
96fbb226c5 Implement better strategy checks
part of #2696
2021-06-19 19:32:29 +02:00
Matthias
a7f8342171 Add small documentation about reload disabling 2021-06-19 16:49:54 +02:00
Matthias
6e99e3fbbb Implement tests for message updating 2021-06-19 09:31:34 +02:00
Matthias
39b876e37a Log exchange responses if configured 2021-06-19 09:07:42 +02:00
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
a9f111dca0 Fix some types 2021-06-17 19:50:49 +02:00
Matthias
7ff794cb87 Merge branch 'develop' into pr/eatrisno/4308 2021-06-17 19:46:15 +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
c4bc47e6e7
Merge pull request #5140 from barisengez/develop
Moved daily avg trade row next to total trades on backtest results
2021-06-17 08:54:48 +01:00
Matthias
a49ca9cbf7 Change log-level "Executing handler" msg to debug
closes #5143
2021-06-17 06:57:35 +02: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
Matthias
38ed49cef5 move low to stoploss_reached
to clarify where which rate is used
2021-06-15 09:05:36 +03:00
Rokas Kupstys
6d5fc96714 Implement most pessimistic handling of trailing stoploss. 2021-06-15 09:05:36 +03:00