Commit Graph

8067 Commits

Author SHA1 Message Date
Sam Germain
8657e99c26 trimmed down get_maintenance_ratio_and_amt, now requires fetchLeverageTiers 2022-02-12 23:02:16 -06:00
Sam Germain
03b3756e4b strengthened and fixed leverage_tier tests 2022-02-12 23:02:16 -06:00
Sam Germain
4a1ed01708 get_maintenance_ratio_and_amt tests 2022-02-12 23:02:16 -06:00
Sam Germain
60a45ff394 exchange.get_max_leverage de-complex 2022-02-12 23:02:16 -06:00
Sam Germain
41ab20d949 get_max_leverage checks if the number of tiers is < 1 2022-02-12 23:02:15 -06:00
Sam Germain
fa2c9fc51f replaced mmr_key with unified maintenanceMarginRate 2022-02-12 23:02:15 -06:00
Sam Germain
e987e0e2a9 exchange minor fixes 2022-02-12 23:02:15 -06:00
Sam Germain
f3cb7e90e0 moved get_leverage_tiers_for_pair to be with other leverage_tier methods 2022-02-12 23:02:15 -06:00
Sam Germain
5f07546b86 moved leverage_tier caching to get_leverage_tiers_for_pair 2022-02-12 23:02:15 -06:00
Sam Germain
eb72e5cc42 Added some exchange leverage tier tests 2022-02-12 23:02:15 -06:00
Sam Germain
18b4d0be95 fixed error with exchange.fill_leverage_tiers 2022-02-12 23:02:14 -06:00
Sam Germain
41d8330fbc freqtrade.exchange edited load_leverage_tiers 2022-02-12 23:02:14 -06:00
Sam Germain
0b717fbace okex.load_leverage_tiers 2022-02-12 23:02:14 -06:00
Sam Germain
42e36f44f8 replaced "leverage" with "tiers" 2022-02-12 23:02:14 -06:00
Sam Germain
6b9915bc73 moved fill_leverage_brackets and get_max_leverage to base exchange class, wrote parse_leverage_tier and load_leverage_brackets 2022-02-12 23:02:14 -06:00
Sam Germain
a99cf2eeed redid get_max_leverage 2022-02-12 23:02:07 -06:00
Sam Germain
720a86778e okex.get_max_pair_stake_amount 2022-02-12 23:01:39 -06:00
Sam Germain
a5aba4813d moved get_maintenance_ratio_and_amt to base.exchange. Wrote get_leverage_tiers. Added mmr_key to exchange._ft_has 2022-02-12 23:01:30 -06:00
Sam Germain
fc2d3649a1 edited todos 2022-02-12 16:23:14 -06:00
Matthias
c769e9757d Improve "order refind" to also work for stoploss orders 2022-02-12 20:13:12 +01:00
Matthias
119d4d5204 select_order should use ft_order_side, not the exchange specific one 2022-02-12 17:06:03 +01:00
Matthias
ee5f05208e
Merge pull request #6394 from samgermain/todos
todo removal
2022-02-12 15:44:42 +01:00
Matthias
fad243e28d
Keep short edge support as regular TODO 2022-02-12 15:43:52 +01:00
Matthias
08803524bd align variable naming to use current_time 2022-02-12 15:21:46 +01:00
Sam Germain
ca993c83ea todo removal 2022-02-11 23:37:31 -06:00
Sam Germain
6ae85f9be1 fixed liq-buffer tests 2022-02-11 19:38:59 +01:00
Sam Germain
fb3a6e2ce8 added liquidation_buffer to constants.py 2022-02-11 19:38:59 +01:00
Sam Germain
3c3675ea1a moved liquidation_buffer to exchange class, add check for valid liquidation_buffer values 2022-02-11 19:38:59 +01:00
Sam Germain
e5d68f12d2 Added liquidation_buffer to freqtradebot 2022-02-11 19:38:58 +01:00
Matthias
d0adc4ee62
Merge pull request #6391 from lukasgor/lg/feat/add-buy-tag-to-forcebuy
feature: add buy tag to forcebuy
2022-02-11 19:37:46 +01:00
Matthias
c9cfc246f1 Sort /forcebuy pairs alphabetically, add cancel button
closes #6389
2022-02-11 19:37:35 +01:00
Matthias
0c6d92a7a6 Merge branch 'develop' into feat/short 2022-02-11 17:02:04 +01:00
lukasgor
6511b3bec2 fix: rename buy_tag to entry_tag 2022-02-11 15:31:15 +01:00
lukasgor
d563bfc3d0 feature: add buy tag to forcebuy 2022-02-11 13:38:33 +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
Sam Germain
553da850ce binance futures stoploss 2022-02-10 09:43:32 -06:00
Matthias
be84a028c1 Avoid mixed types in the api for /stats 2022-02-10 07:03:19 +01:00
Matthias
af984bdc0d Update comment regarting NaT replacement 2022-02-09 09:32:53 +01:00
Matthias
2e41d80a2c
Merge pull request #6340 from TheJoeSchr/frequi-datetime
freqUI: fix can't import backtest with missing datetime data
2022-02-09 07:21:30 +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
45c03f1440 Docstrings are evaluated, while comments are not 2022-02-09 07:02:44 +01:00
Matthias
4e2f06fe9c Simplify band-aid code 2022-02-09 06:48:26 +01:00
Matthias
6191288ff9 Add test for NaT problematic 2022-02-09 06:36:17 +01:00
Matthias
1d10d2c87c Okex -> okx 2022-02-08 19:45:39 +01:00
Matthias
172e018d2d Add probit to list of non-working exchanges
closes #6379
2022-02-08 19:21:27 +01:00
Matthias
dcf8ad36f9 Backtesting should not allow unrealistic (automatic-filling) orders. 2022-02-08 19:12:01 +01:00
Joe Schr
926b017981 Fix freqUI charts not displaying when dtype(datetime) column has NaT values
fix dataframe_to_dict() issues by replacing NaT empty string and
prepare for proper `.replace({NaT})` fix
2022-02-08 17:09:37 +01:00
Joe Schr
118ae8a3d0 Fix api_schemas/json_encoders by manually converting NaT values to empty Strings
makes import of datetime columns more robust by first checking
if value is null because strftime can't handle NaT values

use `isnull()` because it handles all NaN/None/NaT cases
2022-02-08 17:09:29 +01:00
Matthias
b192c82731 Only call "custom_exit_price" for limit orders 2022-02-08 07:10:54 +01:00
Matthias
535bbd681f
Merge pull request #6362 from ediziks/add-profit-drawdown-hypeloss
Add ProfitDrawdownHyperoptLoss method
2022-02-07 19:37:35 +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
Sam Germain
33b04b1992 deleted outdated todos 2022-02-07 02:47:18 -06: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
Stefano Ariestasia
099a03f190 flake8 2022-02-07 01:52:59 +00:00
Stefano Ariestasia
6d91a5ecbd Change "buy" and "sell" to "entry" and "exit" 2022-02-07 01:40:05 +00:00
zx
7d3b80fbde isort fix and leftover cleaning 2022-02-06 21:09:40 +01:00
Matthias
fe33b86308
Merge pull request #6360 from stash86/pos_adjust
Hide some lines for /status when a trade is closed
2022-02-06 17:08:37 +01:00
zx
6b5f63d4d6 change profit_ratio by profit_abs 2022-02-06 16:28:01 +01:00
Matthias
5eb5029856 Performancefilter - improve sorting
Ordering of Pairs without history should remain identical, so pairs with
positive performance move to the front, and negative pairs move to the back.

closes #4893
2022-02-06 16:19:11 +01:00
zx
0b01fcf047 Add ProfitDrawdownHyperoptLoss method 2022-02-06 15:40:54 +01:00
Matthias
303b12efd8
Merge pull request #6273 from freqtrade/pg_migrations
Update database migrations for PG and mariadb
2022-02-06 14:39:02 +01:00
Matthias
da73e754b4 Explicit map coingecko symbol to ID for bnb and sol
closes #6361
2022-02-06 14:20:09 +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
Stefano Ariestasia
2a3ab1ef61 1 more line to be hidden 2022-02-06 07:08:27 +00:00
Stefano Ariestasia
4cf514e293 fix flake8 2022-02-06 03:16:56 +00:00
Stefano Ariestasia
131b2d68d8 reduce complexity (flake8) 2022-02-06 03:04:23 +00:00
Stefano Ariestasia
0477070faa hide some lines if trade is closed 2022-02-06 02:49:02 +00:00
Stefano Ariestasia
c4a54cc9cd refinement of status 2022-02-06 02:31:14 +00:00
Stefano Ariestasia
cfaf13c90f update 2022-02-06 02:21:16 +00:00
Sam Germain
e0d42ad9a7
Update backtesting.py 2022-02-05 18:29:48 -06:00
Matthias
808cefe526 Update order_selection logic 2022-02-05 16:28:47 +01: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
Matthias
44e616c264 Add unfilledtimeout to required props for backtesting 2022-02-05 16:28:21 +01:00
Matthias
49cecf1cb2 Small cosmetic fix 2022-02-05 16:28:21 +01:00
Rokas Kupstys
9140679bf4 Backtest order timeout continued. 2022-02-05 16:28:21 +01:00
Rokas Kupstys
15698dd1ca Fix errors so it runs, implement timeout handling. 2022-02-05 16:28:21 +01:00
Matthias
f7a1cabe23 Add first version to fill orders "later" in backtesting 2022-02-05 16:28:21 +01:00
Matthias
c12e5a3b6c Initial idea backtesting order timeout 2022-02-05 16:28:21 +01:00
Matthias
6ed237a72a
Merge pull request #6272 from stash86/fix-docs
Add more info on Telegram's status message
2022-02-05 16:22:45 +01:00
Sam Germain
8b57827676 exchange.get_max_pair_stake_amount hard set leverage to 0 2022-02-04 14:26:15 -06:00
Joe Schr
761f7fdefb fix: linter 2022-02-04 13:14:55 +01:00
Joe Schr
e84a58de28 fix: don't use different configuration keys, just add as 2nd argument 2022-02-04 12:47:13 +01:00
Joe Schr
a3e045f69d Plotting: add alias --backtest-filename for --export-filename
makes it easier to discover how to use this argument
2022-02-04 12:47:13 +01:00
Sam Germain
dc6cb445fd Merge branch 'feat/short' into max-amount 2022-02-04 04:42:38 -06:00
Sam Germain
1824ee6b73 removed TODO 2022-02-04 04:41:41 -06:00
Sam Germain
e7d71d01c0 removed plotting todo 2022-02-03 20:39:47 -06:00
Sam Germain
3ee2b7978c wallets.validate_stake_amount added param max_stake_available 2022-02-03 20:33:16 -06:00
Sam Germain
30c476e3c1 freqtradebot.get_valid_enter_price_and_stake gets min of stake_amount and max_stake_amount before calling wallets.validate_stake_amount 2022-02-03 20:33:16 -06:00
Sam Germain
a50f4d2c57 Exchange.createOrder added * as second param 2022-02-03 20:33:16 -06:00
Sam Germain
16c2d54482 updated margin_modes 2022-02-03 20:33:16 -06:00
Sam Germain
7465037906 freqtradebot.execute_entry test for too high stake amount 2022-02-03 20:33:16 -06:00
Sam Germain
8c680d75b9 moved max_stake_amount check for None to exchange.get_max_pair_stake_amount 2022-02-03 20:33:16 -06:00
Sam Germain
6b6b35ac1c check for max stake limit in freqtradebot and backtesting 2022-02-03 20:33:04 -06:00
Sam Germain
55d91f018f exchange._get_stake_amount_limit (merged min_pair_stake_amount and get_max_tradeable amount) 2022-02-03 20:33:04 -06:00
Sam Germain
ff5fffefb4 exchange.get_max_amount_tradable looks at cost also 2022-02-03 20:33:03 -06:00
Sam Germain
6e8420914e removed unnecessary CCXT checks in exchange.get_min_pair_stake_amount 2022-02-03 20:33:03 -06:00
Sam Germain
64ad810445 Revert "moved get_max_leverage to get_min_pair_stake_amount"
This reverts commit 90e48d5b98bcfb1452aa818a3274745eac395712.
2022-02-03 20:33:03 -06:00
Sam Germain
73319a74d3 moved get_max_leverage to get_min_pair_stake_amount 2022-02-03 20:33:03 -06:00
Sam Germain
f3b42b0ef3 wrote exchange.get_max_amount_tradable 2022-02-03 20:33:03 -06:00
Sam Germain
de557f1386 models.update removed TODO-lev 2022-02-03 17:48:34 -06:00
Sam Germain
99b8a8ca79 Revert "plot.generate_candlestick_graph Added short equivelent, separating plotting scatter creation to a function"
This reverts commit 0abba7f9b7299ba3c45df6a2ba6e35ad6a19c5a0.
2022-02-03 17:48:34 -06:00
Sam Germain
84dea0339b Added todo to freqtradebot._safe_exit_amount 2022-02-03 17:48:34 -06:00
Sam Germain
edc0e9c75f backtesting._get_ohlcv_as_lists changed candle_type to candle_type_def 2022-02-03 17:48:34 -06:00
Sam Germain
1f74cfe841 plot.generate_candlestick_graph Added short equivelent, separating plotting scatter creation to a function 2022-02-03 17:48:34 -06:00
Sam Germain
a31cf236e4 freqtradebot._safe_exit_amount, no _safe_exit_amount is needed for futures 2022-02-03 17:48:34 -06:00
Sam Germain
d5376c2c89 wrote freqtradebot.test_leverage_prep 2022-02-03 17:48:33 -06:00
Sam Germain
977f87659c edited backtesting._get_sell_trade_entry TODO: removed "Other fees" 2022-02-03 17:48:33 -06:00
Sam Germain
73d10b5c02 backtesting._get_ohlcv_as_lists removed # TODO-lev: Candle-type should be conditional, either "spot" or futures 2022-02-03 17:48:33 -06:00
Sam Germain
64bfa118e0 freqtradebot.handle_cancel_enter todo - Check edge cases, we dont want to make leverage > 1.0 if we dont have to 2022-02-03 17:48:33 -06:00
Sam Germain
bc6614df2d fixed failing tests in tests/commands/test_commands.py by adding NONE='' option to MarginMode 2022-02-03 17:48:33 -06:00
Sam Germain
f58b92bb86 exchange.create_order removed default for leverage 2022-02-03 17:48:08 -06:00
Matthias
f8faf748df Simplify prepare_buy_details 2022-02-03 19:47:03 +01:00
Matthias
1e6362debf Add test for new /status telegram message 2022-02-03 19:41:45 +01:00
Matthias
29879bb415 Update wording to entry/exit 2022-02-03 19:11:35 +01:00
Matthias
a733a74dd9
Merge pull request #6294 from xataxxx/health
/health api and telegram commands to return last processing time
2022-02-02 19:53:45 +01:00
Matthias
a4e1aaa9bd
Merge pull request #6307 from freqtrade/bt_shift
Remove shift in analyzed dataframe columns
2022-02-02 19:52:10 +01:00
Sam Germain
179947fa72
New config (#6333)
* updated new-config to add trading_mode and margin_mode

* added trading_mode and margin_mode to config examples

* added okex config example

* new file:   config_examples/config_binance_futures.example.json

* removed trading_mode and margin_mode from base_config and binance and okex example

* deleted okex and futures config files

* updated full config file

* updated new-config command to add trading_mode and margin_mode to config

* new file:   config_examples/config_okex_futures.example.json

* removed config_okex_futures.example.json

* added trading_mode to test_start_new_config

* new-config asks exchange before asking futures

* Simplify trading_mode selection

* margin_mode is empty string for spot new configs

* build_config_commands sorted exchanges

* isort

Co-authored-by: Matthias <xmatthias@outlook.com>
2022-02-02 14:46:44 +01:00
Matthias
0058abcc2d Fix crash when no min-stake-amount could be determined 2022-02-02 12:20:05 +01:00
Sam Germain
a741356d65 okex._lev_prep, removing rounding from default set_leverage 2022-02-02 00:28:57 -06:00
Sam Germain
8e51360f75 exchange._set_leverage rounds leverage 2022-02-02 00:09:58 -06:00
Sam Germain
8a64f6a27f exchange.set_margin_mode param swap 2022-02-02 00:09:53 -06:00
Sam Germain
386be2d889 set reduceOnly for futures exit orders 2022-02-02 00:08:50 -06:00
Sam Germain
b3477c4802 _api.fetch_funding_history argument pair->symbol 2022-02-02 00:08:50 -06:00
Matthias
ac04d5852a change to margin_mode also in documentation 2022-02-02 06:41:42 +01:00
Sam Germain
30519aa3be Changed name Collateral -> MarginMode, collateral -> margin_mode, and _supported_trading_mode_margin_pairs -> _supported_trading_margin_pairs 2022-02-01 13:05:40 -06:00
Matthias
64d0c75bbb Fix deprecation warnings 2022-02-01 19:11:51 +01:00
Matthias
45e533fc3e Add leverage/short properties to api responses 2022-02-01 07:08:43 +01:00
Matthias
7dd50f78cf Small finetuning improving a comment 2022-02-01 06:37:13 +01:00
Sam Germain
fc15e14707 Merge branch 'feat/short' into isolated-liq 2022-01-31 14:22:01 -06:00
Sam Germain
ed320bb2ac exchange.get_liquidation_price check length of positions 2022-01-31 14:01:06 -06:00
Sam Germain
9de63412c1 exchange.get_liquidation_price arguments are not optional 2022-01-31 14:00:52 -06:00
Sam Germain
430051275a freqtradebot.leverage_prep moved wallet_balance to a variable 2022-01-31 13:21:27 -06:00
Sam Germain
8190b0d83b binance.get_max_leverage adjustment 2022-01-31 12:49:18 -06:00
Sam Germain
a368f8b322 exchange.get_max_leverage changed variable names, made more effecient 2022-01-31 12:21:12 -06:00
Sam Germain
08e4a4a6dd binance.get_max_leverage_fix 2022-01-31 12:21:12 -06:00
Sam Germain
43db4c34d1 added okex back to unsupported exchanges 2022-01-31 12:18:30 -06:00
Sam Germain
2c1497b348 contracts_to_amount no longer in amount_to_precision 2022-01-31 12:18:30 -06:00
Sam Germain
b8f4cebce7 exchange.liquidation_price methods combined, dry_run check on exchange for liquidation price 2022-01-31 12:18:25 -06:00
Sam Germain
143c37d36f cleaned up liquidation price methods 2022-01-31 12:17:07 -06:00