Commit Graph

992 Commits

Author SHA1 Message Date
Matthias 56759cea7b Add "high fee rate" blocker to fees from trades
part of #5415 (potentially fixing this)
2021-08-22 14:37:45 +02:00
Matthias 9951f51079 Update test to ensure direction of movement is correct 2021-08-18 20:24:19 +02:00
axel 2fb9f6e2f4 rename custom price max distance option in config, update formula and test associated 2021-08-18 05:07:37 -04:00
axel 6ab99369f2 Merge branch 'develop' of https://github.com/freqtrade/freqtrade into custom_order_price 2021-08-16 23:26:29 -04:00
axel 3ea4b2ba00 add custom_price_max_distance_percent security to get_valid_price, update tests 2021-08-16 15:18:57 -04:00
slowy07 f24a951ec5 fix: typo spelling grammar 2021-08-16 19:16:24 +07:00
axel 20cc60bfde update get_valid_price function and test cases to handle inputs with try catch 2021-08-13 11:06:15 -04:00
axel dbf7f34ecb add unit test to function get_valid_price 2021-08-12 15:30:49 -04:00
axel b098ce4e76 add function get_valid_price to validate type of custom entry or exit price and use default proposed price if invalid 2021-08-12 15:13:14 -04:00
axel ae11be3970 manage None or string value returned by custom_entry_price and add unit test for those cases 2021-08-12 14:47:01 -04:00
Sam Germain 2c0077abc7 Exchange stoploss function takes side 2021-08-08 23:24:03 -06:00
axel 84d082033b fix default retval for strategy custom_entry_price 2021-08-05 18:00:31 -04:00
axel cb3b0cf311 add custom_exit_price in interface and freqtradebot 2021-08-04 23:09:40 -04:00
axel b644233ead rename custom_entry_price kwarg to align it to the interface 2021-08-03 17:03:27 -04:00
axel b3dafb378e remove use_custom_entry_price as a config option 2021-08-03 16:54:28 -04:00
axel 16146357b3 reuse buy_limit_requested as rate input for custom entry price 2021-08-03 16:39:35 -04:00
axel 00939b63f2 flake 8 fixes 2021-08-03 16:25:18 -04:00
axel 5284112b69 fix in custom entry function output,remove changes related to outdated prices, doc exemple minor changes 2021-08-03 15:57:23 -04:00
axel f11f5d17e9 add feature custom entry price for live 2021-08-03 15:57:23 -04:00
Sam Germain d88e2ae603 Merge branch 'develop' into margin-db 2021-08-02 23:58:44 -06:00
Matthias d8d8261f1b
Merge pull request #5318 from samgermain/combined_exchange_buy_sell
combined exchange.buy and exchange.sell
2021-08-02 20:11:09 +02:00
Sam Germain 25c527ee67 combined exchange.buy and exchange.sell, Adding dummy mock to create_order in tests in test_freqtradebot 2021-07-28 14:55:06 -06:00
Sam Germain 7823a33cbb Updated Trade class 2021-07-28 12:25:55 -06:00
kevinjulian dd809f756b run mypy 2021-07-22 02:34:20 +07:00
kevinjulian 235c1afd09 add buy_tag on telegram 2021-07-22 01:53:15 +07:00
kevinjulian 49886874aa rename to buy_tag 2021-07-21 20:05:35 +07:00
kevinjulian 66a7070170 run linter 2021-07-20 23:56:03 +07:00
Kevin Julian edf9c08f06
Merge branch 'develop' into feat/kevinjulian/add-buy-signal-name 2021-07-20 19:19:46 +07:00
kevinjulian 7d04005218 add test and migration 2021-07-20 16:14:48 +07:00
kevinjulian 9e63bdbac9 feat: add buy signal name 2021-07-20 04:58:20 +07:00
Sam Germain 7c27525bd8 Merge get_buy_rate and get_sell_rate 2021-07-17 22:51:20 -06:00
Matthias 7ea0a74c53 Default to proposed stake 2021-07-11 14:11:41 +02:00
Rokas Kupstys 0e4466ca1e Implement strategy-controlled stake sizes. Expose `self.wallet` to a strategy. 2021-07-11 12:38:58 +03:00
Matthias 1067a9f356 Move strategy-override signals to top-level of the config
closes #2867
2021-06-26 16:06:13 +02:00
Matthias 60c7308126
Merge pull request #5183 from freqtrade/remove_order_book_max
Remove order book max
2021-06-26 14:56:10 +02:00
Matthias d59a38665c Remove support for order_book_max 2021-06-25 20:36:39 +02:00
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