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
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
Matthias
9361aa1c95
Add wallets to backtesting
2021-02-27 09:32:59 +01:00
Matthias
f0a154692d
Wallets should use trade_proxy
2021-02-27 09:32:59 +01:00
JoeSchr
642e3be7c5
Fix(strategy/interface.py): comment typo
...
`advice_buy` -> `advise_buy`
2021-02-26 23:17:59 +01:00
Matthias
0bb80d1442
Merge pull request #4446 from Xanders/patch-1
...
Webhook JSON format
2021-02-26 20:03:07 +01:00
Matthias
7d87c44c35
Merge pull request #4436 from Th0masL/forcesell_type
...
Allow changing the order_type for forcesell
2021-02-26 19:42:00 +01:00
Xanders
7281e794b4
Fix too long line at webhook.py
2021-02-26 21:31:33 +03:00
Xanders
fc69240e6d
Add JSON-encoded webhooks
2021-02-26 17:46:23 +03:00
Matthias
1b3b389109
Remove binanceje, add ftx to config selector
...
closes #4441
2021-02-26 07:58:15 +01:00
Th0masL
006f31129e
Reduced length of the line
2021-02-25 05:23:24 +02:00
Th0masL
117f0064ed
Allow changing the order_type for forcesell
2021-02-25 05:02:08 +02:00
Matthias
c71ecd3680
Fix wrong pair-content in strategy-analysis notebook and documentation
...
closes #4399
2021-02-22 20:04:36 +01:00
Matthias
228e51b60b
Fix #4405
2021-02-22 13:34:52 +01:00
Matthias
3629892fc3
Stoploss-guard should use the trade_limit or more
...
fix #4404
2021-02-20 19:38:44 +01:00
Matthias
245e39e523
dry-run should be a bool, not a string
2021-02-20 19:17:26 +01:00
Matthias
2b0d2070d0
Avoid crash with /delete
...
When a trade is deleted between querying the database and actually
handling the trade.
closes #4326
2021-02-18 12:49:14 +01:00
Matthias
b5a9ce2894
Download data in the right format as well ...
...
closes #4393
2021-02-18 09:26:35 +01:00
Matthias
11b20d6932
Add config to hyperopt_loss_function documentation
2021-02-17 07:04:29 +01:00
Matthias
eff0d46ea1
Merge pull request #4375 from flomerz/pass_processed_data
...
pass data and config to loss function
2021-02-16 20:06:50 +01:00
Matthias
009a447d8a
Adjust documentation for new parameter in loss functions
2021-02-16 19:51:09 +01:00
Florian Merz
3e06cd8b3a
pass data and config to loss function
2021-02-16 10:11:33 +01:00
Matthias
1a3e7191ed
Merge pull request #4116 from squat0001/develop-squat
...
Develop squat
2021-02-15 07:15:11 +01:00
Florian Reitmeir
5c263c7ffd
add backtesting results abs profit min/abs profit max, to get a better view if a strategy has a enough money to succeed
2021-02-14 19:41:12 +01:00
Matthias
ee74bc1f52
timeframe is mandatory, no need to use .get()
2021-02-14 11:01:12 +01:00
Matthias
da89838b5c
Set bittrex limits as returned by the exchange
...
closes #4181
2021-02-14 10:32:55 +01:00
Matthias
5622bb3247
Make candle_limit optionally timeframe dependent
2021-02-14 10:29:45 +01:00
Matthias
7ecf8f8b80
Cleanup candle_limit usage
2021-02-14 10:08:05 +01:00
Matthias
6f77ec063e
Fix cookieError on python<3.8
...
Only occurs in combination with api-server enabled,
due to some hot-fixing starlette does.
Since we load starlette at a later point, we need to replicate
starlette's behaviour for now, so sameSite cookies don't create a
problem.
closes #4356
2021-02-14 07:22:08 +01:00
Matthias
73d91275c4
Reset sell_order_status if a new sell-order is placed
...
closes #4365
2021-02-14 07:11:07 +01:00
Matthias
d4c8be915c
Use fstring where possible
2021-02-13 16:11:49 +01:00
Matthias
e7acee7904
Improve coin value output by rounding coin specific
2021-02-13 16:05:56 +01:00
Matthias
072abde9b7
Introduce round_coin_value to simplify coin rounding
2021-02-13 16:05:35 +01:00
Matthias
dd23f6bcbc
Fix type for getting pairs
2021-02-11 20:29:31 +01:00
Matthias
843fb204e9
Fix problem with inf values returned from dataframe for api methods
2021-02-11 20:21:31 +01:00
Matthias
aa79574c0c
Position-size should NEVER be over available_capital
...
Part of #4353
2021-02-11 17:09:31 +01:00
Matthias
7ee149da5d
Improve plotting errorhandling
...
closes #4327
2021-02-08 20:08:32 +01:00
Matthias
c5ab3a80a5
Check if order is a dict before parsing
...
closes #4331
2021-02-08 19:35:22 +01:00
Matthias
f6cdc6d9a2
Merge pull request #4325 from freqtrade/refresh_order_skip
...
Refresh order skip
2021-02-07 08:23:22 +01:00
Edvinas Selskas
694f55c0a5
Use suggested link
2021-02-06 14:43:50 +00:00