Commit Graph

736 Commits

Author SHA1 Message Date
Sam Germain
8e51360f75 exchange._set_leverage rounds leverage 2022-02-02 00:09:58 -06:00
Sam Germain
8a64f6a27f exchange.set_margin_mode param swap 2022-02-02 00:09:53 -06:00
Sam Germain
386be2d889 set reduceOnly for futures exit orders 2022-02-02 00:08:50 -06:00
Sam Germain
b3477c4802 _api.fetch_funding_history argument pair->symbol 2022-02-02 00:08:50 -06:00
Sam Germain
30519aa3be Changed name Collateral -> MarginMode, collateral -> margin_mode, and _supported_trading_mode_margin_pairs -> _supported_trading_margin_pairs 2022-02-01 13:05:40 -06:00
Matthias
7dd50f78cf Small finetuning improving a comment 2022-02-01 06:37:13 +01:00
Sam Germain
fc15e14707 Merge branch 'feat/short' into isolated-liq 2022-01-31 14:22:01 -06:00
Sam Germain
ed320bb2ac exchange.get_liquidation_price check length of positions 2022-01-31 14:01:06 -06:00
Sam Germain
9de63412c1 exchange.get_liquidation_price arguments are not optional 2022-01-31 14:00:52 -06:00
Sam Germain
a368f8b322 exchange.get_max_leverage changed variable names, made more effecient 2022-01-31 12:21:12 -06:00
Sam Germain
2c1497b348 contracts_to_amount no longer in amount_to_precision 2022-01-31 12:18:30 -06:00
Sam Germain
b8f4cebce7 exchange.liquidation_price methods combined, dry_run check on exchange for liquidation price 2022-01-31 12:18:25 -06:00
Sam Germain
143c37d36f cleaned up liquidation price methods 2022-01-31 12:17:07 -06:00
Sam Germain
88ce66650c Okex and Gateio liquidation_price formula are the same, moved liquidation_price to exchange.exchange class 2022-01-31 12:17:07 -06:00
Sam Germain
7f4894d68e okex.liquidation_price formula update 2022-01-31 12:17:07 -06:00
Sam Germain
fe037aa971 exchange.liquidation_price combined position and position_assets 2022-01-31 12:17:07 -06:00
Sam Germain
0b5c2e97b3 exchange._get_maintenance_ratio_and_amount 2022-01-31 12:17:07 -06:00
Sam Germain
0c13e387fe moved liquidation_price method to exchange classes 2022-01-31 12:16:43 -06:00
Sam Germain
1f8111d1c6 exchange.get_max_leverage pair is required 2022-01-31 12:16:43 -06:00
Sam Germain
c2f9201512 Added get_liquidation_price check 2022-01-31 12:16:43 -06:00
Sam Germain
bb2b2211d0 exchange.fill_leverage_brackets/get_maintenance_ratio_and_amt docstring and type specification 2022-01-31 12:16:43 -06:00
Sam Germain
b4a0611afc exchange.get_liquidation_price removed irrelevant comment 2022-01-31 12:16:43 -06:00
Sam Germain
0c8205ab3b replace single quote docstrings with double quote docstrings 2022-01-31 12:16:43 -06:00
Sam Germain
2d545a2def fixed breaking tests for liquidation price 2022-01-31 12:15:54 -06:00
Sam Germain
69a6223ca0 implemented binance.get_maintenance_ratio_and_amt 2022-01-31 12:15:54 -06:00
Sam Germain
ba02605d77 Isolated liq branch passes all tests and has the general structure that it is supposed to, but is patchy, and doesnt get the correct maintenance amt and maintenance margin rate yet 2022-01-31 12:15:54 -06:00
Sam Germain
eee7271ab8 Added live isolated-liq get 2022-01-31 12:15:54 -06:00
Sam Germain
29c5dfd4ca Removed unnecessary CCXT market checks 2022-01-31 02:40:10 -06:00
Matthias
463714832d Merge branch 'develop' into feat/short 2022-01-29 14:19:30 +01:00
Matthias
fdea4fcb1b Remove some todo's 2022-01-28 15:52:12 +01:00
Matthias
138e867a68 Filter tickers on stake-currency for kraken 2022-01-28 07:20:47 +01:00
Matthias
108018b30b
Merge pull request #6231 from freqtrade/funding_rate_backtest
Funding rate backtest
2022-01-27 17:01:28 +01:00
Matthias
f7be93aaa6 leverage limits can be None, so we need to check for that 2022-01-25 06:30:03 +01:00
Matthias
a0c0c4dcbe Update funding_fee formula to correctly calculate fees for long trades 2022-01-22 19:46:10 +01:00
Matthias
82c90c0049 Extract funding and mark mergin to separate method 2022-01-22 19:45:46 +01:00
Matthias
84c6d92d4c calculate_funding_fees is actually a public exchange interface (used in backtesting). 2022-01-22 19:45:46 +01:00
Matthias
c6c97efed3 Remove unused method _get_funding_fee 2022-01-22 19:44:20 +01:00
Matthias
ef3a1ea8f2 Split funding fee calculation from Download 2022-01-22 19:44:20 +01:00
Matthias
f090dcc597 Merge branch 'develop' into feat/short 2022-01-22 17:56:01 +01:00
Matthias
56daafd6b7 Use realistic date for dry-run orders 2022-01-22 16:31:59 +01:00
Matthias
6684bff963 Dry-run orders should have filled set correctly 2022-01-15 15:25:16 +01:00
Matthias
46809f08fe Merge branch 'develop' into feat/short 2022-01-07 10:13:16 +01:00
Matthias
326e3d1f8e Selectively convert quote to base volume in volumepairlist 2022-01-06 19:07:43 +01:00
Matthias
431fcdd76f contractSize is a string comming from ccxt 2022-01-06 13:53:27 +01:00
Matthias
33d95d245e Fix unbounderror
closes #6169
2022-01-06 08:48:30 +01:00
Matthias
d8cb61278f Simplify contract conversion code
by reusing "get_contract_size"
2022-01-03 18:12:45 +01:00
Matthias
7f88f9bf27 Revert unintended double-call of amount conversion 2022-01-02 13:11:29 +01:00
Sam Germain
14ae327459 grouped contract methods 2022-01-01 14:08:10 -06:00
Sam Germain
3e4912979a exchange.py: removed get funding rate history 2022-01-01 14:03:26 -06:00
Sam Germain
fcded264e6 removed exchange._get_mark_price_history 2022-01-01 13:53:26 -06:00
Sam Germain
f92d47a16b exchange._contracts_to_amount and exchange._amount_to_contracts safe checks 2022-01-01 13:52:06 -06:00
Matthias
8da596f66d Implement PR feedback 2022-01-01 13:52:01 -06:00
Sam Germain
49a6ebb454 exchange class contract methods safe check for symbol 2022-01-01 13:50:50 -06:00
Sam Germain
78d1a267f0 contract-sizes tests 2022-01-01 13:50:50 -06:00
Sam Germain
d0a300a2e1 Added TODOs 2022-01-01 13:50:49 -06:00
Sam Germain
4f6203e45f Added conversions from contract size to amount for objects returned from api 2022-01-01 13:50:43 -06:00
Sam Germain
e10ceb2362 Amount to precision has _amount_to_contract_size in it 2022-01-01 13:49:09 -06:00
Sam Germain
ee63f12236 Revert "Removed leverage param from get_min_pair_stake_amount"
This reverts commit 096588550ca1de5e5edf63cf7214af037d7bc93b.
2022-01-01 13:49:09 -06:00
Sam Germain
2df5993812 _contract_size_to_amount only impacts limits.amount and not limits.cost, put _get_stake_amount_considering_leverage back in 2022-01-01 13:49:09 -06:00
Sam Germain
ef6ad0e6d7 Removed leverage param from get_min_pair_stake_amount 2022-01-01 13:49:09 -06:00
Sam Germain
3f75531105 added methods _contract_size_to_amount and _amount_to_contract_size, added _amount_to_contract_size to create_order, added contract_size_to_amount to get_min_leverage 2022-01-01 13:49:09 -06:00
Matthias
ddfbe55e7c Merge branch 'develop' into feat/short 2022-01-01 19:16:49 +01:00
Matthias
0277d93a64 don't use deprecated asyncio.get_event_loop() 2021-12-31 17:27:42 +01:00
Matthias
39f8c5719b Fix exception on exchange shutdown 2021-12-31 11:24:56 +01:00
Wade Dyck
60dfadf446 Don't attempt to calculate funding fees when the initial timeframe hasn't been exceeded. 2021-12-27 16:51:47 -07:00
Matthias
2917cc1f2e Bitpanda's "fetch_my_trades" requires "to" argument
closes #4938
2021-12-25 14:28:22 +01:00
Matthias
a557451eee Okex uses 4h mark candle timeframe 2021-12-19 16:47:44 +01:00
Matthias
ddce28c12d Update data downloading to include funding_fee downloads 2021-12-18 15:32:02 +01:00
Matthias
e729fad99c Add unknown_fee_rate parameter 2021-12-11 15:26:08 +01:00
Matthias
17bd990053 Update funding_fee freqtradebot test 2021-12-11 09:49:48 +01:00
Matthias
6948414e47 Remove no longer necessary method _get_mark_price_history 2021-12-10 19:54:49 +01:00
Matthias
a87d2d62bb Remove no longer needed method get_funding_rate_history 2021-12-10 19:52:02 +01:00
Matthias
aabca85a5f Update _calculate_funding_fees to reuse existing async infrastructure 2021-12-10 19:50:58 +01:00
Matthias
35f9549e98 Expose drop_incomplete from refresh_latest_ohlcv 2021-12-10 07:36:25 +01:00
Matthias
9b9d61c6d6 Remove SPOT_ candletype 2021-12-08 14:38:09 +01:00
Matthias
a80c3f6a1b Use exchange-dependant timeframe/candletype to get mark/index candles 2021-12-05 10:01:44 +01:00
Matthias
5b779fd68b Update missing candle_type params 2021-12-03 16:44:05 +01:00
Matthias
bead867940 Improve some typehints 2021-12-03 15:08:00 +01:00
Matthias
69f371bf63 Update download-data to download necessary data for futures 2021-12-03 14:43:49 +01:00
Matthias
2f17fa2765 Update more to use candleType 2021-12-03 14:15:35 +01:00
Matthias
fae7167bf3 Merge branch 'feat/short' into pr/samgermain/5780 2021-12-02 20:25:30 +01:00
Matthias
fb1599d21b Merge branch 'develop' into feat/short 2021-12-02 20:20:35 +01:00
Matthias
d3ad4fb52e Don't crash dry-run if orderbook side is empty
closes #6018
2021-12-02 19:17:47 +01:00
Matthias
f4d0abc51a Merge branch 'feat/short' into pr/samgermain/5780 2021-12-02 07:09:37 +01:00
Matthias
67f3570bf3 Merge branch 'develop' into feat/short 2021-12-01 07:21:36 +01:00
Matthias
f0abe218a2 Batch ohlcv requests to not overwelm ccxt's async throttler
closes #6003
2021-11-30 07:10:12 +01:00
Matthias
231b1e2f57 Improve Async error message content 2021-11-30 07:10:12 +01:00
Matthias
409a801763 Fix caching problem in refresh_ohlcv
closes #5978
2021-11-27 19:31:39 +01:00
Matthias
107e124f60 Fix bug in exchange causing candles not to download 2021-11-27 17:00:06 +01:00
Sam Germain
8761649fd7 Added candle_type in doc strings 2021-11-27 02:55:42 -06:00
Matthias
51e54a666c Merge branch 'feat/short' into pr/samgermain/5780 2021-11-23 19:01:07 +01:00
Matthias
db16098981 Fix Tests 2021-11-23 17:43:37 +01:00
Sam Germain
70751b942c market_is_future fix 2021-11-23 01:50:23 -06:00
Sam Germain
920151934a Added candle_type to a lot of methods, wrote some tests 2021-11-21 17:48:14 -06:00
Sam Germain
e2f98a8dab replaced candle_type: Optional[str] = '' with candle_type: str = '' 2021-11-21 17:48:14 -06:00
Sam Germain
12060a2d2c fixed error with fetch_ohlcv candndle_type 2021-11-21 17:48:14 -06:00
Sam Germain
a657707ca3 Added timedelta to exchange 2021-11-21 17:48:14 -06:00
Sam Germain
3d95533bf9 Removed candletype from converter methods 2021-11-21 17:48:14 -06:00
Sam Germain
ee2ad8ca97 updated historic data filenames to include the candle type 2021-11-21 17:48:14 -06:00
Sam Germain
c8162479d6 Added price as param to fetch_ohlcv 2021-11-21 17:48:14 -06:00
Matthias
f40221dd9f Merge branch 'develop' into feat/short 2021-11-18 20:20:01 +01:00
Matthias
8638e6fe47 Simplify tradingmode parsing 2021-11-18 19:58:44 +01:00
Matthias
75eccea88d Improve futures detection, add ccxt-compat test 2021-11-15 19:57:36 +01:00
Matthias
4e9b83e170 Merge branch 'feat/short' into futures_pairlist 2021-11-15 19:12:36 +01:00
Matthias
1b058d882d Simplify date rounding logic 2021-11-14 19:55:56 +01:00
Sam Germain
e7fad04eb9 Merge branch 'feat/short' into funding-fee-dry-run 2021-11-14 03:15:22 -06:00
Sam Germain
3d86b18492 Added property _ft_has_default.ccxt_futures_name and removed subclass ccxt_config properties 2021-11-13 16:23:58 -06:00
Sam Germain
3c509a1f9b New method for combining all funding fees within a time period 2021-11-13 04:45:23 -06:00
Matthias
8d4163d003 Add compat tests 2021-11-12 07:26:59 +01:00
Sam Germain
c8c2d89893 exchange.get_funding_fees returns 0 by default 2021-11-11 19:10:56 -06:00
Sam Germain
9a65f486ed updated exchangeError messages regarding fetch_funding_rate_history 2021-11-11 18:33:46 -06:00
Matthias
76ced8acf6 Add some documentation to class 2021-11-11 20:34:52 +01:00
Sam Germain
b87f8e7034 Removed unnecessary todo comments 2021-11-10 00:59:53 -06:00
Sam Germain
e713f5188f Merge branch 'funding-fee-dry-run' of https://github.com/samgermain/freqtrade into funding-fee-dry-run 2021-11-09 14:45:50 -06:00
Sam Germain
45e4354906 Merge branch 'feat/short' into funding-fee-dry-run 2021-11-09 14:45:10 -06:00
Matthias
4a67b33cb3 Fix some formatting 2021-11-09 19:40:42 +01:00
Matthias
e69a100c64 Merge branch 'feat/short' into pr/samgermain/5779 2021-11-09 19:34:57 +01:00
Matthias
d5438ed0a8 Fix docstring indents 2021-11-09 19:22:29 +01:00
Sam Germain
fbe9e73c5d better param for funding_fee_cutoff 2021-11-09 01:17:29 -06:00
Sam Germain
6c8501dadc Removed docstring indents 2021-11-09 01:00:57 -06:00
Sam Germain
01229ad631 updated exchange.get_funding_fee_dates with better names 2021-11-08 01:58:23 -06:00
Sam Germain
bea37e5ea3 moved dry run check for funding fees to exchange 2021-11-08 01:58:09 -06:00
Matthias
de4bc7204d Update documentation to clarify new behaviour 2021-11-07 15:36:43 +01:00
Matthias
a08dd17bc1 Use startup_candle-count to determine call count 2021-11-07 13:10:40 +01:00
Matthias
9fa64c2647 Allow multiple calls to get more candles in live-run 2021-11-07 11:31:59 +01:00
Matthias
fb6ba62158 Add default to "is_new_pair" 2021-11-07 11:08:30 +01:00
Matthias
6cc3f65a83 Add --trading-mode parameter 2021-11-07 10:52:20 +01:00
Matthias
0dd9a277d3 improve market_is_tradable tests 2021-11-07 10:43:00 +01:00
Matthias
3fac5c5bcd Update list-markets to work for futures/margin as well 2021-11-07 10:43:00 +01:00
Sam Germain
252e45ebf2 Merge branch 'feat/short' into funding-fee-dry-run 2021-11-06 22:46:00 -06:00
Sam Germain
0c2501e11b Safer keys for funding_rate and mark_price dictionaries, based on rounding down the hour 2021-11-06 22:31:38 -06:00
Sam Germain
8bfcf4ee09 Fixed breaking exchange tests from _get_funding_fee_dates, and commented out kraken get_funding_fees tests 2021-11-06 22:05:38 -06:00
Sam Germain
b88482b2e9 Fixed millisecond timestamp issue errors with funding fees 2021-11-06 21:45:35 -06:00
Sam Germain
f795288d90 Fixed timestamp/datetime issues for mark price, funding rate and _get_funding_fee_dates 2021-11-06 20:48:03 -06:00
Sam Germain
6e912c1053 Updated _get_funding_fee method names, added kraken._get_funding_fee 2021-11-06 17:39:21 -06:00
Matthias
ebc38159b8 Merge branch 'develop' into feat/short 2021-11-06 15:24:52 +01:00
Sam Germain
cb97c6f388 Updated time to utc in test_update_funding_fees, some funding rate key errors because a timestamp is likely not in utc 2021-11-06 05:56:58 -06:00
Sam Germain
8a4236198f Added test_update_funding_fees in freqtradebot, test currently fails 2021-11-03 22:52:37 -06:00
Matthias
437e5f0645 Fix officially supported exchange list 2021-11-03 19:20:39 +01:00
Sam Germain
3de42da29a All funding fee test_exchange tests pass 2021-11-01 07:52:40 -06:00
Sam Germain
ba95172d07 Finished test_calculate_funding_fees 2021-11-01 06:28:03 -06:00
Sam Germain
33b0778c0a updated exchange.calculate_funding_fees to have default close_date 2021-11-01 01:13:37 -06:00
Sam Germain
edfc3377c5 Updated exchange._get_funding_fee_dates to use new method funding_fee_cutoff 2021-11-01 01:09:11 -06:00
Sam Germain
5c52b21346 Added tests for funding_fee_dry_run 2021-10-31 22:24:27 -06:00
Sam Germain
2bfc812618 moved mark_ohlcv_price in _ft_has 2021-10-31 00:53:36 -06:00
Sam Germain
0ea8957ccc removed ftx get_mark_price_history, added variable mark_ohlcv_price, used fetch_ohlcv instead of fetch_mark_ohlcv inside get_mark_price_history 2021-10-29 20:07:24 -06:00
Sam Germain
a4892654da Removed params from _get_mark_price_history 2021-10-29 19:37:02 -06:00
Sam Germain
02ab3b1697 Switched mark_price endTime to until 2021-10-28 07:26:36 -06:00
Sam Germain
0b12107ef8 Updated error message in fetchFundingRateHistory 2021-10-28 07:22:47 -06:00
Sam Germain
44d9a07acd Fixed _get_funding_fee_dates method 2021-10-28 07:20:45 -06:00
Sam Germain
956352f041 Removed name_for_futures_market 2021-10-28 07:19:46 -06:00
Sam Germain
60478cb213 Add fill_leverage_brackets and get_max_leverage back in 2021-10-23 22:16:51 -06:00
Sam Germain
d99e0dac7b Added name for futures market property 2021-10-23 21:59:47 -06:00
Sam Germain
3eda9455b9 Added dry run capability to funding-fee 2021-10-23 21:59:47 -06:00
Sam Germain
2533d3b420 Added get_funding_rate_history method to exchange 2021-10-23 21:59:41 -06:00
Sam Germain
ef8b617eb2 gateio, ftx and binance all use same funding fee formula 2021-10-23 21:59:03 -06:00
Sam Germain
badc0fa445 Adjusted _get_funding_fee_method 2021-10-23 21:58:57 -06:00
Sam Germain
cba0a8cee6 adjusted funding fee formula binance 2021-10-23 21:58:17 -06:00
Sam Germain
2a26c6fbed Added backtesting methods back in 2021-10-23 21:33:37 -06:00
Sam Germain
f07555fc84 removed binance constructor, added fill_leverage_brackets call to exchange constructor 2021-10-22 06:37:56 -06:00
Sam Germain
0329da1a57 updated get_max_leverage to use new ccxt unified property 2021-10-20 08:36:48 -06:00
Sam Germain
bcbe8f229c Merge branch 'feat/short' into lev-freqtradebot 2021-10-13 19:02:57 -06:00
Sam Germain
bd488cc086 Merge branch 'develop' into feat/short 2021-10-13 17:56:40 -06:00
Matthias
2c6290a100 Small updates to prevent random test failures 2021-10-13 07:04:21 +02:00
Matthias
532a9341d2 Fix migration issue 2021-10-12 20:41:48 +02:00
Matthias
11ec1d9b06 Revert previous commit 2021-10-08 20:22:07 +02:00
Matthias
482f4418c6 Clarify "required candle" message 2021-10-08 14:36:52 +02:00
Matthias
29863ad2bf Fix error when ask_last_balance is not set
closes #5181
2021-10-07 06:51:29 +02:00
Sam Germain
9046caa27c fixed test_update_trade_state_sell 2021-10-03 23:13:34 -06:00
Matthias
f5e5203388 Use "round" to 12 digits for TickSize mode
Avoids float rounding problems, fix #5652
2021-10-03 09:49:55 +02:00
Sam Germain
993dc672b4 timestamp * 1000 in get_funding_fees_from_exchange 2021-09-29 22:18:15 -06:00
Sam Germain
d7c7448632 merged lev-freqtradebot with lev-strat 2021-09-19 19:06:43 -06:00
Sam Germain
778f0d9d0a Merged feat/short into lev-strat 2021-09-19 17:44:12 -06:00
Sam Germain
60a678fea7 merged with feat/short 2021-09-19 17:02:09 -06:00
Sam Germain
ac4f5adfe2 switched since = int(since.timestamp()) from %s 2021-09-19 01:16:22 -06:00
Sam Germain
a8657bb1ce Removed backtesting funding-fee code 2021-09-16 03:50:01 -06:00
Sam Germain
e827ba1388 finished up funding fee formulas 2021-09-15 23:51:21 -06:00
Sam Germain
98b00e8daf merged with feat/short 2021-09-15 22:28:10 -06:00
Sam Germain
d604757056 Added is_short to conf tests 2021-09-14 21:10:38 -06:00
Sam Germain
d3ab2f887f merged with feat/short 2021-09-14 18:32:08 -06:00
Sam Germain
5f6384a961 Added tests to freqtradebot 2021-09-14 17:18:57 -06:00
Matthias
a12c3ecc9b Remove credentials whenever dry-run is set from within the exchange 2021-09-13 20:27:32 +02:00
Sam Germain
e070bdd161 set leverage more thorough tests 2021-09-12 03:09:51 -06:00
Sam Germain
ad44048e29 customized set_leverage for different exchanges 2021-09-12 02:42:13 -06:00
Sam Germain
bc102d57c9 Updated set leverage to check trading mode 2021-09-12 02:09:31 -06:00
Sam Germain
0c1e5afc91 Added set leverage to create_order 2021-09-12 02:02:10 -06:00
Sam Germain
1344c9f7fc _apply_leverage_to_min_stake_amount 2021-09-12 01:31:15 -06:00
Matthias
a5f90a409c Small updates to async_history_fetch 2021-09-11 08:18:32 +02:00
Sam Germain
8e83cb4d64 temp commit message 2021-09-10 16:28:34 -06:00
Sam Germain
b0e05b92d3 Added minor changes from lev-exchange review 2021-09-10 13:39:42 -06:00
Matthias
8c9159f596 Improve comments 2021-09-10 19:46:38 +02:00
Matthias
a19c33ba54 Don't blindly create coroutines, but fire them off in batches 2021-09-10 19:37:07 +02:00
Sam Germain
77aa372909 Fixed test_ftx patch 2021-09-10 02:09:27 -06:00
Sam Germain
2c7cf794f5 Test for short exchange.stoploss exchange.stoploss_adjust 2021-09-09 15:47:49 -06:00
Sam Germain
9f96b977f6 removed interest method from exchange, will create a separate interest PR 2021-09-09 15:47:49 -06:00
Sam Germain
93da13212c test_fill_leverage_brackets_kraken and test_get_max_leverage_binance now pass but test_fill_leverage_brackets_ftx does not if called after test_get_max_leverage_binance 2021-09-09 15:47:49 -06:00
Sam Germain
9e73d02663 Added validating checks for trading_mode and collateral on each exchange 2021-09-09 15:47:49 -06:00
Sam Germain
619ecc9728 Added exceptions to exchange.interest_rate 2021-09-09 15:47:49 -06:00
Sam Germain
97d1306e34 Added retrier to exchange functions and reduced failing tests down to 2 2021-09-09 15:47:49 -06:00
Sam Germain
8d74233aa5 ftx.fill_leverage_brackets test 2021-09-09 15:47:49 -06:00