diff --git a/docs/configuration.md b/docs/configuration.md index 12b063a54..de8acfb90 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -435,11 +435,8 @@ Configuration: If `stoploss_on_exchange` is enabled and the stoploss is cancelled manually on the exchange, then the bot will create a new stoploss order. !!! Warning "Warning: stoploss_on_exchange failures" - If stoploss on exchange creation fails for some reason, then an "emergency exit" is initiated. By default, this will exit t_he trade using a market order. The order-type for the emergency-exit can be changed by setting the `emergency_exit` value in the `order_types` dictionary - however, this is not advised. - - ### Understand order_time_in_force The `order_time_in_force` configuration parameter defines the policy by which the order diff --git a/docs/faq.md b/docs/faq.md index 47944181f..f1542d08e 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -79,7 +79,7 @@ You can use "current" market data by using the [dataprovider](strategy-customiza ### Is there a setting to only SELL the coins being held and not perform anymore BUYS? -You can use the `/stopbuy` command in Telegram to prevent future buys, followed by `/force_exit all` (sell all open trades). +You can use the `/stopbuy` command in Telegram to prevent future buys, followed by `/forceexit all` (sell all open trades). ### I want to run multiple bots on the same machine diff --git a/docs/rest-api.md b/docs/rest-api.md index 2b395a0ad..e3f9ff53d 100644 --- a/docs/rest-api.md +++ b/docs/rest-api.md @@ -145,10 +145,10 @@ python3 scripts/rest_client.py --config rest_config.json [optional par | `locks` | Displays currently locked pairs. | `delete_lock ` | Deletes (disables) the lock by id. | `profit` | Display a summary of your profit/loss from close trades and some stats about your performance. -| `force_exit ` | Instantly exits the given trade (Ignoring `minimum_roi`). -| `force_exit all` | Instantly exits all open trades (Ignoring `minimum_roi`). -| `force_enter [rate]` | Instantly enters the given pair. Rate is optional. (`forcebuy_enable` must be set to True) -| `force_enter [rate]` | Instantly longs or shorts the given pair. Rate is optional. (`forcebuy_enable` must be set to True) +| `forceexit ` | Instantly exits the given trade (Ignoring `minimum_roi`). +| `forceexit all` | Instantly exits all open trades (Ignoring `minimum_roi`). +| `forceenter [rate]` | Instantly enters the given pair. Rate is optional. (`forcebuy_enable` must be set to True) +| `forceenter [rate]` | Instantly longs or shorts the given pair. Rate is optional. (`forcebuy_enable` must be set to True) | `performance` | Show performance of each finished trade grouped by pair. | `balance` | Show account balance per currency. | `daily ` | Shows profit or loss per day, over the last n days (n defaults to 7). @@ -216,15 +216,15 @@ forcebuy :param pair: Pair to buy (ETH/BTC) :param price: Optional - price to buy -force_enter +forceenter Force entering a trade :param pair: Pair to buy (ETH/BTC) :param side: 'long' or 'short' :param price: Optional - price to buy -forcesell - Force-sell a trade. +forceexit + Force-exit a trade. :param tradeid: Id of the trade (can be received via status command) diff --git a/docs/sql_cheatsheet.md b/docs/sql_cheatsheet.md index 0405bcff0..49372b002 100644 --- a/docs/sql_cheatsheet.md +++ b/docs/sql_cheatsheet.md @@ -52,11 +52,11 @@ SELECT * FROM trades; ## Fix trade still open after a manual exit on the exchange !!! Warning - Manually selling a pair on the exchange will not be detected by the bot and it will try to sell anyway. Whenever possible, force_exit should be used to accomplish the same thing. + Manually selling a pair on the exchange will not be detected by the bot and it will try to sell anyway. Whenever possible, /forceexit should be used to accomplish the same thing. It is strongly advised to backup your database file before making any manual changes. !!! Note - This should not be necessary after /force_exit, as force_exit orders are closed automatically by the bot on the next iteration. + This should not be necessary after /forceexit, as force_exit orders are closed automatically by the bot on the next iteration. ```sql UPDATE trades diff --git a/docs/stoploss.md b/docs/stoploss.md index c950aedcb..573fdbd6c 100644 --- a/docs/stoploss.md +++ b/docs/stoploss.md @@ -54,11 +54,11 @@ This same logic will reapply a stoploss order on the exchange should you cancel ### force_exit -`force_exit` is an optional value, which defaults to the same value as `exit` and is used when sending a `/force_exit` command from Telegram or from the Rest API. +`force_exit` is an optional value, which defaults to the same value as `exit` and is used when sending a `/forceexit` command from Telegram or from the Rest API. ### force_entry -`force_entry` is an optional value, which defaults to the same value as `entry` and is used when sending a `/force_entry` command from Telegram or from the Rest API. +`force_entry` is an optional value, which defaults to the same value as `entry` and is used when sending a `/forceentry` command from Telegram or from the Rest API. ### emergency_exit diff --git a/docs/telegram-usage.md b/docs/telegram-usage.md index 4e36de1e7..4c0296f65 100644 --- a/docs/telegram-usage.md +++ b/docs/telegram-usage.md @@ -286,7 +286,7 @@ Starting capital is either taken from the `available_capital` setting, or calcul > **BINANCE:** Long ETH/BTC with limit `0.03400000` (`1.000000 ETH`, `225.290 USD`) Omitting the pair will open a query asking for the pair to trade (based on the current whitelist). -Trades crated through `/forcelong` will have the buy-tag of `force_entry`. +Trades created through `/forcelong` will have the buy-tag of `force_entry`. ![Telegram force-buy screenshot](assets/telegram_forcebuy.png) diff --git a/freqtrade/rpc/api_server/api_v1.py b/freqtrade/rpc/api_server/api_v1.py index 6628bcdce..bf5f5fbea 100644 --- a/freqtrade/rpc/api_server/api_v1.py +++ b/freqtrade/rpc/api_server/api_v1.py @@ -135,7 +135,7 @@ def show_config(rpc: Optional[RPC] = Depends(get_rpc_optional), config=Depends(g return resp -# /forcebuy is deprecated with short addition. use Force_entry instead +# /forcebuy is deprecated with short addition. use /forceentry instead @router.post('/forceenter', response_model=ForceEnterResponse, tags=['trading']) @router.post('/forcebuy', response_model=ForceEnterResponse, tags=['trading']) def force_entry(payload: ForceEnterPayload, rpc: RPC = Depends(get_rpc)): @@ -153,7 +153,7 @@ def force_entry(payload: ForceEnterPayload, rpc: RPC = Depends(get_rpc)): return ForceEnterResponse.parse_obj( {"status": f"Error entering {payload.side} trade for pair {payload.pair}."}) - +# /forcesell is deprecated with short addition. use /forceexit instead @router.post('/forceexit', response_model=ResultMsg, tags=['trading']) @router.post('/forcesell', response_model=ResultMsg, tags=['trading']) def forcesell(payload: ForceExitPayload, rpc: RPC = Depends(get_rpc)): diff --git a/freqtrade/rpc/telegram.py b/freqtrade/rpc/telegram.py index 5369843af..8e63a03e8 100644 --- a/freqtrade/rpc/telegram.py +++ b/freqtrade/rpc/telegram.py @@ -115,7 +115,7 @@ class Telegram(RPCHandler): r'/stopbuy$', r'/reload_config$', r'/show_config$', r'/logs$', r'/whitelist$', r'/blacklist$', r'/bl_delete$', r'/weekly$', r'/weekly \d+$', r'/monthly$', r'/monthly \d+$', - r'/forcebuy$', r'/forcelong$', r'/forceshort$', r'/forceexit$', + r'/forcebuy$', r'/forcelong$', r'/forceshort$', r'/edge$', r'/health$', r'/help$', r'/version$'] # Create keys for generation valid_keys_print = [k.replace('$', '') for k in valid_keys] @@ -1373,7 +1373,8 @@ class Telegram(RPCHandler): "*/start:* `Starts the trader`\n" "*/stop:* Stops the trader\n" "*/stopbuy:* `Stops buying, but handles open trades gracefully` \n" - "*/force_exit |all:* `Instantly exits the given trade or all trades, " + # TODO: forceenter forceshort forcelong missing + "*/forceexit |all:* `Instantly exits the given trade or all trades, " "regardless of profit`\n" "*/fe |all:* `Alias to /force_exit`" f"{force_enter_text if self._config.get('forcebuy_enable', False) else ''}"