Commit Graph

1578 Commits

Author SHA1 Message Date
Matthias
9c6fee3841 Enable gate futures for spread-filter again
closes #8687
2023-05-31 17:14:22 +02:00
Matthias
1f543666f4 Improve test for reload-markets timings, fix bug
closes #8714
2023-05-31 11:46:31 +02:00
Matthias
b666c418bb Don't use variables for simple debug values 2023-05-29 17:33:11 +02:00
Matthias
af1dbf7dff Extract get_rate_from_ticker from get_rate method 2023-05-29 17:31:57 +02:00
Matthias
f074383d6a Extract orderbook logic into separate method 2023-05-29 17:24:04 +02:00
Matthias
b5ed693bee Extrac OKX convert stop order, call for regular orders, too 2023-05-24 20:15:36 +02:00
Matthias
6292d1af6d Use camelcase version of private fapi method
closes #8680
2023-05-23 19:07:58 +02:00
Matthias
85c14578e2
Merge pull request #8661 from freqtrade/feat/datetimehelpers
Add datetime helpers, reduce arrow usage to a minimum
2023-05-22 18:22:29 +02:00
Matthias
9d0f488de7 Some more edits due to arrow 2023-05-19 07:15:24 +02:00
Matthias
5d0cff2f76 Add dt_humanize helper 2023-05-18 07:07:22 +02:00
Matthias
7f73e99437 Simplify exchange_utils 2023-05-18 07:00:36 +02:00
Matthias
55ce58d79f Reduce some arrow usages in favor of dt helpers 2023-05-18 07:00:36 +02:00
Matthias
2477ef57f9 Reduce arrow usage throughout code 2023-05-18 07:00:36 +02:00
Matthias
b2a631e93a refactor remove_exchange_credentials 2023-05-15 07:22:40 +02:00
Matthias
fe36e77412 Split exchange_config before passing through the strategy 2023-05-15 07:22:40 +02:00
Matthias
7bba034efd
Merge pull request #8560 from freqtrade/feat/recoverTrades
Recover trades after selling on exchange
2023-05-13 16:35:08 +02:00
Matthias
0db1869356 Update cached binance leverage tiers 2023-05-13 16:22:04 +02:00
Matthias
dc4268b6e7 Convert Exchange arguments to be kw only 2023-05-13 16:17:26 +02:00
Matthias
b2a3fe6879 Improve remove credentials 2023-05-13 11:03:26 +02:00
Matthias
13974d2508 Reduce error severity when maintenance-ratio fails 2023-05-02 21:44:19 +02:00
Matthias
95b35e452d Emulate fetch_orders if it ain't supported natively 2023-04-25 17:13:02 +02:00
Matthias
d14f50f50d temporary comment fetch_orders logic 2023-04-25 16:19:14 +02:00
Matthias
531b5727f2 add fetch_orders exchange wrapper 2023-04-25 16:19:14 +02:00
Matthias
6a271317bc use stop_price_param for dry stops
closes #8555
2023-04-25 08:53:02 +02:00
Matthias
b49ff3d5bc Improve type safety 2023-04-24 14:27:56 +02:00
Matthias
5608aaca26 Simplify mocking 2023-04-24 14:27:56 +02:00
Matthias
caf524c685 Don't fail on leverage tier loading error
closes #8512
2023-04-18 18:01:12 +02:00
Matthias
14bca509da Cleanup some code 2023-04-17 19:55:58 +02:00
Matthias
b2ea464250 Handle individual exceptions when initializing leverage tiers
closes #8515
closes #8512
closes #8514
2023-04-17 19:52:19 +02:00
Matthias
d73e7f292a simplify Leverage tier code 2023-04-17 19:52:19 +02:00
Matthias
8aec71e27e Add bitvavo sublass to properly set ohlcv limit 2023-04-17 07:25:13 +02:00
Matthias
f6e93114e6 Update binance leverage tiers file 2023-04-16 08:35:17 +02:00
Matthias
6a0a33739b order cost should be with leverage, not leverage-cleared
closes #8495
2023-04-15 09:09:28 +02:00
Matthias
92a060c5b4 Make stop_price_parameter configurable by exchange 2023-04-03 20:18:57 +02:00
Matthias
a3acdd5240 apply stop-reserve to minimum limits only when necessary
it's unnecessary for amount - but necessary for Cost / price limits.
2023-04-03 06:37:31 +02:00
Matthias
e6a125719e Slightly refactor _get_stake_amount_limit 2023-04-03 06:37:31 +02:00
Matthias
78a1551798 Reorder get_stake_limit 2023-04-03 06:37:31 +02:00
Matthias
5e13b48648
Merge pull request #8386 from freqtrade/feature/price_to_precision_round
price to precision rounding
2023-03-31 07:20:10 +02:00
Matthias
2860e817bd Update cached binance leverage Tiers 2023-03-28 07:05:37 +02:00
Matthias
19b78fbc22 Override ccxt's marketOrderRequiresPrice settings for gate 2023-03-28 06:57:18 +02:00
Matthias
cde432fef0 Enable gate market orders
closes #8368
2023-03-28 06:56:11 +02:00
Matthias
fb1541bdf6 Explicitly close loop in async tests 2023-03-26 16:21:51 +02:00
Matthias
444d18aa39 Revert binance PO fix, since ccxt has fixed this bug. 2023-03-26 16:21:51 +02:00
Matthias
0cb28f3d82 Use kwarg for rounding_mode, update tests with additional parameter 2023-03-26 11:00:41 +02:00
Matthias
d0d0cbe1d1 Implement price_to_precision logic for stoploss 2023-03-26 10:37:18 +02:00
Matthias
02078456fc Merge branch 'develop' into pr/asuiu/8296 2023-03-26 10:28:02 +02:00
Matthias
01dfb1cba8 Revert having price_rounding_mode as configuration 2023-03-26 10:24:47 +02:00
Matthias
150c5510c7 Don''t fully fail bot when invalid price value is reached
closes #8300
2023-03-22 19:46:07 +01:00
Matthias
8cf3e9f91b Accept "insufficient funds" error on set_leverage from stop calls
closes #8341
2023-03-21 19:29:27 +01:00
Matthias
36c45fd14f Remove unused argument from set_leverage 2023-03-21 19:14:09 +01:00
Matthias
97c420b2df Add explicit test for okx lev_prep 2023-03-20 19:27:48 +01:00
Matthias
639987cbab Prevent parameter reuse 2023-03-20 18:19:17 +01:00
Matthias
4f4bfdac4d Adjustments to okx stoploss 2023-03-20 09:00:00 +01:00
Matthias
a7c7f720c0 Add test for okx fetch_stop 2023-03-19 20:03:34 +01:00
Matthias
224f289ec8 OKX Stop: Add some more okx specific logic 2023-03-19 19:45:30 +01:00
Matthias
d84ece7258 Use conditional orders for stop orders 2023-03-19 19:44:35 +01:00
Matthias
6c5dc7e0a9 OKX: improve stop order handling 2023-03-19 19:44:35 +01:00
Matthias
df20757d21 OKX stop: implement proper stoploss fetching 2023-03-19 19:44:35 +01:00
Matthias
a2ce288241 Add okx stoploss on exchange (non-working for futures). 2023-03-19 19:44:35 +01:00
Matthias
3d91dd8a98 Support post-only orders for Binance spot
closes #8044
2023-03-19 15:36:35 +01:00
Matthias
9ccc3e52ec Simplify time in force code structure 2023-03-19 15:30:27 +01:00
Matthias
487469680f Use correct exception type for ccxt.InvalidOrder 2023-03-13 20:13:12 +01:00
Matthias
8fd13933c3 Improve variable naming 2023-03-13 19:51:03 +01:00
Matthias
cf70deaf8d Disallow negative liquidation prices
part of #8300
2023-03-13 19:41:39 +01:00
Matthias
3d31eca365 Update Exception to contain more info
part of #8300
2023-03-13 19:40:52 +01:00
Matthias
0e663a5bf8 Refresh binance cached leverage tiers 2023-03-13 07:06:59 +01:00
Matthias
d3a3ddbc61 Check if exchang provides bid/ask via fetch_tickers - and fail with spread filter if it doesn't.
closes #8286
2023-03-09 19:42:43 +01:00
ASU
1132fa6093 feat: Added price_rounding modes in config 2023-03-09 02:11:31 +02:00
Matthias
60e651b481 Updat bybit ohlcv data to v5 2023-03-04 19:49:37 +01:00
Matthias
756c284ecd
Merge pull request #8225 from freqtrade/ruff2
Ruff - add PTH rule and subsequent changes
2023-03-01 20:27:06 +01:00
Matthias
5b0bc5bbc5 Don't "fix" dry-run kucoin orders
closes #8229
2023-02-26 16:17:41 +01:00
Matthias
d014e4590e use Path.open() instead of open 2023-02-25 17:15:54 +01:00
Matthias
c8a4a773ee Fix _pairs_last_refresh_time storing the wrong date
Depending on the drop_incomplete settings, this can lead to implicit bugs
2023-02-25 16:18:46 +01:00
Matthias
dc2cfee056 Don't request sorted candles from HitBTC.
Apparently hitBTC cannot properly handle this anymore.

closes #8214
2023-02-25 13:49:16 +01:00
Matthias
3471f5204b Don't reuse variable 2023-02-24 14:34:41 +01:00
Matthias
31c7b3e136 Update binance leverage tiers 2023-02-17 06:37:03 +01:00
Matthias
22700527ac Convert limit orders to market orders if they cross a threshold
closes #7786
2023-02-17 06:37:03 +01:00
Matthias
9600039686 Update dry-run fill method naming 2023-02-17 06:37:03 +01:00
Matthias
8ef110cc5f Rename ob variable to orderbook 2023-02-16 06:38:58 +01:00
Matthias
de7d274fcf Pass orderbook to dry-run fill logic 2023-02-16 06:38:58 +01:00
Matthias
7c10921564 Improve Orderbook typing to align for diff. exchanges 2023-02-16 06:38:58 +01:00
Matthias
ecff21ac21 type Orderbook 2023-02-15 07:01:36 +01:00
Matthias
3397e47ccf Rename stoploss() to create_stoploss() 2023-02-14 20:42:08 +01:00
Matthias
a3b4678ad6 stoploss_price_type for gate 2023-02-11 13:02:55 +01:00
Matthias
c229ba97a9 Update gateio terminology to Gate 2023-02-11 08:15:11 +01:00
Matthias
eab724fe54 Merge branch 'develop' into fut/stop_price_type 2023-02-09 20:02:59 +01:00
Matthias
102c1e799c realign binance set_leverage override 2023-02-08 07:08:42 +01:00
Matthias
997df2032e Add response_log for set_leverage 2023-02-08 07:08:42 +01:00
Matthias
5a61e076d7 Remove unused import 2023-02-07 19:19:59 +01:00
Matthias
953be8a7f8 Split validate_order_types to 2 functions to allow selective application 2023-02-07 18:00:44 +01:00
Matthias
8c0c2496c2 Temporarily disable gate advanced stop orders 2023-02-07 07:13:57 +01:00
Matthias
b8a527e4a0 Add gateio price type field 2023-02-05 10:46:24 +01:00
Matthias
2738c37845 Test stoploss validation ... 2023-02-05 10:38:58 +01:00
Matthias
c4fc811619 Add stop_price_type support (futures only!). 2023-02-05 10:38:58 +01:00
raphaelstar
36f95fb35d
Make test for None explicit
Make test for `None` explicit
2023-02-02 13:29:37 +01:00
Matthias
72a98943b1 bybit: Add correct funding_fee_timeframe 2023-02-01 06:58:45 +01:00
Matthias
680136f57d Add workaround patch for kucoin create_order returning empty
While the actual problem is caused by a ccxt change, the change itself makes sense.
once ccxt starts returning the correct status (open) for create-orders, we can remove the fix.

closes #8079
2023-01-31 20:46:34 +01:00
Matthias
fa033965c8 use "swap" for bybit 2023-01-27 19:34:29 +01:00
Matthias
1431f7cc3e Set position mode to one-way on startup 2023-01-26 19:54:35 +01:00
Matthias
73ef1d5191 Improve exception wording on binance 2023-01-26 19:53:14 +01:00
Matthias
c12fb1a49c bybit: Some final cleanup 2023-01-24 20:12:50 +01:00
Matthias
25fa6bee74 Override get_funding_fees for bybit 2023-01-24 07:21:56 +01:00
Matthias
3a83427f92 Add Bybit stoploss support 2023-01-24 07:21:56 +01:00
Matthias
c2b33a0f58 Fix set-leverage function sig 2023-01-24 07:21:56 +01:00
Matthias
7a18e96042 bybit: hot-fix funding fees (temporary - must be changed) 2023-01-24 07:21:56 +01:00
Matthias
f681ce9139 Allow margin and leverage setting failures
(this is important when an exchange "fails" a request if the setting didn't change).
2023-01-24 07:21:56 +01:00
Matthias
31745a9dc2 bybit: Initial implementation liquidation calculation 2023-01-24 07:21:56 +01:00
Matthias
752110a268 Add online tests for bybit 2023-01-24 07:21:56 +01:00
Matthias
34e7433844 Add leverage to dry-run liquidation price calculation 2023-01-24 07:21:56 +01:00
Matthias
3192af8df8 Limit bybit futures markets to USDT 2023-01-24 07:21:56 +01:00
Matthias
63c732a560 Bybit futures data download 2023-01-24 07:21:56 +01:00
Matthias
6c0fa0dc1f Fix typo in docstring 2023-01-24 07:21:43 +01:00
Matthias
8108a48f39 Follow PEP 484 - no implicit optionals 2023-01-21 20:01:56 +01:00
Matthias
6a4fc33c30 Remove <3.8 bandaid 2023-01-17 19:46:56 +01:00
Matthias
47b50a8a29 Udpate binance leverage tiers to new pair format 2023-01-13 20:32:25 +01:00
Matthias
5ad664aaca Update binance futures name to swap 2023-01-12 23:35:16 +01:00
Matthias
c7f485687f Fix ccxt test failure
as identified and analyzed https://github.com/ccxt/ccxt/issues/16335
2023-01-07 15:13:22 +01:00
Matthias
787d292ba0 Move "drop_candle" decision to coroutine 2023-01-05 22:31:32 +01:00
Matthias
bdf6537c60 Remove unused (and pointless) exchange method 2023-01-05 11:45:15 +01:00
Matthias
4bac66ff0e Type ohlcv coroutine 2023-01-05 11:33:47 +01:00
Matthias
75b0a3e63d Use dedicated type for OHLCV response 2023-01-05 11:30:15 +01:00
Matthias
cd7bd9bf9a Update gate liquidation price link 2022-12-31 10:25:21 +01:00
Matthias
6498e352c1 Remove pointless default 2022-12-31 10:23:39 +01:00
Matthias
798438df9d Extract funding-rate call to separate method
this will allow overwriting in subclasses.
2022-12-30 07:32:59 +01:00
Matthias
499cc5bae1 Better visualize downloaded candletype in debug mode 2022-12-30 07:15:24 +01:00
Matthias
ce13ce4b10 Update binance stoploss order types
closes #7927
an update to the most recent ccxt version (>2.4.55) would have the same effect.
2022-12-25 09:05:53 +01:00
Sam Germain
32d57f624e delisted bibox following ccxt PR https://github.com/ccxt/ccxt/pull/16067 2022-12-15 15:00:27 -05:00
Matthias
21d7406291 Temporary fix for kraken download
closes #7790
will be removed once the patch is in ccxt.
2022-11-27 15:16:43 +01:00
Matthias
ce213b55a2 Bybit fix candle limit 2022-11-26 13:58:22 +01:00
Matthias
b8d1862ca8 Update cached binance leverage tiers
closes #7794
2022-11-25 10:42:19 +01:00
Matthias
30b467906c Delist FTX, following ccxt's delisting. 2022-11-14 19:40:57 +01:00
Matthias
9e17eabd0a Improve Bybit configuration 2022-11-10 07:09:54 +01:00
Matthias
1d2b89bc13 Improve handling of get_fee to not allow impossible combinations 2022-11-06 09:16:03 +01:00
Matthias
352adaf127 Improve readability of is_time_to_refresh function 2022-10-29 19:45:46 +02:00
Matthias
c23a9475e6 Move exchange utilities into separate module 2022-10-29 09:29:17 +02:00
Matthias
54c7122cc3
Merge pull request #7647 from freqtrade/combine_stop
Combine stop logic
2022-10-28 19:38:40 +02:00
Matthias
9e0b39cddc Properly invert sign
fixes 98ba57ff
2022-10-27 06:56:33 +02:00
Matthias
255f38537e Simplify stoploss behavior by combining more commonalities 2022-10-26 07:14:33 +02:00
Matthias
6e0ca058f4 Update function-head for _get_stop_params 2022-10-26 07:12:49 +02:00
Matthias
cf6b75a3f3 Use combined stoploss_adjust where possible 2022-10-26 07:12:42 +02:00
Matthias
c36141594e Simplify "refresh" condition 2022-10-23 13:56:11 +02:00
Matthias
7192ed7be6 Fix bug with dataframe not being 0 indexed 2022-10-19 11:57:18 +02:00
Matthias
c8e103e4a4 Adjust typehints to match return value 2022-10-17 10:02:55 +00:00
Matthias
c2914feb12 Don't fail contract size repopulation if pair is no longer available 2022-10-17 09:55:18 +00:00
Matthias
39c27cfc37 Don't fail if fetchTickers is not availlable 2022-10-13 06:58:02 +00:00
Matthias
a6f6a17393 Type fetch_ticker 2022-10-11 21:42:48 +02:00
Matthias
52e9528361 Improve ticker type 2022-10-11 19:33:07 +00:00
Matthias
afaca2167c use Type Alias for Ticker result to improve keyerror resiliancy 2022-10-11 19:33:02 +00:00
Matthias
4623c3ec1d Improve test resiliance 2022-10-09 10:55:38 +02:00
Matthias
db1132bebd ensure required_candle_call_count is always set
closes #7552
2022-10-09 09:29:37 +02:00
Matthias
6e179c7699 Only store tick refresh time if we cache 2022-10-06 19:35:38 +02:00
Matthias
7c702dd106 Add cache eviction 2022-10-06 14:51:52 +00:00
Matthias
92a1d58df8 Evict cache if we didn't get new candles for X hours 2022-10-06 14:51:52 +00:00
Matthias
cea017e79f Age out old candles 2022-10-06 14:51:52 +00:00
Matthias
b7f26e4f96 Update some formatting issues 2022-10-06 14:51:52 +00:00
Matthias
02e238a944 Combine ohlcv data in exchange class for live mode 2022-10-06 14:51:52 +00:00
Matthias
c1d8ade2fa Improve supported exchange check by supporting exchange aliases 2022-10-04 19:28:57 +02:00
Matthias
68db0bc647 move check_exchange to exchange package 2022-10-04 18:25:23 +02:00
Matthias
bc6729f724 Improve readability of "now_is_time_to_refresh" 2022-10-04 06:56:10 +02:00
Matthias
7f475e37d7 refactor refresh_latest_ohlcv 2022-10-04 06:56:06 +02:00
Matthias
d0b8c8b1a0 improve invalid canceled order response handling 2022-10-02 08:45:41 +02:00
Matthias
9bb061073d Improve tests 2022-10-02 08:36:34 +02:00
Matthias
201bbbcee6 Okx formatting 2022-10-01 09:32:16 +02:00
Matthias
a96aa568bf Add binance futures mode checks
closes #7505
2022-10-01 09:23:41 +02:00
Matthias
545d652352 Update okx exception wording 2022-10-01 09:02:05 +02:00
Matthias
24c1d84982 Fix lineending 2022-09-27 09:26:52 +00:00
Matthias
bc007ce038 Update binance leverage tiers
closes #7485
2022-09-27 07:14:55 +02:00
Matthias
8d77ba118c Fix line endings 2022-09-24 16:15:15 +02:00
Matthias
4efe2e9bc4 use FtPrecise to convert to contracts and back 2022-09-24 14:55:58 +02:00
Matthias
08e183fb55 Add note about okx trading mode 2022-09-21 20:59:12 +02:00
Matthias
4a0a0c307c Use json_load to load leverage tiers 2022-09-19 07:23:26 +02:00
Matthias
667853c504 Use Alias to type config objects 2022-09-18 13:20:55 +02:00
Matthias
ca6dec3d4c Binance spot also allows market orders
closes #7426
2022-09-17 17:11:00 +02:00
Matthias
8639c1f23d Reduce complexity in binance stoploss handling 2022-09-17 17:11:00 +02:00
Matthias
4182a7891a Allow leverage tier cache to be 4 weeks old.
we've seen from binance that it's not changing this often.
2022-09-17 10:41:48 +02:00
Matthias
6682ae35b3 Update cached binance_leverage_tiers 2022-09-17 10:37:47 +02:00
Matthias
939fb7acb3 Fix enum imports 2022-09-09 20:31:30 +02:00
Matthias
39b6cadd14 Test keyerror case for funding_Fee calculation 2022-09-08 07:24:57 +02:00
Matthias
4e15611b05 Don't crash in case of funding fee fetch error 2022-09-08 07:18:38 +02:00
Matthias
f8e7ed5d7d Reduce shutdown verbosity of exchange 2022-09-07 19:28:42 +02:00
Matthias
95a33ab2e6 Add amount_to_contract helper in the exchange 2022-09-07 06:34:03 +02:00
Matthias
f3c73189d5 Remove pointless default on wallet_balance argument 2022-09-01 06:49:51 +02:00
Matthias
27a9f98d5f Simplify liquidation price structure, improve test cov 2022-08-29 07:04:48 +02:00
Matthias
226fa5d93c Simplify liquidation price calling structure 2022-08-29 07:04:48 +02:00
Matthias
c61b986c3d FTX - support time_in_force (and PO ordertype)
closes #7175
2022-08-27 10:30:38 +02:00
Matthias
104a73025d Uppercase TimeInForce (align with ccxt) 2022-08-27 10:30:06 +02:00
Matthias
01126c43f7 Fix liquidation price tier calculation
closes #7294
2022-08-26 20:14:24 +02:00
Matthias
753d1b2aad Update leverage tier terminology to be clear and aligned with ccxt 2022-08-26 19:34:51 +02:00
Matthias
6636f17e0f Simplify usage of amount_to_contract precision 2022-08-25 07:08:22 +02:00
Matthias
fe7108ae75 Convert amount to contracts before comparing for close
closes #7279
2022-08-23 06:37:38 +02:00
Matthias
6036018f35 Extract contracts_to_amount and amount_to_contracts to standalone functions 2022-08-23 06:37:38 +02:00
Matthias
5f38a574ce Add okx broker id 2022-08-23 06:37:38 +02:00
Matthias
015be770c3 ccxt now defaults to base volume for all markets 2022-08-22 06:42:14 +02:00
Matthias
f6d832c6d9 Add get_option to expose ft_has via method 2022-08-21 17:51:46 +02:00
Matthias
738e95b875 Add tests for leverage tiers caching 2022-08-20 13:54:54 +02:00
Matthias
b6e8b9df35 Use cached leverage tiers 2022-08-20 13:01:58 +02:00
Matthias
52ec0d1046 Update binance Leverage tiers 2022-08-20 11:53:15 +02:00
Matthias
85b43ec1a1 Remove double-check for "isolated margin" 2022-08-18 15:23:58 +02:00
Matthias
fde469a253 Remove unnecessary check 2022-08-18 14:53:44 +02:00
Matthias
075e9b8526 Log Exchange responses for set_leverage 2022-08-18 09:52:03 +02:00