remove use_custom_entry_price as a config option

This commit is contained in:
axel 2021-08-03 16:54:28 -04:00
parent 16146357b3
commit b3dafb378e
6 changed files with 15 additions and 23 deletions

View File

@ -480,13 +480,12 @@ class FreqtradeBot(LoggingMixin):
else:
# Calculate price
buy_limit_requested = self.exchange.get_rate(pair, refresh=True, side="buy")
if self.config.get('use_custom_entry_price', False):
custom_entry_price = strategy_safe_wrapper(self.strategy.custom_entry_price,
default_retval=stake_amount)(
pair=pair, current_time=datetime.now(timezone.utc),
current_rate=buy_limit_requested)
custom_entry_price = strategy_safe_wrapper(self.strategy.custom_entry_price,
default_retval=stake_amount)(
pair=pair, current_time=datetime.now(timezone.utc),
current_rate=buy_limit_requested)
buy_limit_requested = custom_entry_price
buy_limit_requested = custom_entry_price
if not buy_limit_requested:
raise PricingError('Could not determine buy price.')

View File

@ -79,7 +79,6 @@ class StrategyResolver(IResolver):
("trailing_stop_positive_offset", 0.0),
("trailing_only_offset_is_reached", None),
("use_custom_stoploss", None),
("use_custom_entry_price", None),
("process_only_new_candles", None),
("order_types", None),
("order_time_in_force", None),

View File

@ -129,7 +129,6 @@ class ShowConfig(BaseModel):
trailing_stop_positive_offset: Optional[float]
trailing_only_offset_is_reached: Optional[bool]
use_custom_stoploss: Optional[bool]
use_custom_entry_price: Optional[bool]
timeframe: Optional[str]
timeframe_ms: int
timeframe_min: int

View File

@ -116,7 +116,6 @@ class RPC:
'trailing_stop_positive_offset': config.get('trailing_stop_positive_offset'),
'trailing_only_offset_is_reached': config.get('trailing_only_offset_is_reached'),
'use_custom_stoploss': config.get('use_custom_stoploss'),
'use_custom_entry_price': config.get('use_custom_entry_price'),
'bot_name': config.get('bot_name', 'freqtrade'),
'timeframe': config.get('timeframe'),
'timeframe_ms': timeframe_to_msecs(config['timeframe']

View File

@ -288,7 +288,6 @@ class IStrategy(ABC, HyperStrategyMixin):
For full documentation please go to https://www.freqtrade.io/en/latest/strategy-advanced/
When not implemented by a strategy, returns None, orderbook is used to set entry price
Only called when use_custom_entry_price is set to True.
:param pair: Pair that's currently analyzed
:param current_time: datetime object, containing the current datetime
@ -662,21 +661,19 @@ class IStrategy(ABC, HyperStrategyMixin):
:param low: Low value of this candle, only set in backtesting
:param high: High value of this candle, only set in backtesting
"""
entry_price_value = strategy_safe_wrapper(self.custom_entry_price, default_retval=None)(
pair=pair,
current_time=current_time,
current_rate=current_rate)
if self.use_custom_entry_price:
entry_price_value = strategy_safe_wrapper(self.custom_entry_price, default_retval=None)(
pair=pair,
current_time=current_time,
current_rate=current_rate)
if entry_price_value is not None:
if entry_price_value > low:
return True
else:
return False
if entry_price_value is not None:
if entry_price_value > low:
return True
else:
logger.warning("CustomEntryPrice function did not return valid entry price")
return False
else:
logger.warning("CustomEntryPrice function did not return valid entry price")
return False
def stop_loss_reached(self, current_rate: float, trade: Trade,
current_time: datetime, current_profit: float,

View File

@ -908,7 +908,6 @@ def test_execute_buy(mocker, default_conf, fee, limit_buy_order, limit_buy_order
def test_execute_buy_custom_entry_price(mocker, default_conf, fee, limit_buy_order_open) -> None:
patch_RPCManager(mocker)
patch_exchange(mocker)
default_conf.update({'use_custom_entry_price': True})
freqtrade = FreqtradeBot(default_conf)
freqtrade.strategy.confirm_trade_entry = MagicMock(return_value=False)
stake_amount = 3