Remove quotes around the pairs
This commit is contained in:
parent
2bd59de002
commit
9bdfaf3803
@ -248,7 +248,7 @@ class Backtesting(object):
|
||||
fee_close=self.fee,
|
||||
is_open=True,
|
||||
)
|
||||
logger.debug(f"'{pair}' - Backtesting emulates creation of new trade: {trade}.")
|
||||
logger.debug(f"{pair} - Backtesting emulates creation of new trade: {trade}.")
|
||||
# calculate win/lose forwards from buy point
|
||||
for sell_row in partial_ticker:
|
||||
if max_open_trades > 0:
|
||||
@ -305,7 +305,7 @@ class Backtesting(object):
|
||||
close_rate=sell_row.open,
|
||||
sell_reason=SellType.FORCE_SELL
|
||||
)
|
||||
logger.debug(f"'{pair}' - Force selling still open trade, "
|
||||
logger.debug(f"{pair} - Force selling still open trade, "
|
||||
f"profit percent: {bt_res.profit_percent}, "
|
||||
f"profit abs: {bt_res.profit_abs}")
|
||||
|
||||
@ -388,7 +388,7 @@ class Backtesting(object):
|
||||
max_open_trades)
|
||||
|
||||
if trade_entry:
|
||||
logger.debug(f"'{pair}' - Locking pair till "
|
||||
logger.debug(f"{pair} - Locking pair till "
|
||||
f"close_time={trade_entry.close_time}")
|
||||
lock_pair_until[pair] = trade_entry.close_time
|
||||
trades.append(trade_entry)
|
||||
|
@ -260,7 +260,7 @@ class Trade(_DECL_BASE):
|
||||
|
||||
# no stop loss assigned yet
|
||||
if not self.stop_loss:
|
||||
logger.debug(f"'{self.pair}' - Assigning new stoploss...")
|
||||
logger.debug(f"{self.pair} - Assigning new stoploss...")
|
||||
self.stop_loss = new_loss
|
||||
self.stop_loss_pct = -1 * abs(stoploss)
|
||||
self.initial_stop_loss = new_loss
|
||||
@ -270,15 +270,15 @@ class Trade(_DECL_BASE):
|
||||
# evaluate if the stop loss needs to be updated
|
||||
else:
|
||||
if new_loss > self.stop_loss: # stop losses only walk up, never down!
|
||||
logger.debug(f"'{self.pair}' - Adjusting stoploss...")
|
||||
logger.debug(f"{self.pair} - Adjusting stoploss...")
|
||||
self.stop_loss = new_loss
|
||||
self.stop_loss_pct = -1 * abs(stoploss)
|
||||
self.stoploss_last_update = datetime.utcnow()
|
||||
else:
|
||||
logger.debug(f"'{self.pair}' - Keeping current stoploss...")
|
||||
logger.debug(f"{self.pair} - Keeping current stoploss...")
|
||||
|
||||
logger.debug(
|
||||
f"'{self.pair}' - Stoploss adjusted. Current price {current_price:.8f}, "
|
||||
f"{self.pair} - Stoploss adjusted. Current price {current_price:.8f}, "
|
||||
f"bought at {self.open_rate:.8f} and calculated "
|
||||
f"stoploss is at: {self.initial_stop_loss:.8f}, "
|
||||
f"initial stop at {self.stop_loss:.8f}. "
|
||||
|
@ -302,7 +302,7 @@ class IStrategy(ABC):
|
||||
force_stoploss=force_stoploss, high=high)
|
||||
|
||||
if stoplossflag.sell_flag:
|
||||
logger.debug(f"'{trade.pair}' - Stoploss hit. Selling "
|
||||
logger.debug(f"{trade.pair} - Stoploss hit. Selling "
|
||||
f"(sell_type={stoplossflag.sell_type})...")
|
||||
return stoplossflag
|
||||
|
||||
@ -312,30 +312,30 @@ class IStrategy(ABC):
|
||||
experimental = self.config.get('experimental', {})
|
||||
|
||||
if buy and experimental.get('ignore_roi_if_buy_signal', False):
|
||||
logger.debug(f"'{trade.pair}' - Buy signal still active. Not selling "
|
||||
logger.debug(f"{trade.pair} - Buy signal still active. Not selling "
|
||||
f"(sell_type=SellType.NONE)...")
|
||||
return SellCheckTuple(sell_flag=False, sell_type=SellType.NONE)
|
||||
|
||||
# Check if minimal roi has been reached and no longer in buy conditions (avoiding a fee)
|
||||
if self.min_roi_reached(trade=trade, current_profit=current_profit, current_time=date):
|
||||
logger.debug(f"'{trade.pair}' - Required profit reached. Selling "
|
||||
logger.debug(f"{trade.pair} - Required profit reached. Selling "
|
||||
f"(sell_type=SellType.ROI)...")
|
||||
return SellCheckTuple(sell_flag=True, sell_type=SellType.ROI)
|
||||
|
||||
if experimental.get('sell_profit_only', False):
|
||||
logger.debug(f"'{trade.pair}' - Checking if trade is profitable...")
|
||||
logger.debug(f"{trade.pair} - Checking if trade is profitable...")
|
||||
if trade.calc_profit(rate=rate) <= 0:
|
||||
logger.debug(f"'{trade.pair}' - Trade is not profitable. Not selling "
|
||||
logger.debug(f"{trade.pair} - Trade is not profitable. Not selling "
|
||||
f"(sell_type=SellType.NONE)...")
|
||||
return SellCheckTuple(sell_flag=False, sell_type=SellType.NONE)
|
||||
|
||||
if sell and not buy and experimental.get('use_sell_signal', False):
|
||||
logger.debug(f"'{trade.pair}' - Sell signal received. Selling "
|
||||
logger.debug(f"{trade.pair} - Sell signal received. Selling "
|
||||
f"(sell_type=SellType.SELL_SIGNAL)...")
|
||||
return SellCheckTuple(sell_flag=True, sell_type=SellType.SELL_SIGNAL)
|
||||
|
||||
# This one is noisy, commented out...
|
||||
# logger.debug(f"'{trade.pair}' - Not selling (sell_type=SellType.NONE)...")
|
||||
# logger.debug(f"{trade.pair} - Not selling (sell_type=SellType.NONE)...")
|
||||
return SellCheckTuple(sell_flag=False, sell_type=SellType.NONE)
|
||||
|
||||
def stop_loss_reached(self, current_rate: float, trade: Trade,
|
||||
@ -366,7 +366,7 @@ class IStrategy(ABC):
|
||||
if 'trailing_stop_positive' in self.config and high_profit > sl_offset:
|
||||
# Ignore mypy error check in configuration that this is a float
|
||||
stop_loss_value = self.config.get('trailing_stop_positive') # type: ignore
|
||||
logger.debug(f"'{trade.pair}' - Using positive stoploss: {stop_loss_value} "
|
||||
logger.debug(f"{trade.pair} - Using positive stoploss: {stop_loss_value} "
|
||||
f"offset: {sl_offset:.4g} profit: {current_profit:.4f}%")
|
||||
|
||||
trade.adjust_stop_loss(high or current_rate, stop_loss_value)
|
||||
@ -382,11 +382,11 @@ class IStrategy(ABC):
|
||||
if trade.initial_stop_loss != trade.stop_loss:
|
||||
sell_type = SellType.TRAILING_STOP_LOSS
|
||||
logger.debug(
|
||||
f"'{trade.pair}' - HIT STOP: current price at {current_rate:.6f}, "
|
||||
f"{trade.pair} - HIT STOP: current price at {current_rate:.6f}, "
|
||||
f"stoploss is {trade.stop_loss:.6f}, "
|
||||
f"initial stoploss was at {trade.initial_stop_loss:.6f}, "
|
||||
f"trade opened at {trade.open_rate:.6f}")
|
||||
logger.debug(f"'{trade.pair}' - Trailing stop saved "
|
||||
logger.debug(f"{trade.pair} - Trailing stop saved "
|
||||
f"{trade.stop_loss - trade.initial_stop_loss:.6f}")
|
||||
|
||||
return SellCheckTuple(sell_flag=True, sell_type=sell_type)
|
||||
|
@ -1823,7 +1823,7 @@ def test_handle_trade_roi(default_conf, ticker, limit_buy_order,
|
||||
# if ROI is reached we must sell
|
||||
patch_get_signal(freqtrade, value=(False, True))
|
||||
assert freqtrade.handle_trade(trade)
|
||||
assert log_has("'ETH/BTC' - Required profit reached. Selling (sell_type=SellType.ROI)...",
|
||||
assert log_has("ETH/BTC - Required profit reached. Selling (sell_type=SellType.ROI)...",
|
||||
caplog)
|
||||
|
||||
|
||||
@ -1854,7 +1854,7 @@ def test_handle_trade_experimental(
|
||||
|
||||
patch_get_signal(freqtrade, value=(False, True))
|
||||
assert freqtrade.handle_trade(trade)
|
||||
assert log_has("'ETH/BTC' - Sell signal received. Selling (sell_type=SellType.SELL_SIGNAL)...",
|
||||
assert log_has("ETH/BTC - Sell signal received. Selling (sell_type=SellType.SELL_SIGNAL)...",
|
||||
caplog)
|
||||
|
||||
|
||||
@ -2798,7 +2798,7 @@ def test_trailing_stop_loss(default_conf, limit_buy_order, fee, markets, caplog,
|
||||
# Sell as trailing-stop is reached
|
||||
assert freqtrade.handle_trade(trade) is True
|
||||
assert log_has(
|
||||
f"'ETH/BTC' - HIT STOP: current price at 0.000012, "
|
||||
f"ETH/BTC - HIT STOP: current price at 0.000012, "
|
||||
f"stoploss is 0.000015, "
|
||||
f"initial stoploss was at 0.000010, trade opened at 0.000011", caplog)
|
||||
assert trade.sell_reason == SellType.TRAILING_STOP_LOSS.value
|
||||
@ -2842,8 +2842,8 @@ def test_trailing_stop_loss_positive(default_conf, limit_buy_order, fee, markets
|
||||
}))
|
||||
# stop-loss not reached, adjusted stoploss
|
||||
assert freqtrade.handle_trade(trade) is False
|
||||
assert log_has(f"'ETH/BTC' - Using positive stoploss: 0.01 offset: 0 profit: 0.2666%", caplog)
|
||||
assert log_has(f"'ETH/BTC' - Adjusting stoploss...", caplog)
|
||||
assert log_has(f"ETH/BTC - Using positive stoploss: 0.01 offset: 0 profit: 0.2666%", caplog)
|
||||
assert log_has(f"ETH/BTC - Adjusting stoploss...", caplog)
|
||||
assert trade.stop_loss == 0.0000138501
|
||||
|
||||
mocker.patch('freqtrade.exchange.Exchange.get_ticker',
|
||||
@ -2855,7 +2855,7 @@ def test_trailing_stop_loss_positive(default_conf, limit_buy_order, fee, markets
|
||||
# Lower price again (but still positive)
|
||||
assert freqtrade.handle_trade(trade) is True
|
||||
assert log_has(
|
||||
f"'ETH/BTC' - HIT STOP: current price at {buy_price + 0.000002:.6f}, "
|
||||
f"ETH/BTC - HIT STOP: current price at {buy_price + 0.000002:.6f}, "
|
||||
f"stoploss is {trade.stop_loss:.6f}, "
|
||||
f"initial stoploss was at 0.000010, trade opened at 0.000011", caplog)
|
||||
|
||||
@ -2900,9 +2900,9 @@ def test_trailing_stop_loss_offset(default_conf, limit_buy_order, fee,
|
||||
}))
|
||||
# stop-loss not reached, adjusted stoploss
|
||||
assert freqtrade.handle_trade(trade) is False
|
||||
assert log_has(f"'ETH/BTC' - Using positive stoploss: 0.01 offset: 0.011 profit: 0.2666%",
|
||||
assert log_has(f"ETH/BTC - Using positive stoploss: 0.01 offset: 0.011 profit: 0.2666%",
|
||||
caplog)
|
||||
assert log_has(f"'ETH/BTC' - Adjusting stoploss...", caplog)
|
||||
assert log_has(f"ETH/BTC - Adjusting stoploss...", caplog)
|
||||
assert trade.stop_loss == 0.0000138501
|
||||
|
||||
mocker.patch('freqtrade.exchange.Exchange.get_ticker',
|
||||
@ -2914,7 +2914,7 @@ def test_trailing_stop_loss_offset(default_conf, limit_buy_order, fee,
|
||||
# Lower price again (but still positive)
|
||||
assert freqtrade.handle_trade(trade) is True
|
||||
assert log_has(
|
||||
f"'ETH/BTC' - HIT STOP: current price at {buy_price + 0.000002:.6f}, "
|
||||
f"ETH/BTC - HIT STOP: current price at {buy_price + 0.000002:.6f}, "
|
||||
f"stoploss is {trade.stop_loss:.6f}, "
|
||||
f"initial stoploss was at 0.000010, trade opened at 0.000011", caplog)
|
||||
assert trade.sell_reason == SellType.TRAILING_STOP_LOSS.value
|
||||
@ -2967,7 +2967,7 @@ def test_tsl_only_offset_reached(default_conf, limit_buy_order, fee,
|
||||
# stop-loss should not be adjusted as offset is not reached yet
|
||||
assert freqtrade.handle_trade(trade) is False
|
||||
|
||||
assert not log_has(f"'ETH/BTC' - Adjusting stoploss...", caplog)
|
||||
assert not log_has(f"ETH/BTC - Adjusting stoploss...", caplog)
|
||||
assert trade.stop_loss == 0.0000098910
|
||||
|
||||
# price rises above the offset (rises 12% when the offset is 5.5%)
|
||||
@ -2979,9 +2979,9 @@ def test_tsl_only_offset_reached(default_conf, limit_buy_order, fee,
|
||||
}))
|
||||
|
||||
assert freqtrade.handle_trade(trade) is False
|
||||
assert log_has(f"'ETH/BTC' - Using positive stoploss: 0.05 offset: 0.055 profit: 0.1218%",
|
||||
assert log_has(f"ETH/BTC - Using positive stoploss: 0.05 offset: 0.055 profit: 0.1218%",
|
||||
caplog)
|
||||
assert log_has(f"'ETH/BTC' - Adjusting stoploss...", caplog)
|
||||
assert log_has(f"ETH/BTC - Adjusting stoploss...", caplog)
|
||||
assert trade.stop_loss == 0.0000117705
|
||||
|
||||
|
||||
@ -3350,8 +3350,8 @@ def test_order_book_bid_strategy2(mocker, default_conf, order_book_l2, markets)
|
||||
default_conf['telegram']['enabled'] = False
|
||||
|
||||
freqtrade = FreqtradeBot(default_conf)
|
||||
# ordrebook shall be used even if tickers would be lower.
|
||||
assert freqtrade.get_target_bid('ETH/BTC', ) != 0.042
|
||||
# orderbook shall be used even if tickers would be lower.
|
||||
assert freqtrade.get_target_bid('ETH/BTC') != 0.042
|
||||
assert ticker_mock.call_count == 0
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user