Commit Graph

7944 Commits

Author SHA1 Message Date
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
Sam Germain
ede9012fcc removed TODO-levs about okex liquidation price 2022-01-31 12:17:07 -06:00
Sam Germain
d133a7c789 added isolated, futures to okex trading_mode_collateral_pairs 2022-01-31 12:17:07 -06:00
Sam Germain
88ce66650c Okex and Gateio liquidation_price formula are the same, moved liquidation_price to exchange.exchange class 2022-01-31 12:17:07 -06:00
Sam Germain
7f4894d68e okex.liquidation_price formula update 2022-01-31 12:17:07 -06:00
Sam Germain
fe037aa971 exchange.liquidation_price combined position and position_assets 2022-01-31 12:17:07 -06:00
Sam Germain
0b5c2e97b3 exchange._get_maintenance_ratio_and_amount 2022-01-31 12:17:07 -06:00
Sam Germain
0c13e387fe moved liquidation_price method to exchange classes 2022-01-31 12:16:43 -06:00
Sam Germain
5a97760bd1 binance.get_max_leverage divide by 0 warning 2022-01-31 12:16:43 -06:00
Sam Germain
1f8111d1c6 exchange.get_max_leverage pair is required 2022-01-31 12:16:43 -06:00
Sam Germain
caff7e227f binance.fill_leverage_brackets remove excess bracket 2022-01-31 12:16:43 -06:00
Sam Germain
e4b37c6462 freqtradebot.leverage_prep minor fixes 2022-01-31 12:16:43 -06:00
Sam Germain
1f1ac8ce9d test_get_liquidation_price/test_get_maintenance_ratio_and_amt_binance/fill_leverage_brackets/test_validate_trading_mode_and_collateral TODO comments 2022-01-31 12:16:43 -06:00
Sam Germain
c2f9201512 Added get_liquidation_price check 2022-01-31 12:16:43 -06:00
Sam Germain
bb2b2211d0 exchange.fill_leverage_brackets/get_maintenance_ratio_and_amt docstring and type specification 2022-01-31 12:16:43 -06:00
Sam Germain
b4a0611afc exchange.get_liquidation_price removed irrelevant comment 2022-01-31 12:16:43 -06:00
Sam Germain
0c8205ab3b replace single quote docstrings with double quote docstrings 2022-01-31 12:16:43 -06:00
Sam Germain
7abffee755 liquidation_price formula organize and comment clean up 2022-01-31 12:16:43 -06:00
Sam Germain
387a9fbf36 test_execute_entry liquidation_price test test_get_maintenance_ratio_and_amt_gateio 2022-01-31 12:16:38 -06:00
Sam Germain
2d545a2def fixed breaking tests for liquidation price 2022-01-31 12:15:54 -06:00
Sam Germain
1eee5373b9 gateio.get_maintenance_ratio_and_amt 2022-01-31 12:15:54 -06:00
Sam Germain
8889512887 freqtradebot.leverage_prep gets taker_fee_rate 2022-01-31 12:15:54 -06:00
Sam Germain
bff53c52af rewrite fill_leverage_brackets 2022-01-31 12:15:54 -06:00
Sam Germain
69a6223ca0 implemented binance.get_maintenance_ratio_and_amt 2022-01-31 12:15:54 -06:00