Commit Graph

7999 Commits

Author SHA1 Message Date
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
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
Sam Germain
ba5fc21d84 added isolated futures to supported modes for binance,gateio 2022-01-31 12:15:54 -06:00
Sam Germain
e0df7ee72a Changed variable names in binance.get_max_leverage 2022-01-31 12:15:54 -06:00
Sam Germain
42360592ba trimmed down liquidation_price variable and edited comments 2022-01-31 12:15:54 -06:00
Sam Germain
5796d95a95 Added gateio and okex isolated liquidation formulas 2022-01-31 12:15:54 -06:00
Sam Germain
ba02605d77 Isolated liq branch passes all tests and has the general structure that it is supposed to, but is patchy, and doesnt get the correct maintenance amt and maintenance margin rate yet 2022-01-31 12:15:54 -06:00
Sam Germain
eee7271ab8 Added live isolated-liq get 2022-01-31 12:15:54 -06:00
Arunavo Ray
778e3bcba6 Suppress incompatible type "Optional[float]"; expected "float" as the check exists. 2022-01-31 12:15:54 -06:00
Sam Germain
92c94bb62a added position and wallet_balance to LocalTrade.set_isolated_liq 2022-01-31 12:15:54 -06:00
Arunavo Ray
447312d4c8 Fixed parameter check which failed when 0.0 was passed 2022-01-31 12:15:54 -06:00
Sam Germain
d26a068adf rearanged isolated_liq in models a bit 2022-01-31 12:15:54 -06:00
Arunavo Ray
3709130eb7 Added Tests for Binance Liquidation price, shortened liquidation param names 2022-01-31 12:15:54 -06:00
Arunavo Ray
f9a2d1a71d Binance Liquidation Price Hedge-Mode Removed 2022-01-31 12:15:54 -06:00
Arunavo Ray
7119dc6e41 Converted kwargs to params 2022-01-31 12:15:54 -06:00
Sam Germain
80f4bae3fe Revert "Added Formulas to Calculate Liquidation Price of Binance USDⓈ-M Futures Contracts"
This reverts commit d343e84507.
2022-01-31 12:15:54 -06:00
Sam Germain
b30458f871 Revert "Added Margin Mode Check for Binance."
This reverts commit abcb9729e5.
2022-01-31 12:15:54 -06:00
Arunavo Ray
1299cff894 Added Margin Mode Check for Binance. 2022-01-31 12:15:54 -06:00
Arunavo Ray
60454334d9 Added Formulas to Calculate Liquidation Price of Binance USDⓈ-M Futures Contracts 2022-01-31 12:15:54 -06:00
Sam Germain
fe5e00361e separated test_leverage into test_interest and test_liquidation_price, and paramaterized tests 2022-01-31 12:15:54 -06:00
Sam Germain
a087d03db9 Added liquidation_price function 2022-01-31 12:15:54 -06:00
Sam Germain
da0d2590b9 Removed PrecisionFilter liquidation price TODO-lev 2022-01-31 12:06:04 -06:00
Matthias
be866f04fa
Merge pull request #6330 from samgermain/market-checks
Removed unnecessary CCXT market checks
2022-01-31 19:01:59 +01:00
Sam Germain
689174ea0d removed TODO-lev comments 2022-01-31 04:12:37 -06:00
Sam Germain
29c5dfd4ca Removed unnecessary CCXT market checks 2022-01-31 02:40:10 -06:00
Matthias
cf7edace2b
Merge pull request #6312 from freqtrade/short_informative_decorator
Short informative decorator
2022-01-30 15:33:52 +01:00
Matthias
cafda31869
Merge pull request #6320 from stash86/pos_adjust
Change new-config message for max_open_trades input
2022-01-30 14:11:20 +01:00
Matthias
7aae9565c7 Only look at buy orders when looking to recalculate trade value 2022-01-30 14:08:42 +01:00
Stefano Ariestasia
da39ca6650 fix new-config 2022-01-30 21:19:05 +09:00
Matthias
000b8ff281
Merge pull request #6306 from freqtrade/short_forceentry
add `/forcelong` and `/forceshort` commands
2022-01-30 07:36:14 +01:00
Matthias
aea84dc117 Limit should default to None when calling pair_candles 2022-01-29 20:16:58 +01:00
Matthias
8a6823deb1 Convert InformativeData to dataclass 2022-01-29 19:59:54 +01:00
Stefano Ariestasia
326ba46bf8
Merge branch 'freqtrade:develop' into fix-docs 2022-01-29 23:20:41 +09:00
Matthias
ab932d8398 Properly detect default candle type 2022-01-29 14:31:58 +01:00
Matthias
d1d520769e Improve status table for position adjust
don't show "/max" if no maximum is set

closes #6317
2022-01-29 14:29:09 +01:00
Matthias
463714832d Merge branch 'develop' into feat/short 2022-01-29 14:19:30 +01:00
Matthias
e7409e74c2 Remove default from position_adjustment (otherwise strategy parameters won't work anymore) 2022-01-28 19:21:42 +01:00
Matthias
c620e38c7d Informative decorator updates for futures 2022-01-28 19:17:46 +01:00
Matthias
fb3c67d86b Accept that keys sometimes are not provided 2022-01-28 17:07:34 +01:00
Matthias
fdea4fcb1b Remove some todo's 2022-01-28 15:52:12 +01:00
Matthias
571ddceaf6
Merge pull request #6310 from Verbalinsurection/perso
Fix ETH duplicate in CoinGecko
2022-01-28 12:35:44 +01:00
Matthias
15d5389564 Update /health endpoint to be in local timezone 2022-01-28 10:33:35 +01:00
Verbalinsurection
660f474ab8 Fix ETH duplicate in CoinGecko 2022-01-28 10:26:31 +01:00
Matthias
5d0c2bcb44 Shift candles after pushing them to dataprovider
this will ensure that the signals are not shifted in callbacks
closes #6234
2022-01-28 07:25:10 +01:00
Matthias
138e867a68 Filter tickers on stake-currency for kraken 2022-01-28 07:20:47 +01:00
Stefano Ariestasia
bd1b991448
Merge branch 'freqtrade:develop' into fix-docs 2022-01-28 06:57:13 +09:00
Matthias
82e193d9f0
Merge pull request #6260 from stash86/pos_adjust
Add max_buy_position_adjustment as attribute
2022-01-27 20:13:51 +01:00