Commit Graph

1392 Commits

Author SHA1 Message Date
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
Matthias
ed65692257 add get_position exchange wrapper 2022-02-24 20:05:56 +01:00
Sam Germain
9f4f65e457 exchange.get_balances minor fix 2022-02-24 20:05:56 +01:00
Sam Germain
f336e7fc5b exchange.get_balances futures shorts taken out 2022-02-24 20:05:56 +01:00