Commit Graph

5936 Commits

Author SHA1 Message Date
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
Matthias 6eb253c31e
Merge pull request #4469 from freqtrade/rpc/locks
Add RPC methods to remove locks
2021-03-02 10:41:08 +01:00
Matthias 4bb6a27745 Don't catch errors that can't happen 2021-03-02 06:59:58 +01:00
Matthias 007ac7abb5 Add telegram pair unlocking 2021-03-01 20:09:40 +01:00
Matthias 6640156ac7 Support deleting locks via API 2021-03-01 19:50:39 +01:00
Matthias 6eef6d41bc
Merge pull request #4465 from freqtrade/dependabot/pip/develop/arrow-1.0.2
Bump arrow from 0.17.0 to 1.0.2
2021-03-01 09:30:11 +01:00
Matthias 2083cf6ddf Fix mypy errors introduced by Arrow update 2021-03-01 08:57:57 +01:00
Matthias 3d65ba2dcb Add rpc method to delete locks 2021-03-01 07:51:33 +01:00
Matthias bba9b9e819 Don't use __root__ directly for api response 2021-03-01 07:08:44 +01:00
Matthias 4b689f5b88
Merge pull request #4420 from freqtrade/dependabot/pip/develop/mypy-0.812
Bump mypy from 0.790 to 0.812
2021-02-28 15:30:44 +01:00
Matthias aba034ff40 Fix mypy problem after mypy 0.800 upgrade 2021-02-28 11:04:30 +01:00
Matthias 54ccbd9370
Merge pull request #4391 from squat0001/develop
Add dust level to balance command in telegram
2021-02-28 10:36:44 +01:00
Matthias a13dc3cdde Use sensible defaults for balance_dust_level 2021-02-28 09:57:52 +01:00
Matthias 9cb37409fd Explicitly convert starting-balance to float 2021-02-28 09:56:29 +01:00
Florian Reitmeir 0895407811 add balance_dust_level parameter to make telegram less chatty 2021-02-28 08:51:32 +01:00
Matthias 05f057fe72 Stringify favicon path
potentially closes #4459
2021-02-28 08:48:28 +01:00
Matthias b2e9295d7f Small stylistic fixes 2021-02-27 19:57:42 +01:00
Matthias 324b9dbdff Simplify wallet code 2021-02-27 10:33:25 +01:00
Matthias f5bb5f56f1 Update documentation with backtesting compounding possibilities 2021-02-27 09:33:00 +01:00
Matthias 98f3142b30 Improve handling of backtesting params 2021-02-27 09:33:00 +01:00
Matthias 86f9409fd2 fix --stake-amount parameter 2021-02-27 09:33:00 +01:00
Matthias fc256749af Add test for backtesting _enter_trade 2021-02-27 09:33:00 +01:00
Matthias 60db6ccf45 Add test for subclassing 2021-02-27 09:33:00 +01:00
Matthias 53a57f2c81 Change some types
Fix types of new model object
2021-02-27 09:33:00 +01:00
Matthias 03eb23a4ce 2 levels of Trade models, one with and one without sqlalchemy
Fixes a performance issue when backtesting with sqlalchemy, as that
uses descriptors for all properties.
2021-02-27 09:33:00 +01:00
Matthias 394a6bbf2a Fix some type errors 2021-02-27 09:33:00 +01:00
Matthias 52acacbed5 Check min-trade-stake in backtesting 2021-02-27 09:33:00 +01:00
Matthias f04f07299c Improve backtesting metrics 2021-02-27 09:33:00 +01:00
Matthias 7913166453 Improve performance by updating wallets only when necessary 2021-02-27 09:33:00 +01:00
Matthias 37d7d2afd5 Wallets should not recalculate close_profit for closed trades 2021-02-27 09:33:00 +01:00
Matthias f367375e5b ABS drawdown should show wallet high and low values 2021-02-27 09:33:00 +01:00
Matthias aed23d55c2 Add starting balance to profit cumsum calculation 2021-02-27 09:33:00 +01:00
Matthias 0d2f877e77 Use absolute drawdown calc 2021-02-27 09:32:59 +01:00
Matthias 74fc4bdab5 Shorten debug log 2021-02-27 09:32:59 +01:00
Matthias 72f21fc5ec Add trade-volume metric 2021-02-27 09:32:59 +01:00
Matthias 35e6a9ab3a Backtest-reports should calculate total gains based on starting capital 2021-02-27 09:32:59 +01:00
Matthias 8d61a26382 Allow dynamic stake for backtesting and hyperopt 2021-02-27 09:32:59 +01:00
Matthias e4abe902fc Enable compounding for backtesting 2021-02-27 09:32:59 +01:00
Matthias 959ff99046 Add Dry-run wallet CLI option 2021-02-27 09:32:59 +01:00
Matthias 0754a7a78f total_open_trades_stake should support no-db mode 2021-02-27 09:32:59 +01:00
Matthias 0faa6f84dc Improve Wallet logging disabling for backtesting 2021-02-27 09:32:59 +01:00
Matthias 20455de2a9 Small enhancements to docs 2021-02-27 09:32:59 +01:00
Matthias 081b9be45c use get_all_locks to get locks for backtest result 2021-02-27 09:32:59 +01:00
Matthias e32b2097f0 Use timestamp in UTC timezone for ROI comparisons 2021-02-27 09:32:59 +01:00
Matthias 712d503e6c Use sell-reason value in backtesting, not the enum object 2021-02-27 09:32:59 +01:00
Matthias b5177eadab Extract close method for exchange 2021-02-27 09:32:59 +01:00
Matthias 4ce4eadc23 remove only ccxt objects when hyperopting 2021-02-27 09:32:59 +01:00