Commit Graph

528 Commits

Author SHA1 Message Date
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
Matthias 2bf5a3843d Use close_rate for notification if available 2019-03-13 19:41:58 +01:00
Matthias 6b948cfc7e Don't move notify_sell to rpc_manager - it needs exchange stuff 2019-03-12 22:01:19 +01:00
Matthias 11cc33a982 Refactor notify_sell to rpc_manager
* Call sell_notify also when stoploss_on_exchange is hit

fix #1653
2019-03-12 21:55:00 +01:00
iuvbio 0d980134e7 add markets reload func 2019-03-12 16:31:22 +01:00
iuvbio b24a22b0b6 use self.markets instead of get_markets 2019-03-12 16:31:22 +01:00
hroff-1902 41add9f8ca code cleanup; added message to systemd for reconfiguration 2019-03-11 15:38:00 +03:00
hroff-1902 8730852d6e Support for systemd watchdog via sd_notify 2019-03-10 21:04:38 +03:00
iuvbio 786244c0d3 Merge branch 'develop' into feature/volume-precision-pairlist 2019-03-02 18:55:40 +01:00
iuvbio e1ae0d7e90 remove markets changes 2019-03-02 18:53:42 +01:00
iuvbio c36fa0c7e2 add ticker argumet to get_target_bid 2019-03-02 17:24:48 +01:00
hroff-1902 4df44d8b32 wallets cleanup 2019-03-01 01:26:29 +03:00
Matthias 6c75b8a36a Remove pair market url 2019-02-26 19:27:28 +01:00
Misagh cee4116b80
Merge pull request #1576 from hroff-1902/patch-10
Minor: code cleanup in _process()
2019-02-26 10:17:21 +01:00
Matthias 0c53bd6dd4 Complete refactor, moving query_trades to persistance as get_open_trades 2019-02-25 20:00:17 +01:00
Matthias 4315c157c7 Move exception handling to resolver, add test 2019-02-20 20:13:23 +01:00
hroff-1902 7bc874c7fd comments adjusted 2019-02-20 16:12:17 +03:00
hroff-1902 fac0e4e603 more code cleanup in _process() 2019-02-20 16:01:56 +03:00
hroff-1902 199e3d2234 typo in a comment 2019-02-20 15:13:21 +03:00
hroff-1902 5906d37818 code cleanup in _process() 2019-02-20 15:12:04 +03:00
iuvbio 686949b258 Merge branch 'develop' into kraken_support 2019-02-20 00:52:10 +01:00
iuvbio 481cf02db9 add test and fix exchange_resolver 2019-02-19 19:15:22 +01:00
hroff-1902 f9d68d919c move default amount_reserve_percent value into constants 2019-02-19 11:49:49 +03:00
iuvbio eed1c2344d delete unnecessary arguments 2019-02-18 01:03:09 +01:00
iuvbio da4faacd6b flake8 2019-02-17 15:34:44 +01:00
iuvbio dd2522d8d0 Merge branch 'develop' into kraken_support 2019-02-17 15:21:14 +01:00
iuvbio fe792882b5 load generic class if no subclass exists 2019-02-17 14:42:55 +01:00
iuvbio d3ead2cd09 exchange import is not needed anymore 2019-02-17 04:25:39 +01:00
iuvbio c315f63e4b use exchange_resolver in freqbot 2019-02-17 04:18:56 +01:00
hroff-1902 ea6d4a9d36
fetch amount_reserve_percent from config 2019-02-16 19:50:55 +03:00
Matthias e0c420b93f
Merge pull request #1550 from hroff-1902/patch-2
execute_buy, handle_trade: do not use ticker if use_order_book:true is set in config
2019-02-16 13:55:33 +01:00
hroff-1902 8fc8c985d8
logs: cosmetic changes
"30 seconds" was errorneously hardcoded in the text of the log message, while actually it's RETRY_TIMEOUT which may differ
2019-02-13 12:38:44 +03:00
hroff-1902 69a24c1272
no need for test_ticker parameter just for making current tests happy, tests should be reimplemented 2019-02-13 12:23:22 +03:00
hroff-1902 e8daadfb7e
same approach for the sell side (at handle_trade) 2019-02-13 03:54:57 +03:00
hroff-1902 91629807f7
shame on me 2019-02-13 03:17:54 +03:00
hroff-1902 f551fb5ff7
adjusted for passing tests
Don't like this test_ticker parameter, but it's needed for tests to pass prepared ticker.
Any ideas?
2019-02-13 03:14:24 +03:00
hroff-1902 e8ef36fb6e
execute_buy: do not use ticker if use_order_book:true is set in config
This PR corresponds to:
https://github.com/freqtrade/freqtrade/issues/1377#issue-386200394
in understanfing that pair Ticker is mostly statistics, but on the other side, create_trade/execute_buy.

It resolves problem with some exchanges (BitMex) where ticker structure returned by ccxt does not contain bid and ask values.

1. On exchanges like Bitmex, set use_order_book: true for buys. FT won't request ticker and will use data from order book only.
2. On exchanges where order book is not available, set use_order_book: false, ticker data (including ask/last balance logic) will be used.
3. On other exchanges, either approach may be used in the config.

Performance: current implementation fetches ticker every time even if order book data will be later used. With this change it's eliminated.

Comparison of order book rate and ticker rate is removed (in order to split fetching order book and ticker completely in execute_buy), so some tests that touch this code may require adjustments.
2019-02-13 02:55:55 +03:00
hroff-1902 5e741a0f73
fixed flake 2019-02-10 22:28:40 +03:00
hroff-1902 08d35f3e15
fix checks
Should not make cosmetic changes right in the github editor without local smoketests...
2019-02-10 22:09:11 +03:00
hroff-1902 b91981f0aa
Cosmetic: fix logging
Output stake_amount as it is defined in the config (it may by int) instead of float. In order to avoid unnecessary questions where and why it was converted to float and changed in the last digit while it should be integer for the exchange...

Other small cosmetic improvements to logging in freqtradebot.py
2019-02-10 21:31:13 +03:00
Matthias 0a71ebce68 Remove unneeded pair conversation, add docstring 2019-02-04 06:13:22 +01:00
Matthias 02c3552954 Adjust comment 2019-02-03 13:52:05 +01:00
Matthias e8ed8a2ea7 Handle orders cancelled on exchange
fix #1527
2019-02-03 13:51:52 +01:00
Samuel Husso e3ae8d3f69 flake8 3.7.1 fixes 2019-01-31 07:51:03 +02:00
Matthias ba07348b82 Rename additional_pairs to informative_pairs 2019-01-26 19:22:45 +01:00
Matthias d136cac181 Merge branch 'develop' into feat/dataprovider 2019-01-23 21:01:19 +01:00
Matthias 13e2f71d30 Add flake8 plugins and implement small improvements 2019-01-22 20:01:12 +01:00
Matthias e66808bb02 Add additional pairs to refresh call 2019-01-22 07:07:15 +01:00
Matthias 1e749a0f9b Rename variable to be clearer 2019-01-22 07:07:15 +01:00
Matthias 0aa0b1d4fe Store tickers by pair / ticker_interval 2019-01-22 07:07:15 +01:00
Matthias b981cfcaa0 remove comment which proves untrue now 2019-01-22 07:05:09 +01:00
Matthias a206777fe5 Rename refresh_tickers to refresh_latest_ohlcv 2019-01-22 07:05:09 +01:00
Matthias 5ecdecd1eb remove unused local variable persistance 2019-01-22 07:04:19 +01:00
Matthias 58f1abf287 Add dp / wallets to strategy interface 2019-01-22 07:04:19 +01:00
Matthias 4ab7edd3d6 small adaptations 2019-01-22 07:04:19 +01:00
Matthias 7206287b00 Use Dataprovider 2019-01-22 07:04:19 +01:00
Matthias c2578c7321
Merge pull request #1474 from mishaker/tsl_on_exchange
Making trailing stoploss compatible with stoploss on exchange
2019-01-18 19:29:39 +01:00