Commit Graph

6961 Commits

Author SHA1 Message Date
Matthias d3d17f9f8b Only allow min-stake adjustments of up to 30%
fix #5856
2021-11-10 06:57:22 +01:00
Matthias 23a566b478 validate_stake_amount should not be a private method 2021-11-10 06:38:24 +01:00
Matthias 6267678ca9 Use doublequotes for docstrings 2021-11-09 10:40:01 +00:00
Matthias f9e5a25b36 Add docstring style to Contributing 2021-11-09 07:48:25 +00:00
Matthias ae0e72a945 Provide strategy with copied objects
avoids accidental modification of crucial elements in a trade object
part of #5828
2021-11-08 19:59:29 +01:00
Matthias e4cca63163 Align sell_reason assignment location
trade mode sets it after "exit confirmation" - so should backtesting
detected in #5828
2021-11-08 19:32:13 +01:00
Matthias f2be820f73
Merge pull request #5855 from freqtrade/multi_ohlcv_calls
Provide more historic data in trade mode
2021-11-08 19:30:40 +01:00
Matthias c11e1a84e4 Fix wrong logging
detected in #5856
2021-11-07 15:41:04 +01:00
Matthias de4bc7204d Update documentation to clarify new behaviour 2021-11-07 15:36:43 +01:00
Matthias a08dd17bc1 Use startup_candle-count to determine call count 2021-11-07 13:10:40 +01:00
Matthias 9fa64c2647 Allow multiple calls to get more candles in live-run 2021-11-07 11:31:59 +01:00
Matthias fb6ba62158 Add default to "is_new_pair" 2021-11-07 11:08:30 +01:00
Matthias 1dd6872b80
Merge pull request #5843 from Theagainmen/patch-2
Update warning message open trades
2021-11-07 11:07:16 +01:00
Matthias 4595c1e73c Slightly reformat to simplify new change 2021-11-07 10:55:11 +01:00
Matthias 25fcab0794 Enhance /show_config endpoint 2021-11-06 16:20:18 +01:00
Matthias fef7da03b2
Merge pull request #5850 from freqtrade/timeout_forcesell
multiple exit-timeouts can trigger emergencysell
2021-11-06 16:20:06 +01:00
Antoine Merino d0e192e20f
Fix naive timezone for /daily command 2021-11-06 13:14:15 +01:00
Matthias f7dc47b1c8 Add test for exit_timeout_count 2021-11-06 13:10:41 +01:00
Antoine Merino 3c33b48fd5
Fix naive timezones 2021-11-06 13:09:15 +01:00
Matthias 7a907a7636 Add Emergencyselling after X timeouts have been reached 2021-11-06 11:48:49 +01:00
Antoine Merino 8eabdd659f
Fix missing CallbackQueryHandler
Signed-off-by: Antoine Merino <antoine.merino.dev@gmail.com>
2021-11-05 22:51:35 +01:00
Antoine Merino 70253258f0
Test /monthly & clean
Signed-off-by: Antoine Merino <antoine.merino.dev@gmail.com>
2021-11-05 22:33:06 +01:00
Antoine Merino 459ff9692d
Add /weekly and /monthly to Telegram RPC
/weekly now list weeks starting from monday instead of rolling weeks.
/monthly now list months starting from the 1st.

Signed-off-by: Antoine Merino <antoine.merino.dev@gmail.com>
2021-11-05 21:07:28 +01:00
Antoine Merino 5f40158c0b
WIP Add /weekly and /monthly to Telegram RPC
Related to "Show average profit in overview" (#5527)

Signed-off-by: Antoine Merino <antoine.merino.dev@gmail.com>
2021-11-05 21:07:19 +01: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
Theagainmen 2115a3ed12
Update warning message open trades
This shouldn't confuse user when just reloading their bot.
2021-11-05 18:49:10 +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
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
GluTbl 00406ea7d5
Update backtesting.py
Support for custom entry-prices and exit-prices during backtesting.
2021-10-19 17:15:45 +05:30
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