Commit Graph

1395 Commits

Author SHA1 Message Date
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
Matthias 3983368228 gateio futures is showing base currency in volume! 2022-08-17 14:51:48 +02:00
Matthias 83ca168bb8
Merge pull request #7216 from freqtrade/precise_calcs
Precise calcs
2022-08-17 14:32:02 +02:00
Matthias c615e1bc62 Avoid loop error during ccxt tests 2022-08-17 14:31:40 +02:00
Matthias 0b0e7eaf96 Mutex TTL Cache accesses which can be accessed by multiple threads
Apparently, cachetools is (intentionally) not threadsafe
when using the Caches directly.
It's therefore recommended to wrap these with an explicit lock to avoid
problems.

source: https://github.com/tkem/cachetools/issues/245

closes #7215
2022-08-16 19:48:21 +02:00
Matthias a1e4fbf313 Run price_to_precision for dry-run orders 2022-08-16 17:23:49 +02:00
Matthias 711b6b1a1a Merge branch 'develop' into precise_calcs 2022-08-16 09:29:39 +02:00
Matthias a5b438e41e Run price_to_precision for dry-run orders 2022-08-16 09:28:23 +02:00
Matthias e818797427 Minor fix in amount_to_precision logic 2022-08-15 20:29:05 +02:00
Matthias c0bdb71810 Update docstring 2022-08-15 20:06:29 +02:00
Matthias f2b6ff910f Accept wrong pair in get_precision_amount 2022-08-15 20:05:22 +02:00
Matthias e6af9a6903 Allow empty precisionMode on conversions 2022-08-15 20:00:15 +02:00
Matthias 22241c55d5 Add methods to get precision_amount from markets 2022-08-15 19:56:25 +02:00
Matthias 15e85797c2 Simplify to_precision tests and imports 2022-08-15 08:51:15 +02:00
Matthias 6c32331740 Move precision calculations to standalone functions 2022-08-15 08:43:58 +02:00
Matthias ed004236ce Add float initializer to FtPrecise 2022-08-10 11:54:07 +00:00
Matthias e7cb1b7375 Wrap Precise into FtPecise 2022-08-10 11:26:06 +00:00
Matthias 573964b19f Dry Market orders should update "remaining" 2022-08-10 07:12:56 +02:00
Matthias b5c5a95b64 FTX: Use conditionalOrders endpoint to get proper stop-market order id
closes #7165
2022-08-09 20:09:35 +02:00
Kavinkumar a4bada3ebe
Partial exit using average price (#6545)
Introduce Partial exits
2022-07-31 14:19:04 +02:00
Matthias bad15f077c Simplify fetch_positions by using already existing method 2022-07-30 17:49:06 +02:00
Matthias 4c68bec171 Fix problem in `is_cancel_order_result_suitable`
fixes #7119
2022-07-25 17:47:52 +02:00
Matthias 2eb1d18c2a Don't load leverage tiers when not necessary 2022-07-23 19:56:38 +02:00
Matthias 423af371c0 Simplify calculation by calling "get_fee" only once 2022-07-16 17:59:05 +02:00
Matthias 4172f92bfc simplify dry-run taker/maker selection 2022-07-16 17:25:13 +02:00
Matthias 8b2535a8da Update Typing for fees 2022-07-16 15:42:17 +02:00
Matthias 8d2e22f009 Merge branch 'develop' into pr/samgermain/6780 2022-07-16 15:35:00 +02:00
Matthias 004bf31142
Merge pull request #7093 from freqtrade/fix/gate_futures_stoposs
gateio futures - several fixes
2022-07-16 15:18:32 +02:00
Matthias 357000c478 Extract exchange validation to separate method 2022-07-16 13:45:26 +02:00
Matthias d03dfb3934 Oder cost is real cost (including leverage) 2022-07-16 13:14:21 +02:00
Matthias ed64e4299b Stoploss orders should also be eligible to update closed fees 2022-07-16 13:14:21 +02:00
Matthias 415780a4fe gateio order cost is not in contracts
closes #7081
2022-07-16 13:14:21 +02:00
Matthias 7b8a5585dd Fetch 2ndary stoploss order once the order triggered. 2022-07-16 13:14:21 +02:00
Matthias 7c4dd4c48c Support fee cost as string
closes #7056
2022-07-16 13:14:21 +02:00
Matthias 5c164efdb6 Also check for createLimitOrder as optionals 2022-07-11 16:09:12 +02:00
Matthias 6ac1aa15f5 Reenable ccxt order checks 2022-07-11 10:36:19 +02:00
Matthias 523d8a84a8 skip "supports market order" for now until CCXT fixes their assignemnt bugs. 2022-07-11 10:22:51 +02:00
Matthias 9313a2d294 Update leverage tiers to latest version 2022-07-10 10:11:39 +02:00
Matthias c98e7ea055 Revert allowing empty currency for futures 2022-07-09 08:57:15 +02:00
Matthias b7167ec880 Fix wrong fee calclulation for gateio futures 2022-07-09 08:51:59 +02:00
Matthias 5b733a723d use "fees" for trades responses 2022-07-09 08:51:28 +02:00
Matthias 81f7d77d74 Allow fee currency to be empty for futures 2022-07-09 08:51:28 +02:00
Matthias 2499276fca Refactor calculate_fee_rate to take separate parameters instead of an "Order"
we passed in a trade object anyway
2022-07-09 08:51:28 +02:00
Matthias b39508f64d remove loadMarkets from "required" section,
it's now implied that all ccxt exchanges provide this method.
2022-07-07 19:44:54 +02:00
Matthias dbc3376fe9 Add alias for gate to gateio 2022-07-06 07:12:13 +02:00
Matthias 2b07d34611 Revert several undesired changes 2022-06-23 20:47:51 +02:00
Matthias 8bf0bf10c5 Merge branch 'develop' into pr/SmartManoj/6859 2022-06-23 20:43:35 +02:00
Matthias 53e5483daa Store StopPrice for dry-run orders
closes #6996
2022-06-22 06:31:51 +02:00
Matthias 3a0f31fe89
Merge pull request #6914 from freqtrade/leverage_tiers_async
Leverage tiers async
2022-06-21 10:18:40 +02:00
Matthias 616bf315cb gateio: futures market orders require IOC to be set. 2022-06-17 23:02:39 +02:00
Matthias fda8248d41 Gateio allow market orders on futures markets 2022-06-17 22:43:24 +02:00
Matthias 8f32fa5cb3 Avoid exception on exchange recycling if __init__ fails 2022-06-15 20:13:07 +02:00
Matthias cce8d1aa4d Update get_market_leverage_tiers to be async 2022-05-31 08:48:34 +00:00
Matthias a875a7dc40 Use unified stopPrice for binance 2022-05-29 11:01:01 +02:00
Matthias 24cf044646 Fix bybit spot mode 2022-05-27 08:18:04 +00:00
Matthias 682daa4e94 Reset logging mixin to avoid random test failure 2022-05-26 18:05:40 +02:00
Matthias b2968df5dc Fix some type problems 2022-05-25 10:13:37 +00:00
Matthias 904f094b80 Don't reassign method, but implement it properly 2022-05-24 06:59:54 +02:00
Matthias 3f68c3b68e Update some types 2022-05-24 06:54:16 +02:00
Matthias 07ec3b27fe Add typing information to retrier decorator 2022-05-24 06:54:16 +02:00
Matthias eb5fe9e3ae
Merge pull request #6857 from froggleston/develop
Add support for fudging unavailable funding rates, allowing backtesti…
2022-05-23 06:31:51 +02:00
Matthias 1ff1e3b43d
Merge pull request #6869 from freqtrade/update_levtiers
Update leveraged tiers
2022-05-22 08:35:02 +02:00
Matthias 97abcf4b32 Add documentation for leverage_tiers update 2022-05-21 16:10:00 +02:00
Matthias 963cc17c18 Update leveraged tiers 2022-05-21 16:05:00 +02:00
Matthias 0d388b561b Add test for "combine_funding_and_mark", fix bug 2022-05-21 09:03:30 +02:00
Matthias 2df42a3035 Move "funding fillup" logic to exchange class 2022-05-21 08:50:39 +02:00
Matthias 6bd5535d6c Use exchange method to combine funding and mark candles 2022-05-21 08:31:34 +02:00
Matthias c3e3188c6a Rename variable 2022-05-20 11:30:25 +02:00
Matthias 0a95ef6ab2 Don't reset open orders in dry-run on restart 2022-05-19 06:42:38 +02:00
மனோஜ்குமார் பழனிச்சாமி 2b61aa282a Removed None in dict.get()
https://stackoverflow.com/a/12631641

Extra Changes: freqtrade\freqtradebot.py:70
freqtrade\plugins\pairlistmanager.py:31
2022-05-18 03:41:10 +05:30
Matthias 9607d04279 Improve ccxt imports 2022-05-16 19:22:07 +02:00
Matthias c8e0fc926d Update to do Builtin Precise math 2022-05-16 19:21:38 +02:00
Matthias a793cf8f05 Use ccxt's "precise" to do precise math 2022-05-16 19:21:38 +02:00
Matthias 528509f809 Extract get_price_side from get_rate 2022-05-16 19:20:13 +02:00
Matthias 706994340f Fix bad docstring 2022-05-15 17:06:40 +02:00
Matthias 9143e9ecb1 Add some safety measures for new startup_candles verification 2022-05-15 15:12:29 +02:00
Matthias d60d0f64d2 Revert ohlcv_candle_limit logic for okx 2022-05-14 19:35:06 +02:00
Matthias 116b58e97c add "date_minus_candles" method 2022-05-14 19:30:42 +02:00
Matthias 5767d652bf Add explicit test and document behavior 2022-05-14 14:18:51 +02:00
Matthias bb1b283d95 Update some ohlcv_candle_limit calls 2022-05-14 13:44:10 +02:00
Matthias 111b04c9e6 Okx - conditional candle-length 2022-05-14 09:51:44 +02:00
Matthias 64668b11da add ohlcv_has_history - disabling kraken downloads 2022-05-14 09:10:38 +02:00
Matthias c299601ece Add warning about OKX futures backtesting data 2022-05-13 07:03:18 +02:00
Matthias dc0c1bf87d Only fetch accounts when authenticated. 2022-05-07 13:17:27 +02:00