Commit Graph

1030 Commits

Author SHA1 Message Date
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
ad28543d4d Update kraken calculation 2022-01-22 19:46:11 +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
b77943af0d
Merge pull request #6173 from freqtrade/volume_quote_workaround
Selectively convert quote to base volume in volumepairlist
2022-01-07 09:07:16 +01:00
Matthias
24ec78b11c Quote-volumelist fix for gateio 2022-01-06 19:07:47 +01:00
Matthias
326e3d1f8e Selectively convert quote to base volume in volumepairlist 2022-01-06 19:07:43 +01:00
Matthias
173524ea5b
Merge pull request #6170 from freqtrade/contract_workaround
contractSize is a string coming from ccxt
2022-01-06 16:25:19 +01:00
Carlo Revelli
7451b60501
increase okex candle limit 2022-01-06 05:31:23 -08:00
Matthias
431fcdd76f contractSize is a string comming from ccxt 2022-01-06 13:53:27 +01:00
Matthias
72b2d4ab5f Update FTX to support new standardized futures format 2022-01-06 11:16:26 +01:00
Matthias
33d95d245e Fix unbounderror
closes #6169
2022-01-06 08:48:30 +01:00
Sam Germain
b2a1124a26 Merge branch 'feat/short' of https://github.com/freqtrade/freqtrade into feat/short 2022-01-04 00:17:42 -06:00
Matthias
e57c2d64a5
Merge pull request #5888 from samgermain/contract-sizes
Convert contract size to underlying asset size
2022-01-03 21:55:19 +01:00
Matthias
d8cb61278f Simplify contract conversion code
by reusing "get_contract_size"
2022-01-03 18:12:45 +01:00
Sam Germain
707a6507b5 removed redundant todos 2022-01-02 21:46:06 -06:00
Matthias
7f88f9bf27 Revert unintended double-call of amount conversion 2022-01-02 13:11:29 +01:00
Sam Germain
33ab3c1bea Removed some todo-lev comments 2022-01-01 14:10:24 -06: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
Sam Germain
867483170a binance.funding_fee_cutoff removed TODO-lev 2021-12-31 06:11:43 -06:00
Matthias
39f8c5719b Fix exception on exchange shutdown 2021-12-31 11:24:56 +01:00
Matthias
77afb7b5e2
Merge pull request #6114 from cdimauro/reduce_kucoin_logs
Reduce kucoin logs
2021-12-29 17:33:21 +01:00
Matthias
2b94fbfa74 Avoid using singleton where not necessary 2021-12-29 17:05:53 +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
05a488a7a0 Further reduce log verbosity for kucoin 429000 exception 2021-12-27 17:15:30 +01:00
Matthias
ef2b326262 Reduce retrier message repetition
by combining messages, we can provide the same information in fewer log messages
2021-12-27 16:47:34 +01:00
cdimauro
f77b8cbb7a Reduce KuCoin logs only for 429000 error
Only KuCoin messages for 429000 error code are logged once.

Logs functions are also simplified and optimized.

test_remove_logs_for_pairs_already_in_blacklist is simplified as well.
2021-12-26 21:09:25 +01:00
cdimauro
fbaf46901e Reduce more KuCoin logs on retrier decorator
More logs are reduced, for KuCoin, on the retrier_async decorator:

_async_get_candle_history() returned exception
retrying _async_get_candle_history() still for
Giving up retrying: _async_get_candle_history()
Applying DDosProtection backoff delay
2021-12-26 09:06:26 +01:00
cdimauro
96fbf63d0b Reduce KuCoin logs on DDosProtection error messages
KuCoin APIs generate A LOT of error messages.
Consequently, logs are flooded with lines like:
2021-12-25 22:30:23 freqtrade.exchange.common: WARNING -
_async_get_candle_history() returned exception:
"kucoin GET https://openapi-v2.kucoin.com/api/v1/market/candles?
symbol=PDEX-USDT&type=5min&startAt=1640317818&endAt=1640467818
429 Too Many Requests {"code":"429000","msg":"Too Many Requests"}"
2021-12-25 22:30:23 freqtrade.exchange.common: WARNING -
retrying _async_get_candle_history() still for 3 times
2021-12-25 22:30:23 freqtrade.exchange.common: WARNING -
Kucoin 429 error, avoid triggering DDosProtection backoff delay.
2 tries left before giving up
2021-12-25 22:30:24 freqtrade.exchange.common: WARNING -
_async_get_candle_history() returned exception:
"kucoin GET https://openapi-v2.kucoin.com/api/v1/market/candles?
symbol=UBX-USDT&type=5min&startAt=1640317821&endAt=1640467821
429 Too Many Requests {"code":"429000","msg":"Too Many Requests"}"

Messages like:
Kucoin 429 error, avoid triggering DDosProtection backoff delay.
are logged only once for a certain period of time (default is 3600 seconds).
2021-12-25 22:32:22 +01: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
d079b444a6 Add optional "has" (as comment for now) 2021-12-08 14:48:56 +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
Matthias
bf8f1045ca Map binanceusdm to ft binance class 2021-11-27 16:46:17 +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
586ca3b2fa removed is_market_future from binance and ftx 2021-11-23 11:09:31 +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
Matthias
8cfc531b32
Merge pull request #5887 from samgermain/common-ccxt-config
Common ccxt config
2021-11-14 09:52:06 +01:00
Stefano Ariestasia
632c1bc0aa Add static workaround for kucoin 429000 issue
closes #5700
2021-11-14 09:31:38 +01:00
Sam Germain
430aa0903f Removed redundent TODO-levs 2021-11-13 19:45:41 -06:00
Sam Germain
099bf7691e Updated bibox to combine parent _ccxt_config and minimized _ccxt_config tests 2021-11-13 16:23:59 -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
867ac3f82a Removed typing.List from bibox, hitbtc and kucoin 2021-11-13 06:21:17 -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
Matthias
6267678ca9 Use doublequotes for docstrings 2021-11-09 10:40:01 +00: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
d0b91b334e Merge branch 'feat/short' into funding-fee-dry-run 2021-11-08 04:44:57 -06:00
Sam Germain
090b3d29b7 Updated kraken._get_funding_fee docstring with notification that it won't work in the bot yet 2021-11-08 01:58:23 -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
11b77cf94c Update test to new list-pairs format 2021-11-07 10:43:00 +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
04dc14a74c Added okex exchange class futures properties 2021-11-06 22:43:02 -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
Matthias
e78df59e30 Configure candle length for OKEX 2021-11-02 19:49:53 +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
f6924aca40 removed get_funding_rate_history from gateio 2021-10-31 01:24:02 -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