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
Matthias
4539170424
Merge pull request #5776 from SimonEbner/performance_decimalspace
...
Improve performance of decimalspace.py
2021-10-24 19:27:24 +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
Simon Ebner
fde10f5395
Use pathlib.stem instead of str(x).ends_with
2021-10-23 12:26:07 +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
Matthias
e458c9867a
Styling fixes
2021-10-21 07:45:15 +02:00
Matthias
7b5346b984
Add test for breakdown-stats
2021-10-21 07:11:39 +02:00
Matthias
fa028c2134
Support day/week/month breakdowns
2021-10-21 06:58:40 +02:00
Matthias
7197f4ce77
Don't show daily % profit (it's wrong)
2021-10-20 20:01:31 +02:00
Matthias
de5497c766
backtest_days cannot be below 1
2021-10-20 19:39:37 +02:00
Matthias
1267374c8a
Small fixes to tests
2021-10-20 19:21:38 +02:00
theluxaz
905f3a1a50
Removed exit_tag from Trade objects.
2021-10-20 17:58:50 +03:00
Matthias
5454460227
Revert initial_points to 30
...
closes #5760
2021-10-20 07:46:15 +02:00
theluxaz
1fdc4425dd
Changed exit_tag to be represented as sell_reason
2021-10-20 01:26:15 +03:00
Matthias
55b0216180
Allow StaticPairlist in non-first position
...
closes #5754
2021-10-19 19:48:56 +02:00
Matthias
42a4dfed28
Reallow bitstamp
...
revert #1984 , related to #1983
2021-10-19 19:12:35 +02:00
theluxaz
5ecdd1d112
Merge branch 'develop' into freqtrade-development
2021-10-19 00:00:15 +03:00
theluxaz
69a59cdf37
Fixed flake 8, changed sell_tag to exit_tag and fixed telegram functions
2021-10-18 23:56:41 +03:00
Matthias
7d8cd736b8
Support days-breakdown also for hyperopt results
2021-10-17 16:49:39 +02:00
Matthias
47bba331c1
Merge branch 'develop' into pr/rextea/4606
2021-10-17 16:29:31 +02:00
Matthias
d4d57f0002
Document expansion of --pairs
, add download-inactive
2021-10-17 16:09:56 +02:00
Matthias
9bb2dd1851
Merge pull request #5694 from freqtrade/dependabot/pip/develop/fastapi-0.70.0
...
Bump fastapi from 0.68.1 to 0.70.0
2021-10-17 15:01:28 +02:00
Matthias
e23eb99abf
Disable ability to use lookahead-biased vwap
...
closes #5782
2021-10-17 11:23:58 +02:00
Matthias
fb2c8f7621
Rollback after each request
...
This closes the transaction and avoids "sticking" transactions.
2021-10-17 10:30:06 +02:00
Matthias
5ba1d66be7
Make sure transactions are reset
...
closes #5719
2021-10-16 17:57:51 +02:00
Matthias
794862a35a
Merge pull request #5670 from sergeykhliustin/develop
...
Added min_profit param to PerformanceFilter
2021-10-14 19:57:36 +02:00
Matthias
c02a538187
Add documentation and log to PerformanceFilter
2021-10-14 19:36:34 +02:00
Matthias
0e7d903a6f
Merge pull request #5644 from slyons/develop
...
Add ability to ignore unparameterized spaces
2021-10-14 08:07:07 +02:00
theluxaz
0bb7ea10ab
Fixed minor header for backtesting
2021-10-14 01:34:30 +03:00
theluxaz
ed39b8dab0
fixed profit total calculation
2021-10-14 01:18:16 +03:00
theluxaz
d341d85079
Refixed some files for the pull request
2021-10-14 01:13:28 +03:00
theluxaz
96cab22a8c
Fixed some bugs for live sell_tags.
2021-10-14 01:03:15 +03:00
Matthias
3279ea568c
Add new parameter to hyperopt docs
2021-10-13 19:57:42 +02:00
Matthias
aed919a05f
Simplify "no-space-configured" error handling by moving it to hyperopt_auto
2021-10-13 19:54:35 +02:00
theluxaz
0f670189eb
quick typo fix
2021-10-13 02:14:07 +03:00
theluxaz
b151cf032b
Merge branch 'develop' of https://github.com/theluxaz/freqtrade into main
...
# Conflicts:
# freqtrade/freqtradebot.py
# freqtrade/optimize/backtesting.py
2021-10-13 02:01:26 +03:00
theluxaz
02243b1a2b
minifix
2021-10-13 01:34:29 +03:00
theluxaz
80b71790bc
Added some bigfixes for sell_tag
2021-10-13 01:22:53 +03:00
theluxaz
b898f86364
Added sell_tag and buy/sell telegram performance functions
2021-10-13 00:02:28 +03:00
Matthias
ce9debe9fd
Add version argument to freqUI installer
2021-10-12 06:44:07 +02:00
Matthias
cae8ff5949
Merge pull request #5623 from froggleston/rest_sysinfo
...
Add CPU,RAM sysinfo support to the REST API to help with bot system m…
2021-10-09 15:17:21 +02:00
Matthias
91ceaef02f
Merge pull request #5678 from sidml/develop
...
Hyperopt loss function using max drawdown
2021-10-09 10:26:40 +02:00
sid
30bc96cf3f
simplify expression
2021-10-09 06:36:23 +05:30
Matthias
11ec1d9b06
Revert previous commit
2021-10-08 20:22:07 +02:00
Matthias
482f4418c6
Clarify "required candle" message
2021-10-08 14:36:52 +02:00
Robert Davey
f07eeddda0
Update api_schemas.py
...
Fix api schema for cpu_pct float List.
2021-10-07 12:04:42 +01:00
Matthias
45b7a0c837
Add Test and docs for MaxDrawDownHyperOptLoss
2021-10-07 07:12:45 +02:00
Matthias
29863ad2bf
Fix error when ask_last_balance is not set
...
closes #5181
2021-10-07 06:51:29 +02:00
sid
46c320513a
use profit_abs
2021-10-07 08:07:07 +05:30
sid
93e4cf4006
Merge remote-tracking branch 'upstream/develop' into develop
2021-10-07 08:04:40 +05:30
Matthias
526bdaa2dc
Recommend using 0.0.0.0 as listen address for docker
2021-10-06 20:14:59 +02:00
Matthias
57ef25789e
Fix style errors
2021-10-06 19:36:41 +02:00
sid
6ba46b38bd
fix formatting
2021-10-06 13:46:05 +05:30
sid
c0d01dbc26
add max_drawdown loss
2021-10-06 13:24:27 +05:30
froggleston
0db5c07314
Fix issues with sysinfo rpc/API code, add SysInfo api_schema
2021-10-05 00:10:39 +01:00
Matthias
92f8f231af
Remove ratelimit from kucoin template
2021-10-04 20:22:41 +02:00
Matthias
7f4baab420
Remove explicit rateLimits, improve docs
2021-10-04 20:14:22 +02:00
Matthias
f15922a168
Fix custom_stoploss in strategy template
...
closes #5658
2021-10-04 19:11:35 +02:00
Sergey Khliustin
07750518c3
Added min_profit param to PerformanceFilter
2021-10-04 18:49:57 +03:00
Matthias
1c63d01cec
Prevent using market-orders on gateio
...
GateIo does not support market orders on spot markets
2021-10-03 14:14:16 +02:00
Matthias
f5e5203388
Use "round" to 12 digits for TickSize mode
...
Avoids float rounding problems, fix #5652
2021-10-03 09:49:55 +02:00
Matthias
f69cb39a17
Fix missing comma in kucoin template
...
closes #5646
2021-10-01 19:26:51 +02:00
Matthias
99e3450d30
Merge pull request #5642 from freqtrade/add_trade_conversion_command
...
Add trade conversion command
2021-10-01 06:38:42 +02:00
Scott Lyons
df45f467c6
Adding ability to ignore unparameterized spaces
2021-09-30 01:11:02 -07:00
Scott Lyons
95227376b6
Adding IUS to optimize args
2021-09-30 00:53:46 -07:00
Scott Lyons
08fcd1a0d4
Adding ignore space errors to Hyperopt CLI
2021-09-30 00:46:56 -07:00
Scott Lyons
5dd1088d8d
Adding ignore unparameterized spaces flag
2021-09-30 00:44:26 -07:00
Matthias
5f23af5802
Rename update_open_trades to clarify it's only called at startup
2021-09-30 07:24:16 +02:00
Matthias
178db516bf
Add documentation for trade-to-ohlcv
2021-09-29 20:00:14 +02:00
Matthias
248c61bb26
Add test for trades-to-ohlcv
2021-09-29 19:39:29 +02:00
Matthias
fc511aac44
don't use %default when no default is defined
2021-09-29 19:21:54 +02:00
Matthias
656526c007
Add trades-to-ohlcv command to simplify adding new timeframes
2021-09-29 16:50:05 +02:00
Robert Roman
ca973c05d1
Merge branch 'freqtrade:develop' into develop
2021-09-28 10:16:36 -05:00
Robert Roman
626a40252d
resolved mypy error
...
error: Signature of "hyperopt_loss_function" incompatible with supertype "IHyperOptLoss"
2021-09-27 17:33:29 -05:00
Robert Roman
c3414c3b78
resolved mypy error
...
error: Signature of "hyperopt_loss_function" incompatible with supertype "IHyperOptLoss"
2021-09-27 17:32:49 -05:00
Matthias
5726886b06
Reduce backtest-noise from "pandas slice" warning
2021-09-27 20:52:19 +02:00
Robert Roman
67e9626da1
fixed isort issue
2021-09-27 12:16:57 -05:00
Robert Roman
a1566fe5d7
updated to latest constant.py file
2021-09-27 11:47:03 -05:00
Robert Roman
193b22475d
Merge branch 'freqtrade:develop' into develop
2021-09-27 11:35:34 -05:00
Matthias
3fbf716f85
Fix "sticking" timerange in webserver mode
2021-09-27 17:52:00 +02:00
Matthias
5b7a1f8642
Validate config also in webserver mode
2021-09-27 07:12:40 +02:00
Robert Roman
bdca3e2343
Merge branch 'freqtrade:develop' into develop
2021-09-26 15:37:09 -05:00
Matthias
6319c104fe
Fix unreliable backtest-result when using webserver mode
2021-09-26 15:07:48 +02:00
Robert Roman
a77ca22026
Merge branch 'freqtrade:develop' into develop
2021-09-26 02:57:02 -05:00
Robert Roman
89b7dfda0e
Added Calmar Ratio Daily
2021-09-25 16:34:41 -05:00
Robert Roman
24baad7884
Add Calmar Ratio Daily
...
This hyper opt loss calculates the daily Calmar ratio.
2021-09-25 16:28:36 -05:00
froggleston
097da448e2
Add CPU,RAM sysinfo support to the REST API to help with bot system monitoring
2021-09-25 15:48:42 +01:00
Matthias
b59906b117
Update minimum for tradable_balance_ratio to 0.0
2021-09-24 19:24:33 +02:00
Robert Roman
0f29cbc882
added CalmarHyperOptLoss
...
I added CalmarHyperOptLoss to HYPEROPT_LOSS_BUILTIN variable inside constants.py file
2021-09-23 21:37:28 -05:00
Robert Roman
3b99c84b0a
resolved the total profit issue
...
I resolved the total profit issue and locally ran flak8 and isort
2021-09-23 21:31:33 -05:00
Matthias
9a6d8977de
Merge pull request #5605 from peterwilli/fix-sell-cancel-webhook-error
...
fixed webhook "unsupported format string passed to NoneType." error
2021-09-23 20:17:35 +02:00
Peter Willemsen
692e91a26d
changed close date from datetime.utcnow() to datetime.now(timezone.utc)
2021-09-23 10:28:15 +02:00
Robert Roman
c6b684603c
removed trade_count inside if statement
...
i removed trade_count inside if statement. Even though it helps overfitting, It is not useful when running hyperopt on small datasets.
2021-09-22 09:21:43 -05:00
Robert Roman
b946f8e7f1
I sorted imports with isort
2021-09-22 09:18:17 -05:00
Robert Roman
3834bb86ff
updated line 42
...
I removed the minus sign on max drawdown.
2021-09-21 20:25:17 -05:00
Robert Roman
3845d55186
a new hyperopt loss created that uses calmar ratio
...
This is a new hyperopt loss file that uses the Calmar Ratio.
Calmar Ratio = average annual rate of return / maximum drawdown
2021-09-21 20:04:23 -05:00
Peter Willemsen
b0de4d333e
fixed webhook error
2021-09-21 23:20:40 +02:00
Matthias
3ce05c0d54
Add "sane" defaults to protection triggers
2021-09-20 20:16:58 +02:00
Matthias
fd23ab3d64
improve formatting, add tests
2021-09-20 19:50:56 +02:00
Matthias
dd0db7ee5d
Split protection-notification into global and per-pair
2021-09-20 19:23:40 +02:00
Matthias
a0fb43c6ca
Add pairlock-notification
2021-09-20 19:12:59 +02:00
Matthias
1da091dea3
ProtectionManager should return the lock just created
2021-09-19 19:41:19 +02:00
Matthias
879bf47b32
Refactor telegram.py to simplify send_msg
2021-09-19 19:25:36 +02:00
Matthias
ec03531771
Improve naming of variables
2021-09-19 13:29:09 +02:00
Matthias
ab88217186
Improve /balance output to include starting balance and percentual change
...
closes #5503
2021-09-19 13:17:34 +02:00
Rokas Kupstys
713e7819f7
[SQUASH] Remove mypy import.
2021-09-18 15:27:58 +03:00
Rokas Kupstys
e4ca42faec
[SQUASH] Update stoploss_from_absolute to behave more like stoploss_from_open and add a test for it.
2021-09-18 10:48:53 +03:00
Rokas Kupstys
7e6aa9390a
[SQUASH] Unconditionally include quote currency when asset is explicitly specified. Added docs suggesting to use string formatting to make strategy independent of configured stake currency.
2021-09-18 10:48:53 +03:00
Rokas Kupstys
e88c4701bb
[SQUASH] Address PR comments.
2021-09-18 10:48:53 +03:00
Matthias
bb6ae682fc
Small simplifications
2021-09-18 10:48:53 +03:00
Rokas Kupstys
5dc78a0c66
[SQUASH] Get rid of _initialize() and fix informatives for dynamic pairlists.
2021-09-18 10:48:53 +03:00
Rokas Kupstys
f81df19b93
[TMP] Make tests not fail for now.
2021-09-18 10:48:53 +03:00
Rokas Kupstys
dfa61b7ad2
[SQUASH] Fix informatives for each pair not being created because dataprovider was not available.
...
Fix not being able to have informative dataframe of a pair in whitelist.
2021-09-18 10:48:53 +03:00
Rokas Kupstys
f2a1d9d2fc
[SQUASH] Address PR comments.
2021-09-18 10:48:18 +03:00
Rokas Kupstys
1fdb656334
Add a decorator which can be used to declare populate_indicators() functions for informative pairs.
2021-09-18 10:48:18 +03:00
Rokas Kupstys
d84ef34740
A helper to calculate stoploss value from absolute price.
2021-09-18 10:48:18 +03:00
Matthias
11f08b0053
Merge pull request #5582 from sergeykhliustin/develop
...
Added days parameter to PerformanceFilter
2021-09-18 09:24:14 +02:00
Matthias
564e0b9a1a
Switch performanceFilter to use Minutes lookback resolution
...
closes #5060
2021-09-18 09:10:25 +02:00
Matthias
12c12d42df
Add documentation for days parameter in PerformanceFilter
2021-09-18 08:30:44 +02:00
Matthias
853c3a4433
Merge pull request #5587 from raph92/patch-3
...
Update prepare_trials_columns() return type
2021-09-18 08:08:18 +02:00
Sergey Khliustin
d7395e873b
Removed unused OperationalException
2021-09-17 22:05:57 +03:00
raphael
4b2c1a9b8e
Remove trailing whitespace
2021-09-17 14:39:15 -04:00
raphael
e715f2a253
Update formatting
...
Line 302 was too long
2021-09-17 14:23:26 -04:00
raphael
9525a5b96c
Add type to "trials" parameter
2021-09-17 14:10:37 -04:00
raphael
124e97f3b9
Remove ununsed variables from export_csv_file
2021-09-17 11:57:36 -04:00
raphael
5fc993231a
Update HyperoptTools.export_csv_file usage
2021-09-17 11:51:55 -04:00
raphael
3a98fb72a4
Update prepare_trials_columns() return type
...
Was returning str, updated to pd.DataFrame
2021-09-17 11:42:33 -04:00
sergeykhliustin
982deeedf0
Update freqtrade/persistence/models.py
...
Co-authored-by: Matthias <xmatthias@outlook.com>
2021-09-17 18:23:13 +03:00
Sergey Khliustin
54ef36a497
Updates after review to PerformanceFilter days param
2021-09-17 13:45:44 +03:00
Sergey Khliustin
457e738b4a
Added days parameter to PerformanceFilter
2021-09-16 14:48:02 +03:00
Matthias
994c3c3a4c
Add some errorhandling for custom estimator
2021-09-16 07:13:25 +02:00
Matthias
c0811ae896
Add possibility to override estimator from within hyperopt
2021-09-15 21:36:53 +02:00
Matthias
90ad178932
Remove verbosity of edge
2021-09-15 21:04:25 +02:00
Matthias
57ea0c322f
Rename indicator_space to buy_indicator_space
2021-09-15 20:20:31 +02:00
Matthias
f7bae81d96
Dataframe should be copied after populate_indicator
...
Without that, PerformanceWarnings can appear throughout hyperopt which
are unnecessary and missleading for users
closes #5408
2021-09-15 19:56:12 +02:00
Matthias
e4ec5679a1
Merge pull request #5574 from freqtrade/agefilter_cache
...
Agefilter cache
2021-09-15 06:33:36 +02:00
Matthias
315ea1e116
Merge pull request #5566 from freqtrade/remove_hyperopt
...
Remove legacy hyperopt
2021-09-14 19:20:58 +02:00
Matthias
3ce5197e8d
Add Tests for AgeFilter caching
...
closes #5552
2021-09-14 06:45:26 +02:00
Matthias
c9ba52d732
Expire cached pairs in age-filter once per day
2021-09-14 06:30:18 +02:00
Matthias
a12c3ecc9b
Remove credentials whenever dry-run is set from within the exchange
2021-09-13 20:27:32 +02:00
Matthias
8afb3c4b70
Move AgeFilter cache to instance level
2021-09-13 19:33:28 +02:00
Matthias
3cdd06f562
Add PeriodicCache
2021-09-13 19:32:51 +02:00
Matthias
0017b3438e
Remove list-hyperopts
2021-09-12 08:18:17 +02:00
Matthias
3675df8344
Update documentation regarding Legacy Hyperopt
2021-09-12 08:18:17 +02:00
Matthias
fd6bf591f8
Update some tests to remove explicit hyperopt interface
2021-09-12 08:18:13 +02:00