Commit Graph

684 Commits

Author SHA1 Message Date
Matthias 49dcc561b7 POC for check_buy_timeout 2020-02-06 20:30:17 +01:00
Yazeed Al Oyoun 91b4c9668c More consistency changes... 2020-02-04 01:57:24 +01:00
hroff-1902 d457d43999
Merge pull request #2833 from hroff-1902/type-hints
Add some type hints
2020-02-03 23:24:26 +03:00
Matthias e3cb5d26c0
Merge pull request #2835 from yazeed/reduce_noise_if_use_order_book_true
reduced noise without verbose mode if use_order_book is true
2020-02-02 19:42:50 +01:00
hroff-1902 e8c1abc509
Merge pull request #2799 from freqtrade/fix_stoploss_recreated
Fix stoploss recreated
2020-02-02 16:59:45 +03:00
hroff-1902 6594679e52
Merge pull request #2779 from freqtrade/stoploss_market
Stoploss on exchange for Kraken
2020-02-02 14:48:45 +03:00
Yazeed Al Oyoun aeabe1800b modified two lines from logger.info to logger.debug cause they're too spammy 2020-02-02 10:49:00 +01:00
hroff-1902 f3d500085c Add some type hints 2020-02-02 07:00:40 +03:00
hroff-1902 e1356fb80e
Merge pull request #2800 from yazeed/enhanced_check_depth_of_market_logging
better logging on check_depth_of_market_buy()
2020-01-29 10:56:14 +03:00
Yazeed Al Oyoun a0b92fe0b1 removed typo 2020-01-28 19:29:47 +01:00
Yazeed Al Oyoun 328a9ffafd fixed typo in false statement 2020-01-28 19:27:49 +01:00
hroff-1902 30e3e434ab Add notify_status() to FreqtradeBot 2020-01-27 03:34:53 +03:00
Yazeed Al Oyoun f8db7f1709 added ask price, bid price, immediate ask quantity, and immediate bid quantity to check_depth_of_market_buy. also added a line that mentions if delta condition was satisfied or not. 2020-01-25 04:17:41 +01:00
Matthias 70b9bd9c0e Verify if trade is closed before acting on Stoploss_on_exchange 2020-01-23 20:36:48 +01:00
Matthias ea5ac1efb5 Don't handle stoploss if there is an open regular order 2020-01-23 20:24:23 +01:00
Matthias a83de241e4 Check for closed stoploss-orders first 2020-01-23 19:40:31 +01:00
Matthias 1d141cd406 Merge branch 'develop' into stoploss_market 2020-01-23 19:35:05 +01:00
Matthias bc4c469797 Merge branch 'develop' into stoploss_market 2020-01-22 20:51:52 +01:00
Matthias aad10ceee3 Add threading lock object for /forcesell
Protects against stoploss_on_exchange order recreation
in case of /forcesell (it's a timing issue, so may or may not happen).
2020-01-22 20:50:09 +01:00
Matthias 8a940eb0c1 Align price finding function name on buy side with get_sell_rate 2020-01-22 14:46:28 +01:00
Matthias 1bf475fa1a Remove .get calls for dry_run - it's a mandatory property 2020-01-20 20:24:40 +01:00
Matthias cf9331919f move exchange-specific order-parsing to exchange class
Related to stoploss_on_exchange in combination with trailing stoploss.

Binance contains stopPrice in the info, while kraken returns the same
value as "price".
2020-01-19 19:54:30 +01:00
Matthias 256fc2e78c Rename stoploss_limit to stoploss 2020-01-19 13:30:56 +01:00
Matthias 8d2e0bfd62 Move rate-calcuation for stoploss-limit order to exchange 2020-01-19 13:13:09 +01:00
Matthias 29a5e4fba1 Update wallets before getting amount 2020-01-15 21:52:54 +01:00
Matthias 8bcfe4a6aa Up log level of safe_sell_amount message 2020-01-15 21:01:36 +01:00
Matthias d1bf388b0e Wallet amount must be compared with >= 2020-01-15 19:56:14 +01:00
Matthias fab19ae3a7 Implement last_stake_amount_min_ratio 2020-01-10 06:36:28 +01:00
Matthias 9713dc8d94 Ensure wallets.update is called before buy
closes #2756
2020-01-09 20:09:21 +01:00
Matthias b37f34ff5b Implement amend_last_stake_amount 2020-01-05 13:25:11 +01:00
Matthias a75420f75f Merge branch 'develop' into relative_stake 2020-01-05 12:55:55 +01:00
Matthias 7daa5bc338 Don't return None from unlimited_stake - 0 handles this just as well 2020-01-05 12:50:44 +01:00
Matthias 455838648d Apply get_available_balance logic to regular trades, too 2020-01-03 10:41:10 +01:00
Matthias 3c7981160c Extract `get_available_stake_amount` 2020-01-03 10:14:23 +01:00
Matthias 560aea876e Remove fiat_currency temporary variable 2020-01-02 20:20:29 +01:00
Matthias cba156dfff Add offset calculation for relative stake maximum limit 2020-01-02 13:20:57 +01:00
hroff-1902 a47a25ca88 Refine passing msg params 2020-01-02 14:38:25 +03:00
hroff-1902 88efa4065b Align the name of a variable to be same for buy and sell parts 2020-01-02 13:56:16 +03:00
hroff-1902 f15e5e9d57 Add _notify_buy() 2020-01-02 13:51:25 +03:00
hroff-1902 e89fa44680 Arrange common section for update trade state methods 2020-01-02 11:50:54 +03:00
hroff-1902 21418e2988 Minor: fix comment 2020-01-02 03:16:18 +03:00
hroff-1902 4475110df8 Cosmetics in freqtradebot 2020-01-02 03:07:24 +03:00
Matthias 3327ebf2b1
Merge pull request #2720 from hroff-1902/refactor-create-trades
Refactor create trades
2019-12-31 15:34:12 +01:00
Matthias 26a2395aeb Include Pair name in exception log message 2019-12-31 07:11:09 +01:00
hroff-1902 fd7af587da Rename process_maybe_execute_buys() --> enter_positions() 2019-12-30 22:50:56 +03:00
hroff-1902 84918ad424 Rename process_maybe_execute_sells() --> exit_positions() 2019-12-30 22:08:36 +03:00
hroff-1902 b00406a7eb Make process_maybe_execute_*() returning integers 2019-12-30 21:09:35 +03:00
hroff-1902 4d56e3b36e Address some comments made in the review 2019-12-30 20:54:32 +03:00
Matthias 1ffda29fd2 Adjust improts to new exception location 2019-12-30 15:02:17 +01:00
Matthias 4c9295fe2d Rename Bid-strategy helpervariable to something shorter
avoids unnecessary wrapping...
2019-12-30 14:00:34 +01:00
hroff-1902 04f28ed9bc Refactor try/except: handle DependencyException for each pair separately 2019-12-29 05:03:10 +03:00
hroff-1902 762604300f Refactor create_trades() 2019-12-29 04:37:44 +03:00
hroff-1902 433fd2a7c3
Merge pull request #2652 from freqtrade/safe_sell_amount
Safe sell amount
2019-12-29 00:09:21 +03:00
hroff-1902 5c39ebd0a0 Adjust logging 2019-12-28 13:59:40 +03:00
Matthias 443fd8f7dd Merge branch 'develop' into safe_sell_amount 2019-12-28 09:42:52 +01:00
hroff-1902 d6ca562b03 Make mypy happy and handle hypothetical case when stake_amount == 0 2019-12-28 04:05:03 +03:00
hroff-1902 3dbd83e35a Introduce get_free_open_trades() method 2019-12-28 03:46:42 +03:00
hroff-1902 8eeabd2372 Move warning to create_trades() 2019-12-28 03:22:50 +03:00
hroff-1902 ed9cb4219d Make mypy happy 2019-12-28 02:58:23 +03:00
hroff-1902 ef92fd775c Align behavior: check for available in all cases: edge, unlimited and fixed 2019-12-28 02:53:41 +03:00
hroff-1902 abaeab89aa Make _calculate_unlimited_stake_amount() a separate method 2019-12-28 02:36:32 +03:00
hroff-1902 243bcb2368 Make _check_available_stake_amount() a separate method 2019-12-28 02:25:43 +03:00
hroff-1902 86f2693040 cosmetics 2019-12-28 01:54:12 +03:00
hroff-1902 b6d1c5b17a _get_trade_stake_amount() is not private 2019-12-28 01:44:51 +03:00
hroff-1902 039dfc302c No need to convert pair name 2019-12-28 01:34:31 +03:00
Matthias 6688a2c112 Merge branch 'develop' into doc/pricing_reasons 2019-12-24 06:33:51 +01:00
Matthias c6d2233978 Convert StrategyLoader to static loader 2019-12-23 10:23:48 +01:00
Matthias 560acb7cea Convert ExchangeResolver to static loader class 2019-12-23 10:03:18 +01:00
Matthias 6507a26cc1 Fix some tests after merge 2019-12-18 20:16:53 +01:00
Matthias e72c6a0d94 use only first part of the currency to get wallet-amount (!!) 2019-12-18 20:02:15 +01:00
Matthias 834a0ed620 Merge branch 'develop' into safe_sell_amount 2019-12-18 19:45:31 +01:00
Matthias 21622ac313 Rename get_ticker to fetch_ticker 2019-12-18 16:34:30 +01:00
Matthias a2964afd42 Rename profit_percent to profit_ratio to be consistent 2019-12-17 08:53:30 +01:00
Matthias 861a7834fc Call calc_open_price() whenever necessary 2019-12-17 07:08:36 +01:00
Matthias 5a5741878c Improve dry-run calculations 2019-12-15 10:26:56 +01:00
Matthias f0bbc75038 Combine dry_run wallet into original Wallets class 2019-12-15 09:48:35 +01:00
Matthias fda8f7e305 Introuce WalletDry - supporting dry-run wallets 2019-12-15 09:38:18 +01:00
Matthias 04257d8ecc Add tests for safe_sell_amount 2019-12-13 07:06:54 +01:00
Matthias 5db883906a Try to verify available amount on the exchange 2019-12-13 06:52:33 +01:00
Matthias e4655c9b07 include trade-duration with sell-notification 2019-12-08 14:07:46 +01:00
hroff-1902 a373e48939 Comment added 2019-11-27 14:53:01 +03:00
hroff-1902 17269c88be Fix _get_min_pair_stake_amount() 2019-11-26 11:57:58 +03:00
Matthias a5bd4e329a improve cancel_order handling 2019-11-20 20:36:38 +01:00
Matthias 9aac080414 Fix 'remaining' bug when handling buy timeout 2019-11-20 20:10:41 +01:00
Matthias 09b302abf7
Merge pull request #2442 from freqtrade/volumeList_enhanced_filter
Pairlists enhanced filter options
2019-11-19 20:19:10 +01:00
Matthias 68904296e7 Allow timeout of 0 2019-11-13 19:38:38 +01:00
Matthias 2eb6513251 Improve timedout handling 2019-11-12 15:45:14 +01:00
Matthias 748fe94603 Merge branch 'develop' into volumeList_enhanced_filter 2019-11-09 15:34:47 +01:00
Matthias e632720c02 Allow chaining of pairlists 2019-11-09 06:55:16 +01:00
Matthias c8638ce82f Fix bug where bids_to_ask_delta causes doublebuys
The continue must happen irrespective of the outcome of this - otherwise
the below BUY will happen anyway.
2019-11-05 21:03:06 +01:00
hroff-1902 3149c12a14
Merge pull request #2444 from freqtrade/sql_cleanup
Fix scoped_session and add Documentation for strategy
2019-10-31 23:19:30 +03:00
Matthias 9e988783de Allow configuration of stoploss on exchange limit
fixes #1717
2019-10-30 20:07:26 +01:00
Matthias 01efebc42f Extract query to it's own function 2019-10-30 11:12:49 +01:00
Matthias 20dabd9c41 Merge branch 'develop' into whitelist_docs 2019-10-26 13:36:39 +02:00
Matthias d0521d33ce Refactor whitelist handling
fixes #2413
2019-10-26 11:36:02 +02:00
Matthias 3929ad4e1f Fix typo 2019-10-26 09:21:51 +02:00
Matthias 2f1d9696cd Change keepalive to heartbeat 2019-10-25 20:00:08 +02:00
Matthias 0773a65333 Add I Am Alive Message 2019-10-25 15:01:35 +02:00
Matthias 8201f70a80 Change loglevel of repeated message to debug 2019-10-25 14:19:02 +02:00
hroff-1902 2e1e080022 Fix potential race conditions between RPC and Freqtradebot during initialization 2019-10-24 22:33:44 +03:00
hroff-1902 30eb23e1aa Minor freqtrade cleanup 2019-10-18 23:41:07 +03:00
hroff-1902 9e23ca14d1
Merge pull request #2384 from freqtrade/improve_buy_timeout_handling
Improve buy timeout handling
2019-10-18 22:30:41 +03:00
Matthias c649f9844e Compare >= instead of = 2019-10-18 19:36:04 +02:00
Matthias 9d739f98ac use requested - remaining amount - not the requested amount! 2019-10-18 09:04:05 +02:00
Matthias 271846dfb6 Simplify cancel timedout 2019-10-18 07:01:05 +02:00
Matthias c181fac6c7 fix #2383 2019-10-18 06:48:39 +02:00
Matthias c735d35265 Extract open_trade generation from freqtradebot 2019-10-18 06:48:33 +02:00
Matthias 85c4546333
Merge pull request #2343 from hroff-1902/move-experimental
Move experimental settings to ask_strategy
2019-10-10 16:08:11 +02:00
hroff-1902 9b23376415 Move experimental settings to ask_strategy 2019-10-05 13:29:59 +03:00
hroff-1902 75252b6251 Docstrings improved 2019-10-04 02:32:48 +03:00
hroff-1902 89729aefe8 Fix and improve process_maybe_execute_sells() 2019-10-02 18:47:45 +03:00
hroff-1902 096c69dc4f Refactor Freqtradebot 2019-10-02 13:51:32 +03:00
Matthias 43f2ef226c Change rel_tol to abs_tol to avoid surprises with high priced pairs 2019-09-28 10:30:12 +02:00
Matthias 8d92f8b362 Compare floats via isclose instead of == 2019-09-26 07:18:00 +02:00
hroff-1902 849d694c27 Don't inherit from object 2019-09-12 04:39:52 +03:00
hroff-1902 caec5ac941
Merge pull request #2206 from freqtrade/sloe_handling
Improve stoploss on exchange handling
2019-09-04 10:00:53 +03:00
Matthias aae9c3194f Reenable stoploss_on_exchange for dry-run 2019-09-01 17:48:06 +02:00
Matthias 20c9c93b3e Improve docstring 2019-09-01 10:25:05 +02:00
Matthias 771519e311 Don't show stacktrace in case of invalidorder Error
This is handled gracefully by emergency-selling
2019-09-01 10:19:18 +02:00
Matthias 9d7ebc65e7 Move return statement to correct intend 2019-09-01 09:21:45 +02:00
Matthias 7c0a49a6f9 _notify_sell needs ordertype seperately 2019-09-01 09:17:58 +02:00
Matthias 292df115e8 Support selling via emergencysell 2019-09-01 09:09:07 +02:00
Matthias 9f53e9f5dd Raise InvalidOrder error when stoploss-creation fails 2019-09-01 09:08:35 +02:00
Matthias 7fc156648a simplify stoploss_oe code 2019-08-31 16:15:39 +02:00
Matthias f0c0f5618b Abstract creating stoploss-orders from stoploss-logic 2019-08-31 16:11:04 +02:00
Matthias 513e84880e Don't escape ticks where it's not needed 2019-08-25 20:38:51 +02:00
Matthias 3f6eeda3f0 Reset stoploss_order_id when recreating fails 2019-08-24 18:06:14 +02:00
Matthias b6462cd51f Add explaining comment 2019-08-18 16:22:18 +02:00
Matthias ddfadbb69e Validate configuration consistency after loading strategy 2019-08-18 16:10:10 +02:00
Matthias 14c4854987 Merge branch 'develop' into lock_pairs 2019-08-15 06:56:39 +02:00
Matthias 9f26c4ebdc Merge branch 'develop' into fix/sell_order_hanging 2019-08-15 06:46:12 +02:00
Matthias a4ab42560f improve docstring for create_trades 2019-08-14 06:16:59 +02:00
Matthias a76136c010 Rename create_trade to create_trades 2019-08-14 06:16:43 +02:00
Matthias 6948e0ba84 Handle orderbook_depth check correctly 2019-08-13 10:12:02 +02:00
Matthias 997eb7574a Support creating multiple trades in one iteration 2019-08-13 10:01:29 +02:00
Matthias 8873e0072c process_maybe_execute_buy does not need to return bool 2019-08-13 09:42:22 +02:00
Matthias 4b8eaaf7aa freqtradebot.process() does not need to return anything 2019-08-13 09:37:56 +02:00
Matthias 28e318b646 Lock pairs for stoploss_on_exchange fills too 2019-08-13 08:47:11 +02:00
Matthias 59acd5ec7c Lock pair for the rest of the candle in case of sells 2019-08-12 20:39:34 +02:00
Matthias 241d510096 Handle and update sell-orders immediately if they are closed 2019-08-12 16:34:55 +02:00
Matthias 4b4fcc7034 Change stoploss_on_exchange in freqtradebot 2019-08-11 19:43:57 +02:00
Matthias 05b1854946 Gracefully handle InvalidOrderException. 2019-07-25 19:56:59 +02:00
hroff-1902 21bf01a24c partial freqtradebot cleanup 2019-06-27 22:29:17 +03:00
Matthias f8dd0b0cb3 Use parenteses instead of \ seperators 2019-06-27 06:32:26 +02:00
hroff-1902 05d93cda16 fix #1963 2019-06-27 01:03:38 +03:00
Matthias 9d2b6db97b
Merge pull request #1954 from freqtrade/fix/stoploss_cancel_error
Trailing stoploss cancel orders should be handled gracefully
2019-06-24 06:17:44 +02:00
Matthias 4cbcb5f36f Move .title to ExchangeResolver (it does not make sense to do this over
and over again)
2019-06-22 16:52:14 +02:00
Matthias 63640518da Gracefully handle errosr when cancelling stoploss orders
fixes #1933
2019-06-20 20:56:58 +02:00
Matthias dd379c4192 Cancelling stoploss order should not kill the bot 2019-06-20 20:32:46 +02:00
Matthias 557122921a Add order_type to sell-notification 2019-06-17 06:56:52 +02:00
hroff-1902 d217f32bbc minor: fix typo in freqtradebot.py 2019-06-17 04:35:39 +03:00
Matthias 9ea887dbd0 Merge branch 'develop' into stoploss_restart 2019-06-08 20:23:13 +02:00
Matthias b6e8fecbf5 Change persistence.init parameter
It should describe what it does
2019-05-30 06:33:16 +02:00
Matthias d6cf314481 Don't default to false for init() 2019-05-30 06:30:06 +02:00
Matthias d7bebc4385 persistence.init does not need the config dict 2019-05-29 19:54:59 +02:00
Matthias 51aa469f67 Cleanups 2019-05-20 20:29:23 +02:00
Matthias a39cdd3b2b Exclude Edge from startup-stoploss calc
Edge would recalculate / reevaluate stoploss values on startup, so these
values are not reliable
2019-05-20 20:11:50 +02:00
Matthias 6a5daab520 add logic for stoploss reinitialization after startup 2019-05-20 20:11:50 +02:00
Matthias 349c0619aa Move startup to freqtradebot 2019-05-20 20:11:50 +02:00
Matthias d16ccd7e37 Merge branch 'develop' into json-defaults 2019-04-24 09:51:04 +02:00
NatanNMB15 706b30f4d2 Fix "if" condition with "if not" for check if trade is open. 2019-04-21 14:54:24 -03:00
NatanNMB15 3bcc60333d Added command for Wallets Sync after a trade is closed in "update_trade" method in "freqtradebot" class, this will help the Wallets get updated after a trade is sold and closed, specifically LIMIT_SELL trades, then bot can work properly with new trades. 2019-04-21 13:49:07 -03:00
hroff-1902 9fbe573cca limit usage of ccxt to freqtrade/exchange only 2019-04-09 12:27:35 +03:00
hroff-1902 4559a38172 PoC: use defaults in json schema for some exchange options 2019-04-08 04:42:28 +03:00
Matthias 4a6c8f3cb2
Merge pull request #1735 from hroff-1902/ccxt-parse_timeframe
Resolution for #1137
2019-04-07 12:52:13 +02:00
Misagh 41ff2a9276 TemporaryError removed 2019-04-05 20:40:44 +02:00
Misagh 4b2eb22989 conflict with develop resolved 2019-04-05 20:23:15 +02:00
Misagh 54d068de44 missing test added 2019-04-05 20:20:16 +02:00
Misagh 25d8e93a90 remove unnecessary comment 2019-04-05 19:53:15 +02:00
Misagh 9712fb2d57 removing unnecessary comment 2019-04-05 19:49:02 +02:00
hroff-1902 2aa1b43f01 get rid of TICKER_INTERVAL_MINUTES dict, use ccxt's parse_timeframe() instead 2019-04-04 20:56:40 +03:00
Misagh 647534a4f8 flake8 2019-04-04 17:17:21 +02:00
Misagh 31fa857319 typo 2019-04-04 17:15:51 +02:00
Misagh a363d443bf stoploss on exchange canceled handled 2019-04-04 17:13:54 +02:00
Misagh 9d6d60dcf0
Merge pull request #1689 from hroff-1902/main_refactoring
Main.py and freqtradebot refactoring
2019-04-04 11:19:15 +02:00
Misagh ef48193fad
Merge pull request #1721 from hroff-1902/fix_1704
Fix #1704
2019-04-03 20:32:38 +02:00
Matthias 3c399fbe3f Improve whitelist wordings 2019-04-03 19:51:46 +02:00
hroff-1902 2959156070
Merge branch 'develop' into main_refactoring 2019-04-03 00:50:33 +03:00
Misagh 54f11ad603 enriching TSL log 2019-04-02 18:57:06 +02:00
Matthias 0cfdce0d5e Update function name from update_open_order to update_trade_state 2019-04-02 07:12:48 +02:00
hroff-1902 ab0e657d77 Check for empty whitelist moved to _process() 2019-04-01 21:36:53 +03:00
hroff-1902 34b40500c3 Check whitelist fetched from config for emptiness 2019-04-01 20:45:59 +03:00
hroff-1902 8546db9dfd wording in the log message 2019-04-01 20:23:13 +03:00
hroff-1902 f0b2798c37 fix #1704 2019-04-01 14:08:03 +03:00
hroff-1902 7251e5bd62 bot state moved back to freqtradebot from worker 2019-03-31 23:39:55 +03:00
Matthias 19d3a0cbac Update comment 2019-03-31 19:41:17 +02:00
Matthias 5c8fbe2c6f Handle exception for stoploss independently of sell order 2019-03-31 15:41:10 +02:00
Matthias f11a1b0122 Call update_open_order inline with buy
captures FOK / market orders
2019-03-31 15:40:43 +02:00
Matthias 8f4cca47e9 Refactor update_open_order into it's own function 2019-03-31 15:39:41 +02:00
Matthias 4fa736114c Don't set order_id to none here - it's used in "update_open_order".
should fix bugs observed in #1371 connected to stoploss
2019-03-31 15:38:25 +02:00
hroff-1902 5161e1abb3 Allow to pass config into worker, as it's used in the tests 2019-03-26 11:07:02 +03:00
hroff-1902 c8b0c9af0a Worker moved to new worker.py 2019-03-25 17:45:03 +03:00
hroff-1902 158cb307f6 further refactoring of FreqtradeBot.process() 2019-03-23 00:20:20 +03:00
hroff-1902 60afba5592 move worker stuff to main.py 2019-03-22 20:16:54 +03:00
hroff-1902 aa15312670 wallets cleanup 2019-03-19 20:51:27 +03:00
Matthias c8617e70a8
Merge pull request #1668 from freqtrade/fix/1658_no_telegram_updates
No telegram rate updates when orderbook is enabled
2019-03-18 19:40:32 +01:00
Matthias a0e6cd93b6 Use bids, not asks for sell-rate detection 2019-03-17 11:27:01 +01:00
Matthias 6666d31ee9
Merge pull request #1648 from hroff-1902/sd-watchdog
Support for systemd watchdog
2019-03-16 13:46:04 +01:00
Matthias 6bfc37309e refactor getting sell/current rate for telegram and selling
fix #1658
2019-03-16 13:24:10 +01:00
Matthias 6b8f5963a8
Merge pull request #1623 from iuvbio/markets_refactor
Markets refactor
2019-03-14 06:22:18 +01:00