Commit Graph

6514 Commits

Author SHA1 Message Date
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 7d04005218 add test and migration 2021-07-20 16:14:48 +07:00
Matthias e4b42b2b5b
Merge pull request #5284 from samgermain/merge_get_buy_sell_rate
Merge get_buy_rate and get_sell_rate
2021-07-20 06:54:47 +02:00
kevinjulian 104711a9bf get_signal signature 2021-07-20 05:04:25 +07:00
kevinjulian 9e63bdbac9 feat: add buy signal name 2021-07-20 04:58:20 +07:00
Sam Germain b0bfbb6558 removed buy and sell merge, updated strategy name, removed default side for get_rate 2021-07-19 11:37:52 -06:00
George Muravei-Alkhavoi ab786abf7f Fix intendation. 2021-07-19 00:47:51 +03:00
George Muravei-Alkhavoi f705293353 Dataprovider caching and trimming to timerange of historical informative. 2021-07-19 00:25:24 +03: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
Sam Germain 44df5eeacf Adjusted docstring, and conditional near end of buy_rate 2021-07-18 00:00:18 -06:00
Sam Germain 7c27525bd8 Merge get_buy_rate and get_sell_rate 2021-07-17 22:51:20 -06:00
Rokas Kupstys 53a8c693b8
Honor skip_pair_validation setting when downloading pairs. 2021-07-17 09:21:03 +03:00
Matthias d652e6fcc4 Don't log from wallet in backtest mode 2021-07-16 19:57:49 +02:00
Matthias 2e95df4d8d Update docs for /profit output 2021-07-15 20:12:44 +02:00
Matthias c9c7f84e8c Calculate relative profit based on assumed starting balance 2021-07-14 20:55:11 +02:00
Matthias f5c47767cb Provide available capital to api 2021-07-14 20:51:42 +02:00
Matthias 3451687135
Merge pull request #5255 from freqtrade/improve_dynamic_stake
Improve dynamic stake with multiple bots on the same exchange
2021-07-14 06:45:48 +02:00
anasyusef c78b2075d8 feat: add one additional asterisk 2021-07-12 12:27:59 +00:00
anasyusef 6a53e2c764 feat: apply censoring to logging 2021-07-12 12:08:01 +00:00
anasyusef f94dbcd085 feat: censor password from logs 2021-07-12 12:02:10 +00:00
Matthias 40db424363 Add documentation for available capital setting 2021-07-12 07:11:56 +02:00
Matthias 7863746904 Add available_capital parameter 2021-07-12 06:54:06 +02:00
Matthias b41c234440 Extract Closed profit calculation to trade object 2021-07-12 06:54:06 +02:00
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