Commit Graph

1129 Commits

Author SHA1 Message Date
Joe Schr
a7e4a5e2dc Removes clean_duplicate_trades 2024-02-12 12:11:52 +01:00
Joe Schr
71e36be34b Use get_historic_trades directly 2024-02-12 10:10:45 +01:00
Joe Schr
aab3c07b87 Use _max_trades_candle_limit directly 2024-02-12 10:10:36 +01:00
Joe Schr
e60b997fd0 Pass on missed argument stop_on_from_id 2024-02-12 09:38:49 +01:00
Joe Schr
e8714d52cd Removes nonsensical if gate 2024-02-12 09:31:37 +01:00
Matthias
d23079f837 improve tests slighly 2024-02-10 20:13:17 +01:00
Joe Schr
5b264d66e0 Ruff and flake fixes 2024-02-08 19:38:21 +01:00
Joe Schr
c40f3d91d4 Ruff fix 2024-02-08 19:06:43 +01:00
Joe Schr
1a0610f3e4 mypy fixes 2024-02-08 12:11:10 +01:00
Joe Schr
14fb29516a Removes unused code path 2024-02-08 11:56:57 +01:00
Joe Schr
0647ce59e7 Fix error if until is undefined 2024-02-08 11:06:15 +01:00
Joe Schr
2925a2a2fa Fix regression BaseException 2024-02-07 17:39:49 +01:00
Joe Schr
b8f92ecc52 Ruff fixes 2024-02-07 13:23:43 +01:00
Joe Schr
39ba6fe56b Ruff --fix 2024-02-07 12:48:15 +01:00
Joe Schr
b117f1b474 Fix superfluous changes 2024-02-07 12:30:50 +01:00
Joe Schr
f61c75ffcc Fix isort imports 2024-02-06 20:35:16 +01:00
Joe Schr
3ae5667684 Fix merge regression regarding _pairs_last_refresh_time 2024-02-06 20:23:10 +01:00
Joe Schr
c04cce52ea Fix unnecessary deep intend 2024-02-06 20:13:23 +01:00
TheJoeSchr
5487e02ba2
Merge branch 'develop' into feature/fetch-public-trades 2024-02-02 15:14:04 +01:00
Joe Schr
8337bf3c47 Fix typo 2024-02-02 15:12:05 +01:00
Joe Schr
6aaf5d6069 Explain why not using IDataHandler 2024-02-02 14:17:18 +01:00
Joe Schr
e405c42097 Copy trades dataframe directly instead of using deepcopy 2024-02-02 14:15:17 +01:00
Matthias
ad121c19b0 Allow <1m timeframes for utility modes 2024-02-02 06:57:12 +01:00
Joe Schr
2833169955 Merge remote-tracking branch 'upstream/develop' into feature/fetch-public-trades 2024-02-01 11:46:38 +01:00
Matthias
612ec38e57 Don't skip trades if the exchange doesn't do inclusive filtering 2024-01-21 16:50:49 +01:00
Matthias
c167575098 Move extracting trade pagination id to fetch_trades 2024-01-21 15:22:03 +01:00
Matthias
c333c9c5a1 Improve kraken trades pagination logic 2024-01-21 14:08:35 +01:00
Matthias
50287ce556 ensure funding_fee_timeframe is always set 2024-01-04 15:29:28 +01:00
Matthias
3c1bbd9610 Improve funding_fee_calc method structure 2024-01-04 15:23:15 +01:00
Matthias
22307913d8 Reduce caching to 5min to speed up UI refreshes in case of open orders. 2024-01-04 14:22:02 +01:00
Matthias
e722d81456 Fake order response should contain order_id 2024-01-02 09:24:00 +01:00
Matthias
10dbf47836 Improve exchange_response formatting 2024-01-02 08:53:13 +01:00
Matthias
a2160e4503 add exchange_response logging to funding_fee endpoint
help debug #9626
2024-01-01 19:33:21 +01:00
Joe Schr
18be79c906 Merge remote-tracking branch 'upstream/develop' into feature/fetch-public-trades 2023-12-18 10:34:20 +01:00
Matthias
5bbe6aacfd Remove Bittrex subclass 2023-12-18 07:15:24 +01:00
Matthias
8c5194d5e2 force-reload markets when BadSymbol appears
closes #9463
2023-11-25 15:05:56 +01:00
Matthias
67e81c9018 Fix wrong/faulty docstring 2023-11-25 13:10:45 +01:00
Matthias
e9f21d0209 Improve logging for #9460 2023-11-23 07:22:44 +01:00
Matthias
a044649eef Also have "badrequest" act as InvalidOrderException
causing an emergencyexit.

closes #9456
2023-11-23 06:51:29 +01:00
Matthias
f286cb0a90 Use BaseException in exception check 2023-11-13 18:14:18 +01:00
Joe Schr
6243c0e4bb exchange: fix import of clean_ohlcv_dataframe, raise exception when no trades received 2023-10-24 12:21:20 +02:00
Joe Schr
bb8ced525a exchange: re-add hardcoded required candle call count max 2023-10-24 12:20:01 +02:00
Joe Schr
8adf776218 fix imports for orderflow 2023-10-23 13:39:20 +02:00
Joe Schr
2c995977e8 exchange: fix last arrow use 2023-10-23 13:39:20 +02:00
Joe Schr
0c9df2ed61 exchange: removes duplicate _now_is_time_to_refresh_trades method 2023-10-23 11:17:42 +02:00
Joe Schr
d514d3aec1 fix docstring back 2023-10-23 10:58:24 +02:00
Joe Schr
d4890eade2 exchange: re-remove arrow use 2023-10-23 10:50:00 +02:00
Joe Schr
a81a3be8d6 Fix imports and handling of trade regarding changes from PR#9065 2023-10-23 10:16:59 +02:00
Matthias
a80c979482 Improve behavior when downloading trades data on time-based pagination
closes #9307
2023-10-18 20:26:51 +02:00
Matthias
1a78346cf1 Add further ebug log message for stopping clarity for --dl-data 2023-10-17 07:11:06 +02:00
Matthias
e6d0d53e47 Add further ebug log message for stopping clarity 2023-10-17 07:03:03 +02:00
Matthias
7344f20803 Handle funding_fee error in exchange class 2023-10-12 06:27:29 +02:00
Joe Schr
a9bd9b506b use fetch_trades' public trades to populate dataframe 2023-10-09 11:37:56 +02:00
Joe Schr
1530bb6a40 fix: unfinished trades data for last candle 2023-10-09 11:34:31 +02:00
Joe Schr
387a36e730 fix: fetches only every second OHLCV candle 2023-10-09 11:34:31 +02:00
Joe Schr
4abac1364a refactor(move function): refresh_latest_trades into dataprovider
needed here to be used for call before analyze
also removes need for internal exchange function checking if
public_trades is enabled
2023-10-09 11:34:30 +02:00
Joe Schr
0796bfadd5 optimize and fix issues with refresh_latest_trades
return types, timings and other issues
2023-10-09 11:34:30 +02:00
Joe Schr
070d28b6d8 Exchange: make required_candle_call_count configurable 2023-10-09 11:34:29 +02:00
Joe Schr
0f4e147035 use fetch_trades' public trades to populate dataframe 2023-10-09 11:34:29 +02:00
Matthias
19620470bd Improve funding fee cutof logic 2023-10-09 07:04:13 +02:00
Matthias
bc531cf846 Improve variable naming 2023-10-09 07:04:13 +02:00
Matthias
14908e52e2 Improv variable naming 2023-10-09 07:04:13 +02:00
Matthias
094984eb2f Fix wrong typehint 2023-10-07 15:09:44 +02:00
Matthias
d52d30cfbe invert setting-location for stopLossPrice
Slowly migrating to stopLossPrice in favor of stopPrice.
2023-09-28 19:33:59 +02:00
Matthias
927d1d2686 Split stop_price parameter from property 2023-09-26 06:34:10 +02:00
Matthias
4bca8b97f3 Don't allow empty order-type from exchange 2023-09-20 20:32:37 +02:00
Matthias
ddb0ae10b4 Ensure no None status is passed from "create_order" 2023-09-20 20:02:06 +02:00
Matthias
220bc3c23e Rename fetch_orders_emulate to make it non-protected 2023-09-16 17:56:16 +02:00
Matthias
421a6c02a0 Improve enum imports 2023-09-10 18:10:38 +02:00
Matthias
7a4276f6c7 Include pair in dry-run order names 2023-09-02 16:37:41 +02:00
Matthias
a87404b5a8 Reduce limit order cross threshold 2023-09-02 10:37:57 +02:00
Matthias
b5fa013600 Add pairs argument to fetch_orders 2023-08-31 08:05:07 +02:00
Matthias
02bd052e45 Improve naming of variable 2023-08-31 06:39:26 +02:00
Matthias
e5a88fdeda Fix stylistic issues 2023-08-24 20:06:51 +02:00
Matthias
9c4aca2b90 Improve download data debug output 2023-08-24 20:05:20 +02:00
Matthias
4c5f992670 Ensure signals don't break on windows 2023-08-20 16:09:12 +02:00
Matthias
b71a44f27c Enhance Keyboard interrupt handling for dl-trades (stores data it already downloaded). 2023-08-20 11:57:59 +02:00
Matthias
72bd4e816d Simplify code, no longer log "could not find rate"
closes #9031
2023-08-12 16:10:37 +02:00
Matthias
88d6f70abe Remove sandbox related code 2023-08-08 06:25:06 +02:00
Matthias
ea45349235 Completely remove "fee_cost_in_contracts" functionality 2023-07-20 19:51:45 +02:00
Matthias
75628403b0 Invert order_props_in_contracts logic - cost is almost never in contracts 2023-07-20 19:51:45 +02:00
Matthias
937734365f Improve typehint for markets 2023-06-17 18:04:41 +02:00
Matthias
5844756ba1 Add test and fix for stop-price == limit price
closes #8758
2023-06-11 17:20:35 +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
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
55ce58d79f Reduce some arrow usages in favor of dt helpers 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
dc4268b6e7 Convert Exchange arguments to be kw only 2023-05-13 16:17: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
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
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
19b78fbc22 Override ccxt's marketOrderRequiresPrice settings for gate 2023-03-28 06:57:18 +02:00
Matthias
fb1541bdf6 Explicitly close loop in async tests 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
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
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
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
3471f5204b Don't reuse variable 2023-02-24 14:34:41 +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
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
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
953be8a7f8 Split validate_order_types to 2 functions to allow selective application 2023-02-07 18:00:44 +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
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
34e7433844 Add leverage to dry-run liquidation price calculation 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
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
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
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
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
4efe2e9bc4 use FtPrecise to convert to contracts and back 2022-09-24 14:55:58 +02:00
Matthias
667853c504 Use Alias to type config objects 2022-09-18 13:20:55 +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
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
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