Commit Graph

1395 Commits

Author SHA1 Message Date
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
Matthias 149704e748 Fix wrong type 2022-05-07 11:39:47 +02:00
Matthias 6fdcf3a10a Support both position modes on OKX 2022-05-07 10:58:41 +02:00
Matthias 2da284b921 Properly type side for create_order 2022-05-07 10:02:54 +02:00
Sam Germain e8803477df exchange/exchange add param taker_or_maker to add_dry_order_fee 2022-05-03 23:56:40 -06:00
Matthias eb996a152a Fix fee handling for futures trades 2022-05-03 19:06:17 +02:00
Matthias 11d447cd5a Add support for download-data "until" 2022-04-30 15:42:41 +02:00
Matthias cb5c3316d1 Simplify log output 2022-04-28 19:43:52 +02:00
Matthias e0d86307cb
Merge pull request #6732 from freqtrade/remove_duplicate_liqprice_call
Don't call interest_rate and isolated_liq twice
2022-04-28 07:38:32 +02:00
Matthias ca49821df0 Fix race condition for loop 2022-04-28 06:29:14 +02:00
Matthias 46855221aa Fix rounding issue with contract-sized pairs for dry-run orders 2022-04-27 19:58:19 +02:00
Matthias 7b02114ad2 Restrict trading pairs with too low precision
closes #6606
2022-04-25 09:49:51 +02:00
Matthias 86b3aac9ba Fix FTX not fetching the very latest data 2022-04-25 08:38:02 +02:00
Sam Germain 591a2fb7fc switch notionalFloor -> minNotional and notionalCap -> maxNotional 2022-04-16 21:47:44 -06:00
kokimame d23d830346 Avoid ignoring the case precision amount = 0 2022-04-15 00:35:11 +09:00
Matthias baefda80d1 Enable flake8 E226 rule 2022-04-11 18:02:06 +02:00
Matthias 8e98a2ff9f api - provide assset_currency via API 2022-04-09 16:42:18 +02:00
Matthias 33841da382 Slightly imporve Typing by reusing long/short type 2022-04-04 16:51:57 +02:00
Matthias 39d925c295 Change to precise casing instead of .lower() 2022-04-02 19:48:01 +02:00
மனோஜ்குமார் பழனிச்சாமி 40b4a9977e
checking exchange name with lower 2022-04-02 11:23:06 +05:30
Matthias 2d914c8e13 Simplify formatting in exchange class 2022-03-30 20:02:56 +02:00
Matthias dafc2bf361 Merge branch 'develop' into feat/short 2022-03-30 07:09:41 +02:00
Jason Risch 6b57be35e9
Update kucoin candle limit 2022-03-29 07:23:45 -07:00
Matthias 2d740230f7 price_last_balance renaming 2022-03-28 19:53:55 +02:00
Matthias d7c6520268 Update remaining tests 2022-03-28 19:30:14 +02:00
Matthias 440967e483 Update some tests 2022-03-28 19:17:22 +02:00
Matthias f70166270d Update pricing to use entry/exit pricing 2022-03-28 07:07:46 +02:00
Matthias bcf326a035 Initial steps to change bid/ask pricing to enter/exit 2022-03-27 18:03:49 +02:00
Matthias d244391860 no need to "abs" cost will be fixed in ccxt 2022-03-26 19:06:37 +01:00
Matthias f509959bd4 Update 2022-03-26 16:26:31 +01:00
Matthias f5578aba48 Update trading_fee naming 2022-03-26 15:16:04 +01:00
Matthias 9a8c24ddf3 Update gateio to patch fees 2022-03-26 15:04:17 +01:00
Matthias 33229c91cb Add fetch_trading_fees endpoint 2022-03-26 13:53:36 +01:00
Matthias 78fe29cc2d
Merge pull request #6588 from samgermain/contracts
Add amount_to_contracts and order_contracts_to_amount to exchange.stoploss
2022-03-25 19:18:01 +01:00
Matthias 46f4227329 Check if symbol is not None 2022-03-25 18:11:02 +01:00
Matthias f8e87e45a5
Merge pull request #6576 from samgermain/funding-tests
funding_fee tests
2022-03-25 15:11:45 +01:00
Sam Germain 054b637001 Add amount_to_contracts and order_contracts_to_amount to stoploss 2022-03-25 06:56:05 -06:00
Matthias 83f6401820 Add additional endpoints to "has_optional" dict as comments 2022-03-23 19:56:29 +01:00
Matthias 08a55d4f6d Extract supported Exchanges to exchange.common 2022-03-23 19:51:44 +01:00
Matthias 7d02e81857 Remove impossible TODO 2022-03-23 19:40:40 +01:00
Matthias 14f9d712dc Simplify okx lev_prep 2022-03-23 06:49:17 +01:00
Matthias 5791d0a394 Align kraken._get_params with okex 2022-03-23 06:49:07 +01:00
Matthias 2c89da6bf7 Update code to properly behave when rounding open_date for funding fees 2022-03-21 19:38:27 +01:00
Matthias 7d8ca63752
Merge pull request #6550 from freqtrade/short_tickerproblems
Short tickerproblems
2022-03-19 15:43:40 +01:00
Matthias 9f34f824af Fix hyperopt when using futures markets 2022-03-19 13:20:14 +01:00
Matthias 97c1316bf1 Add new validation to validate excludes 2022-03-18 19:26:54 +01:00
Matthias d32153c8d3 Validate pricing configuration 2022-03-18 17:07:12 +01:00
Matthias 2791e799ee Rename tickers_has_quoteVolume 2022-03-18 16:49:37 +01:00
Matthias 1de5d2fb94 Remove unnecessary condition 2022-03-18 16:44:27 +01:00
Matthias 0c63c0bbb3 Update Gateio stoploss adjust 2022-03-18 10:41:38 +01:00
Matthias f37038fb7d Fix gateio stoploss_adjust header 2022-03-18 10:35:00 +01:00
Matthias 7868e50141 Merge branch 'develop' into feat/short 2022-03-18 08:18:17 +01:00
Matthias 208a139d2b Incorporate fetch_bids_asks to allow binance spread filter to work
closes #6474
2022-03-18 07:08:16 +01:00
Matthias 1299a703e2 Implement fix for okx futures not having quoteVolume 2022-03-17 20:15:51 +01:00
Matthias b6a6aa48c9 Create separate _ft_has_futures dict 2022-03-17 20:05:05 +01:00
Matthias 96bf82dbc6 Remove gateio broker program 2022-03-17 17:06:10 +01:00
Matthias d5f0c6c78d Exclude alternative candletypes from timeframe check 2022-03-13 16:16:48 +01:00
Matthias cfa9458bcc Merge branch 'develop' into feat/short 2022-03-13 15:38:12 +01:00
Sam Germain 843606c9cb gateio stoploss adjust 2022-03-12 20:14:23 -06:00
Sam Germain 7e7e596372 Revert "moved binance.stoploss_adjust to exchange class"
This reverts commit 6bb93bdc25.
2022-03-12 20:07:50 -06:00
Sam Germain bf5afbcdbd Merge branch 'develop' into gateio-stoploss 2022-03-12 19:50:46 -06:00
Matthias f343036e66 Add stoploss-ordertypes mapping for gateio 2022-03-12 19:23:20 +01:00
Matthias 11c76c3c89 Check if timeframe is available before calling exchange
closes #6517
2022-03-11 18:01:30 +01:00
Sam Germain 6bb93bdc25 moved binance.stoploss_adjust to exchange class 2022-03-09 15:47:16 -06:00
Sam Germain d47274066e Added stoploss_on_exchange flag to gateio 2022-03-09 01:05:21 -06:00
Sam Germain e3ced55f5c gateio.fetch_order and gateio.cancel_order 2022-03-09 00:45:50 -06:00
Sam Germain 61182f849b exchange.fetch_order and exchange.cancel_order added params argument 2022-03-09 00:45:10 -06:00
Matthias 76e5d5b232 Fix stake-amount handling for dry-run 2022-03-05 15:53:40 +01:00
Matthias 2b1a8f2fbb Update binance stoploss to use correct stop order for futures 2022-03-05 13:57:54 +01:00
Matthias cee126a2cf extract stop_limit-rate calculation 2022-03-04 07:10:14 +01:00
Matthias 62dcebee46 Update stoploss method to new functionality 2022-03-04 07:07:34 +01:00
Matthias 0622654bcf Give tests a chance to pass 2022-03-04 06:50:42 +01:00
Sam Germain 488da9b875 Merge branch 'develop' into feat/short 2022-03-03 13:51:52 -06:00
Matthias f558d4b132
Merge pull request #6467 from samgermain/backtest-liq
Liquidation price in backtesting
2022-03-03 06:50:32 +01:00
Sam Germain dfb72d8a2f gateio market orders futures 2022-03-02 21:37:53 -06:00
Matthias 736a930152 Update small things 2022-03-01 19:23:14 +01:00
Matthias c745f5828c Update comments to clarify it's supposed to be a "offline" call 2022-02-28 20:05:14 +01:00
Matthias 79538368db Simplify liquidation price calculation 2022-02-28 19:47:21 +01:00
Matthias ab46476e63 Rename get_liquidation method 2022-02-28 19:42:26 +01:00
Matthias 8e2d3445a7 Move leverage_prep calculations to exchange class 2022-02-28 19:29:42 +01:00
Matthias 68bc2a6107 Add huobi to ccxt compat tests 2022-02-28 07:00:52 +01:00
Matthias 92ad353169 Fix OKX exception 2022-02-26 20:13:24 +01:00
Sam Germain fbcd260bf6 flake8 import issues 2022-02-26 09:05:51 -06:00
Sam Germain f5ea7827e0 removed gateio.get_max_leverage and gateio.get_maint_ratio_and_amt 2022-02-26 09:05:51 -06:00
Sam Germain 6cd01c45d5 exchange.get_leverage_tiers and exchange.get_market_leverage_tiers 2022-02-26 09:05:51 -06:00
Sam Germain c7e87e86e2 added exception handlers to fetch_market_leverage_tiers 2022-02-26 09:05:51 -06:00
Sam Germain b61cfada6d moved okex.load_leverage_tiers to new method 2022-02-26 09:05:51 -06:00
Matthias 41316abb55 Sort supported exchanges alphabetically 2022-02-26 14:57:17 +01:00
Matthias 14d49e85af Update Huobi stoploss to shared method 2022-02-26 14:57:13 +01:00
Matthias a1f2f6ddeb Updates required for huobi datadownload 2022-02-26 10:33:37 +01:00
Matthias f3421dfa9f Use unified stopPrice argument 2022-02-26 10:33:37 +01:00
Matthias 292c350885 Add stoploss support for huobi 2022-02-26 10:33:36 +01:00
Matthias 2ec1a7b370 Add huobi exchange class 2022-02-26 10:33:11 +01:00
Matthias 3942b30ebf Add kraken TODO 2022-02-26 08:34:23 +01:00
Matthias 6caa5f7131 Update dry-run behaviour 2022-02-26 08:25:42 +01:00
Matthias 0749199097 Add stoploss tests for kucoin 2022-02-26 08:25:42 +01:00
Matthias 768b526c38 Add kucoin stoploss on exchange 2022-02-26 08:25:42 +01:00
Matthias 7ba92086c9 Make stoploss method more flexible 2022-02-26 08:25:42 +01:00
Matthias ea197b79ca Add some more logic to stoploss 2022-02-26 08:25:42 +01:00
Matthias 1d57ce19eb Move stoploss -limit implemenentation to exchange class, as this seems to be used by multiple exchanges. 2022-02-26 08:25:42 +01:00
Matthias 9901decf0d Rename get_positions to fetch_positions to align with ccxt naming 2022-02-24 20:05:56 +01:00