Matthias
a01d05997e
Add Trade.commit method for easy use
2021-05-27 11:38:28 +02:00
Matthias
6fb32c3594
Use commit instead of .flush()
2021-05-27 11:38:28 +02:00
Matthias
eaa47ff335
Don't use autocommit
2021-05-27 11:38:28 +02:00
Matthias
c31cb67118
Further changes for sqlalchemy 1.4
2021-05-27 11:38:28 +02:00
Matthias
2f79958acb
Move declarative_base import to import from .orm
2021-05-27 11:38:28 +02:00
Kamontat Chantrachirathumrong
c5c323ca88
Settings notify sell in telegram base on sell reason ( #5028 )
...
* BREAK: notification sell by sell reason
* Update constants.py
* Update telegram.py
* Update telegram-usage.md
* Update telegram.py
* Update telegram.py
* Fix test fail
* Update config_full.json.example
* Update telegram-usage.md
* Update telegram.py
* Update telegram.py
* Update telegram-usage.md
* validate value of sell object
* Fix linter
* Update constants.py
* Make telegram sample slightly more positive
Co-authored-by: Matthias <xmatthias@outlook.com>
2021-05-27 11:35:27 +02:00
Matthias
42453333be
Align coinbase download with ccxt limits
...
Align with https://github.com/ccxt/ccxt/issues/9268
2021-05-27 07:38:47 +02:00
Matthias
8e89d3e6e4
Fix sort error
2021-05-25 19:33:34 +02:00
Matthias
cc5769e900
Convert np.int64 to proper int
...
closes #5018
2021-05-25 19:24:56 +02:00
Matthias
a747312c1e
Explicitly provide is_open to trade Object
...
closes #5015
2021-05-25 18:02:07 +02:00
Rikj000
bd44deea0d
BugFix - hyperopt-show --print-json include non-optimized params
2021-05-24 18:51:33 +02:00
Matthias
af16614bf2
Fix formatting issue
2021-05-24 07:48:36 +02:00
Priveyes
6f990c5976
Fix a rare error in save_result : ValueError: Out of range float values are not JSON compliant
...
freqtrade/freqtrade/optimize/hyperopt.py", line 166, in _save_result
rapidjson.dump(epoch, f, default=str, number_mode=rapidjson.NM_NATIVE)
ValueError: Out of range float values are not JSON compliant
2021-05-23 18:49:07 +02:00
Matthias
f760b4a789
Merge branch 'develop' into pr/gmatheu/4746
2021-05-23 16:03:11 +02:00
Matthias
971d5b2ecc
Merge pull request #5002 from freqtrade/track_rejected_trades
...
Track rejected trades
2021-05-23 14:56:50 +01:00
Matthias
3f956441fc
Properly format % of zero_duration_trades
2021-05-23 15:53:54 +02:00
Matthias
a39860e0de
Add tests for rejected signals
2021-05-23 14:15:02 +02:00
Matthias
7f125315b0
Track Rejected Trades
...
closes #3423
2021-05-23 09:42:05 +02:00
Matthias
02faeb60a3
Merge pull request #4943 from rokups/rk/statistics
...
Extra statistics
2021-05-23 08:38:27 +01:00
Rokas Kupstys
db985cbc2e
Fix hyperopt-show failing to display old results with missing new fields.
2021-05-23 09:45:26 +03:00
Matthias
74d75599a9
Merge pull request #4964 from thraizz/develop
...
Add backoff timer for coingecko API
2021-05-22 16:54:29 +01:00
Matthias
765c824bfc
isort
2021-05-22 17:25:23 +02:00
Matthias
a7bd8b0aa5
Fix exception in plotting when no trades where generated
...
as seen in #4981
2021-05-22 17:03:16 +02:00
Matthias
feb836eaf6
Merge pull request #4994 from freqtrade/support_other_dbs
...
Support other dbs
2021-05-22 15:54:34 +01:00
A. Schueler
0693458507
Update freqtrade/rpc/fiat_convert.py
2021-05-22 16:26:58 +02:00
Rokas Kupstys
25cc4eae96
Fix tests that broke after table formatting changed.
2021-05-22 15:25:37 +02:00
A. Schueler
f8cdd6475c
Reduce warnings when waiting for coingecko backoff
2021-05-22 13:43:33 +02:00
A. Schueler
6e05f856b4
Abort _find_price when cryptomap is empty after retry
2021-05-22 11:55:03 +02:00
A. Schueler
ab6bfbad12
Handle RequestExceptions that are not 429s in _load_cryptomap
2021-05-22 11:52:40 +02:00
A. Schueler
8842e0d161
Fix flake8 error in fiat_convert
2021-05-22 10:59:33 +02:00
A. Schueler
a0921ec753
Add backoff timer for coingecko API
...
Set a future timestamp when we should retry getting coingecko data.
This fixes conversion from stake to fiat when running multiple bots
as we don't simply accept the 429 error from Coingecko but handle it.
2021-05-22 10:59:33 +02:00
Matthias
df0928c8b5
Merge pull request #4992 from freqtrade/buy_partial_fill
...
Don't cancel low partial filled buy
2021-05-22 09:17:04 +01:00
Matthias
cc064f1574
String columns should have a max-length defined
...
otherwise MySql will not work.
2021-05-22 10:12:23 +02:00
Matthias
6acb2eb2b6
Add average column to orders table
2021-05-21 20:35:39 +02:00
Matthias
45e2621505
Add minimum-filled protection for buy cancels
2021-05-21 19:32:16 +02:00
Matthias
dfa412f0de
Fix typo in filter
2021-05-21 13:24:13 +02:00
Rokas Kupstys
981b2df7ca
Include win:loss ratio in results tables.
2021-05-21 12:18:08 +03:00
Rokas Kupstys
debd98ad9a
Make results table more compact by merging win/draw/loss columns and drawdown abs/% into single columns.
2021-05-21 11:36:23 +03:00
Rokas Kupstys
e1dc1357ce
Add drawdown column to strategy summary table.
2021-05-21 11:36:23 +03:00
Rokas Kupstys
edcfa94093
Include zero duration trades in backtesting report.
2021-05-21 11:36:23 +03:00
Matthias
96ea10e562
Fix circular import in hyperopt
2021-05-21 08:52:56 +02:00
Matthias
f398888865
Refactor preprocessed trimming to seperate method
2021-05-21 08:26:19 +02:00
Matthias
d19b37c777
Merge pull request #4979 from kamontat/patch-1
...
Fix hyperopt trim to empty dataframe
2021-05-21 08:17:35 +02:00
Matthias
ccd705bfda
Merge pull request #4962 from eschava/total_row
...
Total row for telegram "/status table" command
2021-05-21 08:02:30 +02:00
Eugene Schava
336f4aa6a7
day/week options for Telegram '/profit' command
...
isort fix
2021-05-20 08:17:08 +03:00
Kamontat Chantrachirathumrong
6172e67fcd
Update hyperopt.py
2021-05-20 11:56:31 +07:00
Kamontat Chantrachirathumrong
c2b9da68e1
fix indent
2021-05-20 11:56:11 +07:00
Kamontat Chantrachirathumrong
1b3bfb2e7f
found root cause.
2021-05-20 11:50:15 +07:00
Kamontat Chantrachirathumrong
48210170e7
wrap with is not empty
2021-05-20 11:49:25 +07:00
Matthias
ba106e6c4a
Merge pull request #4975 from Axel-CH/allow_seconds_unfilled_timeout
...
Add ability to choose unit in unfilled timeout
2021-05-20 06:43:15 +02:00
Matthias
586f2a699d
Merge pull request #4953 from freqtrade/value_filter
...
max-value change filter
2021-05-20 06:35:34 +02:00
Matthias
0358b5365f
Add "unfilledtimeout-unit" to full config sample
2021-05-20 06:26:07 +02:00
Eugene Schava
935ed36433
day/week options for Telegram '/profit' command
...
mypy fix
2021-05-20 01:10:22 +03:00
Eugene Schava
e9841910e9
day/week options for Telegram '/profit' command
2021-05-20 00:33:33 +03:00
Kamontat Chantrachirathumrong
082fb11bbe
Avoid having error cannot set a frame with no defined index and a scalar
2021-05-20 01:54:48 +07:00
Matthias
ef4d1c24d7
Merge pull request #4941 from brookmiles/fix-stoploss-above-candle
...
prevent backtest stoploss trade price being set above candle high
2021-05-19 06:20:35 +02:00
axel
75f88b466a
add ability to choose unit in unfilled timeout
2021-05-18 19:30:36 -04:00
Matthias
7a9853bfe1
Fix "Too many open Files" exception
2021-05-18 20:39:55 +02:00
Matthias
16c22c7b68
Add pair name to stoploss
...
helps debugging #4972
2021-05-18 19:16:25 +02:00
Matthias
36eba0f110
Don't use "r+" memmap, but "r2
2021-05-17 21:05:48 +02:00
Matthias
6aa574fa2b
Convert ROI result to proper json object
...
closes #4952
2021-05-17 20:58:50 +02:00
Matthias
6659a07079
Add tests for max-value filter
2021-05-17 19:47:57 +02:00
Matthias
369f19df6b
Add valuefilter to Pricefilters
2021-05-17 19:44:36 +02:00
Matthias
3006396398
Fix docstring typo
2021-05-17 19:37:22 +02:00
Matthias
26f5bc6584
Merge pull request #4944 from brookmiles/fix-download-data-end-date
...
Add support for timerange end date to `download-data`
2021-05-17 19:35:32 +02:00
Eugene Schava
459fae6d80
Total row for telegram "/status table" command
...
fixes
2021-05-17 16:22:48 +03:00
Eugene Schava
3ad8fa2f38
Total row for telegram "/status table" command
...
moved sum calculation to API
2021-05-17 15:59:03 +03:00
Eugene Schava
196fde44e0
Total row for telegram "/status table" command
...
work around mypy warning
2021-05-17 14:45:54 +03:00
Eugene Schava
915ff7e1bf
Total row for telegram "/status table" command
...
fix mypy warnings
2021-05-17 13:03:20 +03:00
Eugene Schava
d7479fda1f
Total row for telegram "/status table" command
...
fix compiler warnings
2021-05-17 12:53:57 +03:00
Eugene Schava
0abb9cfe28
Total row for telegram "/status table" command
2021-05-17 12:41:44 +03:00
Eugene Schava
10ef0f54ac
Total row for telegram "/status table" command
2021-05-17 11:12:11 +03:00
Matthias
37b71b8cfd
Fix PerformanceFilter failing in test-pairlist mode
2021-05-16 19:55:13 +02:00
Matthias
0d50e99563
Fix Agefilter checking for > instead of >=
2021-05-16 19:35:30 +02:00
Matthias
c9ac67e985
Fix some typos
2021-05-16 14:50:25 +02:00
Matthias
6f38976470
Introduce cancel_stoploss_with_result
2021-05-16 14:15:24 +02:00
Matthias
380754b8ab
Fix typos in docstrings
2021-05-16 13:20:05 +02:00
Matthias
0b1dd0d203
Use correct order_id for ftx
...
closes #4511
2021-05-16 09:15:25 +02:00
Matthias
2d7735ba04
Update telegram to sort performance by absolute performance
2021-05-15 19:49:21 +02:00
Matthias
6b2a38ccfb
Add absolute Profit to apiserver
2021-05-15 19:39:46 +02:00
Matthias
4f968b4a6f
Merge pull request #4926 from rokups/rk/misc-fixes
...
Two fixes
2021-05-15 15:11:07 +02:00
Brook Miles
db17b1a851
fix indentation
2021-05-15 20:20:36 +09:00
Brook Miles
88da1f109b
fix #4412 download-data does not stop downloading at the specified TIMERANGE end date
2021-05-15 20:15:19 +09:00
Rokas Kupstys
2d5f465f1b
Fix protections being loaded multiple times for first strategy when backtesting.
2021-05-15 13:37:03 +03:00
Rokas Kupstys
29fed37df3
Fix exception when few pairs with no data do not result in aborting backtest.
...
Exception is triggered by backtesting 20210301-20210501 range with BAKE/USDT pair (binance). Pair data starts on 2021-04-30 12:00:00 and after adjusting for startup candles pair dataframe is empty.
Solution: Since there are other pairs with enough data - skip pairs with no data and issue a warning.
Exception:
```
Traceback (most recent call last):
File "/home/rk/src/freqtrade/freqtrade/main.py", line 37, in main
return_code = args['func'](args)
File "/home/rk/src/freqtrade/freqtrade/commands/optimize_commands.py", line 53, in start_backtesting
backtesting.start()
File "/home/rk/src/freqtrade/freqtrade/optimize/backtesting.py", line 502, in start
min_date, max_date = self.backtest_one_strategy(strat, data, timerange)
File "/home/rk/src/freqtrade/freqtrade/optimize/backtesting.py", line 474, in backtest_one_strategy
results = self.backtest(
File "/home/rk/src/freqtrade/freqtrade/optimize/backtesting.py", line 365, in backtest
data: Dict = self._get_ohlcv_as_lists(processed)
File "/home/rk/src/freqtrade/freqtrade/optimize/backtesting.py", line 199, in _get_ohlcv_as_lists
pair_data.loc[:, 'buy'] = 0 # cleanup from previous run
File "/home/rk/src/freqtrade/venv/lib/python3.9/site-packages/pandas/core/indexing.py", line 692, in __setitem__
iloc._setitem_with_indexer(indexer, value, self.name)
File "/home/rk/src/freqtrade/venv/lib/python3.9/site-packages/pandas/core/indexing.py", line 1587, in _setitem_with_indexer
raise ValueError(
ValueError: cannot set a frame with no defined index and a scalar
```
2021-05-15 13:37:03 +03:00
Matthias
e1447f955c
/locks should always respond, even if there's no locks
...
closes #4942
2021-05-15 10:50:00 +02:00
Brook Miles
2eac23a15f
if stoploss price is above the candle high, set it to candle open instead. this can occur if stoploss had previously been reached but the sell was prevented by confirm_trade_exit
2021-05-15 15:38:51 +09:00
Matthias
0ace35bf3d
Fix unreferenced error
2021-05-15 08:14:50 +02:00
Matthias
a6c644161d
Merge pull request #4930 from freqtrade/hyperopt_memory
...
Hyperopt memory problems
2021-05-15 07:12:57 +02:00
Matthias
5e73195b30
Use linux lineseperator at all times
2021-05-15 07:01:32 +02:00
Matthias
4bc018a456
Change rate back to "open" for custom_sell
...
closes #4920
2021-05-14 07:18:10 +02:00
Matthias
09756e3007
Subplots should always be included in responses
2021-05-14 06:36:50 +02:00
Matthias
ecee42f561
Read pickle file in mmap mode
2021-05-13 20:13:04 +02:00
Matthias
1055862bc0
Extract data-load + dump from hyperopt
...
(Reduces memory-usage as the dataframes go out of scope)
2021-05-12 21:15:01 +02:00
Matthias
24a1d5a96f
Change default hyperopt-name to be shorter
2021-05-12 19:06:13 +02:00
Matthias
3cbe40875d
read hyperopt results from pickle or json
2021-05-12 06:06:30 +02:00
Matthias
06bf1aa274
Store epochs as json per line
2021-05-12 05:58:25 +02:00
Matthias
7398ea88e0
Change optimize_reports to convert dates to string earlier
2021-05-11 20:37:49 +02:00
Matthias
b81f24d9c6
Merge pull request #4851 from rokups/rk/backtest-dataprovider
...
Data provider support in backtesting
2021-05-10 19:11:05 +02:00
Matthias
92186d89a2
Add some changes to strategytemplate
2021-05-09 09:56:36 +02:00
Matthias
2157923aee
have edge send multiple messages if necessary
...
closes #4519
2021-05-08 19:45:34 +02:00
Rokas Kupstys
8d8c782bd0
Slice dataframe in backtesting, preventing access to rows past current time.
2021-05-08 18:40:49 +03:00
Rokas Kupstys
f1eb653545
Fix strategy protections not being loaded in backtesting.
2021-05-08 10:29:47 +03:00
Rokas Kupstys
1b01ad6f85
Make exchange parameter optional and do not use it as parameter in backtesting.
2021-05-08 10:29:47 +03:00
Matthias
4b6cd69c81
Add test for no-exchange dataprovider
2021-05-08 10:29:47 +03:00
Rokas Kupstys
d344194b36
Fix dataprovider in hyperopt.
2021-05-08 10:29:47 +03:00
Rokas Kupstys
9b4f6b41a2
Use correct datetime.
2021-05-08 10:29:47 +03:00
Rokas Kupstys
6fb4d83ab3
Fix dataprovider in hyperopt.
2021-05-08 10:29:47 +03:00
Rokas Kupstys
6af4de8fe8
Remove dataframe parameter from docs.
2021-05-08 10:29:47 +03:00
Rokas Kupstys
cdfa6adbe5
Store pair datafrmes in dataprovider for backtesting.
2021-05-08 10:29:47 +03:00
Rokas Kupstys
dc6e702fec
Pass current_time to confirm_trade_entry/confirm_trade_exit.
2021-05-08 10:29:47 +03:00
Rokas Kupstys
d34da3f981
Revert "Add dataframe parameter to custom_stoploss() and custom_sell() methods."
...
This reverts commit 595b8735f8
.
# Conflicts:
# freqtrade/optimize/backtesting.py
# freqtrade/strategy/interface.py
2021-05-08 10:29:47 +03:00
Matthias
513be11fd9
Fix hyperopt output
...
closes #4892
2021-05-07 20:23:11 +02:00
Matthias
554f5f14b6
Raise exception if no data is left
2021-05-07 06:41:15 +02:00
Matthias
4f529fe424
Don't use Arrow to get min/max backtest dates
2021-05-06 19:43:14 +02:00
Matthias
32577cc0cd
Merge pull request #4836 from bzed/telegram-locks
...
Telegram rpc: split too long /locks messages
2021-05-05 20:15:13 +02:00
Matthias
431cb5313f
Support informative pairs in edge positioning
2021-05-05 19:58:45 +02:00
Matthias
da47f4e1a4
Fix Kraken balance update error
...
closes #4873
2021-05-05 06:47:26 +02:00
Matthias
da574e4e69
Small style fixes
2021-05-03 06:30:41 +02:00
Matthias
fc110ea418
Support csv export for new and old versions
2021-05-02 20:41:45 +02:00
Matthias
303895b33e
Add support for filters to new hyperopt-results
2021-05-02 20:07:22 +02:00
Matthias
287b43e999
Output strategy results including non-optimized parameters
2021-05-02 11:30:53 +02:00
Matthias
d069ad43d8
Small reformatting in hyperopt
2021-05-02 11:01:26 +02:00
Matthias
8ee0b0d8e8
Store not optimized parameters (if applicable)
2021-05-02 10:46:04 +02:00
Matthias
9049d6b779
Reformat hyper to cache parameters
2021-05-02 10:45:21 +02:00
Matthias
46f0f66039
Keep dimensions stored in hyperopt class
...
There is no point in regenerating them and it will cause some
overhead as all space classes will be recreated for every epoch.
2021-05-02 09:48:37 +02:00
Matthias
ced5cc7ce2
Don't recalculate min/max date - they won't change between epochs
2021-05-02 09:46:27 +02:00
Matthias
ecdfb6e5ed
Fix output of % for new format
2021-05-02 09:46:27 +02:00
Matthias
881cba336a
Show backtesting result in hyperopt-show
2021-05-02 09:46:27 +02:00
Matthias
420e75af65
Extract show_backtest_result for one strategy
2021-05-02 09:46:27 +02:00
Matthias
97478abb9d
Move format explanation string to HyperoptTools
2021-05-02 09:46:27 +02:00
Matthias
f2e182002d
Simplify calling backtesting by returning the proper result
2021-05-02 09:46:27 +02:00
Matthias
e2e1d34828
Extract stake_currency param from hyperopt-explanationstring
2021-05-02 09:46:27 +02:00
Matthias
6aaaad29d7
Use backtesting output for hyperopt results
2021-05-02 09:46:27 +02:00
Matthias
545cba7fd8
Refactor optimize_report
...
we should not calculate non-daily statistics in the daily stats method
2021-05-02 09:46:27 +02:00
Matthias
9994fce577
Extract generation of report for one strategy to it's own method
2021-05-02 09:46:27 +02:00
Matthias
b125c975c7
Rename strategy_comparison method
2021-05-02 09:46:27 +02:00
Matthias
ac2e1eb3d7
Don't import joblib for regular strategies
2021-05-02 08:44:16 +02:00
Matthias
0e359dcb7a
Merge pull request #4788 from saeedrss/develop
...
fetch live data from hitbtc exchange #4778
2021-05-01 19:13:00 +02:00
Matthias
bdd0184f0b
Small stylistic fixes
2021-05-01 17:44:43 +02:00
Matthias
1cb430f59b
Remove encoding specifics, gitattributes to echeckout as utf8
2021-05-01 17:41:40 +02:00
Matthias
0b280a59bc
Support per exchange params for OHLCV endpoint
2021-05-01 17:29:53 +02:00
Matthias
e0ca3c014c
Don't completely remove encode/decode
2021-05-01 17:12:48 +02:00
Matthias
30da307d13
Remove encode/decode for hyperopt
2021-05-01 17:01:52 +02:00
Matthias
555262b6e1
Only calculate additional indicators if the space is selected
2021-05-01 16:40:29 +02:00
Matthias
e381df9098
extract has_space to Hyperopt-Tools
2021-05-01 16:36:35 +02:00
Matthias
e050ea8dfa
Don't load parameters for other space
2021-05-01 16:21:59 +02:00
Matthias
401f31e86b
Merge pull request #4841 from JoeSchr/fix/istrategy-return-value
...
fix IStrategy: abstract methods still need to pass through return value
2021-04-30 20:13:11 +02:00
Matthias
856b65206b
Reduce log-frequency of AgeFilter
...
closes #4840
2021-04-30 19:42:41 +02:00
Joe Schr
f3388ed9aa
fix IStrategy: abstract methods still need to pass through return value
...
otherwise doing something like:
```py
dataframe = super().populate_indicators(dataframe, ...)
```
won't work, because `dataframe` becomes `None`.
This is needed if one of those methods uses dataframe.copy() instead of
just working on reference. e.g. using `merge_informative` in
`populate_indicator` in a nested class hierarchy
2021-04-30 14:39:01 +02:00