FORCE_SELL -> FORCE_EXIT
This commit is contained in:
parent
e8c35e591b
commit
7dbb1c8b75
@ -474,7 +474,7 @@ CANCEL_REASON = {
|
|||||||
"FULLY_CANCELLED": "fully cancelled",
|
"FULLY_CANCELLED": "fully cancelled",
|
||||||
"ALL_CANCELLED": "cancelled (all unfilled and partially filled open orders cancelled)",
|
"ALL_CANCELLED": "cancelled (all unfilled and partially filled open orders cancelled)",
|
||||||
"CANCELLED_ON_EXCHANGE": "cancelled on exchange",
|
"CANCELLED_ON_EXCHANGE": "cancelled on exchange",
|
||||||
"FORCE_SELL": "forcesold",
|
"FORCE_EXIT": "forcesold",
|
||||||
}
|
}
|
||||||
|
|
||||||
# List of pairs with their timeframes
|
# List of pairs with their timeframes
|
||||||
|
@ -10,7 +10,7 @@ class ExitType(Enum):
|
|||||||
STOPLOSS_ON_EXCHANGE = "stoploss_on_exchange"
|
STOPLOSS_ON_EXCHANGE = "stoploss_on_exchange"
|
||||||
TRAILING_STOP_LOSS = "trailing_stop_loss"
|
TRAILING_STOP_LOSS = "trailing_stop_loss"
|
||||||
EXIT_SIGNAL = "exit_signal"
|
EXIT_SIGNAL = "exit_signal"
|
||||||
FORCE_SELL = "force_exit"
|
FORCE_EXIT = "force_exit"
|
||||||
EMERGENCY_SELL = "emergency_sell"
|
EMERGENCY_SELL = "emergency_sell"
|
||||||
CUSTOM_SELL = "custom_sell"
|
CUSTOM_SELL = "custom_sell"
|
||||||
NONE = ""
|
NONE = ""
|
||||||
|
@ -542,7 +542,7 @@ class Backtesting:
|
|||||||
sell_row = data[pair][-1]
|
sell_row = data[pair][-1]
|
||||||
|
|
||||||
trade.close_date = sell_row[DATE_IDX].to_pydatetime()
|
trade.close_date = sell_row[DATE_IDX].to_pydatetime()
|
||||||
trade.exit_reason = ExitType.FORCE_SELL.value
|
trade.exit_reason = ExitType.FORCE_EXIT.value
|
||||||
trade.close(sell_row[OPEN_IDX], show_msg=False)
|
trade.close(sell_row[OPEN_IDX], show_msg=False)
|
||||||
LocalTrade.close_bt_trade(trade)
|
LocalTrade.close_bt_trade(trade)
|
||||||
# Deepcopy object to have wallets update correctly
|
# Deepcopy object to have wallets update correctly
|
||||||
|
@ -661,18 +661,18 @@ class RPC:
|
|||||||
|
|
||||||
if order['side'] == 'buy':
|
if order['side'] == 'buy':
|
||||||
fully_canceled = self._freqtrade.handle_cancel_enter(
|
fully_canceled = self._freqtrade.handle_cancel_enter(
|
||||||
trade, order, CANCEL_REASON['FORCE_SELL'])
|
trade, order, CANCEL_REASON['FORCE_EXIT'])
|
||||||
|
|
||||||
if order['side'] == 'sell':
|
if order['side'] == 'sell':
|
||||||
# Cancel order - so it is placed anew with a fresh price.
|
# Cancel order - so it is placed anew with a fresh price.
|
||||||
self._freqtrade.handle_cancel_exit(trade, order, CANCEL_REASON['FORCE_SELL'])
|
self._freqtrade.handle_cancel_exit(trade, order, CANCEL_REASON['FORCE_EXIT'])
|
||||||
|
|
||||||
if not fully_canceled:
|
if not fully_canceled:
|
||||||
# Get current rate and execute sell
|
# Get current rate and execute sell
|
||||||
closing_side = "buy" if trade.is_short else "sell"
|
closing_side = "buy" if trade.is_short else "sell"
|
||||||
current_rate = self._freqtrade.exchange.get_rate(
|
current_rate = self._freqtrade.exchange.get_rate(
|
||||||
trade.pair, refresh=False, side=closing_side)
|
trade.pair, refresh=False, side=closing_side)
|
||||||
exit_reason = ExitCheckTuple(exit_type=ExitType.FORCE_SELL)
|
exit_reason = ExitCheckTuple(exit_type=ExitType.FORCE_EXIT)
|
||||||
order_type = ordertype or self._freqtrade.strategy.order_types.get(
|
order_type = ordertype or self._freqtrade.strategy.order_types.get(
|
||||||
"forcesell", self._freqtrade.strategy.order_types["sell"])
|
"forcesell", self._freqtrade.strategy.order_types["sell"])
|
||||||
|
|
||||||
|
@ -360,7 +360,7 @@ def test_hyperopt_format_results(hyperopt):
|
|||||||
"is_short": [False, False, False, False],
|
"is_short": [False, False, False, False],
|
||||||
"stake_amount": [0.01, 0.01, 0.01, 0.01],
|
"stake_amount": [0.01, 0.01, 0.01, 0.01],
|
||||||
"exit_reason": [ExitType.ROI, ExitType.STOP_LOSS,
|
"exit_reason": [ExitType.ROI, ExitType.STOP_LOSS,
|
||||||
ExitType.ROI, ExitType.FORCE_SELL]
|
ExitType.ROI, ExitType.FORCE_EXIT]
|
||||||
}),
|
}),
|
||||||
'config': hyperopt.config,
|
'config': hyperopt.config,
|
||||||
'locks': [],
|
'locks': [],
|
||||||
@ -429,7 +429,7 @@ def test_generate_optimizer(mocker, hyperopt_conf) -> None:
|
|||||||
"is_short": [False, False, False, False],
|
"is_short": [False, False, False, False],
|
||||||
"stake_amount": [0.01, 0.01, 0.01, 0.01],
|
"stake_amount": [0.01, 0.01, 0.01, 0.01],
|
||||||
"exit_reason": [ExitType.ROI, ExitType.STOP_LOSS,
|
"exit_reason": [ExitType.ROI, ExitType.STOP_LOSS,
|
||||||
ExitType.ROI, ExitType.FORCE_SELL]
|
ExitType.ROI, ExitType.FORCE_EXIT]
|
||||||
}),
|
}),
|
||||||
'config': hyperopt_conf,
|
'config': hyperopt_conf,
|
||||||
'locks': [],
|
'locks': [],
|
||||||
|
@ -79,7 +79,7 @@ def test_generate_backtest_stats(default_conf, testdatadir, tmpdir):
|
|||||||
"is_short": [False, False, False, False],
|
"is_short": [False, False, False, False],
|
||||||
"stake_amount": [0.01, 0.01, 0.01, 0.01],
|
"stake_amount": [0.01, 0.01, 0.01, 0.01],
|
||||||
"exit_reason": [ExitType.ROI, ExitType.STOP_LOSS,
|
"exit_reason": [ExitType.ROI, ExitType.STOP_LOSS,
|
||||||
ExitType.ROI, ExitType.FORCE_SELL]
|
ExitType.ROI, ExitType.FORCE_EXIT]
|
||||||
}),
|
}),
|
||||||
'config': default_conf,
|
'config': default_conf,
|
||||||
'locks': [],
|
'locks': [],
|
||||||
@ -128,7 +128,7 @@ def test_generate_backtest_stats(default_conf, testdatadir, tmpdir):
|
|||||||
"is_short": [False, False, False, False],
|
"is_short": [False, False, False, False],
|
||||||
"stake_amount": [0.01, 0.01, 0.01, 0.01],
|
"stake_amount": [0.01, 0.01, 0.01, 0.01],
|
||||||
"exit_reason": [ExitType.ROI, ExitType.ROI,
|
"exit_reason": [ExitType.ROI, ExitType.ROI,
|
||||||
ExitType.STOP_LOSS, ExitType.FORCE_SELL]
|
ExitType.STOP_LOSS, ExitType.FORCE_EXIT]
|
||||||
}),
|
}),
|
||||||
'config': default_conf,
|
'config': default_conf,
|
||||||
'locks': [],
|
'locks': [],
|
||||||
|
@ -962,7 +962,7 @@ def test_telegram_forcesell_handle(default_conf, update, ticker, fee,
|
|||||||
'fiat_currency': 'USD',
|
'fiat_currency': 'USD',
|
||||||
'buy_tag': ANY,
|
'buy_tag': ANY,
|
||||||
'enter_tag': ANY,
|
'enter_tag': ANY,
|
||||||
'exit_reason': ExitType.FORCE_SELL.value,
|
'exit_reason': ExitType.FORCE_EXIT.value,
|
||||||
'open_date': ANY,
|
'open_date': ANY,
|
||||||
'close_date': ANY,
|
'close_date': ANY,
|
||||||
'close_rate': ANY,
|
'close_rate': ANY,
|
||||||
@ -1030,7 +1030,7 @@ def test_telegram_forcesell_down_handle(default_conf, update, ticker, fee,
|
|||||||
'fiat_currency': 'USD',
|
'fiat_currency': 'USD',
|
||||||
'buy_tag': ANY,
|
'buy_tag': ANY,
|
||||||
'enter_tag': ANY,
|
'enter_tag': ANY,
|
||||||
'exit_reason': ExitType.FORCE_SELL.value,
|
'exit_reason': ExitType.FORCE_EXIT.value,
|
||||||
'open_date': ANY,
|
'open_date': ANY,
|
||||||
'close_date': ANY,
|
'close_date': ANY,
|
||||||
'close_rate': ANY,
|
'close_rate': ANY,
|
||||||
@ -1088,7 +1088,7 @@ def test_forcesell_all_handle(default_conf, update, ticker, fee, mocker) -> None
|
|||||||
'fiat_currency': 'USD',
|
'fiat_currency': 'USD',
|
||||||
'buy_tag': ANY,
|
'buy_tag': ANY,
|
||||||
'enter_tag': ANY,
|
'enter_tag': ANY,
|
||||||
'exit_reason': ExitType.FORCE_SELL.value,
|
'exit_reason': ExitType.FORCE_EXIT.value,
|
||||||
'open_date': ANY,
|
'open_date': ANY,
|
||||||
'close_date': ANY,
|
'close_date': ANY,
|
||||||
'close_rate': ANY,
|
'close_rate': ANY,
|
||||||
|
Loading…
Reference in New Issue
Block a user