raphael
fd7e4743ec
Include the error type for the OperationalException
2021-11-06 10:50:38 -04:00
raphael
76cf68deed
Raise exception when an uncaught error is raised
...
StrategyResolver.load_strategy would fail if any error outside of (ModuleNotFoundError, SyntaxError, ImportError, NameError) is thrown.
This change makes it raise an OperationalException when that happens. This will potentially be beneficial to people who use StrategyResolver.load_strategy outside of the FT directories.
2021-11-06 10:34:14 -04:00
Matthias
d99eaccb5a
Fix exception when using okex
...
closes #5842
2021-11-05 19:47:13 +01:00
Matthias
60a5ded532
Don't convert telegram chat_id
...
closes #5840
2021-11-05 19:27:54 +01:00
Matthias
781f8a059c
Merge pull request #5835 from freqtrade/okex_support
...
Add official Okex support
2021-11-04 20:03:19 +01:00
raphael
ae2343db93
Update optimize_reports
...
Update show_backtest_reults() to preserve backwards compatibility by fixing KeyError: 'results_per_buy_tag' for older hyperopt result files.
2021-11-04 10:25:13 -04:00
Matthias
431b96de98
Merge branch 'develop' into pr/theluxaz/5710
2021-11-03 19:43:36 +01:00
Matthias
437e5f0645
Fix officially supported exchange list
2021-11-03 19:20:39 +01:00
Matthias
f60d101076
Some finetuning for OKEX
2021-11-03 07:12:42 +01:00
Matthias
e78df59e30
Configure candle length for OKEX
2021-11-02 19:49:53 +01:00
Matthias
a16328f372
Don't force timeframe in config in config generator
2021-11-01 13:44:26 +01:00
Matthias
4249fcefba
Merge pull request #5150 from cryptomeisternox/backtesting-filter
...
Adding command for Filtering and print trades
2021-11-01 09:43:49 +01:00
Matthias
6b90b4a144
Test "get-signal"
2021-10-31 10:53:30 +01:00
Matthias
dffe76f109
Don't double-loop to generate profits
2021-10-31 10:49:56 +01:00
Matthias
c15f73aa1f
Rename command to backtesting-show
2021-10-31 10:13:11 +01:00
Matthias
20904f1ca4
Add tests for new command
2021-10-30 19:43:42 +02:00
Matthias
72ecb45d86
Add test for backtest_show logic
2021-10-30 16:53:48 +02:00
Matthias
650d6c276a
Add documentation
2021-10-30 16:40:03 +02:00
Matthias
d60001e886
Stoploss cannot be below candle low
...
fix #5816
2021-10-30 16:14:13 +02:00
Matthias
851062ca46
Rename backtest-filter to backtest_show
2021-10-30 10:53:18 +02:00
Matthias
f472709438
Add option to show sorted pairlist
...
Allows easy copy/pasting of the pairlist to a configuration
2021-10-30 10:50:40 +02:00
Matthias
0f3809345a
Remove backtest-path parameter
2021-10-30 10:28:12 +02:00
Matthias
6f1e719216
Merge branch 'develop' into pr/cryptomeisternox/5150
2021-10-30 10:26:05 +02:00
Matthias
c34b8a95d7
Merge pull request #5798 from incrementby1/personal-branch
...
Add function to unlock PairLocks by reason
2021-10-30 10:15:21 +02:00
Matthias
c579fcfc19
Add tests and documentation for unlock_reason
2021-10-30 09:51:09 +02:00
Matthias
201fe108bc
Merge pull request #5607 from TreborNamor/develop
...
a new hyperopt loss created that uses calmar ratio
2021-10-29 09:20:44 +02:00
Matthias
5cdae2ce3f
Remove CalmarDaily hyperopt loss
2021-10-29 06:53:40 +02:00
incrementby1
e9d71f26b3
small changes
2021-10-29 00:03:20 +02:00
incrementby1
658006e7ee
removed wrong use of map and filter function
2021-10-28 23:29:26 +02:00
theluxaz
560802c326
Added tests for the new rpc/telegram functions
2021-10-28 21:39:42 +03:00
incrementby1
02e69e1667
Changes to unlock_reason:
...
- introducing filter
- replaced get_all_locks with a query for speed
. removed logging in backtesting mode for speed
. replaced for-loop with map-function for speed
Changes to models.py:
- changed string representation of Pairlock to also contain reason and active-state
2021-10-28 15:16:07 +02:00
incrementby1
dc605e29aa
removed empty lines for flake8
2021-10-27 21:04:08 +02:00
incrementby1
2eb33707c9
Undo changes
2021-10-27 15:58:41 +02:00
incrementby1
a50bde10de
Merge https://github.com/freqtrade/freqtrade into personal-branch
2021-10-27 15:52:10 +02:00
Matthias
f80d3d48e4
Add default to minimal_roi to avoid failures
...
closes #5796
2021-10-27 06:33:49 +02:00
incrementby1
c3f3bdaa2a
Add "allow_position_stacking" value to config, which allows rebuys of a pair
...
Add function unlock_reason(str: pair) which removes all PairLocks with reason
Provide demo strategy that allows buying the same pair multiple times
2021-10-26 00:04:40 +02:00
theluxaz
b51f946ee0
Fixed models and rpc performance functions, added skeletons for tests.
2021-10-25 23:43:22 +03:00
Matthias
20a61e03da
Merge pull request #5786 from SimonEbner/clean_up_file_handles
...
Clean up file handles
2021-10-25 19:49:07 +02:00
Robert Roman
88b96d5d1b
Update hyperopt_loss_calmar.py
2021-10-25 00:45:10 -05:00
Matthias
262f186a37
.
2021-10-25 07:19:55 +02:00
Matthias
cea251c83c
Clarify documentation for /forcebuy
...
closes #5783
2021-10-25 06:46:02 +02:00
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