Commit Graph

915 Commits

Author SHA1 Message Date
Matthias
0db5c9746f
Merge pull request #4454 from freqtrade/backtest_compound_speed
Backtest compound, wallet, ...
2021-03-10 10:07:40 +01:00
Matthias
99583bbd0c Fix problem with FTX
where cancelled orders are "cancelled", not "canceled"
2021-03-09 20:21:08 +01:00
Matthias
a405d578da Introduce forcebuy ordertype to allow specifiying a different ordertype for forcebuy / forcesells 2021-03-05 20:22:04 +01:00
Matthias
e32b2097f0 Use timestamp in UTC timezone for ROI comparisons 2021-02-27 09:32:59 +01:00
Th0masL
006f31129e Reduced length of the line 2021-02-25 05:23:24 +02:00
Th0masL
117f0064ed Allow changing the order_type for forcesell 2021-02-25 05:02:08 +02:00
Matthias
2b0d2070d0 Avoid crash with /delete
When a trade is deleted between querying the database and actually
handling the trade.

closes #4326
2021-02-18 12:49:14 +01:00
Matthias
73d91275c4 Reset sell_order_status if a new sell-order is placed
closes #4365
2021-02-14 07:11:07 +01:00
Matthias
d5cf837c0f Parse regular cancel_order call to update orders table 2021-02-06 09:23:10 +01:00
Matthias
aec22c5c3d introduce skip_open_order_update parameter
skips startup-open-order-update
closes #4128
2021-02-05 20:17:53 +01:00
Matthias
b8cb39462c Move get_trade_stake_amount to wallets
this way it can be easier used by other functions
2021-02-03 20:00:33 +01:00
Matthias
cfd0bb8964 Extract min stake amount from bot to exchange class 2021-02-02 19:47:21 +01:00
Matthias
16dad8b6d4 Allow custom_stoploss to cooperate with stoploss on exchange 2021-01-30 20:11:18 +01:00
Tho Pham (Alex)
8f529f48da
Update freqtrade/freqtradebot.py use is_open.is_(True)
Co-authored-by: Matthias <xmatthias@outlook.com>
2021-01-26 07:38:25 +07:00
Tho Pham (Alex)
c22cccb55b
Fix operator does not exist: boolean = integer 2021-01-25 12:24:47 +07:00
Matthias
a8bae3a381 Don't update trade fees for dry-run orders 2021-01-17 20:31:27 +01:00
Matthias
91f8667881 DOn't update open orders in dry-run mode 2021-01-06 09:57:36 +01:00
Matthias
f11fd2fee1 Sort imports 2020-12-23 17:00:02 +01:00
Matthias
67193bca3d Move pairlists to be a plugin submodule 2020-12-23 16:54:35 +01:00
Matthias
7eab33de08 Merge branch 'develop' into plugins/protections_backtest 2020-12-13 10:31:33 +01:00
Matthias
181b88dc75 Don't accept too high fees, assuming they are erroneous
Forces fallback to "detection from trades"
2020-12-12 10:52:27 +01:00
Matthias
c784e5780e
Merge pull request #4054 from freqtrade/models_open_price
Models open price
2020-12-11 06:31:02 +01:00
Matthias
201cc67e05 Rename open_trade_price to "open_trade_value" 2020-12-10 19:21:20 +01:00
Matthias
f1af2972e2 Ensure non-defined attributes fail correctly
Remove unnecessary check, as stoploss cannot be none (it's mandatory and
a number)
2020-12-09 07:55:08 +01:00
Matthias
c993831a04 Add protections to startup messages 2020-12-07 10:57:01 +01:00
Matthias
ad746627b3 Fix lock-loop 2020-12-07 08:23:10 +01:00
Matthias
6d0f16920f Get Longest lock logic 2020-12-07 08:23:10 +01:00
Matthias
8f958ef723 Improve login-mixin structure 2020-12-07 08:23:10 +01:00
Matthias
8d9c66a638 Add LogginMixin to freqtradebot class to avoid over-logging 2020-12-07 08:23:10 +01:00
Matthias
59091ef2b7 Add helper method to calculate protection until 2020-12-07 08:23:10 +01:00
Matthias
fe0afb9883 Implement calling of per-pair protection 2020-12-07 08:23:10 +01:00
Matthias
ff7ba23477 Simplify enter_positions and add global pairlock check 2020-12-07 08:23:10 +01:00
Matthias
f39a534fc0 Implement global stop (First try) 2020-12-07 08:23:10 +01:00
Matthias
2fbbeb970b Gracefully handle cases where no buy price was found
closes #4030
2020-12-04 07:42:16 +01:00
Matthias
5c8779b155 Sort imports 2020-10-27 08:11:57 +01:00
Matthias
6c913fa617 Fix locking - should round before storing to have a consistent picture 2020-10-27 08:01:31 +01:00
Matthias
e602ac3406 Introduce Pairlocks middleware 2020-10-27 07:06:06 +01:00
Matthias
5f63fdd8ad Use better lock message 2020-10-20 19:40:39 +02:00
Matthias
e513871fd5 Persist pairlocks
closes #3034
2020-10-20 19:21:13 +02:00
Matthias
8cdc795a44 Rename persistence.init to init_db 2020-10-16 08:15:18 +02:00
Matthias
44e374878c Fix mypy errors due to new version 2020-10-12 19:28:14 +02:00
Matthias
253b7b763e Apply isort to freqtrade codebase 2020-09-28 19:40:46 +02:00
Matthias
77d0189695 Remove not needed argument in update_trade_state 2020-09-19 09:37:11 +02:00
Matthias
962fed24b0 Readd refind_order logic 2020-09-14 17:34:13 +02:00
Matthias
77c28187a6 Don't run refind order on stoploss 2020-09-11 20:06:05 +02:00
Matthias
aa8832f70e Convert select_order to use ft_is_open flag 2020-09-11 07:12:10 +02:00
Matthias
85d90645c7 Remove duplciate check for buy orders 2020-09-10 15:42:34 +02:00
Matthias
25938efee6 Add partial test for refind_order 2020-09-09 07:50:52 +02:00
Matthias
f6ebe51314 Add test for update_open_orders 2020-09-06 19:32:00 +02:00
Matthias
5fba446e9a Merge branch 'develop' into db_keep_orders 2020-09-06 15:22:13 +02:00
Matthias
b4da36d6e9 Fix small typo and add small testcase 2020-09-06 15:05:47 +02:00
Matthias
a78d61150c Deleting must delete orders first 2020-09-06 14:28:24 +02:00
Matthias
43035a3f76
Merge pull request #3724 from freqtrade/fix/3084
Forcesell should use the available methods for handling a trade correctly
2020-09-01 15:11:05 +02:00
Matthias
d6d3a02a23 Merge branch 'develop' into db_keep_orders 2020-09-01 07:51:16 +02:00
Matthias
a4e3edbcc5 Fix stoploss_last_update beein updated with date object in wrong
timezone
2020-09-01 07:10:48 +02:00
Matthias
b2373fccfd Adjust tests as send_msg is only called once 2020-08-27 06:35:28 +02:00
Matthias
9c0a3fffd7 Avoid double notifications in case of partially filled buy orders 2020-08-26 22:17:43 +02:00
Matthias
add78414e4 Don't overwrite cancel_reason 2020-08-26 21:24:47 +02:00
Matthias
c272944834 Lock pair until a new candle arrives 2020-08-24 11:09:09 +02:00
Matthias
26f45c8323 Improve logmessage for trailing stoploss 2020-08-24 06:56:56 +02:00
Matthias
38809acde8 Don't rerun for known closed orders 2020-08-24 06:50:43 +02:00
Matthias
c3a367e4f0 Merge branch 'develop' into db_keep_orders 2020-08-23 19:14:57 +02:00
Matthias
ec94961437 Reduce loglevel of "using cached rate" 2020-08-23 19:14:28 +02:00
Matthias
9ba9f73706 Improve logging, don't search for buy orders in refind_lost_order 2020-08-23 16:04:32 +02:00
Matthias
3d7e800ff2 Remove test code 2020-08-22 16:08:54 +02:00
Matthias
11e69bdd65 Update open trades too 2020-08-22 15:49:32 +02:00
Matthias
fd33282eb1 Add handle_insufficient exception 2020-08-22 15:48:00 +02:00
Matthias
3b4446339e Use fetch_order_or_stoploss order 2020-08-22 09:30:25 +02:00
Matthias
39beb5c837 Add method to update fees on closed trades 2020-08-22 08:59:54 +02:00
Matthias
2d6bcbb454 Fix small error in trades updating 2020-08-21 19:51:31 +02:00
Matthias
357d7714ec Add docstring to update_trade_state 2020-08-21 07:31:22 +02:00
Matthias
3be14933d4 Add comment explaining update_open_orders 2020-08-21 07:24:49 +02:00
Matthias
0b6014fae3 update_trade_state should take the order id directly - not from the trade object 2020-08-21 07:17:52 +02:00
Matthias
838985f6a0 Don't reset open-order-id just yet
it's needed to get the fees
2020-08-21 07:13:13 +02:00
Matthias
cfa352ecf2 Disable refind_lost_order for now 2020-08-14 11:25:20 +02:00
Matthias
552aaf7945 add refind order logic 2020-08-14 10:59:55 +02:00
Matthias
8458a380b8 Improve order catchup 2020-08-14 09:52:47 +02:00
Matthias
95efc0d688 Add open_order_updater 2020-08-14 09:52:47 +02:00
Matthias
1a305ea8b0 Fix migrations to use unique key 2020-08-14 09:52:46 +02:00
Matthias
4434a54d59 Add unique key to order-Model 2020-08-14 09:52:46 +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
4924d8487e Extract "update order from ccxt" to it's onw function 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
815d88fd4a Fix test after merge, fix forgotten 'amount' 2020-08-12 15:32:56 +02:00
Matthias
9999d0ffb5 Merge branch 'develop' into fix/3579 2020-08-12 15:28:51 +02:00
Matthias
faa2bbb555 Document exception hierarchy 2020-08-12 14:29:14 +02:00
Matthias
1f1a819b29 Remove unused 3rd argument to create_stoploss call 2020-08-12 11:21:00 +02:00
Matthias
99bfa839eb Improve logging for sell exception 2020-08-02 10:12:15 +02:00
Matthias
071e82043a Better handle cancelled buy orders 2020-08-01 15:59:50 +02:00
Matthias
21dcef1134 Add trade_id to webhooks
allowing for easier corelation of different messages
2020-07-20 19:57:05 +02:00
Matthias
4774896169 Evaluate average before price in order returns 2020-07-20 19:39:12 +02:00
Matthias
de46744aa9 Use filled before amount for order data
closes #3579
2020-07-15 21:08:16 +02:00
Matthias
3721736aaf Convert to real amount before placing order
to keep the correct amount in the database
2020-07-15 20:28:07 +02:00
Matthias
eafab38db3 Complete implementation of amount_requested 2020-07-15 20:20:14 +02:00
Matthias
d13cb4c055 Introduce safe_value_fallback_2 2020-07-15 19:50:09 +02:00
Matthias
6ee6e51ab4 Merge branch 'develop' into pr/hroff-1902/3478 2020-07-13 07:22:43 +02:00
hroff-1902
839b3340e6
Merge pull request #3497 from freqtrade/keep_dataframe_noapi
Analyze dataframe and keep it until the next analysis
2020-07-05 13:46:02 +03:00
Matthias
cf26ab1dd8
Merge pull request #3527 from Theagainmen/Warning_message2
Warning message bot is stopped and left open trades
2020-06-30 07:48:02 +02:00
Matthias
c2a6f70b4c Merge branch 'develop' into keep_dataframe_noapi 2020-06-30 07:46:52 +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
bf61bc9d83 Introduce ExchangeError 2020-06-28 16:01:40 +02:00
Theagainmen
118f051171 Added message in cleanup and fixes 2020-06-28 11:02:50 +02:00
Theagainmen
e5676867a8 Trying to fix flake8 errors 2020-06-27 21:53:12 +02:00
Theagainmen
b938c536fa Trying to fix flake8 errors 2020-06-27 21:46:53 +02:00
Theagainmen
48289e8ca7 Added exchange name, removed capital letters 2020-06-27 20:24:50 +02:00
Theagainmen
0642ab76bf Added information to the new function 2020-06-27 18:40:44 +02:00
Theagainmen
e813573f27 Warning message for open trades when stopping bot 2020-06-27 18:35:46 +02:00
Matthias
45ffb26910 Merge branch 'develop' into pr/hroff-1902/3478 2020-06-18 19:54:46 +02:00
Matthias
f1993fb2f4 Pass analyzed dataframe to get_signal 2020-06-18 08:09:52 +02:00
Matthias
84329ad2ca Add confirm_trade* methods to abort buying or selling 2020-06-18 06:50:06 +02:00
Matthias
dea7e3db01 Use supress_errors in strategy wrapper - ensure it's called once 2020-06-18 06:50:06 +02:00
Matthias
bc821c7c20 Add documentation for bot_loop_start 2020-06-18 06:50:06 +02:00
Matthias
273aaaff12 Introduce .analyze() function for Strategy
Fixing a few tests along the way
2020-06-18 06:50:05 +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
hroff-1902
de36f3d850 Cosmetics in freqtradebot 2020-06-14 01:42:45 +03:00
hroff-1902
7d451638a8 Make _reload_markets() public 2020-06-10 01:39:23 +03:00
Matthias
5f9994c9ed Reduce verbosity of sell-rate fetching 2020-06-05 20:24:21 +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
hroff-1902
64881a94e2
Merge branch 'develop' into timeframe 2020-06-02 15:56:34 +03:00
Matthias
af0f29e6b7 Update persistence to use timeframe 2020-06-02 10:02:36 +02:00
Matthias
947903a4ac Use timeframe from within strategy 2020-06-02 09:36:04 +02:00
hroff-1902
4c2228a2da
Merge pull request #3399 from freqtrade/fix_sell_rate_caching
[minor] Fix sell rate caching
2020-06-02 04:04:16 +03:00
Matthias
cadc50ce9b Replace more occurances of ticker_interval with timeframe 2020-06-01 20:49:40 +02:00
Matthias
c35f9f8d39 Verify sell-rate got a value - otherwise downstream code does not work.
Using PricingException here will cease operation for this pair for this
iteration - postponing handling to the next iteration - where hopefully
a price is again present.
2020-06-01 19:45:37 +02:00
Matthias
57e951dbce Add orderbook sell rate to sell_rate_cache 2020-05-30 11:08:56 +02:00
Matthias
f4af4cc2b2 Small formatting improvement 2020-05-27 07:11:59 +02:00
Matthias
8c87fcdae3 Rename PricingException to PricingError 2020-05-26 20:35:11 +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
7a7b26e840 Add exception handlers for orderbook logic 2020-05-26 20:14:05 +02:00
hroff-1902
6fa8750fea
Merge branch 'develop' into refactor-informative 2020-05-18 14:00:09 +03:00
hroff-1902
ba26f3a73a Merge branch 'refactor-informative' of ssh://github.com/hroff-1902/freqtrade into refactor-informative 2020-05-18 13:55:09 +03:00
hroff-1902
627c5059f0 Move create_pair_list to pairlistmanager 2020-05-18 13:54:21 +03:00
Matthias
2074d986a6 Update test to verify we're not spamming messages 2020-05-17 11:12:30 +02:00
Matthias
dd55d2eea3 Reduce spammyness of parcial cancel orders 2020-05-17 10:53:07 +02:00
hroff-1902
318e435a8f
Merge branch 'develop' into refactor-informative 2020-05-16 22:14:50 +03:00
Matthias
7a11219b61
Reword some documentation strings
Co-authored-by: hroff-1902 <47309513+hroff-1902@users.noreply.github.com>
2020-05-16 13:17:48 +02:00
Matthias
2a1fcc0f06 Merge branch 'develop' into pr/jpribyl/3210-1 2020-05-16 13:09:38 +02:00
hroff-1902
facaaabc1e Rename _refresh_whitelist() 2020-05-16 12:27:56 +03:00
hroff-1902
f8b01f5a43 Make flake happy 2020-05-16 12:27:56 +03:00
hroff-1902
035a12ce61 Move _create_pair_whitelist to dataprovider 2020-05-16 12:27:56 +03: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
255ff6cd06 Should return False if it's not been cancelled empty 2020-05-13 20:52:40 +02:00
Matthias
60f26ba501 use update_trade_state also for closed stoploss orders 2020-05-13 20:25:32 +02:00
Paul D. Mendes
9fbe135790 attached pairlist manager onto dataprovider init for unified access to dynamic whitelist 2020-05-11 20:17:03 +04:00
Matthias
73a1496318 Catch exception on cancel_order 2020-05-10 17:44:45 +02:00
hroff-1902
5b92387732
Merge pull request #3259 from freqtrade/fix/filled
Fix handling of partially or non-filled timedout orders
2020-05-07 09:58:26 +03:00
Matthias
1ba2df79c6 Ause isclose for comparison, assign filled to variable
add some comments
2020-05-07 06:51:02 +02:00
hroff-1902
0340d7bf37
Merge pull request #3249 from freqtrade/increase_rate_cache
[minor] Increase cache for rate limit to avoid delays
2020-05-05 19:08:31 +03:00
Matthias
981976681a Use filled, it's the safer choice when determining the filled amount. 2020-05-05 07:09:12 +02:00
Matthias
648723fb83 Use 30min rate cache 2020-05-05 06:32:03 +02:00
Matthias
b38f9ed5e7 Increase cache for rate limit to avoid delays
Helps when calling /status or /status table frequently on slowish
exchanges
2020-05-03 20:44:18 +02:00
Matthias
2a4c9bf3d3 Improve logmessage when falling back to wallet amount 2020-05-03 20:32:45 +02:00
Matthias
58168336e1 Add test for apply_fee_conditional 2020-05-03 11:13:59 +02:00
Matthias
38c4949360 Align applying of fee when comming from orders or trades 2020-05-03 10:50:59 +02:00
Matthias
78b3d8487f Add typehint 2020-05-01 20:34:58 +02:00
Matthias
021e2b58ca Support partially cancelled orders for fee calculation 2020-05-01 20:24:26 +02:00
Matthias
737fc6d198 Fix bug when querying side 2020-05-01 20:05:13 +02:00
Matthias
6d620ba1f6 Verify if fee for this side has been updated 2020-05-01 19:54:16 +02:00
jpribyl
bd51cd332b Cancel all open orders after receiving /stop or ctrl+c 2020-05-01 10:36:11 -06:00
Matthias
40d4949f06 Don't handle trades if they've just been closed. 2020-05-01 17:46:01 +02:00
Matthias
7558e4bffe Split fee detection from trades from general logic 2020-05-01 16:13:07 +02:00
Matthias
371100a97c Update fee handling 2020-05-01 16:01:33 +02:00
Matthias
db8fb39a38 don't use trade.update directly! 2020-05-01 15:50:02 +02:00
Matthias
a867d40eac Move fee_methods to exchange 2020-04-30 19:33:27 +02:00
Matthias
d3b9f4d393 Add extract_cost_curr_rate 2020-04-30 19:28:36 +02:00
Matthias
6d7a3a0cc9 Extract more logic into order-has_fee 2020-04-30 07:12:08 +02:00
Matthias
b125dd3728 Extract order_has_fee method 2020-04-30 07:06:06 +02:00
Matthias
431b244f43 Merge branch 'develop' into interface_ordertimeoutcallback 2020-04-19 06:58:44 +02:00
Matthias
0273539f06 Remove exceptionhandler, this exception is handled in
cancel_with_response
2020-04-17 19:55:53 +02:00
Matthias
1069cb3616 Use cancel_order_with_result when cancelling orders after timeout 2020-04-17 17:53:56 +02:00
Matthias
fc684b0091 Ensure deleting filled is not raising an error if filled does not exist 2020-04-17 06:59:52 +02:00
hroff-1902
68be239a0e
Merge pull request #3146 from freqtrade/buy_order_timeout_logging
Improve handling for buy order cancels
2020-04-16 23:41:45 +03:00
Matthias
1f70fcfa2d Update logmessage 2020-04-16 20:19:34 +02:00
Matthias
f39706cabd Fix #3130 - when corder['remaining'] contains none-type 2020-04-09 19:35:27 +02:00
Matthias
5cff72a42e Improve logging to ensure which branch is used for buy order cancels 2020-04-09 09:22:38 +02:00
Matthias
95011919d3 Remove questionable handling of orders 2020-03-25 11:18:33 +01:00
Matthias
3c1b155e9f Remove filled if amount is modified to suit fee structure 2020-03-25 09:43:04 +01:00
Matthias
f3103be15c Fix test 2020-03-25 09:43:04 +01:00
Matthias
700cedc573 Unify handling of open orders to update_trade_state 2020-03-25 09:43:04 +01:00
Matthias
7c47c6e3bd check for timeouts before exiting positions 2020-03-25 09:43:04 +01:00
Matthias
9c351007f5 Provide reason for cancelled sell order 2020-03-25 09:43:04 +01:00
Matthias
1817e6fbdf Combine real_amount updating into one method 2020-03-25 09:43:04 +01:00
Matthias
2c434e9b11 Add close_proit_abs column 2020-03-22 11:16:23 +01:00
hroff-1902
fb4e9b3938
Merge pull request #3025 from yazeed/minor_create_trade_optimization
minor create_trade() optimization
2020-03-21 10:36:39 +03:00
Yazeed Al Oyoun
942792f123 updated as suggested 2020-03-20 05:48:53 +01:00
Matthias
5e702f6891 Verify cancel_order returnvalue is a dictionary 2020-03-19 19:44:14 +01:00
Matthias
a1bbeaa668 Merge branch 'develop' into interface_ordertimeoutcallback 2020-03-15 14:56:14 +01:00
hroff-1902
3208faf7ed Do not use ticker where it's not a ticker 2020-03-08 20:47:02 +03:00
Matthias
847df7b70c
Merge pull request #3026 from yazeed/add_default_to_ignore_roi_if_buy_signal
default for ignore_roi_if_buy_signal in freqtradebot.py
2020-03-06 19:35:41 +01:00
Yazeed Al Oyoun
b8d05d8751 found instance of config get without default 2020-03-05 22:14:05 +01:00
Yazeed Al Oyoun
0587256733 minor create_trade() optimization 2020-03-05 21:57:01 +01:00
Yazeed Al Oyoun
4474482307 unifying get_sell_rate with get_buy_rate 2020-03-05 20:44:29 +01:00
hroff-1902
34093d1208
Merge branch 'develop' into no-percent-1 2020-03-05 14:27:12 +03:00
Matthias
53dcb5d5ed Fix logging expression 2020-03-03 19:36:03 +01:00
Matthias
6e2290c4f0 Allow last to be empty -
closes #3005
2020-03-02 20:05:54 +01:00
hroff-1902
e411717de9 No percent where ratio is to be used 2020-02-28 12:36:39 +03:00