eSeR1805
4e43194dfe
BT: Refactor open order management.
2022-05-01 18:06:20 +03:00
Matthias
995c48b642
Merge branch 'develop' into pairlocks_direction
2022-05-01 14:59:04 +02:00
eSeR1805
9d205132d0
Revert unintended comment change.
2022-05-01 12:10:11 +03:00
eSeR1805
8c19953cdd
Quick exit when order should be maintained.
2022-05-01 12:08:19 +03:00
Matthias
53a2f55cf0
Merge branch 'develop' into pr/nicolaspapp/6715
2022-05-01 10:03:10 +02:00
Matthias
4580127fa8
Small refactor
2022-04-30 14:51:57 +02:00
Matthias
c6c569b772
chore: split BTAnalyais to metrics
2022-04-30 14:47:27 +02:00
Matthias
4262f84744
Merge branch 'develop' into pr/nicolaspapp/6715
2022-04-30 14:22:18 +02:00
Matthias
2acb68e6e2
Move hyperopt-loss functions to their own package
2022-04-30 13:59:23 +02:00
eSeR1805
3be2afdd88
Merge branch 'develop' into feat_readjust_entry
2022-04-30 13:39:23 +03:00
eSeR1805
ad0c5d9440
Refactor entry adjustment for backtesting.
2022-04-30 13:38:17 +03:00
Matthias
09b74cebce
Move edge bot_loop_start to edge_cli
...
(otherwise it's called twice when running trade mode with edge on).
2022-04-30 08:55:07 +02:00
Sam Germain
4a6f1e90c3
Merge branch 'develop' into bot-start
2022-04-29 22:23:42 -06:00
Matthias
43049e0465
Evict cache if parameter file changed
...
closes #6735
2022-04-29 19:44:17 +02:00
Matthias
fbd142844f
Refactor bt-caching stuff to it's own module
2022-04-29 19:37:13 +02:00
eSeR1805
eb23170c43
Merge branch 'develop' into feat_readjust_entry
2022-04-28 23:06:52 +03:00
Matthias
d1a61f9c61
Don't start futures backtest if leverage-tiers don't contain pair
2022-04-28 20:05:19 +02:00
Matthias
1e83589641
Fix hyperopt
2022-04-28 06:59:03 +02:00
Matthias
30c9dc6975
Fix exit-signa being assigned when tag is set but no signal is present.
2022-04-27 13:53:11 +02:00
Rokas Kupstys
6d99222320
Add 'exit_tag' parameter to 'custom_exit_price' callback.
2022-04-26 10:01:51 +03:00
Sam Germain
4fd904e0a9
added bot_start to backtesting
2022-04-25 17:48:57 -06:00
Matthias
44000ae0b3
Fix CAGR missing for old results
2022-04-25 17:37:25 +02:00
Matthias
246a336f56
Merge pull request #6726 from froggleston/bt_concat
...
Move df append to pd concat
2022-04-25 16:03:27 +02:00
froggleston
431c539cbd
Fix isort import order
2022-04-25 10:42:24 +01:00
Matthias
4444259078
Fix hyperopt-loss interface to enforce kwargs
2022-04-25 11:33:18 +02:00
froggleston
580da21dda
Move df append to pd concat
2022-04-25 10:31:19 +01:00
Matthias
4143ebbeae
Add CAGR calculation to backtesting
2022-04-25 10:51:11 +02:00
Matthias
737bdfe844
Use "side" parameter when calling Pairlocks
2022-04-24 14:33:24 +02:00
Matthias
7c79d937e0
Properly type "side" parameter
2022-04-24 14:33:24 +02:00
Matthias
9e199165b4
Update protection-interface to support per-side locks
2022-04-24 14:33:24 +02:00
Matthias
25c6c5e326
Update backtest sell terminology to exit
2022-04-24 14:30:50 +02:00
Matthias
3c17409bd7
Update buy to entry in backtesting
2022-04-24 14:28:15 +02:00
Nicolas Papp
0f943c482b
PEP8 code compliance
2022-04-23 13:15:14 -03:00
Matthias
d4e12371c2
Merge pull request #6558 from samgermain/recursive-strategy-folder
...
Recursively search subdirectories in config['user_data_dir']/strategies for a strategy
2022-04-23 14:23:53 +02:00
Matthias
f2912f8815
Improve mypy runs
2022-04-23 11:31:12 +02:00
Matthias
89f16ad3a5
Merge pull request #6543 from froggleston/v3_fixes
...
Add support for storing buy candle indicator rows in backtesting results
2022-04-23 09:45:11 +02:00
Matthias
5a90d5ece6
Fix docstring quotes
2022-04-23 09:44:04 +02:00
Matthias
7328553c0b
Merge pull request #6563 from italodamato/opt-ask-force-new-points
...
Optimize only new points
2022-04-23 09:43:33 +02:00
Matthias
580a2c6545
Don't repeat backtest-storing
2022-04-23 09:23:53 +02:00
Matthias
f1f4846053
Merge branch 'develop' into pr/samgermain/6558
2022-04-23 09:16:28 +02:00
Matthias
ba92e09b7b
list-strategies should find recursively as well
2022-04-23 09:11:50 +02:00
Matthias
dff9d52b30
Remove hints on no longer used option, add very primitive test
2022-04-23 08:51:52 +02:00
froggleston
767592a1d6
Add signals enum to 'export' cli option
2022-04-22 18:46:12 +01:00
froggleston
f92997d378
Move signal candle generation into separate function
2022-04-20 14:05:33 +01:00
froggleston
b3cb722646
Use joblib instead of pickle, add signal candle read/write test, move docs to new Advanced Backtesting doc
2022-04-20 13:38:52 +01:00
froggleston
aa5984930d
Fix filename generation
2022-04-19 13:00:09 +01:00
froggleston
84f486295d
Add tests for new storing of backtest signal candles
2022-04-19 12:48:21 +01:00
eSeR1805
d24ee9032a
Update usage in backtest. No functional update.
2022-04-18 21:21:38 +03:00
froggleston
34fb8dacd7
Fix isort complaints
2022-04-16 17:03:24 +01:00
froggleston
b738c4e695
Fix flake8 complaints
2022-04-16 16:49:20 +01:00
froggleston
7210a11730
Fix flake8 complaints
2022-04-16 16:37:06 +01:00
froggleston
a63affc5f1
Fix flake8 complaints
2022-04-16 16:32:04 +01:00
froggleston
f55a9940a7
Fix line spacing
2022-04-16 16:15:04 +01:00
froggleston
b1bcf9f33c
Fix backtest_enable typo
2022-04-16 14:58:17 +01:00
froggleston
8990ba2709
Fix store signal candles
2022-04-16 14:49:53 +01:00
froggleston
21734c5de7
Add pickle import
2022-04-16 14:46:30 +01:00
froggleston
26ba899d7d
Add constant, boolean check, rename option to fit with other x_enable, check that RunMode is BACKTEST
2022-04-16 14:37:36 +01:00
Robert Davey
afd3a32883
Merge branch 'develop' into v3_fixes
2022-04-16 14:23:13 +01:00
eSeR1805
d65b64a46f
Merge branch 'develop' into feat_readjust_entry
2022-04-16 15:20:50 +03:00
eSeR1805
bf5799ef9e
Add new functionality to backtesting.
2022-04-16 15:07:18 +03:00
Italo
1153e65b3e
fix flake8
2022-04-14 14:34:04 +01:00
Italo
340c0ea391
update is_random before asked_non_tried
...
is_random depends on asked_non_tried and needs to be updated first
2022-04-14 14:15:11 +01:00
Matthias
4acb77305a
Don't break when running hyperopt-x tools on old resuts
2022-04-13 19:33:27 +02:00
Italo
35cea6dcfa
fix unique_list
2022-04-13 09:36:46 +01:00
Italo
fa298d6f1c
fix unique_list logic
2022-04-12 23:57:40 +01:00
Nicolas Papp
178240aa6c
Merge branch 'develop' of https://github.com/nicolaspapp/freqtrade into feat/relative-drawdown
2022-04-11 14:42:10 -03:00
Matthias
baefda80d1
Enable flake8 E226 rule
2022-04-11 18:02:06 +02:00
Nicolas Papp
47a6ef4f00
Max relative drawdown
2022-04-10 12:53:47 -03:00
Matthias
68fe7476c9
Update more terminology to forceexit
2022-04-10 15:56:29 +02:00
Matthias
54633e90a7
Merge branch 'develop' into pr/italodamato/6563
2022-04-10 09:16:31 +02:00
Matthias
8e98a2ff9f
api - provide assset_currency via API
2022-04-09 16:42:18 +02:00
Italo
1559692e47
Update hyperopt.py
...
remove duplicates from list of asked points
2022-04-08 11:44:42 +01:00
Matthias
ea1c55b161
Update backtesting to use row instead of sell_row
2022-04-07 19:43:34 +02:00
Matthias
299dd84cfe
Merge pull request #6656 from freqtrade/use_sell_signal
...
Use sell signal -> use_exit_signal
2022-04-06 19:46:46 +02:00
மனோஜ்குமார் பழனிச்சாமி
7e97e58820
renamed enter-side
2022-04-06 06:32:13 +05:30
Matthias
b1378efdeb
ignore_roi_if_buy_signal -> ignore_roi_if_entry_signal
2022-04-05 20:21:39 +02:00
Matthias
4897731030
use_sell_signal -> use_exit_signal
2022-04-05 20:10:20 +02:00
Matthias
5ce5c70be6
sell_profit_offset -> exit_profit_offset
2022-04-05 20:03:27 +02:00
Matthias
bba9629a2a
Rename sell_profit_only to exit_profit_only
2022-04-05 20:00:35 +02:00
Matthias
6d9218cb34
sell_signal -> exit_signal
2022-04-04 17:11:11 +02:00
Matthias
1917527179
custom_sell -> custom_exit
2022-04-04 17:04:43 +02:00
Matthias
54ad130bb9
Update force_sell to force_exit
2022-04-04 16:59:27 +02:00
Matthias
33841da382
Slightly imporve Typing by reusing long/short type
2022-04-04 16:51:57 +02:00
Matthias
f8783c908e
Add side to custom_entry_price
2022-04-04 16:48:27 +02:00
Matthias
e894f620c2
Improve compatibility
2022-04-03 08:15:23 +02:00
Matthias
ec63cfd656
Add compatibility layer for backtesting results
2022-04-02 20:04:30 +02:00
Matthias
543aa74278
update sell_reason to exit_reason
2022-04-02 20:04:29 +02:00
Matthias
b0fab3ad50
Properly handle empty dataframes after trimming
...
closes #6629
2022-04-02 16:16:29 +02:00
Italo
9f171193ef
Revert "Merge branch 'plot_hyperopt_stats' into opt-ask-force-new-points"
...
This reverts commit 4eb9cc6e8b
, reversing
changes made to a3b401a762
.
2022-03-30 09:39:07 +01:00
Matthias
b91b7b4464
Fix hyperopt assigning sell_signal to wrong field
2022-03-30 07:16:48 +02:00
Matthias
e1ccbdb927
Merge pull request #6607 from freqtrade/short_pricing
...
Short pricing updates
2022-03-30 06:59:40 +02:00
Italo
4eb9cc6e8b
Merge branch 'plot_hyperopt_stats' into opt-ask-force-new-points
2022-03-30 00:30:33 +01:00
Italo
a3b401a762
highlight random points in hyperopt results table
2022-03-30 00:29:14 +01:00
Italo
229b0b037e
reduce search loops
2022-03-29 19:33:35 +01:00
adriance
d6082c33a7
fix type error
2022-03-28 21:29:50 +08:00
adriance
a0971a3e2c
fix using future data to fill when use timeout
2022-03-28 21:00:05 +08:00
Matthias
bcf326a035
Initial steps to change bid/ask pricing to enter/exit
2022-03-27 18:03:49 +02:00
Matthias
6f1b14c013
Update buy_timeout and sell_timeout methods
2022-03-25 19:57:06 +01:00
Matthias
743a7b7849
Merge branch 'develop' into feat/short
2022-03-25 10:04:18 +01:00
Matthias
a004bcf00f
Small refactor to backtesting
2022-03-25 08:03:32 +01:00
Matthias
dcfa3e8648
Update SellType to ExitType
2022-03-25 06:55:37 +01:00
Matthias
c07883b1f9
Move ExitCheckTuple to enums
2022-03-25 06:50:18 +01:00
Matthias
8d111d357a
Update SellCheckTuple to new naming
2022-03-25 06:46:29 +01:00
Matthias
d7f76ee452
Update confirm_trade_exit to use sell_reason terminology
2022-03-25 06:37:40 +01:00
Matthias
b1e3ead88b
Merge branch 'develop' into feat/short
2022-03-22 20:28:38 +01:00
Italo
b5a346a46d
Update hyperopt.py
2022-03-22 11:01:38 +00:00
Matthias
5b4f343d36
Update buy output for backtesting
2022-03-22 06:45:36 +01:00
Matthias
08777abd85
Update backtesting output terminology to "exit"
2022-03-22 06:43:37 +01:00
Italo
2733aa33b6
Update hyperopt.py
2022-03-22 00:28:11 +00:00
Italo
37a43019d6
fix
...
- clear cache before calling `ask`
- avoid errors in case asked_non_tried has less than n_points elements
2022-03-21 11:36:53 +00:00
Italo
fca93d8dfe
Update hyperopt.py
2022-03-20 16:12:06 +00:00
Italo
f8a674f24d
make robust in case all points have been tried
2022-03-20 16:08:38 +00:00
Italo
23f1a1904b
more compact
2022-03-20 16:06:41 +00:00
Italo
0fd269e4f0
typo
2022-03-20 16:03:07 +00:00
Italo
e16bb1b34e
Optimize only new points
...
Enforce points returned from `self.opt.ask` have not been already evaluated
2022-03-20 16:02:03 +00:00
Italo
112738d68d
Merge branch 'freqtrade:develop' into plot_hyperopt_stats
2022-03-20 15:42:53 +00:00
Italo
d796ce0935
Update hyperopt.py
...
1. Try to get points using `self.opt.ask` first
2. Discard the points that have already been evaluated
3. Retry using `self.opt.ask` up to 3 times
4. If still some points are missing in respect to `n_points`, random sample some points
5. Repeat until at least `n_points` points in the `asked_non_tried` list
6. Return a list with legth truncated at `n_points`
2022-03-20 15:41:14 +00:00
Matthias
95f69b905a
Remove ticker_interval support
2022-03-20 09:00:53 +01:00
Matthias
052758bbac
Refactor price and stake out of _enter_trade
2022-03-19 15:45:43 +01:00
Matthias
b292f28b35
Call leverage before custom_stake_amount to properly determine min-stake-amount
2022-03-19 15:44:37 +01:00
Matthias
d6309449cf
Fix short bug where close_rate is wrongly adjusted
2022-03-16 20:12:09 +01:00
Matthias
a89c1da19f
Fix 2 bugs in ROI calculation
2022-03-16 20:12:09 +01:00
froggleston
162e94455b
Add support for storing buy candle indicator rows in backtesting results
2022-03-16 12:16:24 +00:00
Matthias
7c9d2dd20a
Fix a few more short bugs in backtesting
2022-03-16 07:00:50 +01:00
adriance
ceba4d6e9b
Remove meaningless code
2022-03-15 14:03:06 +08:00
Matthias
cbbdf00ddd
Update comments in short backtest rates
2022-03-15 06:39:07 +01:00
adriance
fd211166f0
fixed side error
2022-03-15 12:23:59 +08:00
adriance
7059892304
Optimize the code. Fix stop_rate judgment error
2022-03-15 12:04:02 +08:00
adriance
31182c4d80
format
2022-03-14 18:38:44 +08:00
adriance
26a74220fd
remove buy filled logic
2022-03-14 13:43:42 +08:00
adriance
bea38a2e7c
remove filled date logic
2022-03-14 13:42:52 +08:00
adriance
3d9c55d519
restore set_isolated_liq
2022-03-14 11:29:26 +08:00
adriance
0fce0f64d1
Merge branch 'feat/short' into fs_fix
2022-03-13 14:41:22 +08:00
adriance
52bf926066
fix duplicate long
2022-03-13 12:26:57 +08:00
adriance
b5662d6547
Merge branch 'feat/short' into fs_fix
2022-03-12 16:50:27 +08:00
Matthias
efc313b28b
Merge pull request #6512 from freqtrade/short_order_types
...
Short order types renamal
2022-03-12 09:32:16 +01:00
Matthias
20fc9459f2
Add test for can_short strategy attribute
2022-03-11 19:37:45 +01:00
Italo
d2a5448305
Update hyperopt.py
2022-03-11 17:38:32 +00:00
adriance
499e9c3e98
fix duration
2022-03-10 00:34:59 +08:00
adriance
d579febfec
add filled time
2022-03-09 23:55:57 +08:00
adriance
1c86e69c34
use filled time calculate duration
2022-03-09 21:55:13 +08:00
adriance
82e0eca128
add short close rate calu
2022-03-09 20:00:06 +08:00
Matthias
e492bf3159
Update order_types to use entry/exit definition
2022-03-09 06:37:08 +01:00
dingzhoufeng
9facd5b52a
Merge branch 'feat/short' into fs_fix
2022-03-08 15:14:11 +08:00
dingzhoufeng
53ecdb931b
add leverage
2022-03-08 12:26:43 +08:00
Matthias
3ff261e22c
Update order time in force to use entry/exit wording
2022-03-07 19:55:15 +01:00
Matthias
f558d4b132
Merge pull request #6467 from samgermain/backtest-liq
...
Liquidation price in backtesting
2022-03-03 06:50:32 +01:00
Matthias
eb30c40e0c
Fix hyperopt for futures
2022-03-02 19:50:16 +01:00
Matthias
e8206bc751
Simplify backtesting enter_Trade
2022-02-28 20:10:23 +01:00
Matthias
1b07ad92cf
Merge branch 'feat/short' into pr/samgermain/6467
2022-02-28 20:07:19 +01:00
Matthias
79538368db
Simplify liquidation price calculation
2022-02-28 19:47:21 +01:00
Matthias
1d27cbd01f
Simplify leverage_prep interface
2022-02-28 19:34:10 +01:00
Matthias
8e2d3445a7
Move leverage_prep calculations to exchange class
2022-02-28 19:29:42 +01:00
Sam Germain
b103045a05
backtesting._enter_trade update liquidation price on increased position
2022-02-27 12:09:45 -06:00
Sam Germain
6fdcc714bf
backtesting margin_mode key fix
2022-02-27 11:59:27 -06:00
Matthias
1b6548c8d8
Don't modify leverage through DCA
2022-02-27 15:44:23 +01:00
Matthias
bcfa73d492
Add "nr_of_successfull_entries"
2022-02-27 15:44:23 +01:00
Sam Germain
8af2ea754f
add margin mode to backtesting
2022-02-26 14:11:21 -06:00
Sam Germain
6dbd249570
backtesting._enter_trade get liquidation_price and backtesting._leverage_prep
2022-02-26 13:55:01 -06:00
Italo
8d9d003671
Merge branch 'freqtrade:develop' into plot_hyperopt_stats
2022-02-25 17:58:57 +00:00
Matthias
fd936e26ae
Merge branch 'develop' into feat/short
2022-02-24 19:56:42 +01:00
Matthias
42df65d4ec
Make sure backtesting is cleaned up in tests
2022-02-24 14:22:49 +00:00
Matthias
8952829adc
Merge branch 'develop' into feat/short
2022-02-23 06:28:15 +01:00
Matthias
70f4305dfa
don't allow short trades in spot mode
2022-02-21 19:19:12 +01:00
Matthias
d610b6305d
Improve /balance output by removing trailing zeros
2022-02-19 16:40:30 +01:00
Sam Germain
a9eb8ce1bf
added todos back in
2022-02-16 05:47:41 -06:00
Italo
88459acbeb
Merge branch 'freqtrade:develop' into plot_hyperopt_stats
2022-02-15 19:10:49 +00:00
Matthias
64b98989d2
Update open candle ROI condition
2022-02-15 19:25:32 +01:00
Matthias
30f6dbfc40
Attempt fix for #6261
2022-02-14 20:02:38 +01:00
Sam Germain
19783e0d39
edited todos
2022-02-14 09:02:55 -06:00
Sam Germain
fc2d3649a1
edited todos
2022-02-12 16:23:14 -06:00
Matthias
0c6d92a7a6
Merge branch 'develop' into feat/short
2022-02-11 17:02:04 +01:00
Matthias
6a59103869
update wallets in backtesting to ensure a fresh wallet is used
...
closes #6388
2022-02-10 19:40:36 +01:00
Matthias
9f47853661
Merge pull request #6235 from freqtrade/backtest_order_timeout
...
Backtest order timeout
2022-02-09 07:12:35 +01:00
Matthias
dcf8ad36f9
Backtesting should not allow unrealistic (automatic-filling) orders.
2022-02-08 19:12:01 +01:00
Matthias
b192c82731
Only call "custom_exit_price" for limit orders
2022-02-08 07:10:54 +01:00
Matthias
036c2888b4
Track timedout entry/exit orders
2022-02-07 18:49:30 +01:00
zx
4bce64b427
commented method deletition
2022-02-07 14:12:07 +01:00
zx
7811a36ae9
max_drawdown_abs calc fix & .DS_Store deletition
2022-02-07 07:44:13 +01:00
zx
8cdb6e0774
DRAWDOWN_MULT back to a higher value as built-in for safer HOs first
2022-02-07 06:31:16 +01:00
zx
2893d0b50d
proper var name
2022-02-07 06:22:27 +01:00
zx
7d3b80fbde
isort fix and leftover cleaning
2022-02-06 21:09:40 +01:00
Italo
d03378b1df
Update hyperopt.py
2022-02-06 15:32:59 +00:00
zx
6b5f63d4d6
change profit_ratio by profit_abs
2022-02-06 16:28:01 +01:00
zx
0b01fcf047
Add ProfitDrawdownHyperoptLoss method
2022-02-06 15:40:54 +01:00
Matthias
644442e2f9
Track timedout orders
2022-02-06 13:37:31 +01:00
Matthias
17d748dd4c
Improve handling of left_open_trades
2022-02-06 13:19:00 +01:00
Italo
adf8f6b2d5
Update hyperopt.py
2022-02-06 10:33:49 +00:00
Italo
6c1729e20b
ignore warnings
2022-02-06 01:07:30 +00:00
Sam Germain
e0d42ad9a7
Update backtesting.py
2022-02-05 18:29:48 -06:00
Italo
6a4cae1f8c
Update hyperopt.py
2022-02-06 00:17:48 +00:00
Italo
992eac9efa
Update hyperopt.py
2022-02-05 17:36:19 +00:00
Matthias
9bf86bbe27
Extract backtesting row validation to separate function
2022-02-05 16:28:47 +01:00
Matthias
58fad72778
Update wallets when necessary
...
closes #6321
2022-02-05 16:28:47 +01:00
Matthias
4ea79a32e4
Use Order object for ft_timeout check
2022-02-05 16:28:47 +01:00
Matthias
1e603985c5
Extract backtesting order cancelling
2022-02-05 16:28:47 +01:00
Matthias
6637dacd7f
Extract protections in backtesting
2022-02-05 16:28:47 +01:00
Matthias
7ac44380f7
Extract backtest order closing to models class
2022-02-05 16:28:46 +01:00
Matthias
090554f197
Try fill backtest order imediately for adjusted order
2022-02-05 16:28:21 +01:00
Matthias
f4149ee462
Force ROI to be within candle
2022-02-05 16:28:21 +01:00