Commit Graph

691 Commits

Author SHA1 Message Date
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
Sam Germain
8264cc546d Wrote dummy tests for exchange.get_interest_rate 2021-09-09 15:47:49 -06:00
Sam Germain
5708fee0e6 Wrote failing tests for exchange.set_leverage and exchange.set_margin_mode 2021-09-09 15:47:49 -06:00
Sam Germain
e6c9b8ffe5 completed set_margin_mode 2021-09-09 15:47:49 -06:00
Sam Germain
39fe381473 set margin mode exchange function 2021-09-09 15:47:49 -06:00
Sam Germain
4ef1f0a977 Changed ftx set_leverage implementation 2021-09-09 15:47:49 -06:00
Sam Germain
c256dc3745 Removed some outdated TODOs and whitespace 2021-09-09 15:47:49 -06:00
Sam Germain
134a7ec59b Implemented fill_leverage_brackets get_max_leverage and set_leverage for binance, kraken and ftx. Wrote tests test_apply_leverage_to_stake_amount and test_get_max_leverage 2021-09-09 15:47:49 -06:00
Sam Germain
455bcf5389 Added TODOs to test files 2021-09-09 15:47:49 -06:00
Sam Germain
add7e74632 Added set_leverage function to exchange 2021-09-09 15:47:49 -06:00
Sam Germain
d262af35ca Removed setup leverage and transfer functions from exchange 2021-09-09 15:47:49 -06:00
Sam Germain
f4e26a616f Exchange stoploss function takes side 2021-09-09 15:47:49 -06:00
Sam Germain
ebf5310817 Added get_interest template method in exchange 2021-09-09 15:47:48 -06:00
Sam Germain
54dd9ce7ad Add prep functions to exchange 2021-09-09 15:47:48 -06:00
Sam Germain
dfb9937436 Added tests and docstring to exchange funding_fee methods, removed utils 2021-09-09 01:43:55 -06:00
Sam Germain
d54117990b Added funding_fee method headers to exchange, and implemented some of the methods 2021-09-09 01:19:34 -06:00
Sam Germain
36b8c87fb6 Added funding fee calculation methods to exchange classes 2021-09-08 19:31:04 -06:00
Sam Germain
cdefd15b28 separated hours_to_time to utils folder 2021-09-08 14:54:48 -06:00
Sam Germain
2f4b566d99 reverted back exchange.get_funding_fees method 2021-09-08 13:46:52 -06:00
Sam Germain
af4a6effb7 added pair to fetch_funding_rate 2021-09-08 13:44:59 -06:00
Sam Germain
baaf516aa6 Added funding_times property to exchange 2021-09-08 13:44:42 -06:00
Matthias
8c83c258a5 Move "first-pair_getting" to binance subclass 2021-09-07 19:32:32 +02:00
Matthias
71ff214adf Support "initial_call" for download-data of new pairs 2021-09-07 07:14:40 +02:00
Sam Germain
f5248be043 Changed funding fee tracking method, need to get funding_rate and open prices at multiple candles 2021-09-06 15:47:24 -06:00
Sam Germain
92e630eb69 Added get_funding_fees method to exchange 2021-09-04 16:40:53 -06:00
Sam Germain
b854350e8d Changed funding fee implementation 2021-09-04 16:31:09 -06:00
Sam Germain
194bb24a55 Miscellaneous funding fee changes. Abandoning for a new method of tracking funding fee 2021-09-04 16:20:25 -06:00
Matthias
19ad165483 Add time_in_force for kucoin 2021-09-03 08:48:53 +02:00
Matthias
93c1dff71b Allow adding new additional headers 2021-09-02 21:02:45 +02:00
Matthias
1895230afe Clarify exception on load when markets could not be loaded
closes #5498
2021-08-29 09:18:46 +02:00
Matthias
ef9c1addcf Add expired to list of canceled statuses 2021-08-27 19:54:53 +02:00
Matthias
8a9407bac9 Don't hard-fail when fetch_ticker doesn't return a value
closes #5477
2021-08-25 07:13:59 +02:00
Matthias
9758bed250 Fix refresh_latest_ohlcv bug 2021-08-17 06:44:36 +02:00
slowy07
f24a951ec5 fix: typo spelling grammar 2021-08-16 19:16:24 +07:00
Matthias
61c076563f Add max-slippage limiting for dry-run orders to avoid insane market order fills 2021-08-11 12:11:29 +02:00
Matthias
d8d8261f1b
Merge pull request #5318 from samgermain/combined_exchange_buy_sell
combined exchange.buy and exchange.sell
2021-08-02 20:11:09 +02:00
Matthias
8768df647a
Merge pull request #5312 from raph92/patch-3
Fix code to get Bittrex US-restricted markets
2021-07-29 07:13:42 +02:00
Matthias
cf4d1875dd Use prohibitedIn instead of isRestricted 2021-07-29 06:56:37 +02:00
Sam Germain
25c527ee67 combined exchange.buy and exchange.sell, Adding dummy mock to create_order in tests in test_freqtradebot 2021-07-28 14:55:06 -06:00
Sam Germain
05f74bdf53 Changed log ouput to debug in exchange.get_rate 2021-07-25 16:13:04 -06:00
Sam Germain
b42afb9dae get_rate checks if side is buy for some console output 2021-07-24 17:14:54 -06:00
Sam Germain
b0bfbb6558 removed buy and sell merge, updated strategy name, removed default side for get_rate 2021-07-19 11:37:52 -06:00
Sam Germain
44df5eeacf Adjusted docstring, and conditional near end of buy_rate 2021-07-18 00:00:18 -06:00
Sam Germain
7c27525bd8 Merge get_buy_rate and get_sell_rate 2021-07-17 22:51:20 -06:00
Matthias
10998eb0fa Remove further usages of int(int_timestamp) 2021-07-05 19:51:14 +02:00
Matthias
00a7097b9e Reduce verbosity of getting sell-rate from orderbook 2021-06-26 20:09:52 +02:00