Commit Graph

956 Commits

Author SHA1 Message Date
aayush-jain18
d294ef10d7 unexpected docstring params 2021-06-25 23:56:16 +05:30
aayush-jain18
a46f60bd94 spell corrections 2021-06-25 22:10:04 +05:30
Matthias
e1010ff592 Don't load protections from config if strategy defines a property 2021-06-18 19:55:53 +02:00
Matthias
d35b2e3b8f Update ftx stoploss logic to properly detect correct trades
closes #5045
2021-06-13 11:06:34 +02:00
Matthias
d4dfdf04fc Move RPCMessageType to enums 2021-06-09 20:23:17 +02:00
Matthias
9c34304cb9 Move state enums to enums package 2021-06-08 21:20:35 +02:00
Matthias
d16a619489 Move SellType Enum to it's own module 2021-06-08 21:04:34 +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
10cd89a99d Allow the API to respond faster in case of long pairlists 2021-06-02 10:39:49 +02:00
Matthias
a01d05997e Add Trade.commit method for easy use 2021-05-27 11:38:28 +02:00
Matthias
6fb32c3594 Use commit instead of .flush() 2021-05-27 11:38:28 +02:00
Matthias
a747312c1e Explicitly provide is_open to trade Object
closes #5015
2021-05-25 18:02:07 +02:00
Matthias
45e2621505 Add minimum-filled protection for buy cancels 2021-05-21 19:32:16 +02:00
axel
75f88b466a add ability to choose unit in unfilled timeout 2021-05-18 19:30:36 -04: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
380754b8ab Fix typos in docstrings 2021-05-16 13:20:05 +02:00
Matthias
0b1dd0d203 Use correct order_id for ftx
closes #4511
2021-05-16 09:15:25 +02:00
Rokas Kupstys
9b4f6b41a2 Use correct datetime. 2021-05-08 10:29:47 +03:00
Rokas Kupstys
dc6e702fec Pass current_time to confirm_trade_entry/confirm_trade_exit. 2021-05-08 10:29:47 +03:00
Rokas Kupstys
d34da3f981 Revert "Add dataframe parameter to custom_stoploss() and custom_sell() methods."
This reverts commit 595b8735f8.

# Conflicts:
#	freqtrade/optimize/backtesting.py
#	freqtrade/strategy/interface.py
2021-05-08 10:29:47 +03:00
Matthias
dbf33271b5 Small doc changes 2021-04-26 19:52:26 +02:00
Rokas Kupstys
98f6fce2ec Use correct sell reason in case of custom sell reason. 2021-04-25 09:48:40 +03:00
Rokas Kupstys
595b8735f8 Add dataframe parameter to custom_stoploss() and custom_sell() methods. 2021-04-25 09:48:40 +03:00
Rokas Kupstys
961b38636f Remove explicit sell_flag parameter from SellCheckTuple. 2021-04-25 09:48:40 +03:00
Rokas Kupstys
bfad4e82ad Make execute_sell() use SellCheckTuple for sell reason. 2021-04-25 09:48:40 +03:00
Rokas Kupstys
1aad128d85 Support returning a string from custom_sell() and have it recorded as custom sell reason. 2021-04-25 09:48:40 +03:00
Matthias
f12e002686
Merge pull request #4775 from freqtrade/fix_wallet_unlimited
Fix wallet unlimited
2021-04-24 15:54:06 +02:00
Matthias
0d2457cd47 Add lock_reason to per-pair lock 2021-04-22 19:28:50 +02:00
Jose Hidalgo
896ec58cad Add the reason why there is a global pairlock when lock is available 2021-04-21 15:02:33 -06:00
Matthias
d8c8a8d8c2 Remvoe pointless arguments from get_trade_stake_amount 2021-04-21 20:01:10 +02:00
Matthias
d740aae8ca Default fill notifications to off 2021-04-20 19:23:29 +02:00
Matthias
0341ac5a55 rename RPC message types 2021-04-20 19:23:28 +02:00
Matthias
8800a09770 Don't send double-notifications for stoploss fills 2021-04-20 19:22:14 +02:00
Matthias
fecd5c582b Add buy and sell fill notifications
closes #3542
2021-04-20 19:22:14 +02:00
Matthias
579e68f31e Reduce log verbosity when buying 2021-04-10 14:40:44 +02:00
Matthias
0407bf755f Use .query.session to make sure the scoped session is used properly 2021-04-05 07:28:51 +02:00
Matthias
2869d5368d Allow edge to use dynamic pairlists
closes #4298
2021-03-30 20:20:24 +02:00
Matthias
43d7f9ac67 Add bid_last_balance parameter
to interpolate sell prices

closes #3270
2021-03-20 14:38:26 +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
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