Commit Graph

792 Commits

Author SHA1 Message Date
aayush-jain18
a46f60bd94 spell corrections 2021-06-25 22:10:04 +05:30
Matthias
40545e62af
Merge pull request #5082 from freqtrade/dry_run_order
Dry run order filling
2021-06-25 18:26:01 +02:00
Matthias
39b876e37a Log exchange responses if configured 2021-06-19 09:07:42 +02:00
Matthias
d35b2e3b8f Update ftx stoploss logic to properly detect correct trades
closes #5045
2021-06-13 11:06:34 +02:00
Matthias
c389d44e9a Improve filling logic 2021-06-05 15:22:52 +02:00
Matthias
db03a24109 Add tests for fill methods 2021-06-05 09:09:39 +02:00
Matthias
1e988c97ad Update dry-run order handling to use realistic fill prices
closes #3389
2021-06-05 09:09:39 +02:00
Matthias
bd1984386e Move get_sell_rate to exchange class 2021-06-02 11:41:13 +02:00
Matthias
12916243ec Move get_buy_rate to exchange class 2021-06-02 11:30:19 +02:00
Matthias
4e1425023e Further reorder exchange methods 2021-06-02 11:20:26 +02:00
Matthias
4c277b3039 Reorder exchange methods 2021-06-02 11:18:13 +02:00
Matthias
67beda6c92 Add fetch_dry_run_order method 2021-06-02 11:06:32 +02:00
Matthias
42453333be Align coinbase download with ccxt limits
Align with https://github.com/ccxt/ccxt/issues/9268
2021-05-27 07:38:47 +02:00
Matthias
c9ac67e985 Fix some typos 2021-05-16 14:50:25 +02:00
Matthias
6f38976470 Introduce cancel_stoploss_with_result 2021-05-16 14:15:24 +02:00
Matthias
0b1dd0d203 Use correct order_id for ftx
closes #4511
2021-05-16 09:15:25 +02:00
Matthias
da47f4e1a4 Fix Kraken balance update error
closes #4873
2021-05-05 06:47:26 +02:00
Matthias
0e359dcb7a
Merge pull request #4788 from saeedrss/develop
fetch live data from hitbtc exchange #4778
2021-05-01 19:13:00 +02:00
Matthias
bdd0184f0b Small stylistic fixes 2021-05-01 17:44:43 +02:00
Matthias
0b280a59bc Support per exchange params for OHLCV endpoint 2021-05-01 17:29:53 +02:00
Matthias
63c28b6519 Remove obsolete get_balance method 2021-04-28 16:00:12 +02:00
Matthias
cb86c90d3e Remove obsolete TODO's 2021-04-24 19:16:54 +02:00
saeedrss
b69a9134f5 fixing support for HitBTC #4778
hitbtc by default send candle from beginning (not most recently)
this change fixed
2021-04-23 21:27:13 +04:30
grillzoo
5e51ba6258 fix flake8 2021-04-15 21:38:00 +01:00
Théo Martin
fa343b0484
Fix get_min_pair_stake_amount formula 2021-04-15 01:19:30 +01:00
Matthias
ba38e398e4 Add type hint 2021-04-13 22:17:42 +02:00
Matthias
c2f35ce416 /balance should use cached tickers when possible 2021-04-13 20:21:03 +02:00
Matthias
e4bb6b1582 Add kucoin exchange subclass
Kucoin has some specific orderbook restrictions

closes #4723
2021-04-13 12:28:07 +02:00
Chris van de Steeg
d4dc05980c
Update ftx.py
Stoploss price should be set as param instead of passing it as price according to ccxt
2021-04-12 16:01:46 +02:00
Matthias
14e8574235 fetch_balance is never called in dry-run 2021-04-10 14:17:43 +02:00
Matthias
37c2e037f1 Rename dry_run_order to create_dry_run_order 2021-04-10 13:50:56 +02:00
Matthias
a3b4667f7c Update exchange validation to use "validate_exchange". 2021-04-06 20:16:29 +02:00
Matthias
5ed7828446 Remove hardcoded list of non-working exchanges 2021-04-06 20:03:38 +02:00
Matthias
0550f261f1 Add exchange_has validation 2021-04-06 07:47:44 +02:00
shubhendra
f47dc31786 Refactor the comparison involving not
Signed-off-by: shubhendra <withshubh@gmail.com>
2021-04-02 16:57:44 +05:30
shubhendra
4d81834912
Merge isinstance calls
Signed-off-by: shubhendra <withshubh@gmail.com>
2021-03-21 17:14:47 +05:30
shubhendra
6d6ad035d6
Remove length check in favour of truthiness of the object
Signed-off-by: shubhendra <withshubh@gmail.com>
2021-03-21 17:14:46 +05:30
Matthias
73876b61b4 Show potential errors when loading markets 2021-03-20 13:34:33 +01:00
Matthias
7ffe1fd36a Fix calculation error for min-trade-stake 2021-03-20 07:21:22 +01:00
Matthias
0b35c0571f Allow custom fee to be used during dry-run
closes #3696
2021-03-14 19:37:57 +01:00
Matthias
441d3fad39
Merge pull request #4513 from freqtrade/fix/4511
Fix stoploss order problem with FTX
2021-03-11 19:39:44 +01:00
Matthias
99583bbd0c Fix problem with FTX
where cancelled orders are "cancelled", not "canceled"
2021-03-09 20:21:08 +01:00
Matthias
b5177eadab Extract close method for exchange 2021-02-27 09:32:59 +01:00
Matthias
ee74bc1f52 timeframe is mandatory, no need to use .get() 2021-02-14 11:01:12 +01:00
Matthias
da89838b5c Set bittrex limits as returned by the exchange
closes #4181
2021-02-14 10:32:55 +01:00
Matthias
5622bb3247 Make candle_limit optionally timeframe dependent 2021-02-14 10:29:45 +01:00
Matthias
7ecf8f8b80 Cleanup candle_limit usage 2021-02-14 10:08:05 +01:00
Matthias
6f77ec063e Fix cookieError on python<3.8
Only occurs in combination with api-server enabled,
due to some hot-fixing starlette does.
Since we load starlette at a later point, we need to replicate
starlette's behaviour for now, so sameSite cookies don't create a
problem.

closes #4356
2021-02-14 07:22:08 +01:00
Matthias
cfd0bb8964 Extract min stake amount from bot to exchange class 2021-02-02 19:47:21 +01:00
Matthias
5cdd9dd445 Cache markets in the exchange object 2021-01-28 19:47:32 +01:00
Matthias
5c0f98b518 Blacklist Poloniex - as ccxt does not provide a fetch_order endpoint 2021-01-20 19:31:17 +01:00
nas-
f72d53351c Added ability to keep invalid pairs while expanding expand_pairlist 2021-01-15 06:37:57 +01:00
nas-
4d7ffa8c81 Added suppoort for regex in whitelist 2021-01-12 01:13:58 +01:00
Matthias
bf182dc01e Fix wrong key usage in trade_history_timebased 2021-01-07 20:03:34 +01:00
Matthias
704cf14383 Add expand_pairlist method 2020-12-30 09:55:44 +01:00
Matthias
b607740dd1 Fix kraken balance bug if open buy orders exist 2020-12-29 20:06:37 +01:00
Matthias
d7daa86434 Add bybit subclass 2020-12-20 19:59:46 +01:00
Matthias
7d2395ddb7 Add limit parameter to fetch_ohlcv 2020-12-20 19:33:04 +01:00
Matthias
d1fda28d2e Fix typehints 2020-12-15 20:59:58 +01:00
Matthias
39fec25ae0 add optional Cache arguments to refresh_pairs method 2020-12-15 09:23:27 +01:00
Matthias
657b002a81 Explicitly check for False in fetch_ticker 2020-12-13 10:59:29 +01:00
Matthias
dddbc799f9 have kraken stoploss-limit support trailing stop 2020-11-26 19:40:36 +01:00
Matthias
1d56c87a34 Fully support kraken limit stoploss 2020-11-25 21:40:39 +01:00
Matthias
53231d94a9
Merge pull request #3975 from freqtrade/volatility_filter
RangeStabilityFilter filter - filter for pairs without much movement
2020-11-25 19:17:06 +01:00
Matthias
c14c0f60a1 Add Support for kraken stoploss-limit 2020-11-25 16:27:27 +01:00
Matthias
0d349cb355 Small finetuning 2020-11-25 15:14:36 +01:00
Matthias
fb86d8f8ff Add get_historic_ohlcv_as_df to support VolatilityFilter 2020-11-21 15:28:50 +01:00
Matthias
fa0fcfb492
Merge pull request #3939 from drdux/historic-pair
Historic pair
2020-11-19 19:46:08 +01:00
Matthias
08b52926c8 Catch asyncio.TimeoutError when reloading async markets 2020-11-13 10:43:48 +01:00
Daniel Goller
2d6bfe1592 only skip pair validation rather than all of it 2020-11-12 11:32:45 +00:00
Daniel Goller
916776bb53 Option to skip exchange validation, required to backtest pairs that are not live on the exchange any more. 2020-11-09 08:37:38 +00:00
Matthias
887d78171c
Merge pull request #3857 from freqtrade/arrow_deprecation_timestamp
Convert timestamp to int_timestamp for all arrow occurances
2020-11-02 16:40:43 +01:00
Matthias
b8c12f6576 Test if return value is an exception when downloading historic data 2020-10-23 07:50:40 +02:00
Matthias
7a092271c5 Merge branch 'develop' into arrow_deprecation_timestamp 2020-10-20 20:01:54 +02:00
Matthias
07da21e633 Fix problem when limit is > max allowed limit 2020-10-13 20:38:02 +02:00
Matthias
8165cc11df Change get_next_limit_in_list to use list comprehension 2020-10-13 20:30:35 +02:00
Matthias
8962b6d5c9 Add Bittrex subclass to correctly handle L2 orderbook 2020-10-13 20:09:43 +02:00
Matthias
077374ac42 Implement generic solution for l2 limited limit 2020-10-13 20:02:47 +02:00
Matthias
ecddaa663b Convert timestamp to int_timestamp for all arrow occurances 2020-10-13 06:24:01 +02:00
Matthias
253b7b763e Apply isort to freqtrade codebase 2020-09-28 19:40:46 +02:00
Matthias
bfd0e3553a Don't build this branch anymore in CI 2020-09-19 08:42:37 +02:00
Matthias
5fba446e9a Merge branch 'develop' into db_keep_orders 2020-09-06 15:22:13 +02:00
Matthias
d6d3a02a23 Merge branch 'develop' into db_keep_orders 2020-09-01 07:51:16 +02:00
Matthias
d161b94d72 Allow simulating cancelled orders in dry-run 2020-08-26 21:22:36 +02:00
Matthias
309ea1246a Update config to use single quotes 2020-08-26 20:52:09 +02:00
Matthias
4ecb67d1d1 Merge branch 'develop' into db_keep_orders 2020-08-23 10:36:56 +02:00
Martin Schultheiss
2701a7cb12 update bad exchanges 2020-08-23 09:11:34 +02:00
Matthias
674b510d23 Parametrize fetch_order retry counts 2020-08-22 17:35:42 +02:00
Matthias
f2b390a271 Add fetch_order_or_stoploss wrapper 2020-08-22 09:28:36 +02:00
Matthias
89b9a8cb1f
Merge pull request #3396 from freqtrade/fix/broken_getpairs
Use dict for symbol_is_pair
2020-08-15 08:58:53 +02:00
Matthias
06125df10c Remove unused import 2020-08-14 11:31:02 +02:00
Matthias
22af82631a Introduce InsufficientFundsError exception 2020-08-14 09:57:13 +02:00
Matthias
0af9e913d4 Timestamps are in ms 2020-08-14 09:52:46 +02:00
Matthias
396e781bf4 Update orders 2020-08-14 09:52:46 +02:00
Matthias
171a52b21a Introduce Order database model 2020-08-14 09:52:46 +02:00
Matthias
22f6e884ed
Merge pull request #3676 from freqtrade/stoploss_remove_unused_argument
[minor] Cleanup and exception hierarchy documentation
2020-08-14 07:11:56 +02:00
Matthias
c6741ea6c3 Merge branch 'develop' into fix/broken_getpairs 2020-08-12 20:13:06 +02:00
Matthias
9999d0ffb5 Merge branch 'develop' into fix/3579 2020-08-12 15:28:51 +02:00
Matthias
6dfa159a91 Small comment adjustments in exchange class 2020-08-12 14:11:19 +02:00
Matthias
d77c53960d Show API backoff in logs to better investigate eventual problems) 2020-08-11 19:27:25 +02:00
Matthias
c9c43d2f0b Move log-message of retrying before decrementing count
Otherwise the message is always one round "late".
2020-08-11 15:27:41 +02:00
Matthias
064928a0eb Merge branch 'develop' into improve_cancel_order_handling 2020-08-11 15:25:47 +02:00
Matthias
a3688b159f Improve formatting 2020-08-03 19:28:57 +02:00
Matthias
a33346c6b6 Fix testing errors - which surfaced with pytest 6.0.1 2020-08-03 19:22:07 +02:00
Matthias
3915101d2d Add more backoff to fetch_order endpoint 2020-08-02 10:32:17 +02:00
Matthias
6c77feee85 Improve some exchange logs 2020-08-02 10:18:19 +02:00
Matthias
071e82043a Better handle cancelled buy orders 2020-08-01 15:59:50 +02:00
Matthias
4774896169 Evaluate average before price in order returns 2020-07-20 19:39:12 +02:00
hroff-1902
b7c6f868b2
Merge pull request #3478 from hroff-1902/exchange-cosmetics-5
Minor: Exchange cosmetics
2020-07-20 18:58:46 +03:00
Matthias
de46744aa9 Use filled before amount for order data
closes #3579
2020-07-15 21:08:16 +02:00
Matthias
d13cb4c055 Introduce safe_value_fallback_2 2020-07-15 19:50:09 +02:00
Matthias
5cebc9f39d Move stoploss_on_exchange_limit_ratio to configuration schema 2020-07-15 19:28:40 +02:00
Matthias
6ee6e51ab4 Merge branch 'develop' into pr/hroff-1902/3478 2020-07-13 07:22:43 +02:00
gambcl
2e45859aef Added range checks to min_days_listed in AgeFilter 2020-07-08 18:06:30 +01:00
Matthias
b95065d701 Log backoff 2020-06-29 20:00:42 +02:00
Matthias
4d9ecf137b Fix failing test in python 3.7
can't use Magicmock in 3.7 (works in 3.8 though).
2020-06-28 20:38:28 +02:00
Matthias
c6124180fe Fix bug when fetching orders fails 2020-06-28 19:45:42 +02:00
Matthias
6362bfc36e Fix calculate_backoff implementation 2020-06-28 19:41:21 +02:00
Matthias
cbcbb4bdb5 Rename get_stoploss_order to fetch_stoploss_order (align with fetch_order) 2020-06-28 16:30:24 +02:00
Matthias
92c70fb903 Rename get_order to fetch_order (to align to ccxt naming) 2020-06-28 16:27:35 +02:00
Matthias
e040c518ca Dynamic backoff on DDos errors 2020-06-28 16:19:12 +02:00
Matthias
bf61bc9d83 Introduce ExchangeError 2020-06-28 16:01:40 +02:00
Matthias
5bd4798ed0 Add retrier to stoploss calls (but without retrying) 2020-06-28 11:56:29 +02:00
Matthias
2c45114a64 Implement DDos backoff (1s) 2020-06-28 11:17:06 +02:00
Matthias
f976905728 Fix more exchange message typos 2020-06-18 20:00:18 +02:00
Matthias
45ffb26910 Merge branch 'develop' into pr/hroff-1902/3478 2020-06-18 19:54:46 +02:00
Matthias
d4fb5af456 Also reload async markets
fixes #2876 - Logs and Empty ticker history  for new pair
2020-06-17 07:23:20 +02:00
Matthias
a3506f4d8e Merge branch 'develop' into timeframe 2020-06-15 06:35:55 +02:00
Matthias
f80b5f9410
Merge pull request #3438 from freqtrade/ftx_stoploss
Ftx stoploss
2020-06-14 07:02:15 +02:00
Matthias
f6f7c99b9c
Adjust typography and add missing space
Co-authored-by: hroff-1902 <47309513+hroff-1902@users.noreply.github.com>
2020-06-14 06:31:05 +02:00
hroff-1902
4660909e95 Validate stoploss_on_exchange_limit_ratio at startup time 2020-06-14 01:07:00 +03:00
hroff-1902
be03c22dba Minor: Fix exception message 2020-06-14 00:35:58 +03:00
hroff-1902
37bc2d28ad Revert "Remove _load_async_markets"
This reverts commit 6744f8f052.
2020-06-13 13:34:29 +03:00
hroff-1902
0067a3ab7c Change logging level 2020-06-10 06:30:29 +03:00
hroff-1902
7d451638a8 Make _reload_markets() public 2020-06-10 01:39:23 +03:00
hroff-1902
6744f8f052 Remove _load_async_markets 2020-06-10 01:22:55 +03:00
Matthias
f0eb0bc350 Support limit orders 2020-06-03 06:11:34 +02:00
Matthias
77a62b845a Fix some comments 2020-06-03 06:11:34 +02:00
Matthias
b58fd179f2 Don't hardcode pair ... 2020-06-03 06:11:34 +02:00
Matthias
11ebdefd09 Fix bug after rebase 2020-06-03 06:11:34 +02:00
Matthias
f83c1c5abf Use get_stoploss_order and cancel_stoploss_order
This allows exchanges to use stoploss which don't have the same
endpoints
2020-06-03 06:11:34 +02:00
Matthias
68a59fd26d Add Hint to suggest this is still broken 2020-06-03 06:11:34 +02:00
Matthias
78dea19ffb Implement first version of FTX stop 2020-06-03 06:11:34 +02:00
hroff-1902
04a2fb16aa
Merge pull request #3433 from freqtrade/fix/cost_calc_crash
Free trades should not crash the bot
2020-06-02 22:20:29 +03:00
Matthias
a2551daf12 Fix ZeroDivision problem where cost is 0.0 2020-06-02 20:55:12 +02:00
Matthias
08049d23b4 Use "market_is_tradable" for whitelist validation 2020-06-02 20:41:29 +02:00
Matthias
b74a3addc6 Update tests 2020-06-02 20:30:31 +02:00
Matthias
b22e3a67d8 rename symbol_is_pair to market_is_tradable
Make it part of the exchange class, so subclasses can override this
2020-06-02 20:29:50 +02:00
Matthias
8550c3e43f
Merge pull request #3409 from hroff-1902/exchange_logging
Minor: Better exchange debug logging
2020-06-02 20:27:53 +02:00
hroff-1902
48117666fe
Update freqtrade/exchange/exchange.py
Co-authored-by: Matthias <xmatthias@outlook.com>
2020-06-02 21:09:23 +03:00
hroff-1902
85fedf95e8 Make mypy happy 2020-06-02 18:43:37 +03:00
Matthias
898def7f6c Remove ticker_interval from exchange 2020-06-01 20:39:01 +02:00
hroff-1902
123a556ec8 Better exchange logging 2020-05-31 13:05:58 +03:00
Matthias
f187753f8f Add ccxt_sync_config to simplify ccxt configuration 2020-05-30 10:45:50 +02:00
Matthias
f3824d970b Use dict for symbol_is_pair 2020-05-29 20:20:06 +02:00
Matthias
16cd1f06b2 Rename get_order_book to fetch_l2_order_book (aligning to ccxt) 2020-05-26 20:27:35 +02:00
Matthias
046202fdda Fix typing circular dependency 2020-05-22 20:56:34 +02:00
Matthias
76bd97d510
Merge pull request #3317 from hroff-1902/refactor-informative
Refactor informative pairs
2020-05-18 21:57:16 +02:00
hroff-1902
115586a50f Introduce freqtrade.typing 2020-05-18 21:59:50 +03:00
Matthias
839ca28604
Merge pull request #3334 from hroff-1902/retrier-dependency-exceptions
Do not throttle with DependencyException in Exchange retrier
2020-05-18 19:49:24 +02:00
hroff-1902
6951b20aa0 Do not throttle with DependencyException in retrier 2020-05-18 17:31:34 +03:00
hroff-1902
8bdd5e7121 Minor: correct import of retrier 2020-05-18 15:20:51 +03:00
hroff-1902
6fa8750fea
Merge branch 'develop' into refactor-informative 2020-05-18 14:00:09 +03:00
hroff-1902
627c5059f0 Move create_pair_list to pairlistmanager 2020-05-18 13:54:21 +03:00
Matthias
5a9a31351a Adjust empty f-strings to be non-fstrings 2020-05-18 11:40:25 +02:00
hroff-1902
bf25746965 Introduce datatype for informative pairs 2020-05-16 12:27:56 +03:00
Matthias
ba68c42aae
Merge pull request #3297 from bmoulkaf/develop
Fix stoploss on binance bug
2020-05-15 08:23:18 +02:00
hroff-1902
8e4ffea52b
Merge pull request #3239 from freqtrade/feat/fee_handling
Improve fee handling
2020-05-14 18:48:48 +03:00
Matthias
d86855f2f3
Merge pull request #3129 from freqtrade/trades_to_list
convert dl-trades datadownload to list
2020-05-13 09:41:26 +02:00
bmoulkaf
fe3ea8e7ec Fix stoploss on binance bug 2020-05-13 05:15:18 +00:00
hroff-1902
d4362ed357 Minor: improve exception handling in exchange 2020-05-09 09:29:40 +03:00
Matthias
021e2b58ca Support partially cancelled orders for fee calculation 2020-05-01 20:24:26 +02:00
Matthias
6b33d5af1e Fix fee-calculation for dry-run orders 2020-05-01 19:51:35 +02:00
Matthias
59bafc8d02 Implement fee rate calculation 2020-05-01 15:50:02 +02:00
Matthias
45c97fde2d Use correct typehint for extract_cost_curr_rate 2020-05-01 15:50:02 +02:00
Matthias
e74ed0ba7b Add tests for fee extraction methods 2020-04-30 20:05:27 +02:00
Matthias
2e4dc6c253 Exchange should return fee dict for dry-run orders 2020-04-30 19:56:48 +02:00
Matthias
a867d40eac Move fee_methods to exchange 2020-04-30 19:33:27 +02:00
Matthias
c775d65126 Update typehint for cancel_order 2020-04-18 06:55:25 +02:00
Matthias
5e3e0e819f Add tests for cancel_order_with_result 2020-04-17 17:53:18 +02:00
Matthias
800891a475 Add tests for cancel_order_with_result 2020-04-17 07:18:46 +02:00
hroff-1902
df79011aba
Merge pull request #3112 from freqtrade/trade_state_updates
Trade state updates
2020-04-16 12:05:19 +03:00
Matthias
33b6c7de5b Add tests for price_one_pip 2020-04-15 07:53:31 +02:00
Matthias
36e714a7b2 Add price_get_one_pip filter 2020-04-15 07:19:27 +02:00
Matthias
cfe1e4876a Improve testcase for cancel_order_empty 2020-04-14 19:20:47 +02:00
Matthias
d76bb1ccf4 Use List of Lists instead of list of Dicts for trades data 2020-04-01 19:45:21 +02:00
Matthias
270ac2e8c1 Add check_order_cancelled_empty method to exchange 2020-03-25 09:43:04 +01:00
hroff-1902
3208faf7ed Do not use ticker where it's not a ticker 2020-03-08 20:47:02 +03:00
hroff-1902
8475baba4e
Merge pull request #2995 from freqtrade/stake_curr_empty
Allow Stake currency empty when using download-data
2020-03-02 00:53:09 +03:00
Matthias
60f04cff4d Simplify expression 2020-02-29 20:41:03 +01:00
Matthias
d7373be553 Add official support for Kraken 2020-02-29 16:58:22 +01:00
Matthias
60579485e5 fix empty stake currency problem 2020-02-29 14:56:36 +01:00
hroff-1902
e6d003f8f2
Merge pull request #2973 from freqtrade/support_non_pairs
Support non pairs
2020-02-26 12:20:45 +03:00
Matthias
f38accb77b Return empty string if no quote / base currency can be found 2020-02-26 07:09:54 +01:00
Matthias
4e218be51d Don't use markets[pair]['quote'] 2020-02-26 07:08:09 +01:00
Matthias
31ac4598ba Fix last occurances of pair splitting 2020-02-25 07:16:37 +01:00
Matthias
61037ab7b8 Implement get_pair_base_curr and get_pair_quote_curr 2020-02-24 21:50:27 +01:00
Matthias
3e4f663418 Move pairlist validation to exchange (we need to use .quote) from
markets
2020-02-24 21:33:42 +01:00
Matthias
f5b4a6d3d7 Remove fetch_ticker caching 2020-02-22 11:10:05 +01:00
Matthias
3787ac7b98 increment limit to adjust to FTX defaults (1500 candles) 2020-02-16 13:20:11 +01:00