Commit Graph

6082 Commits

Author SHA1 Message Date
Matthias ba38e398e4 Add type hint 2021-04-13 22:17:42 +02:00
Matthias c2f35ce416 /balance should use cached tickers when possible 2021-04-13 20:21:03 +02:00
Matthias 82d66410f7 Fix /performance output
if multiple messages are necessary

closes #4726
2021-04-13 19:20:57 +02:00
Matthias e4bb6b1582 Add kucoin exchange subclass
Kucoin has some specific orderbook restrictions

closes #4723
2021-04-13 12:28:07 +02:00
Matthias 37c8fd6ad7 Remove arrow from models.py 2021-04-13 11:55:03 +02:00
Matthias 59cfbbee17
Merge pull request #4724 from csteeg/develop
Fixes FTX stoploss on echange throwing an error
2021-04-13 08:41:52 +02:00
Matthias 9b23be4021 Return a copy from `current_whitelist`
this avoids manipulating of the pair whitelist from within a strategy
2021-04-13 06:49:53 +02:00
Matthias 4b902d6eb8 Don't use response-model on trades endpoint for now 2021-04-13 06:23:11 +02:00
Matthias 9a58a85347 Don't export "hum" date versions for trade objects.
They are not used and have a rather high performance penalty due to
using arrow.get
2021-04-13 06:17:11 +02:00
Matthias cb60db01b1
Merge pull request #4703 from freqtrade/decimal_space
Add SKDecimal Space
2021-04-12 19:18:10 +02:00
Chris van de Steeg d4dc05980c
Update ftx.py
Stoploss price should be set as param instead of passing it as price according to ccxt
2021-04-12 16:01:46 +02:00
Matthias be0dc737dc
Merge pull request #4706 from freqtrade/simplify_fiat_convert
Simplify fiat convert and fix USD coingecko problem
2021-04-10 14:57:34 +02:00
Matthias 579e68f31e Reduce log verbosity when buying 2021-04-10 14:40:44 +02:00
Matthias 14e8574235 fetch_balance is never called in dry-run 2021-04-10 14:17:43 +02:00
Matthias 37c2e037f1 Rename dry_run_order to create_dry_run_order 2021-04-10 13:50:56 +02:00
Matthias ebbe47f38d Simplify fiat convert and fix USD coingecko problem 2021-04-10 13:36:16 +02:00
Matthias 9804e20114 Don't use _set_value for autoOpt-Spaces 2021-04-10 09:53:48 +02:00
Matthias 4996bd443e
Merge pull request #4697 from freqtrade/docker_user
Docker as user
2021-04-10 08:19:25 +02:00
Matthias 83fbaf16c8 Extract numeric param validation and explosion 2021-04-10 07:59:59 +02:00
Matthias ea4b5d675d Don't explode low/high, but use explicit parameters 2021-04-10 07:12:31 +02:00
Matthias 34e47db18d Test SKDecimal space 2021-04-09 22:15:24 +02:00
Matthias 5f67400649 Add SKDecimal Space 2021-04-09 21:58:15 +02:00
Matthias 898c24949b Add chown method to support docker 2021-04-08 20:17:07 +02:00
Matthias 8cd3c05c39
Merge pull request #4686 from gerrito333/develop
Add Pairlist Handler for Volatility
2021-04-08 20:00:41 +02:00
gbojen f8244d9d76 resolves freqtrade/freqtrade#4650 2021-04-07 22:25:54 +02:00
Matthias c36051be56
Merge pull request #4685 from freqtrade/ft_has
Use ccxt's has to check which exchanges can work with freqtrade
2021-04-07 10:47:56 +02:00
gbojen 5ee879a747 isort resolves freqtrade/freqtrade#4650 2021-04-07 10:15:51 +02:00
Matthias d2680f6cb8 Remove telegram deprecation warning
closes #4688
2021-04-07 06:57:05 +02:00
Matthias ac6bff536f Fix test failure with UI test if UI is deployed 2021-04-07 06:55:11 +02:00
Matthias 0f0607baec Fix rangeestability filter caching issue 2021-04-07 06:52:34 +02:00
gbojen 9772a93634 resolves freqtrade/freqtrade#4650 2021-04-06 23:11:40 +02:00
gbojen 9089323d26 resolves freqtrade/freqtrade#4650 2021-04-06 22:46:36 +02:00
gbojen 187cf6dcd5 VolatilityFilter resolves freqtrade/freqtrade#4650 2021-04-06 22:41:15 +02:00
Matthias a3b4667f7c Update exchange validation to use "validate_exchange". 2021-04-06 20:16:29 +02:00
Matthias 5ed7828446 Remove hardcoded list of non-working exchanges 2021-04-06 20:03:38 +02:00
klara31 f37fbbf4e1
Update constants.py 2021-04-06 19:47:48 +02:00
klara31 bf0886a839
Update constants.py 2021-04-06 18:35:30 +02:00
Matthias 56ef3af424 Allow comments in pairs files 2021-04-06 13:29:22 +02:00
gbojen 1733e24062 pyLint adjustment resolves freqtrade#4650 2021-04-06 10:44:13 +02:00
gbojen be770a8941 added VolatilityFilter resolves freqtrade#4650 2021-04-06 10:42:53 +02:00
gbojen 6f02acdbbd Revert "resolves freqtrade/freqtrade#4650"
This reverts commit 142690c930.
2021-04-06 10:39:27 +02:00
gbojen 142690c930 resolves freqtrade/freqtrade#4650 2021-04-06 10:05:03 +02:00
Matthias 0550f261f1 Add exchange_has validation 2021-04-06 07:47:44 +02:00
Mads Sørensen c176e277f1 Add a REST endpoint for getting a specific trade 2021-04-05 19:31:34 +02:00
Matthias 78a84f8081 Allow --hyperoptloss in addition to --hyperopt-loss 2021-04-05 15:38:33 +02:00
Matthias 7b2a0d46cb Fix typo 2021-04-05 15:38:25 +02:00
Matthias 431f0a3db4
Merge pull request #4671 from freqtrade/fix/sqlalchemy
sqlalchemy database locked bug
2021-04-05 14:09:35 +02:00
Matthias b470672dfd
Merge pull request #4596 from rokups/rk/hyper-strategy
Support for creating auto-hyperoptable strategies.
2021-04-05 13:55:32 +02:00
Matthias c51839dc3b Make the logmessage for loaded parameters clearer 2021-04-05 11:21:20 +02:00
Matthias dc406fe19f Fail in case of name and explicit space name collisions 2021-04-05 10:53:00 +02:00
Matthias 7132aefd60 Rename Trade.session to Trade._session 2021-04-05 08:46:12 +02:00
Matthias 0407bf755f Use .query.session to make sure the scoped session is used properly 2021-04-05 07:28:51 +02:00
Matthias bd5e1c5096
Merge pull request #4660 from rextea/order_pairlist_results
Sort pair lists by total profit
2021-04-04 19:47:33 +02:00
rextea 9e56f6d4eb Sort pair lists by total profit 2021-04-04 01:19:38 +03:00
Matthias 30e5e92968 Don't allow one parmeter to be in 2 spaces
use the explicit user wish (given explicitly with "space")
2021-04-03 20:17:48 +02:00
Matthias 9d4b5cc6bb Fix typo 2021-04-03 19:56:20 +02:00
Matthias 5f6eae52a2 fix too long performance message
closes #4655
2021-04-03 19:12:36 +02:00
Matthias 41cb2a6451 Merge branch 'develop' into pr/rokups/4596 2021-04-03 17:00:37 +02:00
Matthias 6555454bd2 Remove more ticker_interval occurances 2021-04-03 16:54:47 +02:00
Matthias 771fc05749 Update sample strategy with hyperoptable Parameters 2021-04-03 16:32:16 +02:00
Rokas Kupstys faf40482ef Fix parameter printing. 2021-04-03 13:49:24 +03:00
Rokas Kupstys ea43d5ba85 Implement DecimalParameter and rename FloatParameter to RealParameter. 2021-04-02 17:08:16 +03:00
Matthias c7ee34687b
Merge pull request #4584 from withshubh/develop
fix: code quality issues
2021-04-02 15:19:49 +02:00
Mads Sørensen 3691ae8686 Make sure the fiat converter exists before calling it 2021-04-02 14:50:47 +02:00
shubhendra f47dc31786 Refactor the comparison involving `not`
Signed-off-by: shubhendra <withshubh@gmail.com>
2021-04-02 16:57:44 +05:30
Mads Sørensen 51f0fcb2cb Add profit_fiat to REST API 2021-04-02 12:20:38 +02:00
Matthias 5acdc9bf42 Fix type errors by converting all hyperopt methods to instance methods 2021-04-01 06:47:23 +02:00
Rokas Kupstys 5e5b11d4d6 Split "enabled" to "load" and "optimize" parameters. 2021-03-31 12:31:28 +03:00
Matthias 2869d5368d Allow edge to use dynamic pairlists
closes #4298
2021-03-30 20:20:24 +02:00
Matthias 50fcb3f330 Reduce verbosity of missing data if less than 1% of data is missing 2021-03-30 07:26:39 +02:00
Matthias 89bbfd2324 Remove candle_count from dataframe before backtesting
closes #3754
2021-03-29 20:26:54 +02:00
Matthias f6211bc00e new-config should include API config 2021-03-28 20:23:57 +02:00
Matthias fc8478111e Improve strategy template 2021-03-28 20:06:30 +02:00
Matthias 929f329607 more tests 2021-03-28 19:49:20 +02:00
Matthias 20f7e9b4b7 Make BaseParameter get_space abstract 2021-03-28 19:31:54 +02:00
Matthias 8022386404 Type custom_hyperopt 2021-03-27 18:00:07 +01:00
Matthias 71e2134694 Add some simple tests for hyperoptParameters 2021-03-27 11:26:26 +01:00
Matthias 786ddc6a91 remove unused imports 2021-03-27 10:47:33 +01:00
Rokas Kupstys e934d3ddfb [SQUASH] Oopsie. 2021-03-26 16:56:24 +02:00
Rokas Kupstys 40f5c7853e [SQUASH] Add a way to temporarily disable a parameter (excludes from parameter loading/hyperopt) and print parameter values when executed. 2021-03-26 16:56:24 +02:00
Rokas Kupstys bbe6ece38d [SQUASH] Fix parameter configs not loading. 2021-03-26 16:56:24 +02:00
Rokas Kupstys 424cd2a914 [SQUASH] Use "space" instead of category. 2021-03-26 16:56:24 +02:00
Rokas Kupstys fd45dfd894 [SQUASH] Make skopt imports optional. 2021-03-26 16:56:24 +02:00
Rokas Kupstys 11689100e7 [SQUASH] Fix exception when HyperOpt nested class is not defined. 2021-03-26 16:56:24 +02:00
Rokas Kupstys e9f0babe8a [SQUASH] Use HyperStrategyMixin as part of IStrategy interface. 2021-03-26 16:56:24 +02:00
Rokas Kupstys 2d13e5fd50 [SQUASH] Oopsies. 2021-03-26 16:56:24 +02:00
Rokas Kupstys bb89e44e19 [SQUASH] Address PR comments.
* Split Parameter into IntParameter/FloatParameter/CategoricalParameter.
* Rename IHyperStrategy to HyperStrategyMixin and use it as mixin.
* --hyperopt parameter is now optional if strategy uses HyperStrategyMixin.
* Use OperationalException() instead of asserts.
2021-03-26 16:56:24 +02:00
Rokas Kupstys 0a205f52b0 Optional support for defining hyperopt parameters in a strategy file and reusing common hyperopt/strategy parts. 2021-03-26 16:56:24 +02:00
Matthias 8da7d5c009
Merge pull request #4594 from rextea/add_confirm_exit_enter_tade_to_backtesting
Add confirm_trade_exit and confirm_trade_entry to backtesting
2021-03-25 20:26:56 +01:00
Matthias 292ea8c1d0
Update backtesting.py 2021-03-25 09:34:33 +01:00
rextea 0ca95aa0c2 Change rate to acctual close rate 2021-03-25 10:25:25 +02:00
Matthias ec15610bff Fix isort issue 2021-03-24 19:21:07 +01:00
Matthias ee82d36bef
Merge pull request #4593 from hoeckxer/feat/status_table_telegram_length
Changed the code for status table a bit so that it splits up the trad…
2021-03-24 06:49:54 +01:00
Erwin Hoeckx 2fd510e6e4 Added comment with an example calculation
Signed-off-by: Erwin Hoeckx <hawkeyenl@yahoo.com>
2021-03-23 21:52:46 +01:00
Erwin Hoeckx 65a9763fa5 Fixed an issue when there were exactly 50 trades, it was sending an extra empty table
Signed-off-by: Erwin Hoeckx <hawkeyenl@yahoo.com>
2021-03-23 16:54:38 +01:00
Erwin Hoeckx c928cd38dc Small bugfix to make sure it shows all the trades
Signed-off-by: Erwin Hoeckx <hawkeyenl@yahoo.com>
2021-03-23 16:45:42 +01:00
rextea f51f4b1817 Add confirm_trade_exit and confirm_trade_entry to backtesting 2021-03-23 10:35:46 +02:00
rextea dc4ea604dd Add confirm_trade_exit and confirm_trade_entry to backtesting 2021-03-23 10:19:16 +02:00
rextea eb5d69dcd4 Add confirm_trade_exit and confirm_trade_entry to backtesting 2021-03-23 10:12:08 +02:00
rextea 6856963aef Add confirm_trade_exit and confirm_trade_entry to backtesting 2021-03-23 10:09:41 +02:00
Erwin Hoeckx 4e8999ade3 Changed the code for status table a bit so that it splits up the trades per 50 trades, to make sure it can be sent regardless of number of trades
Signed-off-by: Erwin Hoeckx <hawkeyenl@yahoo.com>
2021-03-22 20:40:11 +01:00
shubhendra 4d81834912
Merge `isinstance` calls
Signed-off-by: shubhendra <withshubh@gmail.com>
2021-03-21 17:14:47 +05:30
shubhendra 45da3a7022
Refactor unnecessary `else` / `elif` when `if` block has a `continue` statement
Signed-off-by: shubhendra <withshubh@gmail.com>
2021-03-21 17:14:47 +05:30
shubhendra 910e15b174
Remove methods with unnecessary super delegation.
Signed-off-by: shubhendra <withshubh@gmail.com>
2021-03-21 17:14:47 +05:30
shubhendra 6d6ad035d6
Remove length check in favour of truthiness of the object
Signed-off-by: shubhendra <withshubh@gmail.com>
2021-03-21 17:14:46 +05:30
shubhendra 537ad059bc
Remove unnecessary use of comprehension
Signed-off-by: shubhendra <withshubh@gmail.com>
2021-03-21 17:14:46 +05:30
shubhendra 62d99a0b74
Remove unnecessary comprehension
Signed-off-by: shubhendra <withshubh@gmail.com>
2021-03-21 17:14:45 +05:30
Matthias e315a6a0da assume "last" can miss from a ticker response
closes #4573
2021-03-20 14:58:51 +01:00
Matthias 43d7f9ac67 Add bid_last_balance parameter
to interpolate sell prices

closes #3270
2021-03-20 14:38:26 +01:00
Matthias 73876b61b4 Show potential errors when loading markets 2021-03-20 13:34:33 +01:00
Matthias 16a54b3616 Don't require non-mandatory arguments 2021-03-20 13:08:02 +01:00
Matthias fe7f3d9c37 Add price side validation for market orders 2021-03-20 11:48:39 +01:00
Matthias 7ffe1fd36a Fix calculation error for min-trade-stake 2021-03-20 07:21:22 +01:00
Matthias 0d5833ed91 Use OperationalException for TimeRange errors 2021-03-19 06:40:04 +01:00
Patrick Brunier 4d52732d30 Added a small snippet to give users a descent error message,
when their start date is afer the stop date.
Also updated the tests.
2021-03-18 22:38:54 +01:00
Matthias 84ca9bd2c7
Merge pull request #4543 from brookmiles/fix-math-custom-stoploss-docs
correct math used in examples and clarify some terminology regarding …
2021-03-18 19:32:30 +01:00
Matthias 76ca3c219f extract result-printing from hyperopt class 2021-03-17 20:45:15 +01:00
Brook Miles ce1ed76269 complete stoploss_from_open and associated test 2021-03-17 22:44:10 +09:00
Brook Miles aee2591490 add stoploss_from_open() as a strategy_helper 2021-03-17 17:58:23 +09:00
Matthias 79d4585dad Add check to ensure close_profit_abs is filled on closed trades
Technically, this should not be possible, but #4554 shows it is.

closes #4554
2021-03-16 19:24:03 +01:00
Matthias b191663a7e Adapt hyperopt templates to be better aligned
closes #3027
2021-03-14 19:49:46 +01:00
Matthias 0b35c0571f Allow custom fee to be used during dry-run
closes #3696
2021-03-14 19:37:57 +01:00
Matthias b57c150654 Final balance should include forcesold pairs 2021-03-14 09:48:40 +01:00
Matthias cd8d9f2930
Merge pull request #4534 from rokups/patch-1
Provide access to strategy instance from hyperopt class.
2021-03-13 17:14:47 +01:00
Matthias 3b99f04a78
Merge pull request #4535 from freqtrade/fix/backtestperformance
Improve backtest performance after enabling compounding
2021-03-13 16:51:00 +01:00
Matthias 0320c8dc92 Improve tests for trades_proxy 2021-03-13 15:51:27 +01:00
Rokas Kupstys 5e872273d1 Provide access to strategy instance from hyperopt class. 2021-03-13 15:13:42 +02:00
Matthias d1acc8092c Improve backtest performance 2021-03-13 10:17:14 +01:00
Jackson Law 425cd7adba Create event loop manually if uvloop is available
asyncio.get_event_loop() does not call new_event_loop()
if current_thread() != main_thread()
2021-03-12 16:16:03 -08:00
Matthias 441d3fad39
Merge pull request #4513 from freqtrade/fix/4511
Fix stoploss order problem with FTX
2021-03-11 19:39:44 +01:00
Matthias ef9977fc1e Make stake_amount + stake_currency mandatory for backtesting 2021-03-10 10:43:44 +01:00
Matthias 0db5c9746f
Merge pull request #4454 from freqtrade/backtest_compound_speed
Backtest compound, wallet, ...
2021-03-10 10:07:40 +01:00
Matthias 99583bbd0c Fix problem with FTX
where cancelled orders are "cancelled", not "canceled"
2021-03-09 20:21:08 +01:00
Th0masL 37e6006169 Fix order_by in trades command 2021-03-08 23:21:56 +02:00
Matthias 4b550dab17 Always reset fake-databases
Otherwise results may stick around for the next strategy
2021-03-08 19:40:29 +01:00
Matthias 0b81b58d28 Use pandas.values.tolist instead of itertuples
speeds up backtesting
closes #4494
2021-03-07 11:28:54 +01:00
Matthias 02d7dc4780 Increase cache size to be large enough to hold all pairs
closes #4483
2021-03-06 19:55:02 +01:00
Matthias b515609d73
Merge pull request #4490 from Th0masL/add_trade_id
Add the trade ID to Telegram Buy/Sell/Cancel messages
2021-03-06 15:40:34 +01:00
Th0masL ad0e60b5b6 Add trade_id to Cancel messages and reduced lines length 2021-03-06 15:07:47 +02:00
Matthias eed8c94dd9
Merge pull request #4488 from patrick310/patch-1
Add strategy name to HyperOpt results filename
2021-03-06 13:48:12 +01:00
Th0masL 03b89e7f78 Add trade_id in Telegram messages 2021-03-06 00:04:12 +02:00
Matthias a405d578da Introduce forcebuy ordertype to allow specifiying a different ordertype for forcebuy / forcesells 2021-03-05 20:22:04 +01:00
Patrick Weber 4532222010
Fixed line length in HyperOpt for new name
Fixed line length errors and multiple f strings to facilitate strategy being added in the name
2021-03-05 13:16:49 -06:00
Matthias 5196306407 Remove deprecated profit return value 2021-03-05 20:03:49 +01:00
Patrick Weber 345f7404e9
Add strategy name to HyperOpt results filename
This just extends the HyperOpt result filename by adding the strategy name. This allows analysis of HyperOpt results folder with no additional necessary context. An alternative idea would be to expand the result dict, but the additional static copies are non value added.
2021-03-05 12:56:11 -06:00
Matthias 731ab5d2a7 Fix too long line errors 2021-03-05 19:22:57 +01:00
Matthias bc05d03126 Make best / worst day absolute 2021-03-05 19:21:09 +01:00
raoulus 0968ecc1af added "Median profit" column to hyperopt -> export-csv 2021-03-04 17:27:04 +01:00
Matthias 078b77d41b Fix crash when using unlimited stake and no trades are made 2021-03-02 16:12:22 +01:00
Joe Schr 55a315be14 fix: avg_stake_amount should not be `NaN` if df is empty 2021-03-02 13:38:55 +01:00